開源等於免費嗎?用事實來說話

2020-07-16 10:04:46
首先,開源軟體和免費軟體是兩個概念:
  • 開源軟體是指公開原始碼的軟體。開源軟體在發行的時候會附上軟體的原始碼,並授權允許使用者更改、傳播或者二次開發。
  • 免費軟體就是免費提供給使用者使用的軟體,但是在免費的同時,通常也會有一些限制,比如原始碼不公開,使用者不能隨意修改、不能二次發布等。

免費軟體的例子比比皆是,QQ、微信、迅雷、酷狗、360 等都是免費軟體,你可以隨意使用,盡情蹂躪;但是,如果你嫌棄它們複雜,自己刪除了一些無用的功能,然後在網上發布了一個精簡版本供大家下載,那麼你就離法院的傳票不遠了。

開源軟體是不抵觸商業的,開源的目的也不是做慈善事業,而是通過更多人的參與,減少軟體的缺陷,豐富軟體的功能,同時也避免了少數人在軟體裡留一些不正當的後門。開源軟體最終還會反哺商業,讓商業公司為使用者提供更好的產品。

Android 就是大眾最熟知的一款開源作業系統,它除了用在手機上,還用在汽車、平板電腦、電視、智慧手表等其它硬體平台,小米、華為、OPPO、三星等都是 Android 的受益者,他們都賺得盆滿缽滿。

很多著名的開源專案背後都有商業公司支撐,它們的開發者也都有正式的工作,享受和我們一樣的社會福利;如果一個成功的開源專案背後沒有商業公司,這反而是不健康的,社會需要開源和商業之間的互補來促進技術的革新。

開源軟體和商業公司的裙帶關係:
  • Android 由全球最大的網際網路公司 Google 支援;
  • 市場佔有率最高的關係型資料庫 MySQL 已經被上市公司 Oracle 收購;
  • Linux 不但被 Microsoft、IBM、Intel、SAMSUNG 等巨頭免費贊助,還接收它們貢獻的原始碼;
  • Python 目前屬於 python.org 開源組織,它收到了 Facebook、Google、Amazon、Redhat、Microsoft 等商業公司的贊助。

開源軟體的盈利模式

偉大的開源軟體的背後都有巨量的資金流入,沒有資金支撐的開源軟體是無法長久的。那麼,開源軟體究竟是如何盈利的呢?

1) 雙重許可

有些開源軟體不但有一個免費的基礎版本,還有一個收費的商業版本。免費版本能夠促進傳播,讓使用者愛上該軟體;收費版本功能更加豐富,還提供技術支援。這種情況在開源界非常普遍。

例如 MySQL 就同時推出面向個人和企業的兩種版本,即開源版本和專業版本,分別採用不同的授權方式:開源版本完全免費以便更好的推廣,而從專業版的許可銷售和支援服務獲得收入。

2) 技術支援

很多軟體在使用上不收取費用,但當使用者在使用產品遇到困難,需要技術支援的時候,就需要付費了。技術支援收費的這項服務,也是一些開源公司的生計之路。

例如,最大的開源軟體公司 Redhat 被 IBM 收購,賣了 340 億美元。Redhat 雖然提供免費的 Linux 發行版(當然也有收費的版本),但是當使用者遇到技術障礙,或者想昇級硬體的時候,Redhat 可以提供付費支援。

舉個例子,紐交所在用免費的紅帽 Linux 系統交易股票。英特爾最近升級了處理器,紐交所想用新處理器提高效率,但這需要有人為新硬體部署新的系統和應用程式。同樣的事每隔幾年會發生一次。紐交所可以養一個團隊自己完成所有系統維護、開發工作,也可以花錢請紅帽的工程師來做。相當數量的企業使用者都選擇了後者。 

3) 附加服務

JBoss 就是這種模式的典型代表。JBoss 應用伺服器完全免費,而通過提供技術文件、培訓、二次開發支援等技術服務而獲得收入。

開源軟體出版商 O'Reilly 公司也是這種模式,它不遺餘力地聯絡開源軟體的權威人士,組織各種開源軟體的會議,雖然知識是免費的,但承載知識的書籍卻是收費的。

4) 應用服務託管(ASP)

例如 PHP Live ! 就是一種構架於 PHP、MySQL 之上的開源軟體,它可為企業使用者提供實時交談服務。目前已經有數十家公開提供 PHP Live! 託管服務的應用服務提供商。

5) 軟硬體一體化

比如 IBM、HP 等伺服器供應商巨頭,通過捆綁免費的 Linux 作業系統銷售硬體伺服器。SUN 公司近期將其 Solaris 作業系統開放原始碼,以確保伺服器硬體的銷售收入,也是這種模式的體現。

這些巨頭每年在開源軟體領域的投入巨大,但這一切並非是做善事,它們可以從設定了開源軟體的硬體中獲得巨額回報。

6) 部分元件收費

開源免費的軟體可以滿足大部分使用者的需求,但是也有很多使用者需要一些特殊的客製化服務,這個時候軟體公司就會收取一定的費用。

7) 版權收費

雖然程式碼是開源的,但很多作者會採用一些開源協定來限制自己版權問題,如果使用者想要去版權,是需要另外付費的。

8) 捐款/贊助

很多開源軟體都有一些捐款渠道,喜愛該軟體的使用者,或者該軟體的受益者都可以進行資金支援。

例如,Python 就有一個軟體基金協會,它收到了來自 Facebook、Amazon、Google、Redhat、Microsoft 等巨頭的贊助。

這些公司也不傻,他們為什麼會贊助 Python 呢?因為這些公司大量使用了 Python 語言,他們希望 Python 能夠持續發展,如果 Python 倒了,他們也會跟著倒霉。