-
內源
鎖定
內源(Inner Source)也稱為內部開源,內源是把開發開源軟件中學到的經驗教訓應用到公司或組織內部開發軟件的實踐。公司和組織可以在內部開源的同時開發專有軟件。 內源這個詞是Tim O'Reilly在2000年提出的。
- 中文名
- 內源
- 外文名
- Inner Source
- 別 名
- 內部開源
內源動機
開源被認為能夠交付高質量的軟件。此外,開源世界中的開放式協作可以促進協作,甚至是競爭者之間。
因此,軟件開發組織希望從其成果(軟件組件和工具)中受益,也希望從開源世界中實踐和建立的開發實踐中受益。
內源進行開源實踐
除了諸如Apache軟件基金會,Linux基金會和Eclipse基金會等基金會建立的一些實踐之外,內源和開源項目還需要開放式協作、開放式溝通和良好的質量保證等實踐。
開放式協作
在推行內源的公司,所有員工都必須可以訪問所有需要的開發製品(例如,代碼、文檔、問題跟蹤等)。集中軟件構建是實施開放式協作的重要工具。 基於開放式協作的原則(平等的、精英領導的、自組織的),通常歡迎願意為內源項目提供幫助的所有貢獻者。 對內源項目的貢獻通常是根據其為項目帶來的價值來進行評估。 公開討論決策時,開放式溝通也實現了精英制度。 儘管組織不一定要變成徹底的自組織來適應內源,但是內源允許個人,組織單元和項目團體具有更高程度的自組織。
開放式溝通
開放式的溝通可以讓內源項目和軟件中的所有成員能夠公開參與所有的交流互動。 開放式溝通是公開的(在公司內部)、書面的、有存檔且完整的。 目的是允許與內源項目有關或感興趣的任何個人或團體參與溝通。 開放式溝通是會被存檔的,軟件的詳細文檔會被收集起來,團隊可以回顧當時的討論和決策。
通過分離角色保證產品質量
專門的代碼審查以及貢獻者和提交者(擁有寫入權限的集成者、開發者)分離,可以確保開源項目的質量,也可以保證內源項目的質量。
內源內源的優勢
除了開源項目的質量,還有如下這些優勢:
開發更有效和高效
- 更快推向市場
- 降低開發成本
克服組織單元邊界
- 組織單元成本和風險共擔
- 跨越組織單元邊界合作
- 應用程序級信息互通
更多成功重用
- 可以使用單獨組件無法提供的能力
- 複用者和提供者之間相互獨立
- 組件提供者變輕鬆
更好的軟件產品
- 代碼質量提升
- 更多創新性開發
更靈活地利用開發人員
- 簡化開發人員部署
- 無關聯的開發人員相互合作
增強知識管理
- 社區學習
- 知識開放性和可用性
員工動力更足
內源關鍵因素
內源對於大型軟件開發公司是有較為明顯的收益。 但是,它可能不適用於所有環境。 可將以下9個因素分為三類,以評估內源適用的程度。
產品因素
- 形成社區的種子產品
- 作出不同貢獻的多方干係人
- 吸引貢獻者和用户的模塊化
流程和工具因素
- 支持“集市式”開發的實踐
- 支持“集市式”質量保證的實踐
- 促進協作的工具標準化
組織和社區因素
- 支持內部精英文化形成的協作和領導力
- 開放組織的透明
- 支持和鼓勵員工參與的管理