出售 GNU GPL 的例外條款
作者:理察·史托曼出售例外條款意味著程式碼的著作權持有人以有效的自由軟體授權條款向公眾發布程式碼,然後另行向使用者提供付費選項,以允許他們在不同的條款下使用相同的程式碼,例如允許將其包含在專有應用程式中的條款。
我們必須區分出售例外條款的實踐與至關重要的不同之處:純粹專有的自由軟體擴展或版本。這兩種活動即使由同一家公司同時實施,也是不同的問題。在出售例外條款中,例外條款所適用的相同程式碼可作為自由軟體供公眾使用。僅在專有授權下提供的擴展或修改版本是專有軟體,純粹且簡單,並且與任何其他專有軟體一樣不正確。本文關注的案例嚴格且僅涉及出售例外條款。
我們還必須區分出售例外條款與雙重授權,雙重授權意味著在多種授權條款的選擇下發布程式。通過雙重授權,每個使用者都可以選擇在其中一個授權條款下使用該程式,或者對於符合這兩種授權條款的活動,可以並行使用這兩種授權條款。(因此,重新發行者通常會傳遞這兩種授權條款。)例如,Perl 多年來以雙重授權發行,其替代方案是 GNU GPL 和 Artistic License。現在不再需要這樣做了,因為 Artistic License 的第 2 版與 GNU GPL 相容。
在出售例外條款中,例外條款不是程式發布所依據的第二個授權條款。相反,它們僅適用於購買例外條款的使用者。發行版所攜帶的唯一授權條款是 GNU GPL,因此這不是雙重授權。
我們必須區分出售例外條款與通常的「GPL 例外」,後者只是授予所有使用者在某些特定方面超出 GPL 條件的許可。這些例外條款受 GNU GPL 第 7 節管轄。出售例外條款在法律上獨立於 GNU GPL。為了避免混淆,最好不要將出售的例外條款稱為「GPL 的例外條款」。
自 1990 年代以來,我一直認為出售例外條款是可以接受的,並且有時我會向公司建議這種方法。有時,這種方法使重要的程式成為自由軟體成為可能。
KDE 桌面是在 90 年代基於 Qt 函式庫開發的。Qt 是專有軟體,TrollTech 對於將其嵌入專有應用程式中收取費用。TrollTech 允許在自由軟體應用程式中免費使用 Qt,但這並沒有使其成為自由軟體。因此,完全自由的作業系統無法包含 Qt,因此也無法使用 KDE。
1998 年,TrollTech 的管理層認識到他們可以使 Qt 成為自由軟體,並繼續對將其嵌入專有軟體中收取費用。我不記得這個建議是否來自於我,但我當然很高興看到這個變化,這使得在自由軟體世界中使用 Qt 和 KDE 成為可能。
最初,他們使用了自己的授權條款,即 Q Public License (QPL)——作為自由軟體授權條款來說相當嚴格,並且與 GNU GPL 不相容。後來他們轉向了 GNU GPL;我想我已經向他們解釋過這將適用於該目的。
出售例外條款從根本上依賴於對自由軟體發行版本使用著作權保護許可證,例如 GNU GPL。著作權保護許可證僅在整個組合程式以該許可證發布的情況下才允許嵌入到更大的程式中;這就是它如何確保擴展版本也將是自由軟體的方式。因此,想要使組合程式成為專有軟體的使用者需要特殊許可。只有著作權持有人才能授予該許可,而出售例外條款是這樣做的一種方式。其他人,即根據 GNU GPL 或其他著作權保護許可證收到程式碼的人,不能授予例外條款。
當我第一次聽說出售例外條款的做法時,我問自己這種做法是否合乎道德。如果有人購買例外條款以將程式嵌入到更大的專有程式中,他正在做錯事(即,製作專有軟體)。那麼,出售例外條款的開發人員也在做錯事嗎?
如果這種暗示是有效的,那麼它也將適用於在非著作權保護的自由軟體許可證(例如 X11 許可證)下發布相同的程式。這也允許這種嵌入。因此,我們要麼必須得出結論,認為在 X11 許可證下發布任何內容都是錯誤的——我認為這個結論極端得令人無法接受——要麼拒絕這種暗示。使用非著作權保護許可證是軟弱的,並且通常是較差的選擇,但這並非錯誤。
換句話說,出售例外條款允許在專有軟體中有限地嵌入程式碼,但 X11 許可證更進一步,允許在專有軟體中無限使用程式碼(及其修改版本)。如果這不會使 X11 許可證變得不可接受,那麼它也不會使出售例外條款變得不可接受。
FSF 不實踐出售例外條款有三個原因。一是它無助於 FSF 的目標:確保我們軟體的每個使用者的自由。這就是我們編寫 GNU GPL 的目的,而最徹底地實現這一目標的方法是在 GPL 第 3 版或更高版本下發布,並且不允許嵌入到專有軟體中。出售例外條款無法實現這一目標,就像在 X11 許可證下發布一樣。因此,通常我們不會做這兩件事中的任何一件:我們僅在 GPL 下發布。
我們僅在 GPL 下發布的另一個原因是為了不允許專有擴展,這些擴展將比我們的自由軟體程式更具實際優勢。對於自由不是一種價值的使用者來說,他們可能會選擇那些非自由版本,而不是他們所基於的自由軟體程式——並失去他們的自由。我們不想鼓勵這樣做。
在某些特殊情況下,由於特定的策略原因,我們決定對某些程式使用更寬鬆的許可證對自由事業更好。在這些情況下,我們在該寬鬆許可證下向所有人發布該程式。
這是因為 FSF 遵循的另一個道德原則:平等對待所有使用者。為自由而奮鬥的理想主義運動不應歧視,因此 FSF 致力於向所有使用者提供相同的許可證。FSF 從不出售例外條款;無論我們在何種許可證下發布程式,該許可證都適用於所有人。
但我們不需要堅持要求公司遵循該原則。我認為出售例外條款對於公司來說是可以接受的事情,我將在適當的時候建議它,作為使程式獲得自由的一種方式。