开源是什么意思?(新手必看)
维基百科对开源的定义是,开源是指源代码可以自由提供给他人进行修改和再分发。开源产品通常允许你使用源代码、设计文档或产品内容。开源模式是一种去中心化的软件开发模式,鼓励开放协作。
如果你在以下平台在线搜索开源的定义,你会发现许多不同的版本:
虽然定义的具体内容不同,但有一些主题是一致的。
第一个主题是自由提供源代码的概念,允许任何人查看、修改并与他人分享源代码。
人们对开源的最初认知是它是可以免费获得的软件。然而,现在开源早已更进一步,它不仅免费提供软件(也称为免费软件),还允许用户查看源代码,根据自己的需求对其进行修改,并与他人分享。
想象你有一辆汽车,引擎盖是密封的。当然,你拥有这辆车并且可以驾驶它,但是如果车坏了怎么办?如果你想升级一个零件怎么办?如果某些零件过时了,需要改变以适应未来需求(例如使用的汽油从标准汽油改为 E87 汽油)怎么办?密封的引擎盖意味着只有制造商才能更换零部件,而能开启的引擎盖意味着可以由用户来更换。这就是区别所在,正如人们常说的那样,它不是指“免费啤酒”的那种免费,而是指拥有自由或开放的使用权。
第二个主题侧重于开放协作,这意味着任何人都可以参与代码的构建。但是在开源领域中并不是所有项目都能做到这一点,许多由单个组织赞助的项目可能对贡献者来说有一些挑战,甚至由单个维护者维护的项目也会遇到一些困难。我经常看到这样的情况,原因要么是维护者不堪重负,没有太多时间投入项目中,要么是项目更像一个概念验证,最终被维护者所抛弃,也可能有时维护者也并不真正想要任何帮助。
最后,还有一个去中心化社群的主题。这意味着开源项目真的是全球性的。
虽然维护者可能会启动一个项目来解决他们遇到的问题,并吸引一些具有类似目标的人,但许可证模式(任何人都可以自由查看、修改和分享代码)和分发模式(谢谢互联网!)都意味着世界上任何找到并使用此代码的人都是社群的一部分。乍一看,这可能会让人感到畏惧和害怕,但这是开源的最大优点,它是一条跨地区、文化、性别、背景、年龄和能力的连接纽带。
开放源码促进会一直维护着开源的定义,该定义被视为衡量一段代码或项目是否真正开源的标准定义。
从许可证的角度来看,这个定义真正关注开源的概念,对许多人来说,这是开源定义的起点和终点。许可证被认为是开源的基本条件。真正使开源具有变革性的是开放协作和去中心化社群,它能将各种各样的人聚集在一起,共同构建个体无法完成的优秀作品。换句话说,许可证的选择使得建立社群和协作成为可能,这反过来又能够使开源项目获得成功。
如果你在以下平台在线搜索开源的定义,你会发现许多不同的版本:
- Red Hat;
- IBM;
- Opensource.com。
虽然定义的具体内容不同,但有一些主题是一致的。
第一个主题是自由提供源代码的概念,允许任何人查看、修改并与他人分享源代码。
人们对开源的最初认知是它是可以免费获得的软件。然而,现在开源早已更进一步,它不仅免费提供软件(也称为免费软件),还允许用户查看源代码,根据自己的需求对其进行修改,并与他人分享。
想象你有一辆汽车,引擎盖是密封的。当然,你拥有这辆车并且可以驾驶它,但是如果车坏了怎么办?如果你想升级一个零件怎么办?如果某些零件过时了,需要改变以适应未来需求(例如使用的汽油从标准汽油改为 E87 汽油)怎么办?密封的引擎盖意味着只有制造商才能更换零部件,而能开启的引擎盖意味着可以由用户来更换。这就是区别所在,正如人们常说的那样,它不是指“免费啤酒”的那种免费,而是指拥有自由或开放的使用权。
第二个主题侧重于开放协作,这意味着任何人都可以参与代码的构建。但是在开源领域中并不是所有项目都能做到这一点,许多由单个组织赞助的项目可能对贡献者来说有一些挑战,甚至由单个维护者维护的项目也会遇到一些困难。我经常看到这样的情况,原因要么是维护者不堪重负,没有太多时间投入项目中,要么是项目更像一个概念验证,最终被维护者所抛弃,也可能有时维护者也并不真正想要任何帮助。
最后,还有一个去中心化社群的主题。这意味着开源项目真的是全球性的。
虽然维护者可能会启动一个项目来解决他们遇到的问题,并吸引一些具有类似目标的人,但许可证模式(任何人都可以自由查看、修改和分享代码)和分发模式(谢谢互联网!)都意味着世界上任何找到并使用此代码的人都是社群的一部分。乍一看,这可能会让人感到畏惧和害怕,但这是开源的最大优点,它是一条跨地区、文化、性别、背景、年龄和能力的连接纽带。
开放源码促进会一直维护着开源的定义,该定义被视为衡量一段代码或项目是否真正开源的标准定义。
从许可证的角度来看,这个定义真正关注开源的概念,对许多人来说,这是开源定义的起点和终点。许可证被认为是开源的基本条件。真正使开源具有变革性的是开放协作和去中心化社群,它能将各种各样的人聚集在一起,共同构建个体无法完成的优秀作品。换句话说,许可证的选择使得建立社群和协作成为可能,这反过来又能够使开源项目获得成功。