成功的開源軟體都有什麼樣的特點?

2021-09-19 13:09:16 字數 1199 閱讀 1517

**一、萌芽階段 **

解決實際問題,這是核心。不一定要特別創新,特別酷,當然如果有的話是加分項。

定期發布,及時接受反饋,不斷滿足使用者需求,形成穩定預期。

**二、成長階段 **

出色的宣傳手段、引導傳播的能力。很多不錯的開源專案因為這一點不夠,始終默默無聞 。

足夠好的協作機制。雖然開源社群通常有較為成熟的玩法,但是做得不夠好的專案比比皆是。

友好的參與引導。不斷的吸引新人加入貢獻(包括新手指南,開發文件,demo等等)。

三、成熟階段

商業介入,獲得資金支援。很多一開始選擇了不太具備商業價值的開源專案,會始終非常小眾。

良好的社群氛圍。老人有地位,新人有上公升空間,公開透明不內鬥。

正確的方向感。這是長期繁榮的保障 以上這些,都依賴於乙個最重要的先決條件:足夠強大、足夠優秀的創始人+領導者!

這兩天又思考了一下,發現開源軟體與開源專案,還是有一些差別的。通常來說:開源軟體,主要是供終端使用者使用,而開源專案,則是乙個更大的概念,可以做乙個菱形圖來說明:

在開源專案的基礎上,可以創造乙個好的開源生態圈,而基於開源生態圈,會產生乙個甚至多個不同的開源產品。這裡說「開源產品」,也就包含了「開源軟體」與「開源硬體」。因此,深入思考的結果就是——**優秀的、成功的開源產品,依賴於良好的開源生態圈,而良好的開源生態圈,嚴重依賴於最初開源專案的定位與類別。 **

例如,依賴於wordpress的平台,誕生了一大批wordpress的外掛程式。依賴於eclipese的平台,又誕生了一大批eclipse的外掛程式。firefox、chrome莫不如是。**所以,乙個能夠讓開發者參與擴充套件的平台,是建立生態圈的重點之一。 **

再者,開發、除錯、發布、獲取、公升級、評價這些擴充套件外掛程式,是否易懂,是否方便,是否快捷,也是乙個生態圈,是否能夠健康的重要支撐特性。例如,ruby的gem,node.js的npm,就是極大的提公升了ruby與node.js的生態圈活力。**所以,乙個能夠支援生態圈得以出現的機制,乙個能夠輔助生態圈形成的工具,至關重要。 **

再深入的想一層,當我們開發乙個軟體,他應該具備哪些功能,他的可擴充套件性該如何實現,則是考驗最初創始人的架構能力的關鍵。例如,unix/linux的核心思想——「一切皆檔案」;再如,rails的核心思想——「約定大於配置」以及"rack架構"所帶來的活力。所以,優秀的架構,能夠從一開始,就為開源生態圈打下了良好的基礎。

原文發布於:2023年11月

什麼樣的企業造什麼樣的軟體最容易成功?

事件1 一般軟體企業按功能分,大體分業務應用型軟體和系統工具型軟體。按市場分,應用型軟體企業較多,直接貼近生活 系統工具類較少,間接貼近大眾較少。事件2 軟體企業中,其中中小型企業老闆存在很大一部是非科班出身,甚至是文盲,因此很簡單的認為業務軟體很好做,因為我的資源就是業務,事實上絕大部分結果是恰恰...

什麼樣的企業造什麼樣的軟體最容易成功?

事件1 一般軟體企業按功能分,大體分業務應用型軟體和系統工具型軟體。按市場分,應用型軟體企業較多,直接貼近生活 系統工具類較少,間接貼近大眾較少。事件2 軟體企業中,其中中小型企業老闆存在很大一部是非科班出身,甚至是文盲,因此很簡單的認為業務軟體很好做,因為我的資源就是業務,事實上絕大部分結果是恰恰...

日本都有什麼樣的節日

日本有12天法定的國民節日,在這些日子裡學校 機關 企業都放假。元旦 1月1日 慶祝新年伊始。節 1月的第二個星期一 各地在這一天把成為成年人的青年集中起來,舉行慶祝活動,勉勵他們要依靠自己勇往直前。建國紀念 2月11日 追思建國之日,紀念西元前660年第一代天皇即位的日子。春分 日曆上的春分日 歌...