关于开源代码的各种协议

今天看到有位网友 提醒我将自己开源项目的开源协议改掉,目前的GNU协议不适合商业应用,引起了我对开源协议的兴趣。

我目前的项目http://code.google.com/p/smartgirl/ 采用的GNU LGPL协议,网友建议改为MIT协议,然而看了一下MIT协议的维基:“MIT许可协议(The MIT License)是许多软件授权条款中,被广泛使用的其中一种。与其他常见的软件许可协议(如GPLLGPLBSD)相比,MIT是相对宽松的软件许可协议。
被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。
被授权人可根据程式的需要修改许可协议为适当的内容。”

而关于GPL的协议如下:“

GPL授予程序接受人以下权利,或称“自由”:

  • 以任何目的运行此程序的自由;
  • 再发行复制件的自由;
  • 改进此程序,并公开发布改进的自由(前提是能得到源代码)。

相反地,随版权所有软件的最终用户许可协议几乎从不授予用户任何权利(除了使用的权利),甚至可能限制法律允许的行为,比如逆向工程

GPL与其他一些更“许可的”自由软件许可证(比如BSD许可协议)相比,主要区别就在于GPL寻求确保上述自由能在复制件及演绎作品中得到保障。它通过一种由斯托曼发明的叫Copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。相反,BSD式的许可协议并不禁止演绎作品变成专有软件

由于某些原因,GPL成为了自由软件开源软件的最流行许可协议。到2004年4月,GPL已占Freshmeat上所列的自由软件的约75%,SourceForge的约68%。类似的,2001年一项关于Red Hat Linux 7.1的调查显示一般的代码都以GPL发布。著名的GPL自由软件包括Linux核心和GCC

想了想,还是保持LGPL协议算了,强制别人GPL也不太好,东西分享出来还是希望更多人用的。O(∩_∩)O~ Continue reading »关于开源代码的各种协议