長春是幾線城市2020排名東莞優(yōu)化網(wǎng)站關鍵詞優(yōu)化
Bytebase 本身是一家商業(yè)軟件公司,而作為最核心資產(chǎn)的代碼從 Day 0 卻是開源的。同時我們還是 star-history.com 的運營者,大家在各種開源渠道會看到它生成的圖:
一直以來,常會被別人問起的一個問題,就是為什么 Bytebase 要開源。結合這 2 年多的實戰(zhàn)經(jīng)驗,一次性把能想到的寫下來。
先圈定一下范圍,就是標題中的 2 個定語:
- 基礎軟件?;A軟件的特質就是基本沒有行業(yè)屬性,各行各業(yè)都能用,底層的如操作系統(tǒng),數(shù)據(jù)庫,往上走一點的如開發(fā)框架,消息隊列,再往上層一點的開發(fā)者工具都屬于基礎軟件的范疇。
- 商業(yè)。商業(yè)就是以盈利為目的的。與之相對應的則是非營利性,依靠贊助和愛好者用愛發(fā)電。
開源的好處
1. 增加渠道曝光度
GitHub 作為全球最大的程序員社交平臺,成為了現(xiàn)在基礎軟件最大和最優(yōu)質的分發(fā)渠道。從 Bytebase 自己官網(wǎng)的流量統(tǒng)計看,從 GitHub 引來的流量,跳轉率和駐留時長指標都遠遠優(yōu)于其他渠道。而 Bytebase 目前的付費客戶中,也有超過 7 成的線索是通過 GitHub 和相關開源渠道過來的。
2. 增加客戶安全感
因為是基礎軟件,處于底層,所以通常都會支撐到客戶的核心系統(tǒng)。商業(yè)化公司對于軟件是要收費的,動輒每年幾萬到幾十萬不等??蛻艋ú簧馘X采購支持他們核心業(yè)務的軟件,肯定是要挑選更放心的產(chǎn)品。開源軟件的代碼是全公開的,整個的研發(fā)過程也被 GitHub 記錄的一清二楚。從原材料到最終成品的整個制作過程都是完全透明的。開源廠商不敢堂而皇之地植入惡意代碼,另外如果廠商本身跑路了,社區(qū)或者客戶本身至少還有繼續(xù)維護下去的途徑。
3. 構建生態(tài)壁壘
同類軟件,開源的只要能達到閉源水平的 50% 甚至更低,就有資格挑戰(zhàn)了。移動時代的 Android 之于 iOS,到現(xiàn)在的各種開源大模型之于 OpenAI。而要用一款開源產(chǎn)品去替代另一款占據(jù)市場多年的開源產(chǎn)品,難度可就高多了。像 web 服務器,Nginx 和 Apache 同為開源產(chǎn)品,Apache 發(fā)布于 1995 年,Nginx 發(fā)布于 2004 年,Nginx 的架構領先 Apache 一代,但即使過了那么多年,從市場占有率看,Nginx 也只領先了幾個點。
前不久 Redpoint 發(fā)布的 InfraRed 100 榜單里,新興者挑戰(zhàn)在位者的模式有:
- 用開源挑戰(zhàn)閉源,比如 Supabase 挑戰(zhàn) Firebase,ClickHouse 挑戰(zhàn) Snowflake,MINIO 挑戰(zhàn) S3。
- 用開源挑戰(zhàn)開源,比如 Deno 挑戰(zhàn) Node。
- 用閉源挑戰(zhàn)閉源,比如 Linear 挑戰(zhàn) Jira。
最常見的是用開源挑戰(zhàn)閉源,而唯獨沒有的是用閉源挑戰(zhàn)開源的模式。
4. 讓用戶自助
代碼就是最好的文檔,一些錯誤定位,文檔要是缺失,根據(jù)錯誤提示搜索代碼倉庫,就能自己定位問題。
打消開源的顧慮
1. 商業(yè)版被破解
他人可以不遵守開源軟件的商業(yè)協(xié)議,肆意篡改代碼,在沒有購買商業(yè)證書的情況下使用商業(yè)版。盜版的問題也并不是開源軟件獨有的,像微軟,Adobe,Oracle 這樣先睜一只眼閉一只眼,等到時機成熟了,再讓律師出馬。使用破解版的風險始終在使用者這邊,在基礎軟件這塊,風險更加會被放大,沒有售后 SLA 支持,出現(xiàn)問題無法解決,遭受的損失往往要大的多。
2. 泄露核心商業(yè)機密
代碼是公司的核心資產(chǎn)是沒有錯,但是這個代碼本身包含了多少獨特的商業(yè)機密,需要打個大大的問號?;A軟件主要是各種 API,算法模塊的組裝,業(yè)務軟件里才會藏著各種獨門策略。就像提供搜索能力的基礎軟件并非什么機密,機密的是具體的搜索排序規(guī)則。
3. 開源代碼的安全性
代碼開源后,別人就可以研究代碼,找漏洞,進行攻擊。但正因為代碼開源,也更容易讓別人幫忙找到漏洞,進行修復。既然連 OpenSSL 都是開源的,其他項目也沒什么好擔心的。
4. 代碼寫得太爛,拿不出手
寫好的代碼不是為了取悅他人,而是為了讓軟件變得可擴展,可維護??蛻粢膊粫榱撕玫拇a買單,而是為能解決的問題買單。
剩下的一些搖擺 ??
1. 外部貢獻者的參與究竟是好是壞
Bytebase 歷史上也有同學貢獻過比較大的功能點,比如集成 GitHub,集成 OceanBase,集成達夢。但從總的代碼量來說,Bytebase 外部貢獻者的代碼量大概只占 1%。當然也有不少開源項目培養(yǎng)出了積極的外部貢獻者,但商業(yè)驅動的開源項目和靠著興趣和解決個人問題驅動的個體貢獻者,兩者的目標還是不同的。從純時間投入來說,指導,審核,協(xié)調外部貢獻者未必比自己團隊操刀來得更高效。
2. 維護成本是增加還是減少
因為代碼都開源了,也就少了需要把代碼保密的需要。其實國內采購軟件的客戶,往往也都需要軟件的源代碼。代碼開源,也就少了這個麻煩。但另一方面,因為代碼完全開源,一些密鑰配置就更加不能直接放在代碼里了,這增加了代碼的復雜度。
寫在最后
最近國外開源圈也有一次交鋒,MongoDB 開發(fā)者關系副總裁 Matt Asay「The open source licensing war is over」vs RedMonk 創(chuàng)始人 Stephen O’Grady「Why Open Source Matters」。雙方都是開源圈的資深人士,Matt 在 AWS 和 MongoDB 間反復橫跳,至于 Stephen,更多人知道的是他這本書的封面。
首先雙方都認可開源的價值,分歧點在誰有權力分配價值上。國外這兩年爭議的焦點都是圍繞開源的定義以及開源協(xié)議,他們是已經(jīng)在開源的價值上形成了共識,剩下就在掰扯怎么分配開源的蛋糕。
而在國內,對于基礎軟件是否開源尚未達成共識。當然也因為這個原因,Bytebase 作為一個開源項目還能享受到不少紅利,而像本篇這樣宣揚開源的文字也還顯得有所價值。
希望 2 年后回看這篇文章,那剩下的搖擺也已經(jīng)找到了答案,至于其它的,就讓它們全都變成廢話吧。
💡 你可以訪問官網(wǎng),免費注冊云賬號,立即體驗 Bytebase。