开源是什么意思?一说起开源,相信不少人首先想到的就是,把代码公开出去,例如放到GitHub上。但是开源仅仅只是这么简单吗?
开源是什么意思?一说起开源,相信不少人首先想到的就是,把代码公开出去,例如放到GitHub上。但是开源仅仅只是这么简单吗?
开源代码,即开放源代码的简称,人们一般说的“开源”就是指开源代码。
开放源代码的定义最早与1997年被提出,提出者是Debian 的创始人之一—— Bruce Perens。但其基本概念在此之前的几十年就已经开始形成,最早可追溯到1955年,当时 IBM 为了交换编程材料、深入研究 IBM 操作系统而开发的“IBM 用户组分享”。
开源代码实际上是一种源代码可开放共享的开发模式,自由开放、共建共享是其最显著的特点。如今开源已经成为推动信息技术不断发展、不断创新的重要途径之一。在开源模式下,使用者通过许可证的方式,在遵守许可限制的情况下,能够自由获取源代码等,并可以自己进行复制、使用、修改和再发布。
目前开源创新被列入我国“十四五”规划和2035远景目标。
开源软件是指源代码开放、允许用户按照许可证条款对源代码进行修改并可自由重复发行的一类软件。开源软件是开发者的智能成果,属于开发者的一项私人财产,受著作权的保护,未经权利人许可他人不能随意使用。
首先需要明确的是,如果开源软件源代码的著作权既未被放弃也尚未过期,那么其修改和发行等依旧要受到著作权法或者开源软件许可证的制约。
我们日常接触到的开源软件,大多都拥有相对应的开源许可证(Open Source License)对软件的使用、复制、修改和再发布等进行限制与保护。许可证即授权条款,开源许可证就是保证开源软件这些限制的法律文件,目的在于规范受著作权保护的软件的使用或者分发行为。
常见的开源许可证总体上可以划分为下面两大类:
宽松自由软件许可协议(Permissive free software licence),例如Apache、MIT、BSD等; 著佐权许可证(Copyleft license),例如MPL、GPL等。回顾开源的波澜起伏的发展历史,从自由软件到开源运动,历史实现了非常大的跨越。前者更多的是一种精神的倡导,而后者着眼于软件的协同开放,因此会有非常严谨的开源许可证的规则和限制。这是得益于这么一套遵从开源精神的规则体系,开源软件才能有今天的发展水平。而开源精神的载体之一便是开源许可证。
开源什么意思?肯定会有人想的是免费。总有些人听到开源一词时,就会误以为“开源软件是免费的,因此我可以不受限制地随意使用”。
开源并不意味着免费,开源只是说有人做了一个好东西,把它开放给大家使用,目的是希望大家更多地使用它,并反馈使用过程中的问题或者改进方式,使得整个开源项目进步得更快,能够更好地共享给更多有需要的人。
做得比较大的开源项目背后都有商业公司在支撑,如果一个成功的开源项目背后没有商业公司,这是不健康的,我们需要开源和商业之间的互补对称来促进整个社区和技术的不断前进答,这是一方面。
另一方面,从开源用户的角度来讲,虽然不用在版权上花钱,但其实企业用户聘请合适的开发者、运维团队把这个事情做完,成本费用可能比买商业版本更高。“开源是不是免费的” 其实就是一个伪命题(这里的用户指的是所有使用开源产品的企业或者个人)。