作为一个□□□□网站开发□□者,尤其是使□□用Linux、PHP、Mysql等开源软□□□□件开发网□□□站的开发□□□工程师应◣该经常会□□遇到开源□□□□软件授权□□协议,如今开源协议有很多,经过Open Source Initiative组织通过批准的开源协议就有58种。
很多人都□□认为开源◣意味着可□□□以免费试□□□用、为所欲为,其实未必,下面菲律宾j9集团主要□□□为大家介□□□□绍常见的✦几种:Apache Licence,GPL,BSD,LGPL。
1、Apache Licence
Apache Licence是著名的□□□非盈利开▽源组织Apache采用的协□□议,鼓励代码□□□共享和尊□□□□重原作者□□□□的著作权,允许代码□□修改,再发布(作为开源□□□或商业软□□件)。
但需要满足的条件如下:
1、需要给代码的用户一份Apache Licence
2、如果你修改了代码,需要再被修改的文件中说明。
3、在延伸的□□□代码中(修改和有□□源代码衍□□□□生的代码□□中)需要带有□□原来代码□□中的协议,商标,专利声明▲和其他原□□□□来作者规□□定需要包□□□□含的说明。
4、如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。
你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。
使用者也□□可以在需□□□□要的时候□□修改代码•来满足需□□□要并作为□□开源或商▲业产品发□□布/销售。
2、GPL(GNU General Public License)
我们很熟□□□□悉的Linux就是采用★了GPL。GPL协议和BSD, Apache Licence等鼓励代□□□码重用的□□许可很不□□□□一样。
GPL的出发点□□□是代码的·开源/免费使用▲和引用/修改/衍生代码❖的开源/免费使用,但不允许◇修改后和◉衍生的代□□□□码做为闭□□□源的商业□□软件发布▲和销售。
GPL协议的主□□□要内容是□□□只要在一□□个软件中♦使用(“使用”指类库引□□□用,修改后的◈代码或者◈衍生代码)GPL 协议的产□□品,则该软件△产品必须□□也采用GPL协议,既必须也□□□□是开源和□□□免费。
这就是所谓的”传染性”。
GPL协议的产□□品作为一□□□□个单独的◣产品使用□□没有任何□□□问题,还可以享◤受免费的◆优势。
由于GPL严格要求□□□□使用了GPL类库的软·件产品必□□须使用GPL协议,对于使用GPL协议的开□□□源代码,商业软件□□或者对代□□□码有保密□□要求的部✦门就不适□□□合集成/采用作为□□□□类库和二□□次开发的□□□□基础。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。
3、LGPL(GNU Lesser General Public License)
LGPL是GPL的一个为主要为类库使用设计的开源协议。
和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。
LGPL允许商业□□□软件通过□□□□类库引用(link)方式使用LGPL类库而不丨需要开源□□□□商业软件□□□□的代码。
这使得采□□□□用LGPL协议的开□□源代码可□□□□以被商业□□□□软件作为□□□□类库引用▽并发布和□□销售。
但是如果□□修改LGPL协议的代□□□□码或者衍□□□生,则所有修△改的代码,涉及修改◣部分的额□□□外代码和•衍生的代※码都必须□□□采用LGPL协议。
因此LGPL协议的开▼源代码很★适合作为❖第三方类□□库被商业□□□□软件引用,但不适合□□希望以LGPL协议代码□□□□为基础,通过修改□□□和衍生的□□方式做二□□□□次开发的□□□□商业软件◣采用。
GPL/LGPL都保障原□□□□作者的知□□识产权,避免有人❖利用开源□□代码复制□□□□并开发类□□□□似的产品。
4、BSD开源协议
BSD开源协议是一个给于使用者很大自由的协议。
基本上使□□□用者可以”为所欲为”,可以自由□□□的使用,修改源代□□□码,也可以将□□修改后的□□代码作为□□□开源或者□□专有软件□□再发布。
但”为所欲为”的前提当◇你发布使□□用了BSD协议的代□□□□码,或者以BSD协议代码□□□为基础做□□□二次开发□□□自己的产△品时,需要满足□□□三个条件:
1、如果再发□□布的产品□□□中包含源□□□□代码,则在源代□□□□码中必须□□带有原来○代码中的BSD协议。
2、如果再发□□□布的只是□□二进制类□□□库/软件,则需要在□□类库/软件的文◆档和版权□□□□声明中包◈含原来代□□□码中的BSD协议。
3、不可以用□□□开源代码□□的作者/机构名字□□□□和原来产□□□品的名字•做市场推※广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD由于允许□□□□使用者修□□改和重新□□□□发布代码,也允许使□□□□用或在BSD代码上开□□发商业软□□□件发布和□□□销售,因此是对□□□商业集成□□□很友好的丨协议。
而很多的◉公司企业□□□□在选用开□□□源产品的□□□□时候都首□□□□选BSD协议,因为可以□□□完全控制□□这些第三□□□方的代码,在必要的□□时候可以□□□修改或者□□□□二次开发。
以上四种·开源软件▼授权协议☆是比较常□□用的,所以大家◆要弄清他□□□们的区别,为了开源▽软件的发△展,严格遵守□□□以上协议,避免陷入□□□□法律纠纷。
如没特殊注明,文章均为菲律宾j9集团原创,转载请注明来自https://www.tyjwx.com/news/2650.html