GitHub,開放原始碼,軟體開發

【為什麼我們要挑選這本書】GitHub 是每個開發者、專業技術人員不能缺少的平台,有了它,寫程式、找資源都可萬事俱備。最近 GitHub 還推出了 AI 輔助系統 Copilot,提供開發者寫程式時,即時得到各種編輯建議,是不是超佛?專長於程式開發相關技術的微軟客戶工程師謝政廷,撰寫《動手學GitHub!現代人不能不知道的協同合作平台》一書;在下文,他將解析工程師必知、必用的 GitHub 是如何鍊成的,它又是因為哪些特色,才能成為全球開發者的得力助手?(責任編輯:洪郁萱)

有此一說:身為軟體開發工程師,你可以沒有 Facebook,但不能沒有 GitHub 。如果 Git 給予軟體開發工程師版本控制的能力,那麼 GitHub 則帶領你遨遊開源世界的美麗。 

Git GitHub 為現代化程式開發最重要的軟體與管理服務,前者為分散式版本控制的軟體,後者則是以 Git 作為版本控制之原始碼代管服務平台。 

GitHub 提供軟體開發所需的一切

GitHub 不僅僅只有儲存庫(Repository)功能,它提供許多現代化軟體開發所需的服務與工作流程,使用者與團隊可以透過 GitHub 平台上進行建置、交付與維護工作。GitHub 是全世界最大的技術社群,您能與志同道合的人們建立聯繫並進行交流,從中取得最新的 知識與累積經驗。您也能參與開放原始碼專案,盡一己之力提交貢獻,進而解決全世界人們的問題。

GitHub 為什麼對於現代開發者如此重要?主要在於 GitHub 所提供的功能與工作流程具有許多現代開發者必須具備的軟體開發概念,如:版本管理機制、自動 化工作、持續整合、部署策略、軟體漏洞回報流程、 安全測試左移⋯等。精通 GitHub 功能的開發人員其生產力與程式碼品質也優於多數的傳統開發人員。

GitHub 允許所有人檢視公開 Repository 與下載其原始程式碼,但僅有已註冊的使用者才能參與討論與提交貢獻。GitHub 提供社群互動功能讓使用者對於有興趣的 Repository 以追蹤 (Watch)、喜愛(Star)與討論(Comment)的方式進交流。您可以使用復刻(Fork Repository)功能,在不影響既有專案情況下參與開發工作,成為專案貢獻者之一。 

全世界最大的原始碼管理平台與開放原始碼社群 GitHub 是世界上最大的程式碼管理平台。數以百萬的開發人員與組織透過此平台建立、交付與維護他們的軟體。您能在GitHub

  1. 檢視公開軟體套件內程式碼,理解邏輯並正確使用
  2. 參與開放原始碼專案,為全世界軟體技術盡一份力
  3. 其他開發者建立聯繫並進行互動,提升自身技術能力 
  4. 搜尋方便的套件與相關資源加速軟體開發
  5. 大量閱讀程式碼提升自身技術能力 

 TO 推薦閱讀:【附下載傳送門】工程師歡呼吧!寫程式 AI 神器 GitHub Copilot 月租費只要 120

GitHub 開放源歡迎每個人都來使用與討論

開放原始碼是推動世界軟體技術的基石,透過各地開發人員參與討論、提出建議與提交貢獻,加速其發展以提升大眾福祉。也因為任何人皆可檢視,其透明度也可接受大眾公評。GitHub 可以稱為近年來開源專案的搖籃,幾乎所有的開放原始碼項目皆使用 GitHub 進行管理,也因此大量開放原始碼專案在此孕育。其平台特性符合開放原始碼專案需求,讓與會者可以更容易的為開放原始碼提交貢獻。

也因為為全世界最大的開放原始碼社群,GitHub 更專注於開放原始碼專案安全。對於 Public Repository  提供免費程式碼掃描與秘密掃描服務,並引導 Repository 擁有者建立漏洞回報機制、安全版本支援公告,並於資安漏洞未公開前提供專屬的 Private Repository,讓相關人員盡早進行修復作業。有別於市面上其他 DevOps 服務,GitHub 可以說是最注重 軟體資訊安全與主動進行安全測試左移的服務平台。

 TO 推薦閱讀:資料的集中儲存成本高、易成駭客目標!Github 的開放式系統會成為我們的未來嗎?

無論是哪一個階段的軟體開發,GitHub 都提供最好的協助方案

GitHub 不僅僅是一個程式碼代管平台,它提供開發團隊輕量級開發流程:GitHub Flow ,讓開發人員可以提交變更內容與對進行嚴謹審核,並在合併前進行部署與測試,確保每一次變更皆不影響品質。除此之外,任何人皆可以透過復刻(Fork)與拉取請求(Pull Request)機制,對 Public Repository 新功能或既有問題提交程式碼,盡一己之力貢獻於開放原始碼專案,進而幫助全世界的人們解決問題,促進軟體技術的發展。

GitHub 有三種使用方案,分別為 Free 、Team 與 Enterprise 無論您選擇哪一種方案,皆可以享有無限數量 Public/Private Repository、免費持續整合與持續部署使用時數與免費的 Package Storage 容量。

在專案初始階段,開發團隊可以選擇 Free 使用方案。 無論是進行 Proof of Concept 或開發 Minimum  Viable Product,透過免費的使用時數與儲存容量, 讓產品在開發初期能迅速茁壯並進行驗證。建立 Repository 不需要經過繁複安裝或設定流程,讓開發人員更可以專注於開發工作,而無須花費心力在基礎設施維護上。

當產品發展至一定的規模,您可以進一步選擇 Team 與 Enterprise 方案,取得更方便且更安全的功能,以滿足業務與開發團隊的需求。

若開發團隊相當注重資訊安全與程式碼品質,Team 方案是不錯的選擇。每一個月成本約 4 美金,即可享有分支保護、單一 Pull Request 允許多個審閱者、靜態網頁(GitHub Page) 與文件管理(Wiki)⋯等功能,可以大幅提升團隊協作效率與軟體交付品質。 Enterprise 方案提供企業所需要功能與安全認證,包含單一登入(SAML single sing-on)、提供稽核 API、進階稽核功能、管理多個組織與內部使用者⋯等,以滿足企業數位轉型之需求。 

只要開放原始碼,就可以獲取無限的支援

GitHub 對於開放原始碼項目相當友善,只要您的 Repository 類型為 Public,將提供無使用時間限制的 CI/CD、無容量限制的 Package Storage、程式碼漏洞掃描與秘密掃描,讓開發團隊在發展公開項目時可以無後顧之憂。

Github,開放原始碼,軟體開發

(本文書摘內容出自《動手學GitHub!現代人不能不知道的協同合作平台》,由 深智數位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題。首圖來源:Unsplash)