企業開源指南:開源項目管理工具
為了讓開源項目辦公室順利運行,您需要正確的工具。這些關鍵的任務工具將用於追蹤各部門的目標與指標,從工程部門和法律部門到行政領導部門、公關部門與營銷部門,同時給予員工收集數據、提供開源軟體運行快照和管理公司內部開源軟體日常使用所需要的全部資源。
-- Todo
轉自: https://linuxfoundation.cn/tools-managing-open-source-programs/
作者: 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 – 微軟開源項目辦公室經理
「歸根結底,你需要工具來自動化你的生活,否則你將會浪費大量時間手動完成工作。」
Chris Aniszczyk – 雲原生計算基金會首席運營官、前 Twitter 開源項目負責人
如何選擇和安排您的工具
公司所需的開源工具有哪些?早期的討論大多認為,這取決於公司的業務、產品和服務,以及公司如何服務它的客戶和員工。由於開源項目辦公室制定了規劃流程和戰略地圖,因此可以選擇那些能整合進公司的目標、流程和基礎架構的工具。
最終,知道您將需要使用哪些工具的唯一方法,就是了解您想要對開放源代碼進行何種操作。
以下是開源項目辦公室選擇所需管理工具的基本步驟:
- 獲取開發者和社區成員的認同和選擇偏好。要做到這一點,您需要與開發人員和社區成員進行詳細的討論。他們可以描述什麼樣的工具已經或者將最適合他們。請務必認真重視這些建議和要求。認真傾聽那些能讓你實現目標的人的觀點。他們是最可能已經使用了許多這些工具的人,因此可以從他們的經驗中受益。
- 根據關鍵業務應用了解需要依賴和集成的關鍵軟體。這意味著了解並知曉您的業務所依賴的開源軟體,以便您可以跟進了解安全問題並確保軟體的持續性。
- 研究現有的工具,並決定哪些工具您可以直接使用,或哪些工具可以繼續開發以滿足您的需要。不要每一個工具都從頭開始開發。查看已存在於您所在的開源社區中且正在被使用的工具,並獲取有關這些工具的建議和反饋。在在線開發社區中多搜尋,看看有什麼有用的工具,並尋求推薦和建議。在開源會議上提問,在 興趣小組(Birds-of-a-Feather)中與開發人員交談,並向那些已經實現你期望的前人學習。
這些工具一旦被選定,在落地使用之前,還需要一些額外的準備:
- 創建一個用來支持、管理和使用這些工具的內部基礎架構。在您新建立的開源項目辦公室中,指定一個人來維護和開發內部基礎架構。該架構有一線上內部門戶,會根據任務和特性保存和組織這些工具,並實現工具的分發。在此工具門戶中,您可以將這些工具提供給所有的開發人員,或者根據他們的工作和需求,通過身份認證和許可權限制開放給特定的用戶。
- 為將使用這些工具的員工制定培訓計劃。只是獲得工具是遠遠不夠的。現在您必須保證您的開發人員知道如何使用它們並掌握其功能。培訓可以是在線、在教室,或是在小型午餐小組中,讓他們了解工具使用的益處很重要。詢問您的開發人員哪種學習方法對他們最有效,並讓他們選擇自己想要的學習方式。
- 確保工具在您的組織中集中可見。要使開發人員能夠輕鬆查找與使用它們,最好將其整合到任何現有的用於跟蹤開發進程的開發人員儀錶板中。同樣,這也有利於您公司操作這些關鍵工具的組織和發布。
當您在選擇工具時,實施操作有助於記憶,當然這也可能會影響您的決定。例如,具有陡峭學習曲線的工具可能需要更多的培訓。
利用現有工具
在認識到達成組織的目標上你團隊的需求,以及自身情況和基礎架構的潛在限制之後之後,接下來要做的就是要探索並了解那些已準備就緒且可供您使用現有工具。由於大多數工具本身就是開源的,所以如果它們一開始並不能滿足您的確切需求,您的開發團隊可以聯繫這些工具的開發者,看看他們是否可以協作根據新的用途添加一些特性。
諷刺的是,許多開源項目辦公室並不經常直接使用其他公司開發的工具,或與其他公司合作來開發他們管理開源項目所需的工具。通常,他們想要這樣做,但包括 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 ,這是由 Linux 創建者 Linus Torvalds 開發的開放源代碼項目,為代碼和合作開源人員提供了組織機構。每位「貢獻者」都有他們正在處理的項目存儲庫的副本,他們可以在自己計算機中的副本里進行更改,然後將其提交回項目以供未來納入。然後,「 拉取請求(pull request)」( 示例 )或代碼貢獻會被項目組織者審查、討論、修改,最後批准或拒絕。
許可證合規
代碼掃描和合規工具也很重要,它們有助於追蹤代碼起源和許可要求。關注被引入自身基礎架構、產品和服務中的開放源代碼以確保符合許可證的要求,對於公司來說是很重要的。
例如,您的應用程序可能包含數千個開源組件。為了保護您的公司免於法律糾紛,了解這些細節是至關重要的。在風險較高的情況下,用戶必須根據其業務在風險譜中的所處位置,深入了解代碼,從而深入地審核並驗證他們所說的許可證。(請參閱我們關於使用和分發開放源代碼的指南。)
「你必須了解你的風險狀況,因為掃描最終是與風險管理相關的。你可以一頭扎在沙子里,然後只管相信並期望你自己沒事。或者你可以說『如果我受到起訴,這將會破壞我的生意。』你需要非常確定。所以,你要打開包裝,逐行查看代碼,尋找可能存在其中的所有內容。」
Jeff McAffer – 微軟開源項目辦公室經理
用於管理源代碼的工具
如前所述,GitHub 是服務於目前大多數開源項目辦公室的專業源代碼管理系統。但是 GitHub 本身並不能滿足項目代碼管理的所有需求——特別是當您大規模發展的時候。
開源世界中所使用的一些工具旨在通過添加欠缺的功能來改進GitHub本身,例如支持檢查開發者原產地證書(DCO)語句,以確保代碼可以被合法授權且應用於開源項目中。
GitHub 在代碼審查方面也存在一些不足之處,所以有其他可用的工具可以自動將有問題的代碼發回給創建它的貢獻者,然後要求他們檢查並做出必要的修改。GitHub 沒有辦法強迫任何人檢查他們的代碼,而這些聰明的工具解決了這一問題,使工作流程得以改善。
其他 GitHub 特定工具的功能用於提高 GitHub 的性能指標,這些功能通常針對特定項目,而不是提供給整個組織詳細信息。對於在多個 GitHub 項目中維護許多開源代碼庫的公司而言,需要更好的工具來組織和匯總它們,使之有意義。亞馬遜、Netflix 和微軟提供了大量這樣的工具來幫助完成這些任務。
以下是一些最流行和實用的源代碼管理工具,可以簡化並幫助您的 GitHub 運作:
源代碼掃描和許可證合規性
- Antepedia Reporter —— Reporter 是 Antepedia 的一款商業收費應用程序,用於生成報告,可以讓開發人員、項目經理、法律顧問和其他人員創建關於您代碼庫中的開放源代碼與公共和私有組件的許可證合規性審計和知識產權管理報告。
- Black Duck Hub – 這一商業 Hub 服務,可以掃描代碼以識別所有嵌入式開源組件,然後自動搜索已知漏洞並進行修復。在您的代碼中發現新的漏洞時它可以發送警報。
- Black Duck Protex – Protex 是來自 Black Duck 的一款商業收費的許可證合規性管理工具,它整合了現有工具以自動掃描、識別和清點開源軟體,同時執行許可證合規性和公司政策的要求。
- Copyright review tools - 這一系列命令行工具有助於使初始版權文件的構建與之後的審查和更新更便捷。
- dep-checker – Linux 基金會的一款依賴性檢查工具,dep-checker 執行針對代碼包間的鏈接的完整分析。
- FlexNet Code Insight –Flexera 於 2016 年收購了許可證合規性供應商 Palamida,提供了 FlexNet Code Insight,以幫助開發人員、法律團隊和安全人員自動化企業開源應用。
- FOSSA – 這是一款商業工具,可自動執行代碼依賴性跟蹤和後台許可證合規性掃描。
- FOSSology - 作為 Linux 基金會的一個項目,FOSSology 是一個開源許可證合規性軟體工具包,它可以從命令行運行許可證、版權並導出控制掃描。它還包含了一個資料庫和 Web UI,這些也都可用於創建合規工作流程。
- janitor.git – Code Janitor 是一款開源工具,可幫助評估源代碼是否符合開源許可證。Code Janitor 來自於 Linux 基金會,可以與其他產品一同使用以檢查代碼。
- LicenseFinder – 檢測您項目中所使用代碼的許可證,將這些許可證與用戶定義的白名單進行比較,然後提供可操作的報告。
- Protecode Enterprise Analyzer – 這款商業應用程序用於分析和識別任何目錄中的所有代碼, 以確定代碼的所有權並根據預先確定的內部政策確保開源許可證合規性。
- scancode-toolkit – 來自於 nexB 的 ScanCode 工具套件掃描代碼的許可證、版權和依賴性,以查找、發現和清點您代碼中所使用的開放源代碼和第三方組件。
- SPDX - SPDX 規範是用於描述與軟體包相關的組件、許可證和版權的標準格式。SPDX 標準通過標準化開發人員和公司之間共享許可證信息的方式,幫助遵守免費和開源的軟體許可證。SPDX 規範由 Linux 基金會主辦的 SPDX 工作組所開發的。該工作組提供開源 工具 來幫助 SPDX 文檔的用戶。
- WhiteSource – 通過自動且持續地掃描數十個開放源代碼庫,為實時管理開源組件提供授權、安全性、代碼質量和報告分析。
錯誤跟蹤
- Bugzilla – 一款基於伺服器的軟體,是具有搜索記憶功能的高級查詢工具,且具備集成電子郵件功能,同時也是全面的許可權系統。 Mozilla 使用 Bugzilla 作為其錯誤跟蹤系統。
- GitHub Issues – 作為GitHub自身的整合反饋和錯誤跟蹤器,GitHub Issue 可作為 GitHub 項目託管的一部分提供給用戶。
- GitLab – 這款錯誤跟蹤工具在單個用戶界面中統一了問題跟蹤、代碼審查、Git 存儲庫管理、活動流、wikis 和其他許多內容,以協助您的開源項目。
- JIRA – 來自於 Atlassian 的 JIRA 包含自定義過濾器、開發人員工具整合、可定製的工作流程和豐富的 API,以將 JIRA 與其他應用程序整合在一起。
歸檔和發布管理
- Artifactory – 同樣來自 JFrog 的 Artifactory 是一款存儲庫管理器,它支持以任何代碼語言創建的軟體包。它整合了所有主要的 DevOps、持續集成與持續交付工具。
- Bintray – 一款來自於 JFrog 的歸檔工具,允許公司發布他們的代碼發布檔案以維護更久遠和更龐大文件的存儲。
- Docker Hub – 一款基於雲的註冊表服務,允許用戶連接到代碼庫並構建和測試他們的圖像。它還存儲手動推送的圖像和鏈接到 Docker Cloud ,以便用戶可以將圖像部署到項目主機。Docker Hub 是一款集中式資源,用於整個開發流程中的容器映像發現、分發和變更管理、協作與工作流程自動化。
- github-release – GitHub 的內置功能部分,它允許用戶 打包並編輯 GitHub 項目的發布,以便其他社區成員可以使用它們。
用於跟蹤項目質量的工具
隨著開源項目的發展和成熟,監控和跟蹤開源項目的整體質量是企業開源項目的核心任務。為了實現這一目標,您必須收集相應的工具,這些工具應當能夠反映單獨的開源項目的執行過程並反映單獨的開源項目在數十、數百甚至數千個項目中被它們的社區接收的過程。同時,這些工具還必須兼具轉化能力, 能夠將收集的數據轉化為體現整個開源組合中整體項目性能的有意義的、實用的且可操作的信息。
Amazon"s open source program dashboard
這其中的關鍵是,您收集到的數據應當可以轉化為關鍵且有用的信息 – 而不是些無用的指標,例如詳細說明項目已記錄了多少「觀察者」明星,自項目開始以來有多少貢獻者參與了該項目,亦或是缺乏重要背景資料的其他指標。
最好的項目質量監測工具還必須幫助項目團隊對支持他們工作的社區做出回應,同時鼓勵貢獻開發者的參與和多樣化。這意味著這些工具可以幫助保持人員快速響應社區成員發布的問題或反饋,以便他們保持熱情參與,且不會感到厭倦並轉向其他項目。
一些開源社區有大量的貢獻者,而其他一些開源社區則成員較少。項目質量監測工具需要能夠適用於各種規模的項目。
「關於現有的工具和系統,我希望我們不需要自己創建任何工具或技術,就能很快就能實現公司的開源項目辦公室目標。他們應該能夠找到並使用現有的開源工具來管理他們的開源項目。」
Jeff McAffer – 微軟開源項目辦公室經理
以下是一些最受歡迎且實用的項目數據統計和項目質量跟蹤工具:
- CatWatch - CatWatch 是來自 Zalando 的一款開源指標儀錶板,可為您的 GitHub 帳戶獲取 GitHub 統計信息,幫助處理您的 GitHub 數據並保存在資料庫中。這些數據反映了您的開源項目的受歡迎程度,您的開源項目的最活躍的貢獻者,以及其他有趣的統計信息。
- Gander - Gander 是一款為快速查看一系列開源項目生成有用指標的儀錶板。 Gander 由 PayPal 創建,專為負責運行開源項目辦公室或跟蹤多個開源項目的人員而設計。
- GHCrawler - 由微軟創建的 GHCrawler,是一款 GitHub API 爬行程序, 用於爬取 GitHub 託管的項目並自動追蹤、檢索和存儲其內容。GHCrawler 主要適用於嘗試跟蹤組織與數據存儲。
- Gittagstats – Gittagstats 是一款根據 Git 倉庫的一組標籤生成統計數據報告的工具。該工具由 Qualcomm 創建。
- Grimoire Lab – Bitergia 擁有各種各樣的開源工具以計量開源項目的統計數據,從郵件列表到 meetup 網站的小組。
- OSS-dashboard –來自亞馬遜的開源項目儀錶板,是一款多功能儀錶板,可用於一次同時查看和監視許多GitHub組織和/或用戶。
- OSS Tracker - 來自 Netflix 的 OSS Tracker,收集有關 GitHub 組織的數據,並在單個用戶界面中將數據整合到該組織內的所有項目中。所有數據存儲庫都會被列示,度量指標也會按組織合併,但社區管理員也可以將項目組織到功能區域,並指定管理員分配管理和工程的 leads。
「目標是通過使用這些工具,生成透明數據和相關指標信息,用於指導組織實踐。」
Chris Aniszczyk – 微軟開源項目辦公室經理
TODO Group 還提供了一個 很好的附加工具列表 :
- 有助於代碼審查的工具
- mention-bot – 由 Facebook 開發,該工具為社區成員貢獻的代碼自動關聯潛在代碼審查人,以加快審核進程。
- PullApprove – 通過同行審查改進代碼質量,執行格式準則,捕獲錯誤代碼和提供代碼安全檢查的形式使代碼貢獻或拉取請求更加規範化。
- sentinel – 這是一款存儲庫管理機器人,用於審查和測試代碼貢獻,為存儲庫構建一個維護者列表,並與用戶溝通拉取請求的進展狀態。
- 有助於貢獻者許可協議(CLA)的工具
- CLA Assistant – 由 SAP 提供的 CLA Assistant 通過處理用戶貢獻的合法部分來簡化工作流程。當代碼貢獻者提供代碼時,Assistant 要求他們簽署 CLA 並通過 GitHub 帳戶對每個貢獻者進行身份驗證。它還會在貢獻者同意 CLA 時更新拉取請求的狀態,並自動要求用戶在對 CLA 進行更改時為每個新的拉取請求重新簽署 CLA。
- CLA Portal – 來自 VMware 的 CLA Portal 添加了一個工作流程,以使貢獻者能夠在 GitHub 存儲庫中籤署關於拉取請求的貢獻者許可協議。當開發人員發出拉取請求時,會提示他們在需要時簽署協議。同時包括一個為 CLA 創作、CLA-to-project 繪製和協議審查建立的管理員界面。
- DCOB – 一款開發者原產地證書(DCO)機器人,它有助於為拉取請求中的每一個代碼變更執行開發者原產地證書(DCO) 的簽署取捨。DCOB 按照 開發者原產地證書(DCO) 的要求為每一個被認可的代碼變更設置狀態。
- 公司規模內的 GitHub 管理
- hubcommander - 一款用於 GitHub 組織管理的 Slack 機器人,HubCommander 使用聊天操作或對話驅動的開發來幫助管理 GitHub 項目。它創建了一種簡單的方式來完成優先的 GitHub 組織管理任務, 而無需為您的GitHub組織成員授予管理或所有者的許可權
- opensource-portal – 由微軟研發的工具,旨在幫助大型企業進行大規模的 GitHub 管理操作。這是微軟開源項目辦公室提供的一套工具之一。
- settings -此應用程序將 .github/settings.yml 中定義的存儲庫設置同步到 GitHub 中,從而啟用存儲庫的拉取請求。
- zappr - Zappr 是一款 GitHub 集成工具,用於促進項目工作流程。來自 Zalando 的 zappr 幫助開發人員提高生產力,同時通過消除有關拉取請求審批的瓶頸並幫助項目所有者在合併到項目主要分支之前暫停劣質拉取請求的方式,提高開源項目質量。
- 提高項目質量的工具:
- CII Best Practices Badging – 來自 Linux 基金會的 CII Best Practices Badge 是 FLOSS 項目展示其遵循最佳實踐的方式。通過使用這個 Web 應用程序,項目可以自願進行免費的自我認證來解釋他們如何遵循最佳實踐。
- CodeClimate - Code Climate 授權組織通過在整個開發流程中引入完全可配置的測試覆蓋率和可維護性數據來控制其代碼質量。它對開源項目是完全免費的!
用於溝通與合作的工具
當然,開源的發展並不僅僅關於代碼的開發。它還需要在企業內外部從事項目工作的不同群體之間以及公司開源項目辦公室的工作人員之間建立良好的溝通與合作。
為了達到上述目標,開發人員可以依靠他們可能已經應用於其他項目的工具,例如 Internet Relay Chat(IRC) ,開發人員可以發布 與開源開發相關的問題並快速收到回復 。另一個例子是 TWiki ,它是一個開源企業 Wiki 和 Web 協作的平台,開發人員可以在其中討論代碼和項目及相關主題。
此外,企業還可以通過社交媒體平台,門戶網站,開源項目存儲庫和其他能夠進行輸入、提問和討論的平台促進溝通交流。
其他有用的工具還包括 Facebook 公司的 mention-bot ,它可以通過自動關聯潛在審查者來獲得拉取請的快速輸入周轉以審查代碼。當 GitHub 目變得太大導致社區成員無法訂閱項目的所有通知時,這一工具尤其值得推薦。
然後是 Slack ,這是一個在線團隊項目管理與溝通平台,在這一平台中用戶可以訪問和共享消息和文件,管理工作流程,搜索信息等等。Slack可以通過設置接收支持請求、代碼簽入、錯誤日誌和其他任務的通知。
除此之外,當談到公司參與和支持開源時,不要忘記您公司的公關與營銷人員。包括 Twitter、Reddit、Facebook、LinkedIn、Google+ 等網站在內的社交媒體帳戶以及企業內外部的博客和網站的使用都是非常重要的。客戶關係管理(CRM)軟體以及電子郵件群發和新聞簡報可以幫助公司讓客戶了解他們的開源進展。
用於企業規模 GitHub 管理的工具
當談到企業為開源項目提供並應用的工具時,按理說最重要的是那些幫助企業管理自身企業規模 GitHub 操作的工具。GitHub 是一個可以提供許多操作的完美平台,但對於谷歌、微軟、臉書、Twitter、LinkedIn 等大型的複雜公司而言,使用標準的 GitHub 產品可能會有很多限制。
大型企業通常需要更多的功能,包括如身份管理、設置和許可權管理,安全性和雙重身份驗證執行,以及深入理解和跟蹤代碼存儲庫的方法。
因此,這些大型企業常需要構建專門的自動化工具來處理諸如入職、離職、安全策略執行以及給予開發人員請求的存儲庫訪問許可權等任務。
為滿足自身的特殊需求,微軟構建了自己的工具來處理諸如此類的任務,以簡化和改進其開源項目。微軟在 GitHub 上運行良好 ,擁有約 1,345 個存儲庫,迄今為止涉及約 3,580 名開發人員。
「GitHub 的運行管理是隨著規模擴大而變得更重要的。你擁有一個 GitHub 組織,這是一個存儲庫集合,然後你擁有成員和團隊。管理所有這些東西變得有點複雜,特別是如果它開始在 GitHub 上規模擴展到數百個存儲庫,數百人和多個組織。」
Jeff McAffer – 微軟開源項目辦公室經理
微軟創建了一款定製的自助服務—— GitHub management and onboarding portal ,用於組織其項目、存儲庫和團隊。在其最簡單的層次上,基於 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
點擊「了解更多」可訪問文內鏈接
※【每日安全資訊】計算機科學家發布不會被黑的加密代碼
※計算機實驗室之樹莓派:課程 11 輸入02
TAG:Linux技術 |