
掌握ChatGPT插件與自定義GPT
如果您不熟悉 fork、branch、merge 等術語,請不要擔心。我們很快就會在本文中學習它們。請繼續閱讀。
現在讓我們了解一下開源軟件是如何交付給用戶 / 客戶的。
下圖顯示了高級別眾多可能性之一。開源項目應具有使用持續集成和持續部署 (CI/CD) 流程的構建-打包-部署機制。
每當代碼在main分支中發生更改時,CI/CD工作流會自動啟動。它會構建源代碼、打包源代碼并部署它,以便最終用戶和目標客戶可以訪問。
請注意:CI/CD 或任何其他部署機制并不是開源軟件開發的絕對組成部分。但是,了解它有助于端到端地了解 OSS 工作模型。
開源貢獻意味著以任何方式改進開源項目。你可能對貢獻有誤解的是,你需要單獨為源代碼做出貢獻。實際上,這并非全部。
為開源項目的源代碼做出貢獻只是您可以做出的一種貢獻。但是,您還可以為其他領域做出貢獻,例如,
以上都是重要的開源項目貢獻。
開源貢獻為開發人員帶來了許多好處。一些主要優點是:
因此,我們現在了解了開源模型及其優勢。接下來我們要學習的是如何從開源貢獻開始,既可以作為項目的貢獻者,也可以作為維護者。
在我們這樣做之前,讓我們澄清一下關于開源的某些誤解。
? 誤區:我不知道如何編碼。開源不是我的菜。
? 事實:開源不僅僅是編碼!您有很多機會為改進文檔、測試、創建媒體、創建內容等做出貢獻。因此,不要退縮,認為缺乏編碼會阻止您為 OSS 做出貢獻。
? 誤區:我知道怎么編碼,但我不熟悉這個開源項目中使用的技術。我不能做出貢獻。
? 事實:相反,這是學習您尚未了解的東西的絕佳機會!開源生態系統有足夠的耐心為您提供這些時間,以便您可以學習和做出貢獻。
? 誤區:開源沒有維護企業級標準。
? 事實:完全不是這樣的。事實上,如今許多企業軟件都由開源軟件提供支持。假設開源項目不關心質量和標準是不正確的。
? 誤區:開源項目不容易維護。
? 事實:開源項目由貢獻者提供支持。維護者的一個重要方面是奠定基礎、創建路線圖、建立社區并保持更高的動力。
對于許多開源項目,維護人員甚至不必編寫代碼。貢獻者可以運行該節目,前提是維護者提供必要的支持。
? 誤區:開源軟件永遠是免費的。
? 事實:它們中的大多數都是免費的,但并非所有 OSS 都是免費的。它由項目使用的許可證類型驅動。某些許可證具有限制性,可以免費以任何方式使用和分發代碼。您需要特別注意項目的許可信息,以了解 OSS 將提供 “多少” 免費。
? 誤區:開源適合初學者。
? 事實:許多開發人員認為 OSS 適合初學者和學生。事實上,我們歡迎每個人都做出貢獻。主題專家利用他們的知識和經驗來增強開源項目是有意義的。
開發人員需要了解一些基本知識才能快速開始使用開源項目。這些是可選的先決條件,但如果您意識到這一點,您將享受到更好地為開源做出貢獻的樂趣。
如果您已經了解 Git 的概念及其主要用途,那么您就已經取得了顯著的進步。在開源世界中,Git 無處不在,是不容忽視的重要工具。
您至少需要了解這些主題,
GitHub 上有 128M+ 公共倉庫。這些存儲庫的很大一部分是開源項目。您要參與的開源項目也可能在 GitHub 上。因此,您應該學習如何在 GitHub 上處理相關事務。
作為開源項目的貢獻者,您必須了解:
作為項目維護者,您必須知道,
您可以關注下面的 Twitter 帖子。它為您逐步解釋了所有內容,
分叉是另一個需要理解的重要概念。大多數項目不允許貢獻者直接在倉庫上創建分支。相反,貢獻工作流程可能如下所示:
根據我與許多貢獻者合作的經驗,他們中的大多數人都覺得分叉的概念有點挑戰性。
詢問開發人員對解決合并沖突的看法。雖然這并非易事,但經驗越多,技巧越熟練。了解解決合并沖突的過程、如何考慮以及如何解決合并沖突。
文檔是任何開源項目的關鍵需求之一。一個文件解釋了項目、設置、運行和部署等。Readme.md 文件討論了如何為項目做出貢獻。Contributing.md 文件描述了對貢獻者的行為和參與的期望。當然,你可以根據你的項目需求編寫許多其他文件,如CODE_OF_CONDUCT.md。md 代表Markdown,它是用于在GitHub中進行文檔記錄的語法。最好學習基本語法,以便你可以無縫地參與文檔編寫。md 是一個提供Mark Down語法以復制和使用的開源項目,你可能想要看一看:
https://github.com/atapas/markdown-cheatsheet
開源是許多開發人員共同工作、學習和構建的綠色領域。作為貢獻者,您的技術技能可能不足以充分享受開源體驗。
讓我們討論一下開發人員必備的一些軟技能。
現在讓我們看看如何開始使用開源貢獻。下面的列表提供了鏈接和資源,供您立即開始開源貢獻。
GitHub Explore 根據您的興趣顯示存儲庫。您可以設置通知以獲取有關項目的通知。
此外,您還可以按主題和趨勢搜索存儲庫。使用 GitHub explore 找出與您的技能、需求和抱負更相關的項目。您可以在此處找到它: https://github.com/explore/
這個來自 freeCodeCamp 的倉庫絕對是一顆寶石。它為您提供了許多資源,以及開始使用開源的指針。您可以在此處找到它: https://github.com/freeCodeCamp/how-to-contribute-to-open-source
該網站可幫助您提供可供選擇的編程語言列表——JavaScript、HTML、Rust、Go 等等。您將獲得可供選擇的存儲庫卡。這是一個簡單的起點。您可以在此處找到它: https://contributor.ninja/
這是一個龐大的開源項目列表,可供搜索和篩選。他們還有一個指導良好的入門文檔。您可以在此處找到它:https://firstcontributions.github.io/
CodeTriage 是一個包含未解決 Issues 的龐大項目列表。它顯示了要分類的問題和文檔的分離。該網站非常有用。您可以在此處找到它:https://www.codetriage.com/
這是根據您的興趣可供選擇的開源項目的完整列表。您可以在此處找到它: https://up-for-grabs.net/#/
如果您以前從未為開源項目做出貢獻,并且剛剛開始,請考慮閱讀此頁面。
你可能會看到我們已經討論過的許多來源,但這個頁面充滿了動機。您可以在此處找到它:https://www.firsttimersonly.com/
你這個星期五或下個星期五要做什么?花幾個小時為您使用和喜愛的軟件做出貢獻怎么樣。請查看并注冊。您可以在此處找到它: https://opensourcefriday.com/
我希望這些資源對您有所幫助。此外,請隨時查看此 Twitter 線程和回復,您可能會找到有關它的更多信息。
到目前為止,我們已經探討了開源貢獻者的角色。如果不提及開源項目維護者的標準,這篇文章將顯得不完整。
作為項目的維護者,您必須遵循某些標準,以便其他人了解并為您的項目存儲庫做出貢獻。
Readme.md
文件來說明項目目標、如何使用、如何設置等。如果源代碼是存儲庫的核心,那么 README 文件就是它的表面。就這樣!我們已經到了本文的結尾。我希望你覺得這篇文章很有見地,并且它給了你足夠的動力來開始為開源做出貢獻。
在結束之前,我想提幾個開源項目和存儲庫供你研究。
這個列表可以繼續增長,但我就此打住。如果您喜歡閱讀本文或有任何疑問,想要聯系,您可以在以下位置找到我:
原文鏈接:https://www.freecodecamp.org/news/a-practical-guide-to-start-opensource-contributions/