文章目录
软件许可证,开源软件,自由软件
软件许可证:一种具有
法律性质
的合同或指导,目的在规范受著作权保护的软件的使用或散布行为。
开源软件:一种
源代码
可以任意获取的计算机软件,这种软件的著作权持有人在软件协议
的规定之下保留一部分权利并允许用户学习、修改以及以任何目的向任何人分发该软件。
自由软件:自由软件是一个比
开源软件更严格
的概念,因此所有自由软件都是开放源代码
的,但不是所有的开源软件都能被称为“自由
”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL和BSD许可的软件都是开放的并且是自由的。
几个常用的开源协议
GNU通用公共许可协议(GPL)
(
GNU General Public License
,缩写GNU GPL
或GPL
),广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由。许可证最初由自由软件基金会的理查德·斯托曼
为GNU项目
所撰写,并授予计算机程序的用户自由软件定义(The Free Software Definition)的权利。
特点
GPL
是一个Copyleft
许可证,这意味着派生作品只能以相同的许可条款分发。
著名项目/软件
BSD许可证
一个给于使用者
很大自由
的协议,BSD
代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,但是不能使用原作者/机构名称
进行市场推广,因此是对商业集成很友好的协议。
著名项目/软件
MIT许可证
MIT许可证几乎是
最宽松
的版权约定,一旦你的程序采用,也就意味着别人只要在软件包含上边的版权声明,就可以对你的程序为所欲为了(包括“使用、复制、修改、合并、出版发行、散布、再授权和/或贩售软件及软件的副本”)。
重要的一点一点,如果你修改软件之后,需要把原来软件
的版权声明
和许可声明
包含在你修改的软件中
著名项目/软件
Mozilla公共许可证(MPL)
重要条款
MPL
允许在其授权下的源代码与其他授权的文件进行混合
,包括私有许可证
。但在MPL授权下的代码文件必须保持MPL授权,并且保持开源。
通过允许在派生项目中存在
私有模块
,同时保证核心文件的开源,MPL同时激励了商业
及开源社区来参与帮助开发核心软件。
MPL
许可的软件并不受专利的限制
,其可以自由使用,出售,并可自由的重新发布。带有专利代码的版本仍然可以使用,转让,甚至出售,但未经许可则不能修改代码。此外,MPL并不授予用户对于开发者商标的使用权。
著名项目/软件
Apache许可证
一个由
Apache软件基金会
发布的自由软件许可证,最初为Apache http
服务器而撰写。Apache许可证要求被授权者保留著作权和放弃权利
(这里没有搞太明白,欢迎补充)的声明。
许可条件
- 不强制派生和修改产物使用相同的许可证进行发布。
- 要求对所有
未修改的部分
应用相同的许可证,并且在每个许可文件中,必须保留再分发代码中的任何原始著作权,专利,商标和归属通知。 - 在每个
更改的许可文件
中,都必须添加一条通知
,说明对该文件进行了更改。
著名项目/软件
更多扩展
趣闻
木兰宽松许可证
GPL v3(又称LGPL)版本的主要变动,以及各位大佬的反应
酝酿中的996.ICU开源许可证