為什麼初創公司應該將程式碼開源
Dokit 曾經懷疑將自己的知識開源可能是一個失敗的商業決策,然而正是這個選擇奠定了它的成功。
回想一個專案開展最初期的細節並不是一件容易的事情,但這有時候可以幫助你更清晰地理解這個專案。如果讓我來說,關於 Dokit 這個用來建立使用者手冊和文件的平臺的最早的想法來自我的童年。小時候我家裡都是 Meccano(LCTT 譯註:一種類似樂高的拼裝玩具)和飛機模型之類的玩具,對於我來說,遊戲中很重要的一部分就是動手製作,把獨立的零件組裝在一起來創造一個新的東西。我父親在一家 DIY 公司工作,所以家裡到處都建築、修理,以及使用說明書。小的時候父母還讓我參加了童子軍,在那裡我們製作桌子和帳篷,還有泥巴做的燒烤爐,這些事情都培養了我在共同學習中感受到的樂趣,就像我在開源活動中感受到的一樣。
在童年學到的修理東西和回收產品的本領成為了我工作的一部分。後來我決心要用線上的方式,還原這種在家裡或者小組裡學習如何製作和修理東西時的那種非常棒的感覺。Dokit 就從這個想法中誕生了。
創業初期
事情並非一帆風順,在我們的公司於 2017 年成立之後,我很快就意識到那些最龐大、最值得奮鬥的目標一般來說也總是最困難的。如果想要實現我們的計劃 —— 徹底改變 老式的說明書和使用者手冊的編寫和發行方式,並且在這個細分市場(我們非常清楚這一點)裡取得最大的影響力 —— 那麼確立一個主導任務就十分關鍵,它關乎專案的組織方式。我們據此做出了第一個重要決策:首先 在短時間內使用一個已有的開源框架 MediaWiki 製作產品原型來驗證我們的想法,然後將我們的全部程式碼都作為開源專案釋出。
當時 MediaWiki 已經在正常運作了,事後看來,這一點讓我們的決策變得容易了許多。這個平臺已經擁有我們設想的最小可用產品(MVP)所需要的 90% 的功能,並且在全世界範圍內有 15000 名活躍的開發者。MediaWiki 因為是維基百科的驅動引擎而小有名氣,如果沒有來自它的支援,事情對我們來說無疑會困難很多。還有一個許多公司都在使用的文件平臺 Confluence 也有一些不錯的功能,但是最終在這兩者之間做出選擇還是很容易的。
出於對社群的信賴,我們把自己平臺的初始版本完全放在了 GitHub 上。我們甚至還沒有真正開始進行推廣,就已經可以看到世界各地的創客們開始使用我們的平臺,這種令人激動的感覺似乎說明我們的選擇是正確的。儘管 創客以及 Fablab 運動(LCTT 譯註:Fablab 是一種向個人提供包括 3D 列印在內的電子化製造服務的小型工坊)都在鼓勵使用者積極分享說明材料,並且在 Fablab 章程 中也寫明瞭這一點,但現實中像模像樣的文件還是不太多見。
人們喜歡使用我們這個平臺的首要原因是它可以解決一個非常實在的問題:一個本來還不錯的專案,卻使用了非常糟糕的文件 —— 其實這個專案本來可以變得更好的。對我們來說,這有點兒像是在修復創客及 DIY 社群裡的一個裂縫。在我們的平臺釋出後的一年之內,Fablabs、Wikifab、Open Source Ecology、Les Petits Debrouillards、Ademe 以及 Low-Tech Lab 都在他們的伺服器上安裝了我們的工具,用來製作逐步引導的教程。
甚至在我們還沒有發新聞稿之前,我們的其中一個使用者 Wikifab 就開始在全國性媒體上收到“DIY 界的維基百科”這樣的稱讚了。短短兩年之內,我們看到有數百的社群都在他們自己的 Dokits 上開展了專案,從有意思的、搞笑的,到那種很正式的產品手冊都有。這種社群的力量正是我們想要駕馭的,並且有這麼多的專案 —— 從風力渦輪機到寵物餵食器 —— 都在使用我們建立的平臺編寫非常有吸引力的產品手冊,這件事情真的令我們讚歎不已。
專案開源
回頭看看前兩年的成功,很明顯選擇開源是我們能迅速取得成果的關鍵因素。最有價值的事情就是在開源專案中獲得反饋的能力了。如果一段程式碼無法正常執行,會有人立刻告訴我們。如果可以從這些已經在使用你提供的服務的人那裡學到這麼多東西,為什麼還要需要等著和顧問們開會呢?
社群對我們這個專案的關注程度也反映出了這個市場的潛力(包括利潤上的潛力)。巴黎有一個非常好的、成長迅速的開發者社群(LCTT 譯註:Dokit 是一家設立在巴黎的公司),但是開源將我們從一個只有數千當地人的小池子裡帶到了全世界數百萬的開發者身邊,他們都將成為我們的創作中的一部分。與此同時,程式碼的開放性也讓我們的使用者和客戶更加放心,因為即使我們這個公司不在了,程式碼仍然會存續下去。
如果說上面這些都是在我們之前對開源的預期之中的話,其實這一路上也有不少驚喜。因為開源,我們獲得了更多的客戶、聲望以及精準推廣,這種推廣本來以我們有限的預算是負擔不起的,現在卻不需要我們支付費用。我們發現開原始碼還改善了我們的招聘流程,因為在僱傭之前就可以透過我們的程式碼來測試候選人,並且被僱傭之後的入職過程也會更加順利。
開發者在完全公開的情況下寫程式碼,既有一點尷尬,同時也很團結,這對我們提升產品質量很有幫助。人們可以互相發表意見和反饋,並且因為工作都是完全公開的,人們似乎會盡可能地想做到最好。為了不斷最佳化、不斷重構 Dokit 的執行方式,我們明白未來應該在對社群的支援上做得更好。
下一步是什麼?
儘管我們對正在做的事情一直都很有信念,並且看到很多出色的產品說明書都是用我們的軟體製作出來的,我們還是會對這個專案的成長不斷地感到興奮,並且非常確信未來一定會很好。
在創業初期,我們對將自己的知識免費分發出去這件事還是非常擔心的。事實證明正好相反 —— 正是開源讓我們能夠迅速構建起一個可持續的初創企業。Dokit 平臺的設計初衷是透過社群的支援,讓它的使用者有信心去構建、組裝、修理和創造全新的發明。事後看來,我們用開源的方式去構建了 Dokit 這個平臺,這和 Dokit 本身想做的其實正好是同一件事情。
如同修理或者組裝一件實體產品一樣,只有當你對自己的方法有信心的時候,事情才會越來越順利。現在,在我們創業的第三個年頭,我們開始注意到全世界對這個領域的興趣在增加,因為它迎合了出於不斷變化的居家和生活方式的需求而 想要使用或重複利用以及組裝產品的新一代客戶。我們正是在透過線上社群的支援,創造一個讓大家能夠在自己動手做東西的時候感到更加有信心的平臺。
via: https://opensource.com/article/19/5/startups-release-code
作者:Clément Flipo 選題:lujun9972 譯者:chen-ni 校對:wxy
相關文章
- 為什麼你應該為開源做設計
- 為什麼程式設計師應該少寫程式碼程式設計師
- 為什麼你應該參與到開源專案中
- 遊戲公司為什麼應該有一個“編輯部”?遊戲
- 你的初創企業究竟應該用哪種開源協議?協議
- 面試應該問公司什麼問題面試
- 為什麼你應該學習程式設計程式設計
- 程式設計師為什麼不應該加班程式設計師
- 為什麼有些程式設計師寧願降薪也要離開創業公司?程式設計師創業
- 漫談程式設計師系列:程式設計師該不該考慮初創公司程式設計師
- 什麼時候應該避免註釋程式碼?
- 為什麼每家企業都應該考慮使用開源的 POS 系統
- 前端程式設計師為什麼應該拿高薪前端程式設計師高薪
- [譯] 為什麼你應該開始使用 KotlinKotlin
- 前端開發人員為什麼應該拿高薪前端高薪
- GPLv3 將為IT企業的開源應用帶來什麼?
- 為什麼我離開 Google 加入一個小創業公司Go創業
- 創業者說:為什麼初創企業不招新手程式設計師?創業程式設計師
- 為什麼我要豎向對齊程式程式碼(你也應該這樣做)
- 為什麼初學者應該學習Python?7大主流程式語言對比!Python
- 為什麼程式設計師應該從現在就開始看書程式設計師
- 為什麼程式猿都應該學點linux命令?Linux
- 為什麼應該投資程式設計師的學習?程式設計師
- 為什麼 Python 開發人員應該使用 PipenvPython
- 為什麼開發者擔心將程式碼公佈
- 為什麼開發者應該摒棄敏捷?敏捷
- 為什麼你應該學 Python ?Python
- 程式猿小白應該注意什麼
- 什麼樣的IT公司你應該考慮辭職?
- 為什麼你該開始學習程式設計了?程式設計
- 為什麼程式設計師應該架空專案經理程式設計師
- Sealos 開源初創公司 Trending 全球 TOP50,中國第二!
- 為什麼你應該嘗試 “全棧”全棧
- 為什麼你應該嘗試“全棧”全棧
- 為什麼 AI 時代更應該 Learn in PublicAI
- 作為創業公司的程式設計師,應該具備哪些優秀品質?創業程式設計師
- MySQL 創始人:寫程式碼比打遊戲還爽,程式設計師應該多泡開源社群MySql遊戲程式設計師
- 為什麼程式設計師應該寫部落格?用什麼部落格系統?程式設計師