InnerSource:來自PayPal內部的開源實踐

jopen 9年前發布 | 5K 次閱讀 InnerSource
 

InnerSource 僅僅是一個名稱,它是一種在企業內部應用開源軟件實踐的軟件開發方法。來自PayPal的技術帶頭人Cedric Williams,在 開源大會OSCON 上解釋了在PayPal如何使用InnerSource來打破孤島、加強合作、增加生產力。

實踐開始于18個月以前,清算平臺的團隊當時大概需要花2/3的時間來重寫由區域團隊所提交的代碼。而區域團隊,有一個很重要的職責,那就是確保PayPal能夠在不同國家符合當地的一些規定。這種情況對于誰都沒有益處。清算團隊沒法做好自己的本職工作,而區域團隊所話費時間寫的大量代碼而別人又用不上。

PayPal從開放源代碼軟件中汲取了靈感,尤其是來自Apache軟件基金會的實踐。他們發現了開源軟件的組織原則,即每個項目都有各個金字塔的層:用戶,在最底層;貢獻者;可信任的提交者;最上層是架構師/開發者的領導者。PayPal評估了這些個情況后,作出最大的變化是引入“可信任的提交者”角色。

找到合適的可信任的提交者可不是一個簡單的決定:清算團隊中只有10%的人是這樣的角色。Williams在此回答了人們一個問題,成為可信任的提交者需要哪些技術技能?首先必須有深厚的技術功底,然后對于代碼庫的核心了如指掌,即使有了這兩樣也不能成為最出色的。可信任的提交者還必需擁有良好的人際交往能力,他們要成為教練員。他們需要以積極、清晰的方式來溝通。舉例來說,不要說“這些代碼無法接受”,而是需要這么去說“這是我需要你去做的方可接受你的代碼,這里有幾點原因[...]”。

不出所料,引入可信任提交者角色帶來了政治上的扯皮風險,所以不得不小心的去處理,無論是清算團隊內部還是外部。為了使全局能夠接受變化,可信任提交者不僅僅要審核來自區域團隊所提交的代碼,還要審核來自清算團隊其他成員所提交的代碼。

實施6個月之后效果出來了,清算團隊再也沒有花時間去重寫別人的代碼了,而僅僅花了10%的時間去做審核代碼的工作,該團隊進行了一次大規模的重構,且在沒有做任何計劃的情況下提升了4倍的性能。團隊成員的心態也從排斥轉變為積極的接受。一個最大的副產品是所有相關的溝通都通過寫作來完成,多數是在Github上:PayPal使用Github來托管他們的開源軟件,使用企業版Github來托管他們的閉源項目。這使得能夠在所有的團隊之間進行知識共享和傳播。

在InnerSource之前,PayPal嘗過不同的方法,它們是:自頂向下的強制和駐場。

第一種方法,即自頂向下,是比較傳統和古老的了。定義嚴格的規則和利益相關者,自頂向下,讓人們承擔責任。這無法解決問題,但是可以產生很多的會議。

駐場的情況會好一點。來自各個區域團隊的高級工程師們都被租借到圣荷西,和開發團隊的成員們在一起工作。駐場能夠達到知識的共享,且能夠對彼此團隊的行為有所了解。非常遺憾的是 ,一旦這些工程師們回到了各自的區域團隊之后,他們就會成為瓶頸。他們發現找不到時間或者是沒有所需要的技能將他們所學到的傳授給他人。

Williams為InnerSource的入門者提供了一些建議。在第一步,在你的工程師團隊中將可信任提交者限制在10%,要求所有的代碼都須公開審核,且要確保代碼的審核要聚焦于完成什么從而使代碼更加的良好;第二,要求所有的對話都是成熟的、得到尊重的;第三,分享你的經驗。PayPal將于11 月9號在加利福尼亞的圣荷西舉辦首屆 InnerSource峰會 。PayPal還為此贊助了一本小 ,目標讀者是哪些想進一步學習此方法的人們。

查看英文原文: InnerSource:Internal Open Source at Paypal

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!