歡迎光臨
每天分享高質量文章

企業開源指南:開源專案管理工具

為了讓開源專案辦公室順利執行,您需要正確的工具。這些關鍵的任務工具將用於追蹤各部門的標的與指標,從工程部門和法律部門到行政領導部門、公關部門與營銷部門,同時給予員工收集資料、提供開源軟體執行快照和管理公司內部開源軟體日常使用所需要的全部資源。

— Todo

 

轉自:linuxfoundation.cn作者:Todo

最大限度最佳化組織中執行開源計劃或啟動開源專案的實踐。這些資源由 Linux 基金會與 TODO Group 合作開發,代表了我們的員工、專案和成員的經驗。

◈ 英文: https://todogroup.org/guides/management-tools/
◈ 中文: https://linuxfoundation.cn/tools-managing-open-source-programs/
◈ GitHub: https://github.com/todogroup/todogroup.github.io/blob/master/content/en/guides/management-tools.md

開放原始碼的戰略性應用之路,起始於一個精心策劃、組織與授權的開源專案辦公室,以指導和管理開源的建立、分發和使用。但這僅僅只是第一步。為了讓開源專案辦公室順利執行,您需要正確的工具。這些關鍵的任務工具將用於追蹤各部門的標的與指標,從工程部門和法律部門到行政領導部門、公關部門與營銷部門,同時給予員工收集資料、提供開源軟體執行快照和管理公司內部開源軟體日常使用所需要的全部資源。

本指南提供瞭如何開始您的開源工具集建設的詳細資訊和場景,包括用於跟蹤和管理您的開源專案的最重要工具的資訊。指南中提及的許多工具已由Linux基金會和該領域的其他領導者建立並開放原始碼,可以免費且便捷地為您的專案所使用。您還可以找到一個儀錶盤安裝程式的示例,該程式融合併展示了多種工具的資訊。

本指南的撰稿人

◈ Chris Aniszczyk – Aniszczyk 雲原生計算基金會首席營運官
◈ Jeff McAffer – 微軟開源專案辦公室主任

為什麼您需要特殊的工具來進行開源專案管理

一旦您的開源專案辦公室啟動執行,就應該同時收集合適的軟體工具,這些工具允許您的開發團隊管理、跟蹤、指導和推進其開源專案、開源貢獻與開源釋出。

◈ 為協作和程式碼開發提供工作場所
◈ 管理專案質量
◈ 自動執行關鍵且重覆的任務,如程式碼審查與跟蹤,以及許可證合規性審查
◈ 通常,生成資料以證明您的開源專案辦公室和開源戰略的投資回報率
◈ 監督專案質量並確保突發問題出現時,應急防護措施是到位的

在您開始您的開放原始碼之路時,使用正確的標的工具還將使開發人員和其他員工的工作更為輕鬆,也將提供更好的結果,並將成為公司開源專案的成功協作與溝通的基礎。

“如果你正在嘗試管理 100 多個程式碼庫或是 100 個人,那你確實不能再讓人用電子錶格手動操作了。但顯然,人們依然在這樣做。不過,這樣的操作方式開始用於臨時應急,並且變得費時費力。這便是工具發揮作用的地方。它們允許你批次操作。”

Jeff McAffer[4] – 微軟開源專案辦公室經理

“歸根結底,你需要工具來自動化你的生活,否則你將會浪費大量時間手動完成工作。”

Chris Aniszczyk[5] – 雲原生計算基金會營運長、前 Twitter 開源專案負責人

如何選擇和安排您的工具

公司所需的開源工具有哪些?早期的討論大多認為,這取決於公司的業務、產品和服務,以及公司如何服務它的客戶和員工。由於開源專案辦公室制定了規劃流程和戰略地圖,因此可以選擇那些能整合進公司的標的、流程和基礎架構的工具。

最終,知道您將需要使用哪些工具的唯一方法,就是瞭解您想要對開放原始碼進行何種操作。

以下是開源專案辦公室選擇所需管理工具的基本步驟:

1. 獲取開發者和社群成員的認同和選擇偏好。要做到這一點,您需要與開發人員和社群成員進行詳細的討論。他們可以描述什麼樣的工具已經或者將最適合他們。請務必認真重視這些建議和要求。認真傾聽那些能讓你實現標的的人的觀點。他們是最可能已經使用了許多這些工具的人,因此可以從他們的經驗中受益。
2. 根據關鍵業務應用瞭解需要依賴和整合的關鍵軟體。這意味著瞭解並知曉您的業務所依賴的開源軟體,以便您可以跟進瞭解安全問題並確保軟體的持續性。
3. 研究現有的工具,並決定哪些工具您可以直接使用,或哪些工具可以繼續開發以滿足您的需要。不要每一個工具都從頭開始開發。檢視已存在於您所在的開源社群中且正在被使用的工具,並獲取有關這些工具的建議和反饋。在線上開發社群中多搜尋,看看有什麼有用的工具,並尋求推薦和建議。在開源會議上提問,在興趣小組Birds-of-a-Feather中與開發人員交談,並向那些已經實現你期望的前人學習。

這些工具一旦被選定,在落地使用之前,還需要一些額外的準備:

1. 建立一個用來支援、管理和使用這些工具的內部基礎架構。在您新建立的開源專案辦公室中,指定一個人來維護和開發內部基礎架構。該架構有一線上內部門戶,會根據任務和特性儲存和組織這些工具,並實現工具的分發。在此工具門戶中,您可以將這些工具提供給所有的開發人員,或者根據他們的工作和需求,透過身份認證和許可權限制開放給特定的使用者。
2. 為將使用這些工具的員工制定培訓計劃。只是獲得工具是遠遠不夠的。現在您必須保證您的開發人員知道如何使用它們並掌握其功能。培訓可以是線上、在教室,或是在小型午餐小組中,讓他們瞭解工具使用的益處很重要。詢問您的開發人員哪種學習方法對他們最有效,並讓他們選擇自己想要的學習方式。
3. 確保工具在您的組織中集中可見。要使開發人員能夠輕鬆查詢與使用它們,最好將其整合到任何現有的用於跟蹤開發行程的開發人員儀錶板中。同樣,這也有利於您公司操作這些關鍵工具的組織和釋出。

當您在選擇工具時,實施操作有助於記憶,當然這也可能會影響您的決定。例如,具有陡峭學習曲線的工具可能需要更多的培訓。

利用現有工具

在認識到達成組織的標的上你團隊的需求,以及自身情況和基礎架構的潛在限制之後之後,接下來要做的就是要探索並瞭解那些已準備就緒且可供您使用現有工具。由於大多數工具本身就是開源的,所以如果它們一開始並不能滿足您的確切需求,您的開發團隊可以聯絡這些工具的開發者,看看他們是否可以協作根據新的用途新增一些特性。

諷刺的是,許多開源專案辦公室並不經常直接使用其他公司開發的工具,或與其他公司合作來開發他們管理開源專案所需的工具。通常,他們想要這樣做,但包括 Facebook 和微軟在內的許多企業已經擁有現有的工具套件,這些工具套件在真正成為一個合作議題之前就已經實現。由於他們已經擁有了自己的工具集併進行了投資,他們似乎並沒有很大意願採用其他公司的工具。

這就是現在才剛開始構建自己的開源專案的公司具有顯著優勢的地方。由於他們現在正在建立自己的開源專案辦公室併進入開源領域,因此他們不必為受到這樣的限制而煩惱。

相反,他們可以聰明地利用別人的成功經驗與失敗教訓,並利用近年來領先的公司所建立的成熟工具來構建自己的開源工具箱。 Linux 基金會的開源行業組織,TODO Group,一直致力於組裝一個裝滿工具的 “Open Source Program Office in A Box” 入門套件,這將使公司能夠透過一套緊密結合的預先組裝工具開展開源工作。入門套件目前尚未開發完善,但希望最終可以讓公司付出更少的初始努力,更輕鬆地部署和配置他們所需的工具。從事這個專案的 TODO Group 成員包括 Adobe、Capital One、Comcast、Facebook、谷歌、eBay、IBM、微軟、三星和 Twitter。

建立一個儀錶板

除了適當的工具之外,公司還應該有中央儀錶板,以便他們實時監控和跟蹤他們的開源專案和開發情況。許多公司可能已經擁有了用於現有開發工作和應用程式的儀錶板,並且能夠將現有儀錶板與其開源工作整合在一起。否則,他們應該建立或採用新的儀錶板來改進其開源部署的管理。

一個基本工具集的要素

正在出現越來越多的用於管理和報告開源專案的工具,這一趨勢已經非常明顯。如果您的開源專案剛剛開始,那麼將您的研究集中在幾個您啟動和執行所需的基本工具上會更有幫助。

隨著您的專案不斷發展,以及使用這些工具的經驗越來越豐富,您可以開始採用新的工具,來幫助自動化並簡化您的流程,響應業務需求的增長。切記,新選擇的工具將用於內部文化和流程的補充和支援——而不是引導它們。

以下章節列出了幾個基本的工具類別,幾乎所有開源專案日常使用的工具都可以劃分到這些類別。這有助於您對該研究有系統性的認識。

自動化行程

自動化行程工具是您公司的開源專案中選擇和使用的最重要的工具之一。這些工具的任務非常廣泛,其中包括自動執行貢獻者許可協議(CLA)的程式。貢獻者許可協議(CLA)是一份按法律宣告,宣告開發人員建立了程式碼且不是從其他任何地方非法複製。傳統上,這些協議是透過列印協議、簽署並傳真等一系列手動流程執行的。但在這如今電子郵件和即時通訊迅猛發展的世界裡,顯得不可思議。取而代之,現在可以用機器人實現自這一流程的自動化,透過使用電子簽名,跟蹤並處理提交的內容。

為滿足公司的更多需求,自動化工具變得越來越龐大且規模化。它們可以準確地告訴您誰正在為您的專案做出貢獻,並且可以幫助您消除那些減慢專案進度的程式摩擦。

據微軟表示,在其開源專案辦公室裡,大約有 8000 個倉庫在 GitHub 上託管,涉及約 11,000 名貢獻者,而在 2016 年約有 40,000 個內部請求應用於開源專案。為了管理這些請求,以及所建立的程式碼和正在更新的程式碼版本,公司轉而使用可以自動化解決混亂的工具。不僅如此,由於數百個專案中很可能會共用同一段程式碼,因此必須對其進行仔細跟蹤,以便在出現安全錯誤時,可以快速繪製並修複所有的軟體影響。在如此大規模的情況下,自動化非常關鍵,手動更新幾乎是不可能的。

Microsoft’s Azure open source portal

管理關鍵任務

那些有助於管理關鍵任務的工具,也是需要考慮和獲取的。例如用於專案管理、跟蹤專案質量狀況,以及確保開發人員、開源社群和其他公司內部人員之間的清晰且快速溝通的。

原始碼管理

大多數透過開源專案辦公室開發的企業軟體專案都使用 GitHub 作為其集中託管和開發的平臺。

GitHub 是一個線上原始碼管理站點,它允許開源開發人員在一個中央“儲存庫”或儲存空間中管理和存放他們的程式碼,參與者可以協作並開發他們的程式碼。如今,大約有 6400 萬個開原始碼專案在 GitHub 上託管,涉及大約 2300 萬個開發人員。

GitHub 使用者可以新增程式碼、檢視已提交的程式碼、申請更改、獲取並提供反饋,以及使用該服務提供專案管理。GitHub 使用 Git Version Control System[7],這是由 Linux 建立者 Linus Torvalds 開發的開放原始碼專案,為程式碼和合作開源人員提供了組織機構。每位“貢獻者”都有他們正在處理的專案儲存庫的副本,他們可以在自己計算機中的副本里進行更改,然後將其提交回專案以供未來納入。然後,“拉取請求pull request”(示例[8])或程式碼貢獻會被專案組織者審查、討論、修改,最後批准或拒絕。

許可證合規

程式碼掃描和合規工具也很重要,它們有助於追蹤程式碼起源和許可要求。關註被引入自身基礎架構、產品和服務中的開放原始碼以確保符合許可證的要求,對於公司來說是很重要的。

例如,您的應用程式可能包含數千個開源元件。為了保護您的公司免於法律糾紛,瞭解這些細節是至關重要的。在風險較高的情況下,使用者必鬚根據其業務在風險譜中的所處位置,深入瞭解程式碼,從而深入地審核並驗證他們所說的許可證。(請參閱我們關於使用和分發開放原始碼的指南。)

“你必須瞭解你的風險狀況,因為掃描最終是與風險管理相關的。你可以一頭紮在沙子裡,然後只管相信並期望你自己沒事。或者你可以說‘如果我受到起訴,這將會破壞我的生意。’你需要非常確定。所以,你要開啟包裝,逐行檢視程式碼,尋找可能存在其中的所有內容。”

Jeff McAffer[4] – 微軟開源專案辦公室經理

用於管理原始碼的工具

如前所述,GitHub 是服務於目前大多數開源專案辦公室的專業原始碼管理系統。但是 GitHub 本身並不能滿足專案程式碼管理的所有需求——特別是當您大規模發展的時候。

開源世界中所使用的一些工具旨在透過新增欠缺的功能來改進GitHub本身,例如支援檢查開發者原產地證書(DCO)陳述句,以確保程式碼可以被合法授權且應用於開源專案中。

GitHub 在程式碼審查方面也存在一些不足之處,所以有其他可用的工具可以自動將有問題的程式碼發回給建立它的貢獻者,然後要求他們檢查並做出必要的修改。GitHub 沒有辦法強迫任何人檢查他們的程式碼,而這些聰明的工具解決了這一問題,使工作流程得以改善。

其他 GitHub 特定工具的功能用於提高 GitHub 的效能指標,這些功能通常針對特定專案,而不是提供給整個組織詳細資訊。對於在多個 GitHub 專案中維護許多開原始碼庫的公司而言,需要更好的工具來組織和彙總它們,使之有意義。亞馬遜、Netflix 和微軟提供了大量這樣的工具來幫助完成這些任務。

以下是一些最流行和實用的原始碼管理工具,可以簡化並幫助您的 GitHub 運作:

原始碼掃描和許可證合規性

◈ Antepedia Reporter[9] —— Reporter 是 Antepedia 的一款商業收費應用程式,用於生成報告,可以讓開發人員、專案經理、法律顧問和其他人員建立關於您程式碼庫中的開放原始碼與公共和私有元件的許可證合規性審計和智慧財產權管理報告。
◈ Black Duck Hub[10] – 這一商業 Hub 服務,可以掃描程式碼以識別所有嵌入式開源元件,然後自動搜尋已知漏洞併進行修複。在您的程式碼中發現新的漏洞時它可以傳送警報。
◈ Black Duck Protex[11] – Protex 是來自 Black Duck 的一款商業收費的許可證合規性管理工具,它整合了現有工具以自動掃描、識別和清點開源軟體,同時執行許可證合規性和公司政策的要求。
◈ Copyright review tools[12] – 這一系列命令列工具有助於使初始版權檔案的構建與之後的審查和更新更便捷。
◈ dep-checker[13] – Linux 基金會的一款依賴性檢查工具,dep-checker 執行針對程式碼包間的連結的完整分析。
◈ FlexNet Code Insight[14] –Flexera 於 2016 年收購了許可證合規性供應商 Palamida,提供了 FlexNet Code Insight,以幫助開發人員、法律團隊和安全人員自動化企業開源應用。
◈ FOSSA[15] – 這是一款商業工具,可自動執行程式碼依賴性跟蹤和後臺許可證合規性掃描。
◈ FOSSology[16] – 作為 Linux 基金會的一個專案,FOSSology 是一個開源許可證合規性軟體工具包,它可以從命令列執行許可證、版權並匯出控制掃描。它還包含了一個資料庫和 Web UI,這些也都可用於建立合規工作流程。
◈ janitor.git[17] – Code Janitor 是一款開源工具,可幫助評估原始碼是否符合開源許可證。Code Janitor 來自於 Linux 基金會,可以與其他產品一同使用以檢查程式碼。
◈ LicenseFinder[18] – 檢測您專案中所使用程式碼的許可證,將這些許可證與使用者定義的白名單進行比較,然後提供可操作的報告。
◈ Protecode Enterprise Analyzer[19] – 這款商業應用程式用於分析和識別任何目錄中的所有程式碼, 以確定程式碼的所有權並根據預先確定的內部政策確保開源許可證合規性。
◈ scancode-toolkit[20] – 來自於 nexB 的 ScanCode 工具套件掃描程式碼的許可證、版權和依賴性,以查詢、發現和清點您程式碼中所使用的開放原始碼和第三方元件。
◈ SPDX[21] – SPDX 規範是用於描述與軟體包相關的元件、許可證和版權的標準格式。SPDX 標準透過標準化開發人員和公司之間共享許可證資訊的方式,幫助遵守免費和開源的軟體許可證。SPDX 規範由 Linux 基金會主辦的 SPDX 工作組所開發的。該工作組提供開源工具[21]來幫助 SPDX 檔案的使用者。
◈ WhiteSource[22] – 透過自動且持續地掃描數十個開放原始碼庫,為實時管理開源元件提供授權、安全性、程式碼質量和報告分析。

錯誤跟蹤

◈ Bugzilla[23] – 一款基於伺服器的軟體,是具有搜尋記憶功能的高階查詢工具,且具備整合電子郵件功能,同時也是全面的許可權系統。Mozilla[24] 使用 Bugzilla 作為其錯誤跟蹤系統。
◈ GitHub Issues[25] – 作為GitHub自身的整合反饋和錯誤跟蹤器,GitHub Issue 可作為 GitHub 專案託管的一部分提供給使用者。
◈ GitLab[26] – 這款錯誤跟蹤工具在單個使用者介面中統一了問題跟蹤、程式碼審查、Git 儲存庫管理、活動流、wikis 和其他許多內容,以協助您的開源專案。
◈ JIRA[27] – 來自於 Atlassian 的 JIRA 包含自定義過濾器、開發人員工具整合、可定製的工作流程和豐富的 API,以將 JIRA 與其他應用程式整合在一起。

歸檔和釋出管理

◈ Artifactory[28] – 同樣來自 JFrog 的 Artifactory 是一款儲存庫管理器,它支援以任何程式碼語言建立的軟體包。它整合了所有主要的 DevOps、持續整合與持續交付工具。
◈ Bintray[29] – 一款來自於 JFrog 的歸檔工具,允許公司釋出他們的程式碼釋出檔案以維護更久遠和更龐大檔案的儲存。
◈ Docker Hub[30] – 一款基於雲的登錄檔服務,允許使用者連線到程式碼庫並構建和測試他們的影象。它還儲存手動推送的影象和連結到Docker Cloud[31],以便使用者可以將影象部署到專案主機。Docker Hub 是一款集中式資源,用於整個開發流程中的容器映像發現、分發和變更管理、協作與工作流程自動化。
◈ github-release[32] – GitHub 的內建功能部分,它允許使用者打包並編輯[33] GitHub 專案的釋出,以便其他社群成員可以使用它們。

用於跟蹤專案質量的工具

隨著開源專案的發展和成熟,監控和跟蹤開源專案的整體質量是企業開源專案的核心任務。為了實現這一標的,您必須收集相應的工具,這些工具應當能夠反映單獨的開源專案的執行過程並反映單獨的開源專案在數十、數百甚至數千個專案中被它們的社群接收的過程。同時,這些工具還必須兼具轉化能力, 能夠將收集的資料轉化為體現整個開源組閤中整體專案效能的有意義的、實用的且可操作的資訊。

Amazon’s open source program dashboard

這其中的關鍵是,您收集到的資料應當可以轉化為關鍵且有用的資訊 – 而不是些無用的指標,例如詳細說明專案已記錄了多少“觀察者”明星,自專案開始以來有多少貢獻者參與了該專案,亦或是缺乏重要背景資料的其他指標。

最好的專案質量監測工具還必須幫助專案團隊對支援他們工作的社群做出回應,同時鼓勵貢獻開發者的參與和多樣化。這意味著這些工具可以幫助保持人員快速響應社群成員釋出的問題或反饋,以便他們保持熱情參與,且不會感到厭倦並轉向其他專案。

一些開源社群有大量的貢獻者,而其他一些開源社群則成員較少。專案質量監測工具需要能夠適用於各種規模的專案。

“關於現有的工具和系統,我希望我們不需要自己建立任何工具或技術,就能很快就能實現公司的開源專案辦公室標的。他們應該能夠找到並使用現有的開源工具來管理他們的開源專案。”

Jeff McAffer[4] – 微軟開源專案辦公室經理

以下是一些最受歡迎且實用的專案資料統計和專案質量跟蹤工具:

◈ CatWatch[34] – CatWatch 是來自 Zalando 的一款開源指標儀錶板,可為您的 GitHub 帳戶獲取 GitHub 統計資訊,幫助處理您的 GitHub 資料並儲存在資料庫中。這些資料反映了您的開源專案的受歡迎程度,您的開源專案的最活躍的貢獻者,以及其他有趣的統計資訊。
◈ Gander[35] – Gander 是一款為快速檢視一系列開源專案生成有用指標的儀錶板。 Gander 由 PayPal 建立,專為負責執行開源專案辦公室或跟蹤多個開源專案的人員而設計。
◈ GHCrawler[36] – 由微軟建立的 GHCrawler,是一款 GitHub API 爬行程式, 用於爬取 GitHub 託管的專案並自動追蹤、檢索和儲存其內容。GHCrawler 主要適用於嘗試跟蹤組織與資料儲存。
◈ Gittagstats[37] – Gittagstats 是一款根據 Git 倉庫的一組標簽生成統計資料報告的工具。該工具由 Qualcomm 建立。
◈ Grimoire Lab[38] – Bitergia 擁有各種各樣的開源工具以計量開源專案的統計資料,從郵件串列到 meetup 網站的小組。
◈ OSS-dashboard[39] –來自亞馬遜的開源專案儀錶板,是一款多功能儀錶板,可用於一次同時檢視和監視許多GitHub組織和/或使用者。
◈ OSS Tracker[40] – 來自 Netflix 的 OSS Tracker,收集有關 GitHub 組織的資料,併在單個使用者介面中將資料整合到該組織內的所有專案中。所有資料儲存庫都會被列示,度量指標也會按組織合併,但社群管理員也可以將專案組織到功能區域,並指定管理員分配管理和工程的 leads。

“標的是透過使用這些工具,生成透明資料和相關指標資訊,用於指導組織實踐。”

Chris Aniszczyk[5] – 微軟開源專案辦公室經理

TODO Group 還提供了一個很好的附加工具串列[41]

◈ 有助於程式碼審查的工具
◈ mention-bot[42] – 由 Facebook 開發,該工具為社群成員貢獻的程式碼自動關聯潛在程式碼審查人,以加快審核行程。
◈ PullApprove[43] – 透過同行審查改進程式碼質量,執行格式準則,捕獲錯誤程式碼和提供程式碼安全檢查的形式使程式碼貢獻或拉取請求更加規範化。
◈ sentinel[44] – 這是一款儲存庫管理機器人,用於審查和測試程式碼貢獻,為儲存庫構建一個維護者串列,並與使用者溝通拉取請求的進展狀態。
◈ 有助於貢獻者許可協議(CLA)的工具

◈ CLA Assistant[45] – 由 SAP 提供的 CLA Assistant 透過處理使用者貢獻的合法部分來簡化工作流程。當程式碼貢獻者提供程式碼時,Assistant 要求他們簽署 CLA 並透過 GitHub 帳戶對每個貢獻者進行身份驗證。它還會在貢獻者同意 CLA 時更新拉取請求的狀態,並自動要求使用者在對 CLA 進行更改時為每個新的拉取請求重新簽署 CLA。
[46]
◈ CLA Portal[47] – 來自 VMware 的 CLA Portal 添加了一個工作流程,以使貢獻者能夠在 GitHub 儲存庫中簽署關於拉取請求的貢獻者許可協議。當開發人員發出拉取請求時,會提示他們在需要時簽署協議。同時包括一個為 CLA 創作、CLA-to-project 繪製和協議審查建立的管理員介面。
◈ DCOB[48] – 一款開發者原產地證書(DCO)機器人,它有助於為拉取請求中的每一個程式碼變更執行開發者原產地證書(DCO) 的簽署取捨。DCOB 按照開發者原產地證書(DCO)[49]的要求為每一個被認可的程式碼變更設定狀態。
◈ 公司規模內的 GitHub 管理

◈ hubcommander[50] – 一款用於 GitHub 組織管理的 Slack 機器人,HubCommander 使用聊天操作或對話驅動的開發來幫助管理 GitHub 專案。它建立了一種簡單的方式來完成優先的 GitHub 組織管理任務, 而無需為您的GitHub組織成員授予管理或所有者的許可權
◈ opensource-portal[51] – 由微軟研發的工具,旨在幫助大型企業進行大規模的 GitHub 管理操作。這是微軟開源專案辦公室提供的一套工具之一。
◈ settings[52] -此應用程式將 .github/settings.yml 中定義的儲存庫設定同步到 GitHub 中,從而啟用儲存庫的拉取請求。
◈ zappr[53] – Zappr 是一款 GitHub 整合工具,用於促進專案工作流程。來自 Zalando 的 zappr 幫助開發人員提高生產力,同時透過消除有關拉取請求審批的瓶頸並幫助專案所有者在合併到專案主要分支之前暫停劣質拉取請求的方式,提高開源專案質量。
◈ 提高專案質量的工具:

◈ CII Best Practices Badging[54] – 來自 Linux 基金會的 CII Best Practices Badge 是 FLOSS 專案展示其遵循最佳實踐的方式。透過使用這個 Web 應用程式,專案可以自願進行免費的自我認證來解釋他們如何遵循最佳實踐。
◈ CodeClimate[55] – Code Climate 授權組織透過在整個開發流程中引入完全可配置的測試改寫率和可維護性資料來控制其程式碼質量。它對開源專案是完全免費的!

用於溝通與合作的工具

當然,開源的發展並不僅僅關於程式碼的開發。它還需要在企業內外部從事專案工作的不同群體之間以及公司開源專案辦公室的工作人員之間建立良好的溝通與合作。

為了達到上述標的,開發人員可以依靠他們可能已經應用於其他專案的工具,例如 Internet Relay Chat(IRC)[56],開發人員可以釋出與開源開發相關的問題並快速收到回覆[57]。另一個例子是 TWiki[58],它是一個開源企業 Wiki 和 Web 協作的平臺,開發人員可以在其中討論程式碼和專案及相關主題。

此外,企業還可以透過社交媒體平臺,入口網站,開源專案儲存庫和其他能夠進行輸入、提問和討論的平臺促進溝通交流。

其他有用的工具還包括 Facebook 公司的 mention-bot[59],它可以透過自動關聯潛在審查者來獲得拉取請的快速輸入周轉以審查程式碼。當 GitHub 目變得太大導致社群成員無法訂閱專案的所有通知時,這一工具尤其值得推薦。

然後是 Slack[60],這是一個線上團隊專案管理與溝通平臺,在這一平臺中使用者可以訪問和共享訊息和檔案,管理工作流程,搜尋資訊等等。Slack可以透過設定接收支援請求、程式碼簽入、錯誤日誌和其他任務的通知。

除此之外,當談到公司參與和支援開源時,不要忘記您公司的公關與營銷人員。包括 Twitter、Reddit、Facebook、LinkedIn、Google+ 等網站在內的社交媒體帳戶以及企業內外部的部落格和網站的使用都是非常重要的。客戶關係管理(CRM)軟體以及電子郵件群發和新聞簡報可以幫助公司讓客戶瞭解他們的開源進展。

用於企業規模 GitHub 管理的工具

當談到企業為開源專案提供並應用的工具時,按理說最重要的是那些幫助企業管理自身企業規模 GitHub 操作的工具。GitHub 是一個可以提供許多操作的完美平臺,但對於谷歌、微軟、臉書、Twitter、LinkedIn 等大型的複雜公司而言,使用標準的 GitHub 產品可能會有很多限制。

大型企業通常需要更多的功能,包括如身份管理、設定和許可權管理,安全性和雙重身份驗證執行,以及深入理解和跟蹤程式碼儲存庫的方法。

因此,這些大型企業常需要構建專門的自動化工具來處理諸如入職、離職、安全策略執行以及給予開發人員請求的儲存庫訪問許可權等任務。

為滿足自身的特殊需求,微軟構建了自己的工具來處理諸如此類的任務,以簡化和改進其開源專案。微軟在 GitHub 上執行良好,擁有約 1,345 個儲存庫,迄今為止涉及約 3,580 名開發人員。

“GitHub 的執行管理是隨著規模擴大而變得更重要的。你擁有一個 GitHub 組織,這是一個儲存庫集合,然後你擁有成員和團隊。管理所有這些東西變得有點複雜,特別是如果它開始在 GitHub 上規模擴充套件到數百個儲存庫,數百人和多個組織。”

Jeff McAffer[4] – 微軟開源專案辦公室經理

微軟建立了一款定製的自助服務——GitHub management and onboarding portal[62],用於組織其專案、儲存庫和團隊。在其最簡單的層次上,基於 Web 的門戶允許開發人員將他們的微軟公司ID對映到他們的GitHub ID,這可以提高系統安全性並幫助簡化參與大量重要專案的大量開發人員的組織工作。

該門戶還允許員工使用 GitHub 和微軟進行身份驗證。其建立了員工身份的一個“虛擬連結”,以便根據他們的工作角色向他們提供任務所需許可權以完成工作。如果員工離開公司,可根據需要調整系統以刪除或重新分類其訪問許可權。

門戶執行在一臺或多臺雲伺服器上,並依靠快取來幫助進行會話和減少 GitHub API 的壓力。微軟門戶平均每天可提供約 1000 名獨立使用者作為其工程師的工具,這是該公司不斷發展的開源工作的一部分,該工作現在包括超過 10,000 名正在使用、貢獻和釋出開放原始碼的工程師。

結語

沒有人認為使公司進入開源世界是一件簡單的事情。但其他許多公司,包括微軟和谷歌等巨頭已經在您前面這樣做了,而且已提供了詳細的路線圖、程式碼和建議等,這將使您自己的開源旅程變得更加輕鬆。

開源專案辦公室的建立和選擇一系列關鍵工具來開始開源工作,選擇權掌握在您手中。它們很可能已經激發了開發人員的極大期望,開發人員中的許多人可能已經自發為開源專案做貢獻(或在工作中,隱秘地)。

透過開源專案的合作並邀請其他人與您合作,您的公司可以獲得不可估量的收益,且能透過節能和創新推動公司發展。

擁有正確的工具對於授權貴公司的開放創新至關重要。


TODO Group

這些資源是與 TODO(Talk Openly,Develop Openly)組織合作建立的, 該組織是 Linux 基金會中專業的開源網路組織。特別感謝奉獻自己的時間和知識來製作這些綜合指南的開源專案負責人。參與製作的公司包括 Autodesk、Comcast、Dropbox、Facebook、Google、Intel、Microsoft、Netflix、Oath(Yahoo + AOL)、Red Hat、Salesforce、Samsung 和 VMware。如想瞭解更多資訊,請訪問:todogroup.org[63]

已同步到看一看
贊(0)

分享創造快樂