為什麼越來越少的開源專案使用 GPL 協議

發表於2017-02-17

前段時間,我在 RedMonk 上看到了一篇來自 Stephen O’Grady 的有趣推文,介紹了開源許可證目前的狀態,以及此圖表:

為什麼越來越少的開源專案使用 GPL 協議

此圖展示了從2010年到2017年開源許可證的使用情況。能很明顯看到,GPL 2.0 的使用量已經減少了一半以上,更多的開發人員轉向使用 MIT 和 Apache 許可證。而 GPL 3.0 有小幅增長。

所以,為什麼?

當然,原因自然有很多,而我的猜測是,這主要是由於開源商業化的趨勢,而 GPL 相對不具商業友好性。

GPL & 商業

在開始之前,必須申明:我是一個 GPL 支持者,我所寫的軟體都是在 GPL 協議之下開源的。這篇文章也不是為了強調 GPL 的實用性和價值,更多的是想分享自己對於行業和許可的認知。

四年前,我參加了一年一度的 Open Source Think Tank 。這是在加利福尼亞舉辦的一個小型的開源行業高管聚會,主要關注的是網路、建立聯盟、確定和解決行業問題。聚會上有一個小組案例研究環節,參會者會被分成多個小組,並被要求推薦一個目前正被廣泛使用的開源協議。我驚訝的發現,這些小組給出的建議中沒有 GPL。

所以說,當時業界就已經有對 Apache 和 MIT 許可證的傾向趨勢了。2015年 GitHub 許可研究也發現,MIT 許可證已成為最主要的一個選擇。 在我的 XPRIZE 工作和作為社群顧問的工作中,我也看到了一個類似的現象,許多客戶對於用 GPL 許可他們的程式碼表示不舒服。

為什麼越來越少的開源專案使用 GPL 協議

社群 & 企業

說實話,GPL 人氣不斷下降並不很令人驚訝。

首先,隨著開源產業的發展,大家都已經清楚的發現,找到社群參與的平衡以及客戶需求的商業模式極為重要。在開源早期有一個誤解,“如果你建立一個開源專案,客戶就會來。確實,他們會經常來使用你的軟體。但在大多情況下,他們不會給你錢”。

隨著時間的推移,我們看到各種公司,如紅帽、Automattic、Docker、Canonical、Digital Ocean 等等,都在探索不同的開源方式來實現盈利。包括分發模式,服務模式,開放核心模式等等。可以很清楚的是,傳統的軟體稀缺模式並不適用於開源專案,在收入和免費之間取得平衡對許多人來非常困難。

GPL 雖然是開源許可證,但它基本上是一個自由軟體許可證。作為自由軟體許可證,對 GPL 的管理和支援大部分是由自由軟體基金會推動的,他們最終的焦點都是從軟體絕對必須 100% 自由的角度出發。他們沒有太多的妥協空間,甚至許多公認的開源專案(例如很多 Linux 發行版)都因為一小部分二進位制韌體而被認為是“非自由”。很少有企業認可自由軟體基金會(或類似的組織)這種純粹的意識,因此我懷疑企業不太願意選擇一個如此純粹的許可證。

另外一個影響 GPL 使用的原因,我認為是隨著增長開源的目的不再純粹。在早期,開源專案建立的核心根本之一是關注開放性和軟體自由性。 GPL 對於這類專案來說是一個非常自然的選擇,如 Debian、Ubuntu、Fedora、Linux 等等。但近年來,我們已經看到了更新一代的開發形式,對他們來說自由什麼的可能不太重要,開源是為了完成命令,又或者只是為了開放某個軟體的一個元件。我覺得這也是為什麼越來越多的使用 MIT 和 Apache 許可證的原因之一。

未來?

說到底,這對 GPL 意味著什麼?

我認為,GPL 將繼續是一個備受歡迎的許可證,但開發人員將越來越多地將其看成是一個純粹的自由軟體許可證。 對軟體自由有道德承諾的專案將優先考慮 GPL ,但對於前面討論的需要考慮平衡的企業,還是會更願意使用 MIT 和 Apache 許可證。

無論如何,看到開源和自由軟體在不斷增長是非常令人興奮的事情。雖然許可證的使用方式可能存在複雜性和變化,但對我們來說,更重要的是技術在日益變得越來越開放,每個人都可以去使用。

你最喜歡哪個許可證,或者你開源的專案正在使用的是哪個許可證?歡迎在下方評論區留言。

相關文章