GGI: InnerSource


Table of contents


InnerSource

InnerSource 在當今企業中越來越受歡迎,因為它提供了基於開源實踐成功經驗的方法,應用於組織內部的開發團隊。然而,實施 InnerSource 並不僅僅是直接複製這些實踐。它需要根據企業的獨特文化和內部組織進行調整。讓我們一起更深入了解什麼是 InnerSource,什麼不是,以及其相關挑戰。

什麼是 InnerSource?

該術語最早由 Tim O’Reilly 在 2000 年提出,Innersource 所指的是「[…]在企業內部使用開源開發技術

根據 InnerSource Commons ,一份該主題的參考依據,InnerSource 是指「在組織範圍內,使用開放原始源原則與實踐軟體開發。」

為什麼需要 InnerSource?

根據 InnerSource Commons 的觀點,「對於主要開發封閉原始碼軟體的公司,InnerSource 是一個極佳的工具,可幫助破除部門隔閡、促進並擴大內部協作、加速新工程師的入職,並發掘將軟體貢獻回開放原始碼世界的機會。

有趣的是,InnerSource 的益處不僅能影響公司的工程部門,還能惠及其他部門。因此,一些公司在以下領域發現了具體的優勢:

  • 法律職能:透過使用現成的法律框架(如 InnerSource 授權),加速跨部門協作的建立。
  • 人力資源:透過核心且經驗豐富的團隊來管理稀缺技能,而該團隊本身是負責整合資源與專業知識。

InnerSource 的爭議

InnerSource 常常被批評者提及的一些普遍迷思圍繞。雖然它並非真正的開放原始碼,但對於在內部採用這種方法的組織來說,卻展現了巨大的潛在效益。以下是一些常見的迷思:

  • 「迷思」InnerSource 是以犧牲開放原始碼(主要是對外貢獻的部分)為代價的:
    • 軟體專案保留在公司防火牆內。
    • 對開放原始碼的外部貢獻減少。
  • 「迷思」把持開放原始碼的精神,而非真正接近其核心理念。
  • 「迷思」從未有 InnerSource 專案成功轉變為開放原始碼專案。
  • 「迷思」推行 InnerSource 的動機在於它類似於開放原始碼。但事實上,如果開發者認為其有價值,那麼應始終優先選擇直接對開放原始碼進行貢獻。

以下是一些關於 InnerSource 實踐的事實,可以破除前述大多數迷思:

  • 「事實」InnerSource 是一種方法,旨在引導主要封閉型公司逐步進入開放原始碼的領域。
  • 「事實」儘管大多數開放原始碼貢獻是由志願者完成的,但我們可以利用這份「感知利益」清單,向工程師宣傳參與開放原始碼的好處。
  • 「事實」在某些(或大多數?)情況下,企業並未遵循有序且受控的開發實踐模式,而這(GGI)可以成為幫助他們管理此問題的一種方式。
  • 「事實」將封閉授權轉換為開放授權仍然需要大量的工作。
  • 「事實」確實存在將 InnerSource 專案轉為開放原始碼的案例:
    • Twitter 釋出的 Bootstrap。
    • Google 釋出的 Kubernetes。
    • dotCloud 釋出的 Docker(過往公司名稱為 Docker Inc.)。
    • React Native。
  • 「事實」開放原始碼受益於越來越多的軟體工程師熟悉開放原始碼的實踐,因為 InnerSource 的實踐與其非常相似。

誰在進行這件事?

許多公司已經啟動了 InnerSource 計劃或 ISPO(InnerSource 計畫辦公室),其中一些已經運行了很長時間,其他則是近期才開始。以下是主要聚焦於歐洲公司的非詳盡清單:

InnerSource Commons ,一個必要的參考文獻

一個活躍且充滿活力的 InnerSource 實踐者社群,依循開放原始碼原則運作,可以在 InnerSource Commons 中找到。他們提供許多實用資源,幫助您快速掌握相關議題,包括 模式學習路徑 以及簡短的電子書:

InnerSource 治理的差異

InnerSource 帶來了一些在「開放原始碼」中未曾遇到的特定挑戰。然而,大多數創建封閉軟體的組織已經在應對這些挑戰:

  • 專為公司設計的 InnerSource 專案專屬授權(適用於擁有多個法律實體的大型公司)。
  • 開源的公開性避免了移轉定價(transfer pricing,跨國企業內部交易的價格設定)的挑戰,而 InnerSource 的私密性可能使跨司法管轄區運營的企業面臨利潤轉移的責任。
  • 促進貢獻的動機存在很大差異:
    • 由於 InnerSource 侷限於組織內部,其潛在貢獻者的範圍較小。
    • 展現專業技能是促進貢獻的一個驅動因素,但 InnerSource 將這種影響力限制在組織的範圍內。
    • 為改善社會作出貢獻是另一個驅動因素,但在 InnerSource 中這一點受到限制。
    • 因此,在滿足動機需求之餘,將更加仰賴貢獻獎勵和任務指派。
    • 在 InnerSource 中,因為程式碼的可見性有限,處理如冒名頂替症候群等完美主義恐懼更為容易。
  • 勞務外包日漸頻繁,這在多方面影響了治理。
  • 由於 InnerSource 是在內部開發的,因此評估其對企業的適用性更加容易。
  • 可查找性往往會是一個問題。企業對資訊索引的優先程度較低,而公共的搜尋引擎(如 DuckDuckGo、Google 或 Bing)在這方面表現更優,但 InnerSource 無法加以利用。
  • InnerSource 因其運行於內部環境,相較之下在出口管控方面具備略優的條件。
  • 需要對原始碼的智慧財產權洩漏進行邊界管控。

InnerSource 隨著越來越多公司採用其原則並分享經驗而持續發展。本手冊的未來版本將提供精選清單,列出與 GGI 行動相關的 InnerSource 實踐者 。