核心提示出品|開源中國文|唐建法前言開源許可證從最早的 GPL 開始, 逐漸演進到 GPLv2 和 v3,中間還有 Apache、MPL、AGPL、LGPL 等,但是近幾年來有一批新的許可證的出現,引起了社區的一些激烈的討論。這些新的許可證包括 B 制作|開源中國文|唐建發序開源許可從最早的GPL開始,逐漸演進到GPLv2和v3,其中有Apache、MPL、AGPL和LGPL。然而,近年來出現了一些新的許可證,在社會上引起了一些激烈的討論。這些新的許可證包括BSL、SSPL、Elastic和一個特別附加條款Commons。從爭論的角度來看,社會分為兩大陣營:原教旨主義和實用主義。原教旨主義學生認為,只有那些遵循1998年成立的開源倡議所定義的10條原則,并經過OSI審計和認證的人,才能被稱為開源許可證。實用主義,基于開源本身的目的,認為當源代碼開放,大部分社區開發者在使用或貢獻時不受影響,就不用擔心字面定義,所以對社區有利。根據OSI的開源許可規則,目前使用SSPL的MongoDB、使用彈性許可V2的Elastic Search和Airbyte、使用BSL的Cockr賓果樂透oachDB和帶有公共條款的Redis都不能稱為“開源軟件”。那么問題來了?由于上述原因,這些軟件不被認為是開源的,而是專有軟件。我們真的把這些一直在免費使用并且可以繼續很好使用的軟件稱為“閉源軟件”或者“商業軟件”嗎?好像也不對。“源代碼可用”,微微繞口。讓我們首先從SSPL和OSI的角度來看這個問題的兩個對立面的一些潛在邏輯。最后,分享一下對云時代開源許可的一些看法。1.我認識的SSPLMongoDB是一個非常受程序員歡迎的NoSQL數據庫。大概是12年前和朋友在硅谷創業的時候接觸到的。花了一個周末重寫了幾千行Python代碼,把和MySQL的交互改成了MongoDB,初衷是為了提高并發性能,但是我發現了一個意外的驚喜:代碼的行數減少到了幾百行,是原來的15%——從此,我義無反顧地開始了我的NoSQL之路。活躍在社區里,還寫了一個與MongoDB相關的開源NodeJS組件,于是在13年創業項目停止后加入了MongoDB。我加入的時候,MongoDB已經成立6年,員工規模300~400人,年支出1億美元。它的收入呢?當時,MongoDB的主要收入來自一些咨詢服務和企業版的銷售。但是咨詢服務收入真的很差,企業版不好賣。最大的競品就是它自己:開源版。所以只能靠大量的風險投資來持續輸血。但是融資到了F輪,投資人的耐心終于用完了。經過一次董事會議,當時的CEO和CRO都被罷免了,取而代之的是一位身經百戰的職業經理人Dev Ittycheria。Dev推出后立即制定了2-3年內完成上市的目標,并實施了一系列新的商業化舉措,包括商業化第一優先、進軍全球、推出云產品等。就是在那個時候,我從美國生活工作了10多年回到中國,作為MongoDB大中華區的第一個正式員工,幫助MongoDB在中國實現商業化。我回國后的14年下半年,MongoDB的云產品Atlas還在開發中,MongoDB的主要商業手段是企業版。2016年,MongoDB正式發布了Atlas產品,這是一項公共云上的托管數據庫服務。MongoDB企業版的客戶可以用幾百上千,但是開源版的開發者可能有幾十萬。這些開發人員大多不會購買企業許可證,但無論如何都需要使用和管理維護。這時候,Atlas這種云產品形態很快就受到了這些開發者的青睞。雖然成本不算太低,但畢竟是開箱即用,節省了0.5或者0.25 DBA,所以MongoDB Atlas自上線以來就表現出了比較快的增長速度。2017年上市時,已經成為MongoDB增長最快的業務。反觀國內,某公有云其實早在2016年就在云上推出了MongoDB作為服務,比最初的MongoDB工廠還要早,而且還在使用基于AGPL的MongoDB社區版。當時在中國,企業版的銷售其實很難。銷售企業版的邏輯提供了附加價值,主要包括原廠技術支持和一套獨立的附加集群管理工具。與開源版本相比,MongoDB數據庫功能是相同的。但從軟件購置成本來說,一個是0元/年,一個是幾十萬元/年。在10萬元就能雇到一個工程師的中國企業級市場,可想而知企業有多愿意出錢。除了國內,俄羅斯的bingo 開獎一些頭部云廠商也開始在其云上推出MongoDB即服務,都是基于免費的MongoDB社區版。在這個過程中,為了更好地將一個產品集成到他們的統一云管理平臺中,提供一些額外的能力支持,或者自己解決一些產品bug來滿足SLA,云廠商必然會對源代碼進行很多修改。此時,MongoDB發現一些云供應商并沒有完全遵循AGPL協議規范,并對所有這些變化進行開源。云商的實際做法往往是這樣的。首先公開Fork中一個MongoDB的上游版本,然后在這個Fork中象征性地提交一些更新,推送給GitHub。其實很多開發都會在一個私有的分叉上進行,不會推到公有的分叉上,更不會回到上游。從MongoDB的角度來看,當發現這些AGPL協議沒有被這些云廠商很好的執行時,它試圖從商業的角度與云商溝通,希望對方要么按照行業的規則發布代碼,要么達成商業合作。經過多次談判和各自法律團隊的使用,MongoDB發現其面臨的問題是商業合作,雙方的預期相差太大。一個想吃肉,另一個只愿意給肉湯。開源合規方面,云商指著不怎么更新的回購,說我們已經按照協議開源了。只有打官司,才能去內部取證。我該怎么辦?類似的案例,沒有先例,然后在一個完全陌生的國家走這條路,聽起來很坎坷。但云服務幾乎是所有新一代開源軟件公司的主要收入增長引擎,不能放任不管。所以MongoDB選擇了采取一個激烈的措施。換執照。在更改協議之前,MongoDB主要使用AGPL許可證。這是OSI認證的、一致認可的標準開源許可類型。為了應對云廠商遇到的困難,MongoDB在AGPL的基礎上增加了一個補充條款:第十三條:如果您使用本軟件直接在公有云上以“xxx即服務”的形式銷售軟件本身,那么您需要開源所有相關變更,包括支持使用本軟件的后端管理平臺軟件。所以,簡單地說,SSPL等于AGPL+第十三修正案。理解了這個修正案的初衷、意圖和影響范圍,你就理解了SSPL的精髓。初衷:與云廠商在商業利益上的博弈。目的:防止直接利用開源軟件獲利但不遵守游戲規則的第三方。影響范圍:直接提供“開源軟件即服務”的公有云廠商SSPL正式發布后,直接效果很明顯:云廠商要么下線,要么與原廠達成商業合作,獲得特別授權繼續提供MongoDB即服務。當然,影響也是極其深遠的——在開源界引起了極大的騷動。關于使用SSPL和后來的彈性許可V2的軟件是否可以被稱為“開源軟件”的爭議一時間充斥了技術社交網絡。許多極端的觀點認為,如果接受這樣的開源方法,開源將逐漸消亡。還有一種觀點認為,采用這樣的“準開源”許可,一定會引發社區的極大反彈,2-3年內這些公司就會倒下。2、OSI認證讓我們來看看開源軟件標準的守護者OSI。當我們說一個軟件是否可以稱為“開源軟件”時,嚴謹的說法應該是,這個軟件如果使用了某種OSI認證的許可證,就可以稱為“開源軟件”。相反,如果使用的許可證不在OSI認證列表中,那么這個軟件可能就不應該被稱為“開源軟件”。OSI認證許可證對我們來說很常見:麻省理工學院(Massachu-setts Institute of Technology)加州大學伯克利分校軟件(Berkeley Software Distribution)街頭流氓MasterofPatentLaw專利法碩士(同gramspe蘋果14rlitre)克/升公共許可證許可證等一下。值得注意的是,這個定義更多的是一個社區的自我約束,并不具有法律約束力。按照OSI自己的說法,“開源”這個詞并不是注冊商標,所以理論上任何人都可以使用。你不能用法律手段禁止一個軟件自稱為“開源軟件”,即使它還沒有被OSI認可。但是,我們都在一個生態里。這個生態是由各種成員組成的。在這里,在法律管轄范圍之外,行業內有更多的約定俗成的公約和標準化組織。OSI是一個鼓勵和促進開源軟件蓬勃發展的組織。試想,如果沒有OSI嚴格的審核許可證、定義軟件安全使用范圍、提供權威解釋的流程,市面上的許可證可能會五花八門。對于開源社區的大多數成員和開源軟件的用戶來說,這將是一個巨大的認知和風險成本。如果你使用一個未知的許可證,不請律師仔細審核,僅僅因為代碼可以使用,它就會集成到你的產品中。你小有成就的那一天,可能就是你收到對方律師來信的那一天。不說別的,從這個角度來看,我們需要像OSI這樣的組織和OS公益彩券I認證的許可機制。這不是限制。目的是幫助社區用戶消除使用開源軟件的隱患,以保障開源社區更好的發展。這也是為什么在MongoDB宣布SSPL之后,MongoDB的CTO Elliot向OSI提交了SSPL認證的申請,希望OSI批準,將SSPL列為認證許可。我們先來看看OSI對目前開源許可的認可原則。OSI認為,許可證是否是開源屬性取決于它是否滿足10項要求:1.自由再分配-分配的自由2.源代碼-您可以獲得源代碼3.衍生作品-允許衍生作品4.作者源代碼的完整性-原作者源代碼的完整性5.不歧視個人或群體——不歧視個人或群體6.沒有對努力領域的歧視——沒有任何領域的歧視。7.許可證的分發-許可證的分發8.許可證不能特定于某個產品-許可證不能特定于某個特定產品。9.許可證不得限制其他軟件-許可證不得限制其他軟件。10.許可證必須是技術中立的-授權不能通過特殊的技術或接口來完成。原文:https://openso52 新聞 台urce.org/osd對SSPL的批評集中在第九條規則上:許可證不能綁定其他軟件。當開發者試圖直接出售MongoDB作為服務時55 台,SSPL的條款將觸發對開發者的其他軟件的限制。因此,根據現有的約定,SSPL/彈性許可不符合OSI開源標準。所有MongoDB,Elastic等。真的尊重這個社區的共識。他們不直接稱自己開源,而是“源代碼可用”。作為MongoDB中文社區的非盈利運營商,我們最近做了一個小調查,看看社區的主要成員開發者和用戶是如何看待這些問題的。3.MongoDB中文社區許可問卷調查結果我們的調查問卷在半天內收集了99個有效答案,以下是一些結果:可以點擊鏈接觀看完整的問卷:https://mong ing . com/WP-content/uploads/2022/08/52c 020886 a 57 cf 6 . pdf。以下是一些抽象數據,可以從頁面上提供一些觀察結果:91%的用戶支持開源軟件商業化,7%不支持,2%其他。開源軟件的代碼貢獻者只占8%,剩下的可以理解為用戶。換句話說,絕大多數開源社區都是開源軟件的用戶。關于開源軟件的選擇,只有6%的用戶表示軟件的許可模式是重要的考慮因素。多達73%的用戶表示SSPL/Elastic對云廠商的修改合理并支持,10%的用戶表示無所謂,17%的用戶反對。對于開源軟件用戶,89%的用戶表示許可證的變更對他們繼續使用軟件沒有影響。對于開源軟件的貢獻者來說,7%的用戶因為許可證的改變而停止了貢獻。4.應該如何理性看待云時代的開源許可?在討論了SSPL和OSI認證以及對社區的一些調查后,回到我們的核心問題:在云時代,我們應該如何看待這些新的開源許可?考慮到MongoDB、Elastic、Redis等軟件廠商修改許可證的初衷,其實是在尋找一種對抗公有云廠商不正當競爭的解決方案。所以,我們說,這個問題是云時代才出現的問題。我先列舉一些沒有太大爭議的事實和觀點:MongoDB/Elastic/Redis都是取得巨大成功的主流開源軟件廠商。這些軟件的持續健康發展,無論OSI持什么態度,仍然可以服務于絕大多數開源社區用戶。這些廠商開源許可的修改是對云廠商碾壓式商業競爭的回應。開源社區需要具有包容性,就像既定規則中沒有對任何個人或團體的歧視一樣。OSI的10大開源規則是20多年前制定的,那時還沒有出現公共云。OSI最大的意義之一就是制定標準,幫助社區用戶定義不同開源許可的邊界。對商業開源軟件的追求仍然是開源社區的合理組成部分。社區用戶支持開源軟件的商業化。我們不喜歡壟斷、獨斷和支配。我們喜歡生態開花,鼓勵創新。根據以上這些基本觀點,我分享我的一些看法:1) MongoDB/Elastic/Redis代表開源技術廠商。他們的特點是,以技術創新型公司的形式,開放代碼,通過開源社區傳播產品。他們在為社區提供可以免費獲得的優秀軟件的同時,吸收社區的貢獻和反饋,服務于自己的商業化訴求。與沒有商業公司支持的開源軟件相比,這種開源的營利性有自己獨特的優勢:產品路線清晰,技術迭代快,安全問題或重大bug可以有保障的解決。2)20多年前OSI誕生的時代,大多數開源社區都是以個人貢獻者為主流的愛好者。目前,大多數開源社區是由開發者而不是貢獻者組成的。開發者對術語的科學定義的認知相對較低,而優秀的性能、功能和成熟度是社區用戶的主要關注點。3)OSI作為一個面向社區的組織,需要用發展的眼光來看待新事物。如果真的為社區用戶著想,可以做一些基于社區投票的機制來吸收社區的反饋,共同修改那些20多歲的規定,把一些有商業考慮的許可證容納進開源的大家庭。比如可以從不同的維度對開源軟件進行分類,可以將具有商業訴求的許可證單獨放入一個類別,可以對一些常見的合規條款進行清晰的闡述和審核,幫助大家正確采用合適的開源軟件。甚至可以認為,只要軟件代碼是開源的,可以免費獲得,那么剩下的限制性條款就可以分為1、2、3級,從最許可到最限制不等。每個人都可以根據自己的需求采用相應級別的開源軟件。這是一個真正服務于社區的標準組織,而不是一個“由機構發起,受一些非常固執己見的少數人影響”的標準組織。4)對于絕大多數用戶,以及貢獻者來說,你需要了解云時代這些新許可證出現背后的初衷和意圖。就像我們在對技術進行科學選擇的時候,都知道不能只聽市場的聲音,最終還是要看它是否適合自己的業務場景。如果這些許可證的更改對您的場景沒有影響,您可以接受這些新的“源代碼可用”許可證。5.我們在Tapdata的實踐離開MongoDB后,我創辦了Tapdata.inc,我對我們公司抱有很大的期望。希望能成為一家很有使命感的公司——讓企業更容易、更低成本地利用實時數據發揮更大的商業價值。讓數據隨時可用。經過三年的打磨和數十家客戶的在線驗證,Tapdata已經成為以全鏈路實時為核心技術能力棧的實時數據平臺,也是第一個支持超過50種數據源的實時異構數據集成平臺。為了實現我們的使命,我們發現降低獲取Tapdata的成本,鼓勵社區交流是這個時代最有效的手段。所以最近我們在Github上正式開放了源代碼,成立了Tapdata開源項目。Tapdata開源項目采用混合許可模式。我們的策略是使用我們面向社區貢獻者的插件開發工具包開發各種數據源和數據計算插件代碼,采用Apache V2許可,而Tapdata開源團隊開發的核心引擎框架,包括數據類型標準化、流計算引擎、自研運算符和UDF能力,將采用SSPL許可模式。我們希望依靠Tapdata開源項目在實時數據領域的開拓性和領先性優勢,強大的產品能力,有效的商業化手段,為社區開發者和我們的客戶持續提供最好的數據產品。最后,我引用Google Cloud CEO Thomas Kurian對開源軟件的態度,來證明在云時代,我們需要的是一個共同發展的生態,而不是營利性開源軟件因為云廠商的不對稱競爭優勢而無法生存的結果。“我們堅信,那些最終能夠勝出的平臺,是那些提供生態而不是扼殺生態的平臺。……為了使這些開源軟件公司能夠持續生存和發展,他們需要一種有效的商業化手段。如果云廠商用開源協議攻擊這些開源公司,讓他們無法持續,最終會讓開源社區變得更糟。”“最重要的是,我們相信最終獲勝的平臺是那些能夠促進而不是破壞生態系統的平臺……為了維持開源技術背后的公司,他們需要一個賺錢的工具。如果云提供商攻擊它們并奪走它們,那么它們就無法生存,開源社區也會惡化。”原文鏈接:https://TechCrunch . com/2019/04/09/Google-clouds-new-CEO-on-gaining-customers-startups-supporting-open-source-and-more/開源許可,歡迎來到云時代!關于作者:Tapdata創始人CEO、MongoDB中文社區主席、原MongoDB大中華區首席架構師唐建發。本文來自開源文集《開源觀》第三期。更多精彩內容,請點擊查看:file/tupian/20220826/p
Posted in賓果賓果 bingo bingo相關討論區