linux进化史 linux操作系统的诞生、发展和成长过程( 九 )



linux进化史 linux操作系统的诞生、发展和成长过程

文章插图
1.7 开源协议是什么 , 有哪些
开源软件在追求“自由”的同时 , 不能牺牲程序员的利益 , 否则将会影响程序员的创造激情 , 因此世界上现在有 60 多种被开源促进组织(Open Source Initiative)认可的开源许可协议来保证开源工的权益 。

开源协议规定了你在使用开源软件时的权利和责任 , 也就是规定了你可以做什么 , 不可以做什么 。

开源协议虽然不一定具备法律效力 , 但是当涉及软件纠纷时 , 开源协议也是非常重要的证据之一 。

对于准备编写一款开源软件的开发人员 , 也非常建议先了解一下当前最热门的开源许可协议 , 选择一个合适的开源许可协议来最大限度保护自己的软件权益 。
1) GNU GPL(GNU General Public License , GNU通用公共许可证)
linux进化史 linux操作系统的诞生、发展和成长过程

文章插图

只要软件中包含了遵循 GPL 协议的产品或代码 , 该软件就必须也遵循 GPL 许可协议 , 也就是必须开源免费 , 不能闭源收费 , 因此这个协议并不适合商用软件 。

遵循 GPL 协议的开源软件数量极其庞大 , 包括 Linux 系统在内的大多数的开源软件都是基于这个协议的 。

linux进化史 linux操作系统的诞生、发展和成长过程

文章插图
2) BSD(Berkeley Software Distribution , 伯克利软件发布版)协议
linux进化史 linux操作系统的诞生、发展和成长过程

文章插图

BSD 协议基本上允许用户“为所欲为” , 用户可以使用、修改和重新发布遵循该许可的软件 , 并且可以将软件作为商业软件发布和销售 , 前提是需要满足下面三个条件:

  • 如果再发布的软件中包含源代码 , 则源代码必须继续遵循 BSD 许可协议 。

  • 如果再发布的软件中只有二进制程序 , 则需要在相关文档或文件中声明原始代码遵循了 BSD 协议 。

  • 不允许用原始软件的名字、名字或机构名称进行市场推广 。


BSD 对商业比较友好 , 很多公司在选用开源产品的时候都首选 BSD 协议 , 因为可以完全控制这些第三方的代码 , 甚至在必要的时候可以修改或者二次开发 。
3) Apache 许可证版本(Apache License Version)协议
linux进化史 linux操作系统的诞生、发展和成长过程

文章插图

Apache 和 BSD 类似 , 都适用于商业软件 。Apache 协议在为开发人员提供及专利许可的同时 , 允许用户拥有修改代码及再发布的自由 。

现在热门的 Hadoop、Apache HTTP Server、MongoDB 等项目都是基于该许可协议研发的 , 程序开发人员在开发遵循该协议的软件时 , 要严格遵守下面的四个条件: