各種類自由軟體的許可證釋義
就我個人理解,從私人軟體(即我們平常所說的封閉源碼軟體)
到GNU所倡導的自由軟體之間有許多中間地帶,這一方面是一個
現實存在的現象,同時也是由軟體複雜多樣性密不可分的。下面
就我所知總結一些種類軟體的許可證協議,希望大家多多指正。
GPL: 我感覺GPL協議與後面要提到的各種許可證協議最重要的區
別,也是GPL的最大特點就是要求所有對GPL軟體的更改必須
仍然遵循GPL許可證,不可以將GPL的軟體更改後變成某些
人的私人軟體,GPL軟體也不能與其他非GPL的軟體融合成
一個轉有軟體。簡單的說就是你沾了GPL的邊就一定還要
GPL。
LGPL:LGPL作為一個庫,他允許所有使用這個庫的軟體是非GPL的,
就是說你可以用MiniGUI製作你想作為商品出售的私人軟體。
BSD: BSD許可證協議比GPL要寬容的多,但是要求你的軟體在用到
BSD的代碼時,必須明確著名原創者的資訊。
X: 就是X Windows所採用的一種許可證協議,這個協議允許你
去更改原來的軟體,並可不公布源碼,並不再採用原來軟體
的X協議,而以你自己的方式去出售或幹別的什麼事。這就
是為什麼有許多針對特定硬體和系統設計的專有但是效能更
好的X視窗系統的緣故。
Perl:就是大家熟知的Perl語言軟體包所採用的協議,這個協議
的最大特點就是禁止銷售,不允許你去賣Perl這個軟體。
MPL: 大家熟知的Netscape就是採用這個許可證協議,他的重要
核心思想就是原創單位享有特權,新更改的代碼及補丁必
須由原創者才由資格發行。這也許是為什麼Netscape沒有
在公開源碼後取勝的原因之一吧。
QT: 大家熟知的Linux的案頭環境KDE就是採用QT包製作的,而QT
包本身遵循的是QT協議,而不是GPL,所以才有了GPL陣營
的GNOME與KDE競爭的事。QT許可證協議的最大特點就是採用
QT協議的軟體可以有公開和非公開兩個版本,一般來說非公
開的版本由於獲得了開發人員和投資者的更大關注而效能更穩
定。而且即使事開放原始碼的版本,對這些版本的修改與改
進也只能以補丁的形式發布,而不能自己獨立發布,就象現
在有多種Linux發行版那樣,在QT許可證裡是不允許的。
就我個人理解,分析一種許可證協議,特別是類自由軟體的許可證
協議時需要抓住下面四點來看:
1。該許可證是否可以與非開放的軟體相結合。
2。該許可證的軟體是否允許他人更改,更改後的結果是否需要反饋
給原創單位。
3。該許可證的軟體可否由不同的發行商發布。
4。該許可證軟體的原創者是否擁有特權。