今天群里面正好有朋友問起這個(gè)問題,就簡單的解答下,如果有問題的話,歡迎大家留言批評(píng)指正。
常用的源代碼授權(quán)協(xié)議主要分為以
下兩類,商業(yè)協(xié)議和開源協(xié)議。今天主要討論一下開源協(xié)議。首先需要明確的是,既然是許可,就一定會(huì)具備法律效力。如果你的GNU作品被人侵權(quán)了的話,去找
GSF(GNU Software
Foundation)吧,讓他們把你打官司,就像Skype被告了那樣的,哈。唔,當(dāng)然你自己打也是可以的,就是搜集證據(jù)方面可能有點(diǎn)難度。
開源協(xié)議,都有一個(gè)共同的特性,就是開放了源代碼(這句話貌似很廢話yeah)。他們的區(qū)別在于三點(diǎn):
1.對(duì)源代碼的修改限制。一些開源協(xié)議會(huì)告訴你,只能使用已有源代碼而不能進(jìn)行修改。
2.對(duì)原有協(xié)議許可的修改限制。通常的開源協(xié)議都會(huì)讓使用者在發(fā)布的二進(jìn)制軟件或者源代碼中,保有被使用的軟件的版權(quán)信息和協(xié)議許可。
3.
對(duì)二進(jìn)制和源代碼產(chǎn)品的發(fā)布限制。對(duì)于GPL協(xié)議而言,使用了GPL協(xié)議的產(chǎn)品的軟件,是不允許單獨(dú)發(fā)行二進(jìn)制產(chǎn)品的,而必須要將源代碼以GPL的協(xié)議發(fā)
布出來。這就是所謂的“傳染性”。這也就意味著,只要你的產(chǎn)品的使用鏈上有GPL的玩意兒,對(duì)不起,你就只能GPL了。
而LGPL協(xié)議就要寬松的多。如果你使用了別人LGPL協(xié)議的二進(jìn)制,只需要保有許可并不加修改,就不影響你的產(chǎn)品授權(quán)。但是如果你使用、修改了別人LGPL協(xié)議的源代碼,那么,修改后的源代碼就必須要公開,并且一樣遵守LGPL協(xié)議。
GPL這樣的協(xié)議,相對(duì)是嚴(yán)格的。開源協(xié)議里面,還有很寬松的BSD,MIT和BOOST協(xié)議。這些協(xié)議的被授權(quán)方,可以自由修改、散播源代碼或者源代碼衍生的產(chǎn)品,只需要你產(chǎn)品的授權(quán)協(xié)議里,將BSD,MIT,BOOST協(xié)議一并附上就可以了。
http://www.awflasher.com/blog/archives/939
這里有GPL,LGPL,APACHE,BSD,MIT五種常見開源協(xié)議的簡單介紹。其他的可以參見baidu/wiki,或者如果你有足夠的法律知識(shí),可以去直接看協(xié)議條款吧,嘎嘎。
今天朋友的問題是,如果一個(gè)東西全部都是他做的,想以GPL的形式公開,同時(shí)還想賣錢,可以嗎?
答案當(dāng)然是肯定的。Qt
就是個(gè)最好的例子。Qt兼具GPL/LGPL協(xié)議和Qt
Commercial的商業(yè)協(xié)議。你完全可以以GPL的的協(xié)議將你的產(chǎn)品公開,然后如果有人想用你的東西做商業(yè)用途,你就再簽一份商業(yè)許可就可以了。以上
的幾個(gè)開源協(xié)議,都是經(jīng)由OSI批準(zhǔn)的,強(qiáng)烈建議大家在發(fā)布新程序的時(shí)候,另可采用多份協(xié)議,也不要輕易修改標(biāo)準(zhǔn)協(xié)議。
但是注意,如果你的產(chǎn)品里,直接或間接使用了第三方產(chǎn)品(這個(gè)太常見了,比方說Image Library啦,boost啦等等),一定要看清楚它的協(xié)議。如果你不小心用了GPL協(xié)議的組件,那么對(duì)不起,你的商業(yè)授權(quán)就算是廢了,因?yàn)槟愕漠a(chǎn)品只能是GPL協(xié)議的了。
所以說,如果制作商業(yè)產(chǎn)品,stl,gdi+這樣的商業(yè)授權(quán)是首選(注意一下你有沒有發(fā)布產(chǎn)品的權(quán)利,不是所有的商業(yè)授權(quán)你都有發(fā)布的權(quán)利的)。
其次是BSD,MIT一類的自由度非常高的協(xié)議,再其次是LGPL這樣的二進(jìn)制可發(fā)布的協(xié)議。
GPL是一定不能選的。相對(duì)的,如果你僅僅制作GPL協(xié)議的產(chǎn)品,也要看清楚,你是否具有發(fā)布第三方源代碼的權(quán)利。當(dāng)然如果僅僅發(fā)布你撰寫的程序,是不會(huì)有問題的。