為什麼像 gnu gpl 這樣的限制性許可證越來越不受青睐。
“如果你用了任何開源軟體, 那麼你軟體的其他部分也必須開源。”這是微軟前 ceo 巴爾默 2001 年說的,盡管他說的不對,還是引發了人們對自由軟體的 fud (恐懼, 不确定和懷疑fear, uncertainty and doubt)。大概這才是他的意圖。
對開源軟體的這些 fud 主要與開源許可有關。現在有許多不同的許可證,當中有些限制比其他的更嚴格(也有人稱“更具保護性”)。諸如 gnu 通用公共許可證 (gpl) 這樣的限制性許可證使用了 copyleft 的概念。copyleft 賦予人們自由釋出軟體副本和修改版的權力,隻要衍生工作保留同樣的權力。bash 和 gimp 等開源項目就是使用了 gpl(v3)。還有一個 agpl( affero gpl) 許可證,它為網絡上的軟體(如 web service)提供了 copyleft 許可。
這意味着,如果你使用了這種許可的代碼,然後加入了你自己的專有代碼,那麼在一些情況下,整個代碼,包括你的代碼也就遵從這種限制性開源許可證。ballmer 說的大概就是這類的許可證。
但寬松許可證不同。比如,隻要保留版權聲明和許可聲明且不要求開發者承擔責任,mit 許可證允許任何人任意使用開源代碼,包括修改和出售。另一個比較流行的寬松開源許可證是 apache 許可證 2.0,它還包含了貢獻者向使用者提供專利授權相關的條款。使用 mit 許可證的有 jquery、.net core 和 rails ,使用 apache 許可證 2.0 的軟體包括安卓,apache 和 swift。
兩種許可證類型最終都是為了讓軟體更有用。限制性許可證促進了參與和分享的開源理念,使每一個人都能從軟體中得到最大化的利益。而寬松許可證通過允許人們任意使用軟體來確定人們能從軟體中得到最多的利益,即使這意味着他們可以使用代碼,修改它,據為己有,甚至以專有軟體出售,而不做任何回報。
開源許可證管理公司黑鴨子軟體的資料顯示,去年使用最多的開源許可證是限制性許可證 gpl 2.0,份額大約 25%。寬松許可證 mit 和 apache 2.0 次之,份額分别為 18% 和 16%,再後面是 gpl 3.0, 份額大約 10%。這樣來看,限制性許可證占 35%,寬松許可證占 34%,幾乎是平手。
但這份當下的資料沒有揭示發展趨勢。黑鴨子軟體的資料顯示,從 2009 年到 2015 年的六年間,mit 許可證的份額上升了 15.7%,apache 的份額上升了 12.4%。在這段時期,gpl v2 和 v3 的份額驚人地下降了 21.4%。換言之,在這段時期裡,大量軟體從限制性許可證轉到寬松許可證。
這個趨勢還在繼續。黑鴨子軟體的最新資料顯示,mit 現在的份額為 26%,gpl v2 為 21%,apache 2 為 16%,gpl v3 為 9%。即 30% 的限制性許可證和 42% 的寬松許可證 — 與前一年的 35% 的限制許可證和 34% 的寬松許可證相比,發生了重大的轉變。對 github 上使用許可證的調查研究證明了這種轉變。它顯示 mit 以壓倒性的 45% 占有率成為最流行的許可證,與之相比,gpl v2 隻有 13%,apache 11%。

引領趨勢
從限制性許可證到寬松許可證,這麼大的轉變背後是什麼呢? 是公司害怕如果使用了限制性許可證的軟體,他們就會像巴爾默說的那樣,失去自己私有軟體的控制權了嗎? 事實上,可能就是如此。比如, google 就禁用了 affero gpl 軟體。
instructional media + magic 的主席 jim farmer,是一個教育開源技術的開發者。他認為很多公司為避免法律問題而不使用限制性許可證。“問題就在于複雜性。許可證的複雜性越高,被他人因為某行為而告上法庭的可能性越高。高複雜性更可能帶來訴訟”, 他說。
他補充說,這種對限制性許可證的恐懼正被律師們驅動着,許多律師建議自己的客戶使用 mit 或 apache 2.0 許可證的軟體,并明确反對使用 affero 許可證的軟體。
他說,這會對軟體開發者産生影響,因為如果公司都避開限制性許可證軟體的使用,開發者想要自己的軟體被使用,就更會把新的軟體使用寬松許可證。
但 salesagility(開源 suitecrm 背後的公司)的 ceo greg soper 認為這種到寬松許可證的轉變也是由一些開發者驅動的。“看看像 rocket.chat 這樣的應用。 開發者本可以選擇 gpl 2.0 或 affero 許可證,但他們選擇了寬松許可證”,他說。“這樣可以給這個應用最大的機會,因為專有軟體廠商可以使用它,不會傷害到他們的産品,且不需要把他們的産品也使用開源許可證。這樣如果開發者想要讓第三方應用使用他的應用的話,他有理由選擇寬松許可證。”
soper 指出,限制性許可證緻力于幫助開源項目獲得成功,方式是阻止開發者拿了别人的代碼、做了修改,但不把結果回報給社群。“affero 許可證對我們的産品健康發展很重要, 因為如果有人利用了我們的代碼開發,做得比我們好, 卻又不把代碼回報回來, 就會扼殺掉我們的産品,” 他說。“ 對 rocket.chat 則不同, 因為如果它使用 affero, 那麼它會污染公司的知識産權, 是以公司不會使用它。不同的許可證有不同的使用案例。”
曾在 gnome、openoffice 工作過,現在是 libreoffice 的開源開發者的 michael meeks 同意 jim farmer 的觀點,認為許多公司确實出于對法律的擔心,而選擇使用寬松許可證的軟體。“copyleft 許可證有風險, 但同樣也有巨大的益處。 遺憾的是人們都聽從律師的,而律師隻是講風險,卻從不告訴你有些事是安全的。”
巴爾默發表他的錯誤言論已經過去 15 年了, 但它産生的 fud 還是有影響 — 即使從限制性許可證到寬松許可證的轉變并不是他的目的。