在過去十年中,從 Linux 和 MySQL 到 Kubernetes、Spark、Presto 和 MongoDB,開源一直是雲的創新支柱。但最近的一些事態發展爲開源背後的商業模式帶來了陰霾,業界如今必須採起行動,以免扼殺其最大的創新來源之一。 |
激勵linux
做爲 Apache Hive 項目的共同創始人和前負責人,我知道激勵對於開源生態系統的蓬勃發展相當重要。獨立開發者須要激勵他們爲開源項目貢獻本身的時間和技能,而那些具備創業思惟的人須要激勵他們圍繞這些項目創建公司以幫助它們蓬勃發展。程序員
公有云可能會破壞這些激勵因素,由於它改變了開源的形態。大型雲服務商很容易將開源項目拿來,並將其做爲託管服務提供個客戶。若是它是在沒有回饋社區的狀況下這樣作的,它就是從別人的工做中得到不公平的利潤,從而破壞了開源所須要的蓬勃發展的動力。緩存
咱們在圍繞 AWS 的當前討論中已經看到了這一點,AWS 被指責 將開源項目做爲服務而提供,並對這些開源項目進行品牌重塑,卻不老是回饋這些開源社區。這促使包括 Confluent、 Redis Labs 和 MongoDB 在內的開源軟件供應商使用了新的許可證,以阻止大型商業雲服務商將其代碼做爲託管服務提供。安全
我不認爲這是一種正確的方法。這些新的許可證還沒有獲得開源推動組織Open Source Initiative(OSI)的承認,而且它們有可能會混淆開源軟件的使用權。正如軟件自由保護協會Software Freedom Conservancy主席 Bradley M. Kuhn 所說,軟件自由應該「對全部人來講都是平等的,不管他們是不是商業行爲者。」開源之因此蓬勃發展,是由於這個原則一直受到尊重,任何模糊不清的地方均可能會阻止人們加入社區。框架
我同情那些尋求保護其業務的開源公司。儘管獨立開發人員付出了不少的努力,但開源項目須要公司的資源和管理工做才能被視爲足夠穩定,才足以供企業普遍使用。Linux 在企業領域中起飛,是由於 Red Hat 和 IBM 全力支持它。Kubernetes 的發展是如此的快,也是由於它獲得了谷歌的支持。固然也有例外,但若是一個開源項目背後有一家公司,那麼這個開源項目更有可能在大型企業中取得成功。dom
我須要說明一下個人利益相關立場。個人公司提供了一個基於雲的數據分析平臺,該平臺嚴重依賴 Spark、Presto 和 Hive 等開源組件。與此同時,咱們經過兩個項目回饋社區,成爲優秀的開源公民:Sparklens,一個提升 Spark 應用程序性能的框架;以及 RubiX,一個提高 Presto 和 Spark 性能的緩存框架。性能
在雲中提供開源軟件有助於這些項目吸引更多用戶和開發人員。可是,若是商業雲服務商獲利不公平,則會對下一代企業家程序員們構建開源公司和投資者支持他們產生抑制做用。3d
競爭rest
所以,若是新的許可證不是解決方案,那麼什麼是呢?code
部分要靠大型雲服務商的公平競爭。我不認爲 AWS 是「邪惡的」,他們的行爲是他們認爲最符合他們商業利益的行爲。但他們須要認識到,從長遠來看,破壞開源對他們的傷害會像對其它人的傷害同樣。開源倡導者應該繼續提升對這個問題的認識,並對雲服務商施加公衆壓力,以便讓他們採起負責任的行動。咱們已經看到證據代表這種壓力可行。
咱們還須要一個開源的「道德規範code of ethics」,由社區(貢獻者、項目負責人)和開源組織(如 OSI 和 Apache)建立。一個企業的行爲即使是 100% 符合開源許可證,但仍然可以以損害社區的方式行事。這個道德規範可以指出一個普遍承認的道德準則,列出了不可接受的作法,這將使公司和我的對他們的行爲負責。
最終的推進力來自於競爭。確實,大型雲服務商在吸引客戶方面具備優點;它們被 CIO 們視爲「簡單」和「安全」之選。但客戶也能夠選擇最好的軟件和支持。若是開源公司可以爲他們本身的發佈版本提供更好的功能和更好的支持,他們能夠說服客戶選擇他們本身的產品。
我已經概述了社區能夠採起的改善這種狀況的行動,但咱們每一個人也均可以以我的身份採起行動。經過讓雲服務商瞭解咱們的擔心,咱們可以對市場產生必定的影響。要求他們經過反饋表和產品論壇向社區提供特定功能,這是讓你發出本身的聲音的一種方式。這些雲服務商的開發人員也在開源論壇中閒逛,並但願成爲開源社區的一員;讓這些要求引發他們的注意會促使這種改變。
咱們所面臨的這個挑戰並無簡單的解決方案,但咱們須要認真對待。開源模式並不脆弱,不會在一晚上之間崩壞。可是,若是商業雲服務商繼續利用開源項目而不給予回饋,那麼他們就會削弱幫助開源成功的激勵措施。殺死產下金蛋的雞並不符合他們的利益,這確定也不符合開發者和客戶的利益。