作為一個(gè)軟件開(kāi)發(fā)者,不可避免的要與Open Source打交道,不管是因?yàn)槟阋x擇使用一個(gè)開(kāi)源產(chǎn)品還是你也要加入到開(kāi)源當(dāng)中。那么你可有想過(guò)為自己的開(kāi)源項(xiàng)目設(shè)立一個(gè)合法的保障,保障自己以及使用者的權(quán)益,或者如果你使用一個(gè)開(kāi)源產(chǎn)品的話,可有考慮過(guò)是否因?yàn)槭情_(kāi)源就可以隨意濫用?
很不幸的是,在中國(guó),很多人甚至很多企業(yè)對(duì)License這個(gè)東西滿不在乎(眾所周知的事情),導(dǎo)致了中國(guó)軟件業(yè)沒(méi)有大客戶的可悲局面!那么,既然你是一個(gè)Developer,怎么還能不在乎License而間接地讓自己丟飯碗呢?
既然與開(kāi)源打交道是不可避免的事情,那么就就一起來(lái)了解幾種開(kāi)源License,并進(jìn)一步的對(duì)比一下它們。
基本上每一種License都會(huì)有以下幾點(diǎn):
Grant of rights (授權(quán)) Redistribution (再部署) Warranty (質(zhì)保)
其中作為開(kāi)源License,都會(huì)授予你免費(fèi)使用,獲得源碼的權(quán)利,并且不承諾任何質(zhì)量相關(guān)的保證。每種License的最大不同,基本上就在于第二點(diǎn),也就是Redistribution方面了。以下列表列舉了幾種不同License在Redistribution方面的不同特點(diǎn)。
License
Must ship code
Combine with proprietary
GPLY
N
LGPLY
Y
New BSDN
Y
Apache Software License 2.0N
Y
這里的Combine with Proprietary的意思是可以將開(kāi)源產(chǎn)品融入到自己的產(chǎn)品中然后再重新發(fā)布(也就是換一個(gè)License)。從以上表中可以看出,GPL非常的嚴(yán)格,商業(yè)軟件是不能在自己的最終產(chǎn)品中包含有任何在這個(gè)License之下的產(chǎn)品或組件,因?yàn)镚PL license是不能變的,這意味著含有GPL組件產(chǎn)品的源代碼必須是公開(kāi)的且是GPL License的。這對(duì)開(kāi)源類庫(kù)的開(kāi)發(fā)來(lái)說(shuō)是非常不合適的,試想有誰(shuí)敢用這類的類庫(kù)呢!正因?yàn)榭紤]到這點(diǎn),LGPL出現(xiàn)了,它允許library在其他 License下發(fā)布,但是要求發(fā)布者必須提供library可擴(kuò)展的形式或源代碼,所以LGPL的產(chǎn)品不管在哪里都會(huì)有源代碼。
LGPL相對(duì)GPL寬松了許多,不過(guò)要求必須附帶源代碼這點(diǎn)還是有些不舒服,所以這種情況下可以選擇更寬松的New BSD License或者Apache Software License 2.0,New BSD License基本上沒(méi)有任何限制,Apache Software License 2.0則對(duì)Contribution等方面有更詳細(xì)的定義。
這里只是簡(jiǎn)單介紹并對(duì)比一下不同的License,詳細(xì)還請(qǐng)參考OSI網(wǎng)站(
www.opensource.org/licenses/)
一般來(lái)說(shuō),不推薦使用GPL,因?yàn)樗混`活了,一切都固定的太死了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。