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