吃個泡麵,順便開源貢獻

RustPython 為例

我是誰?

我是球魚

  • 剛學習 Rust 語言的魚
  • 之前舉辦過 Rust 讀書會
  • 擅長領域是網頁前端
  • 是雜食的魚,還會一點點 Python 爬蟲、NodeJS、Unity 3D、Rust
  • 平常潛水在 COSCUP、SITCON、Rust.tw 等社群組織

什麼是開源貢獻

什麼是開源

fn main() {
    println!("Hello world!");
}

原始碼出得去
人進得來
工程師發大財

啊,不對,沒有發財的部份

全球最大工程師社交網站

為什麼要開源貢獻

開源的好處

  • 由各路高手幫忙 Debug,互相交流與學習
  • 公開透明公正,沒有後門
  • 避免重複造輪子
  • 有人幫你修 Bug

貢獻的好處

  • 觀摩別人寫的程式碼,從中學習
  • 可以與他人討論交流經驗
  • 實際動手寫程式碼,又不需要從零開始
  • 不用透過造輪子來學習

實質誘因

  • 可以跟親朋好友、同事上司炫燿自己貢獻了 XXX ,好像很厲害一樣
  • 可以寫在履歷,讓自己好像很厲害
  • 可以修掉害自己工作延宕的 Bug,讓自己不會成為薪水小偷

如何開源貢獻

前置作業

  • 有一個想貢獻的專案 - RustPython
  • 會一點專案的技術 - Rust 與 Python
  • 有國中英文能力 - 一個句子裡要有動詞,名詞前面有冠詞,be動詞會用,「請/謝謝/對不起」 會寫
  • 有一點 Git 的能力 - 會 git clone/git pull/git branch/git add ./git commit
  • 有 GitHub 帳號

準備作業

  • 一個下午的時間
  • 一個泡麵
  • 一台電腦
  • 燒好的熱水

先從 README 研究貢獻的規定

some of the best ways to get started are below:

Most tasks are listed in the issue tracker. Check issues labeled with good first issue if you wish to start coding.

Another approach is to checkout the source code: builtin functions and object methods are often the simplest and easiest way to contribute.

You can also simply run ./whats_left.sh to assist in finding any unimplemented method.

從 Issue 裡挑出自己可以貢獻的項目

1. 點 Issues

2. 點 Label

3. 點 good first issue

這是 ./whats_left.sh 有關的 issue

Fork 專案

git clone 專案

執行 ./whats_left.sh 確認有哪些可以貢獻

然後可以泡個泡麵等他 build 完

對了,如果你出現了這個錯誤

代表,你的 Python 太舊了,請把 Python 升到 3.7 版

先開個 branch

閱讀程式碼

修改程式碼

Build & 吃個泡麵 &Debug

 git add .

git commit

git push origin bytearray_append

發 Pull Request

等待團隊 code review 完

給 feedback、或 accept

 

還有收拾泡麵的垃圾

貢獻就是這麼簡單

ヽ(✿゚▽゚)ノ

工商時間

Rust Taiwan Meetup

每月 最後一週星期六 晚上七點半

摩茲工寮

Q&A 時間

如何貢獻開源專案 -- 以 RustPython 為例

By 球魚

如何貢獻開源專案 -- 以 RustPython 為例

  • 1,172