Elastic 宣佈公開其商業產品 X-Pack 的源代碼

by Elastic CEO Shay Banon 原文 Open XPack機器學習

我很高興的宣佈,咱們將公開咱們 X-Pack 特性的全部代碼 - Security、Monitoring、Alerting、Graph、Reporting、專門的 APM UI、Canvas、Elasticsearch SQL、Search Profiler、Grok Debugger、Elastic Maps Service zoom levels 以及 Machine Learning - 爲了促進咱們與客戶及社區的更大的協做,正如咱們今天爲咱們的開源代碼所作的同樣。分佈式

我爲咱們公司圍繞咱們的開源產品而自豪,一直以來咱們都沒有破壞創新或放棄對開放的承諾。當咱們展望將來的時候,咱們看到了一個機會,讓咱們更加堅信開放,甚至更加完全,同時引入一個新的、更加高效的模式來構建一個成功的、可持續的圍繞開源的商業模式。學習

這篇博客概述了咱們作出這些改變的想法和細節,不過,讓我澄清一件事 - 咱們是一家開源軟件公司。咱們將繼續保持爲一家開源軟件公司。咱們比以往任什麼時候候都要更加開放,我我的,個人團隊,總體而言,都致力於此。測試

爲何開源?

當我第一次開始寫 Elasticsearch 的時候,我知道它必須是開源的。開源做爲一種開發模式和分發方式,提供了接觸更多人的機會。全部這些人都能作出貢獻。固然,經過代碼能夠作出貢獻,但也能夠經過使用免費的軟件,持續不斷的推動可能的邊界。blog

與社區的合做能夠確保,當你的項目成功時,會有一羣熱情的、專門的開發者指導你的特性開發,並將產品推向新的有趣的方向。例如,將聚合功能引入 Elasticsearch 讓其可被當作一個可擴展的用於數據分析的產品。而像 Kibana 和 Logstash 這樣的項目,以及後來的 Beats 的加入,無不使人鼓舞。隨着咱們用戶的需求變得更加深刻和專業,咱們總能找到新的方法來支持他們,有些是經過新的功能、有些是產品,好比機器學習、APM 和站內搜索。進程

咱們對開源的承諾深刻了。這是咱們花費大部分工程力量投入的地方,咱們的社區貢獻者和用戶對咱們創新進程也一樣相當重要。可是,像咱們這樣快速推動產品的發展,須要大量的投資,這也是咱們圍繞這些技術成立一家公司的緣由。圖片

爲何商業軟件?

那麼,若是咱們對開源軟件已有如此深的看法,那爲何仍是編寫了商業軟件呢?資源

咱們是一家企業。做爲企業的一部分,咱們相信那些可以付款給咱們的企業,應該付款給咱們。而那些不能的,他們也沒必要付款給咱們。做爲回報,咱們有義務確保咱們繼續添加功能和價值給咱們全部的用戶,並確保與咱們的商業關係對客戶有益。這是一家健康的公司所須要的平衡。開發

銷售支持訂閱服務是一個常見的開源軟件的商業模式。可悲的是,只有支持的商業模式會朝向關於什麼對用戶最好以及什麼對公司最好這樣的衝突之中。在這種狀況下,公司將沒有動力讓他們的產品更加簡單好用,更加穩固和可擴展,由於那意味着這將吞噬其技術支持的利益。咱們歷來沒有,也永遠不會忍受爲了確保公司繼續經營而不讓咱們的軟件變的更好。咱們想要繼續改進,咱們支持服務的目標是讓你的項目成功,而後你能成爲你自有 Elastic Stack 部署的專家。部署

另一種辦法 -- 若是大家聽過個人演講,大家可能聽我討論過這個問題 -- 即構建一個‘企業版’的軟件。這種,從本質上來說,致使了社區的分裂,並在客戶和用戶之間產生了分歧。它的結果就是建立一種版本 -- 要麼企業版,要麼社區版 -- 被認爲是權威的,每每滯後 master 不少。一個缺乏特性的版本。一個在不一樣週期測試和發佈的版本。一個有效的關閉了源代碼的版本,由於您沒法知道爲了支持商業特性而更改了哪些內容。在 Elastic,全部咱們的客戶同時也是咱們開源軟件用戶,使用相同版本的軟件產品。咱們不會建立一個社區版與企業版的版本。

那還有什麼?識別高價值特性並將其做爲核心軟件的商業擴展。這種商業模式,咱們有時候叫它「open core」,這是咱們創造 X-Pack 的最終產物。爲了構建和集成由咱們維護知識產權(IP)的特性和功能,並提供訂閱服務或免費的基礎受權。保持咱們對知識產權的控制,使咱們可以有能力投資咱們大部分的工程資源和時間,能夠繼續改進咱們的核心,咱們的開源產品。

這種方法使咱們可以在世界各地創建一個分佈式的公司,讓咱們感到驚訝的是,Elastic Stack 是如何被用來解決各類實際的、具體的問題的。添加適用於咱們用戶的特性和功能,並開發一些使咱們可以持續到將來的功能。

可是這種方法也存在挑戰…

更加開放

你是否知道 X-Pack 提供了一層免費的功能?這些能力諸如 Monitoring、Search Profiler、Grok Debugger 以及額外的 Elastic Maps 縮放級別。你是否知道咱們還將在這一層繼續添加更多功能,如 Canvas 和 Elasticsearch SQL?

當咱們往X-Pack 裏添加免費功能的時候,咱們這麼作是由於咱們知道這些功能能夠幫助用戶更好的使用 Elastic Stack。不幸的是,太多功能你都不知道 -- 也許知道 -- 或得益於這些功能。因此這意味着有很大一部分用戶在使用咱們軟件的時候每每不是最佳實踐。

咱們也知道,得到這個免費軟件的過程是一個糟糕的用戶體驗,涉及到一個完整的集羣重啓。而且若是你想查看代碼,抱歉,不能夠。尤爲是這些免費功能和很大一部分用戶相關,你會問咱們一些很好可是很難的問題,好比:「我如何就這些免費功能與大家交互?」,「我如何開啓一個 issue 或是貢獻代碼?」

而咱們沒有很好的答案。

經過公開 X-Pack 的代碼,咱們解決了這些咱們部分產品開源以及部分產品不是的問題。很快,全部的免費的和商業的特性你均可以開啓一個 issue、查看特性討論、檢查源代碼、與咱們協助和提交一個 pull request。

具體細節

這意味着什麼,技術上來講?

自 6.3 版本起,全部 $PRODUCT(項目)倉庫(Elasticsearch, Logstash, Kibana, Beats) :

  • 全部現存的 Apache 2.0 協議的代碼都將保持相同的協議,什麼都不用動。
  • 咱們會建立一個新的 X-Pack 目錄,將 x-pack-$PRODUCT 的代碼放入到該目錄,基於 Elastic EULA 協議,容許相應的衍生和貢獻。
  • 咱們將修改最頂層的協議爲一個簡單的 Elastic License,包含這個倉庫裏面那些文件是Apache 2.0,那些是 Elastic EULA 的詳細細節。

同時,X-Pack 功能將打包到默認的發行版裏面。全部免費的功能都包含在裏面且默認開啓且永遠不會出現‘過時’,而商業特性則能夠經過試用證書可選的啓用。由於免費的證書永遠不會過時,因此你不再用經過註冊來就直接獲取它了。除此之外,一個只包含 Apache 2.0 協議代碼的包也會一樣會建立並提供下載。

更多信息以及常見問題,能夠在 Opening X-Pack 頁找到。

總結

咱們相信開源。做爲一種分佈模式。做爲一種創建企業的方法。做爲咱們公司的將來。 咱們承諾並保持咱們將保持開放,並對咱們將在 6.3 比以往任什麼時候候都更加開放而感到興奮。

感謝大家對咱們的信任。

相關文章
相關標籤/搜索