前段時間,我在 RedMonk 上看到了一篇來自 Stephen O'Grady 的有趣推文,介紹了開源許可證目前的狀態,以及此圖表:
此圖展示了從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 人氣不斷下降并不很令人驚訝。
首先,隨著開源產業的發展,大家都已經清楚的發現,找到社區參與的平衡以及客戶需求的商業模式極為重要。在開源早期有一個誤解,“如果你建立一個開源項目,客戶就會來。確實,他們會經常來使用你的軟件。但在大多情況下,他們不會給你錢”。
隨著時間的推移,我們看到各種公司,如紅帽、Automattic、Docker、Canonical、Digital Ocean 等等,都在探索不同的開源方式來實現盈利。包括分發模式,服務模式,開放核心模式等等。可以很清楚的是,傳統的軟件稀缺模式并不適用于開源項目,在收入和免費之間取得平衡對許多人來非常困難。
GPL 雖然是開源許可證,但它基本上是一個自由軟件許可證。作為自由軟件許可證,對 GPL 的管理和支持大部分是由自由軟件基金會推動的,他們最終的焦點都是從軟件絕對必須 100% 自由的角度出發。他們沒有太多的妥協空間,甚至許多公認的開源項目(例如很多 Linux 發行版)都因為一小部分二進制固件而被認為是“非自由”。很少有企業認可自由軟件基金會(或類似的組織)這種純粹的意識,因此我懷疑企業不太愿意選擇一個如此純粹的許可證。
另外一個影響 GPL 使用的原因,我認為是隨著增長開源的目的不再純粹。在早期,開源項目建立的核心根本之一是關注開放性和軟件自由性。 GPL 對于這類項目來說是一個非常自然的選擇,如 Debian、Ubuntu、Fedora、Linux 等等。但近年來,我們已經看到了更新一代的開發形式,對他們來說自由什么的可能不太重要,開源是為了完成命令,又或者只是為了開放某個軟件的一個組件。我覺得這也是為什么越來越多的使用 MIT 和 Apache 許可證的原因之一。
未來?
說到底,這對 GPL 意味著什么?
我認為,GPL 將繼續是一個備受歡迎的許可證,但開發人員將越來越多地將其看成是一個純粹的自由軟件許可證。 對軟件自由有道德承諾的項目將優先考慮 GPL ,但對于前面討論的需要考慮平衡的企業,還是會更愿意使用 MIT 和 Apache 許可證。
無論如何,看到開源和自由軟件在不斷增長是非常令人興奮的事情。雖然許可證的使用方式可能存在復雜性和變化,但對我們來說,更重要的是技術在日益變得越來越開放,每個人都可以去使用。