簡而言之,GPL協(xié)議就是一個開放源代碼協(xié)議,軟件的初始開發(fā)者使用了GPL協(xié)議并公開軟件的源程序后,后續(xù)使用該軟件源程序開發(fā)軟件者亦應(yīng)當(dāng)根據(jù)GPL協(xié)議把自己編寫的源程序進行公開。GPL協(xié)議要求的關(guān)鍵在于開放源程序,但并不排斥軟件作者向用戶收費。雖然如此,很多大公司對GPL協(xié)議還是又愛又恨,愛的是這個協(xié)議項下的軟件歷經(jīng)眾多程序員千錘百煉的修改,已經(jīng)非常成熟完善,恨的是必須開放自己后續(xù)的源程序,導(dǎo)致競爭對手也可以根據(jù)自己修改的源程序開發(fā)競爭產(chǎn)品。
正因大公司對GPL協(xié)議在商業(yè)上存在顧慮,因此,另兩種協(xié)議被采用的更多,種是LGPL(亦稱GPL V2)協(xié)議,可以翻譯為更寬松的GPL協(xié)議。與GPL協(xié)議的區(qū)別為,后者如果只是對LGPL軟件的程序庫的程序進行調(diào)用而不是包含其源代碼時,相關(guān)的源程序無需開源。調(diào)用和包含的區(qū)別類似在互聯(lián)網(wǎng)網(wǎng)網(wǎng)頁上對他人網(wǎng)頁內(nèi)容的引用: 如果把他人的內(nèi)容全部或部分復(fù)制到自己的網(wǎng)頁上,就類似包含,如果只是貼一個他人網(wǎng)頁的網(wǎng)址鏈接而不引用內(nèi)容,就類似調(diào)用。有了這個協(xié)議,很多大公司就可以把很多自己后續(xù)開發(fā)內(nèi)容的源程序隱藏起來。
第二種是BSD協(xié)議(類似的還有MIT協(xié)議)。BSD協(xié)議鼓勵軟件的作者公開自己后續(xù)開發(fā)的源代碼,但不強求。在BSD協(xié)議項下開發(fā)的軟件,原始的源程序是開放源代碼的,但使用者修改以后,可以自行選擇發(fā)布源程序或者二進制程序(即目標(biāo)程序),當(dāng)然,使用者有義務(wù)把自己原來使用的源程序與BSD協(xié)議在軟件對外發(fā)布時一并發(fā)布。因為比較靈活,所以BSD深受大公司的歡迎。