GPL(Gun General Public License)
GPL是目前世界上運用最廣泛的開源協(xié)議,它規(guī)定了任何從GPL協(xié)議授權的源碼衍生的軟件或者任何采用了GPL授權的源碼的軟件,都必須遵循GPL的協(xié)議,即軟件的所有源代碼必須開源。它就像病毒一樣,哪怕只是采用了GPL授權的一個圖標,那么整個軟件就被GPL感染了,必須遵循GPL的協(xié)議。最典型的GPL產(chǎn)物是Linux,所有采用了Linux內(nèi)核的操作系統(tǒng),都必須接收開源發(fā)布,不能夠采用其他的開源協(xié)議或者閉源發(fā)布。這樣的一個好處是保持了軟件在協(xié)議上的一致性,即采用了GPL協(xié)議的軟件就不能受其他開源協(xié)議所約束,任何人都可以共享它的源碼。所以即便是RedHat這樣的商業(yè)公司,在發(fā)布發(fā)行版的同時也必須公開它的源代碼。
LGPL
LGPL是從GPL衍生的一種開源協(xié)議,它不會像GPL那樣嚴格,僅僅因為采用了開源協(xié)議規(guī)定的代碼就必須完全開源軟件會損壞很多開發(fā)人員的利益。因此LGPL做了這樣的規(guī)定,如果只是以鏈接的方式采用了LGPL授權的源碼,那么不需要開源整個軟件。如果是在授權的源碼上面做了修改,那么軟件就必須遵循LGPL的規(guī)定開源。
CPL(Common Public License)
CPL是一種自由度很高的開源協(xié)議,它允許使用者使用、修改代碼甚至發(fā)布軟件作為商用。但它必須遵循一些原則:凡是采用了CPL源碼的軟件不能采用其他的開源協(xié)議;發(fā)布成商用的時候必須聲明源代碼可以獲得。CPL主要用于IBM或者和IBM相關的一些軟件,如Eclipse。
BSD(Berkeley Software Distribution)
BSD也是一種很自由的開源協(xié)議,它允許自由采用和修改BSD授權的源碼,只是在使用的時候必須聲明這部分源碼是遵循BSD協(xié)議的。BSD鼓勵代碼共享,但需要尊重代碼作者的著作權。很多公司在選擇開源軟件的時候首選BSD授權的軟件,因為可以對第三方的軟件完全具有控制權。
Apache
Apache也是一個很受歡迎的開源協(xié)議,它跟BSD一樣有很高的自由度,同樣是可以任意使用協(xié)議授權的代碼,但是要尊重原作者的著作權,可以不公開修改的代碼,但要聲明代碼的來源。而且,它還可以在發(fā)行的時候選擇其他的協(xié)議。