當前位置:
首頁 > 最新 > 開放公開,火力全開

開放公開,火力全開

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

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

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

## 為什麼開源?

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

與社區的合作可以確保,當你的項目成功時,會有一群熱情的、專門的開發者指導你的特性開發,並將產品推向新的有趣的方向。例如,將聚合功能引入 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](/products/x-pack/open) 頁找到。

## 總結

我們相信開源。作為一種分布模式。作為一種建立企業的方法。作為我們公司的未來。

我們承諾並保持我們將保持開放,並對我們將在 6.3 比以往任何時候都更加開放而感到興奮。

感謝你們對我們的信任。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Elastic中文社區 的精彩文章:

TAG:Elastic中文社區 |