JavaRush /Java Blog /Random-TW /開源專案:它是什麼以及為什麼您應該成為開源社群的一部分

開源專案:它是什麼以及為什麼您應該成為開源社群的一部分

在 Random-TW 群組發布
我們提請您注意改編自美國開發人員Jonathan Beckman的一篇文章,他描述了他參與開源專案的個人經歷。 開源專案:它是什麼以及為什麼您應該成為開源社群的一部分 - 1從本資料中您將學到:
  • 什麼是開源專案;
  • 您如何做出貢獻;
  • 在哪裡尋找專案和任務。

為什麼值得參與開源專案?

首先,這是免費的程式練習。你也可以將這樣的專案加入你的履歷中,並且相信我,如果你能解釋你對共同事業的貢獻,獲得「初級」的職位將比「剛剛完成課程」的情況容易得多。

手指上的開源項目

你喜歡在公園散步嗎?也許不是現在,因為已經是十一月了,正如人們所說的“冬天來了!” 我相信,天氣好的時候,您會喜歡沿著整潔的小巷在樹林中漫步。但是,如果您最喜歡的公園被市政服務廢棄了怎麼辦?很快就會變得一團糟。垃圾散落各處,與狗的排泄物混合在一起,焦急地等待有人終於踏入其中。您不太可能繼續去那裡散步。
開源專案:它是什麼以及為什麼您應該成為開源社群的一部分 - 2
現在想像一幅更幸福的畫面:一群志工承擔起維護他們最喜歡的公園的責任。她定期分配資金,將一些蓬亂和被忽視的東西改造成非常美麗且對其他人有用的東西。而他這樣做不僅是為了個人的快樂,也是為了大眾的快樂。最有可能的是,您最喜歡的公園是由我們的稅收支持的,但總的來說,上述情況描述了開源專案的運作方式。
免費和開源軟體是程式碼可供所有人使用的應用程式。它們可以在任意數量的設備上下載和/或使用。您可以自由地獲取程式碼並用它做任何您想做的事情,然後將其分發給您的朋友。之所以如此,是因為此類程式是根據免費許可證分發的,例如 MIT 許可證。
雖然所有軟體本質上都是為最終用戶設計的,但作為開發人員,您可以為開源專案做出貢獻,並透過可用的新軟體讓世界變得更美好。如果你想參與一個開源項目,你需要了解誰負責這個項目,並嘗試與這些人建立互動。我並不是說用問題把他們折磨得半死,並期望在工作中得到全面的監督。您是一個獨立的成年人(即使您還不是成年人,獨立也是一個好主意!)。我希望你不再需要牽著你的手去描述每一步。這件事我幫不了你。但我可以給您一些好的建議,當您嘗試做出第一個貢獻並可能將您的程式碼包含在開源專案中時,它們會對您有所幫助。

搜尋項目

如果您正在尋找參與的開源項目,請找到您真正感興趣的項目。最好有許多任務可供您選擇。不要滿足於您遇到的第一個項目。這樣,你就會更有動力,能夠認真看待任務。

在哪裡尋找開源項目

它們可以在公共 GitHub 儲存庫中找到。事實上,這就是每個人都在尋找的地方。那裡有很多有趣的事情

找到一個好的第一個問題

找到一個好的第一份任務是成功的關鍵。不要承擔超出你能力範圍的事。不要試圖立即展示您的所有知識:尋找最簡單的問題。這是了解您和專案策展人之間如何進行互動的最佳方式。在某些專案中,如果管理者認為任務適合新手開發人員,任務會標示特殊標籤,表示其難度等級。當您查看所選項目的目標時,請尋找類似的內容。
開源專案:它是什麼以及為什麼您應該成為開源社群的一部分 - 3
當您找到合適的任務時,請向專案策展人撰寫評論,表示您願意從事該任務。大多數情況下,他們會允許您繼續,但也許出於某種原因,他們會要求您選擇其他選項。不要覺得在答案到來之前你無法開始,但如果你被要求停下來做其他事情,請保持靈活性。對於我的第一個任務,我選擇了一些需要稍微調整 CSS 的東西。在我看來,我可以實現它,而且它並沒有讓我感到沮喪。

開始和介紹

開始一個專案看似容易,但實際上存在著許多陷阱。選擇要解決的問題後,您需要在電腦上部署該專案。最有可能的是,該項目的來源將是「重」(儘管這取決於項目)。您可能必須安裝大量依賴項才能使專案運作。
開源專案:它是什麼以及為什麼您應該成為開源社群的一部分 - 4
在我參與的專案中,這樣的時刻很少,但這並不意味著這很容易。例如,我們必須安裝特定版本的 Ruby 以及特定版本的 Rails、PostgreSQL、Phantom JS 和 Gemfile,並附帶要安裝的 Gem 清單。這似乎不是一個很大的要求,但我在尋找開發可在我的電腦上運行的專案所需的特定 Ruby 版本時遇到了很大的問題。最後,我使用了RVM來切換版本:這是我學到的另一件事,只是為了安裝專案並讓它在電腦上運行。當我啟動專案時,我看到它是用 Angular 和 Coffee Script 編寫的,使用 Active Record 與來自後端的資料進行互動。這些對我們來說是新事物,在開始專案工作之前我們必須自己解決它們。

搜尋其他任務

你現在可能不需要這個,甚至在不久的將來也不需要它,但我幾乎立刻就遇到了它。立即發現專案中有些東西無法正常工作是非常幸運的。如果您發現此類錯誤,請前往工作站點查看是否存在。不要急於寫信支持,也許一切都正常。通常策展人會控制局勢,不應該出現嚴重錯誤。但是,如果您確實發現需要注意的事情,請尋找並檢查已經存在的任務。最有可能的是,有問題的任務已經被寫下來,並且很可能您不需要做任何事情。儘管當你完成你正在做的事情后,自己解決這個問題可能是值得的。
開源專案:它是什麼以及為什麼您應該成為開源社群的一部分 - 5
當您設計和寫下一項新任務時,請確保盡可能詳細地描述它。使用螢幕截圖清楚地說明您想要表達的內容,並使訪問您網站的任何人都盡可能輕鬆地理解您所描述的問題。就我而言,除了分配給我的任務外,我最終還添加了兩項額外任務。我什至無法提出拉取請求(這是由於安全限制)。感覺好像我為這個專案退了兩步,但事實上,描述和組織任務仍然推動了專案的前進。 建立拉取請求 (PR)
Pull request - 更改儲存庫(專案程式碼儲存庫)中程式碼的提案。如果您正在開發一個開放項目,則應始終建立自己的分支,並建議僅在專案管理者批准拉取請求後才對主程式碼(master)進行變更。
您已經解決了分配給您的問題。在撰寫進度報告之前,請將解決方案展示給可以評估它的人。預覽總是一個好主意,但對於您對開源專案的第一次貢獻,這是必須的。您不想因為未完成或工作不正確的程式碼而臉紅嗎?基於同樣的原因,專案管理者會要求您在提交拉取請求之前通過所有必要的測試。因此,在收到策展人的確認之前,請提前檢查自己,以對自己的作品充滿信心,並在必要時進行糾正。確保您遵守專案策展人接受的名稱或風格。您可以在CONTRIBUTING.md文件中找到信息,大多數項目都有它。此外,您還可以在其中闡明應以何種形式建立提交訊息、拉取請求的描述應是什麼樣子以及如何建立新任務。

離開任務

有時你會意識到自己無法勝任這項任務。或者你以為你有時間做一個項目,但實際上你沒有,緊急的工作來了,你需要繼續它。這個是正常的。最重要的是取消訂閱任務並向策展人留言,以便他們知道您將無法繼續從事該專案。但在任何情況下都不要在未通知策展人並取消訂閱的情況下放棄任務。
開源專案:它是什麼以及為什麼您應該成為開源社群的一部分 - 6

結論

我相信參與開源專案的開發是一個巨大的優點。你在練習的同時,也在做一些對其他人有用的事情。另一方面,這個專案可以成為你履歷上的另一個點,並在爭取理想職位時提供額外的優勢。就在上週五,我採訪了一位程式設計師,由於他在開源專案上的工作,他得到了這份工作(一份非常酷且有趣的工作,可以讓世界變得更好,我真的不是在開玩笑)。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION