Upgrade to Pro — share decks privately, control downloads, hide ads and more …

小さなOSS貢献の実践例 / A practical example of a small contribution to OSS

小さなOSS貢献の実践例 / A practical example of a small contribution to OSS

Yoichi NAKAYAMA

April 21, 2022
Tweet

More Decks by Yoichi NAKAYAMA

Other Decks in Technology

Transcript

  1. 小さなOSS貢献の実践例 Yoichi Nakayama

  2. 概要 • ある日の小さなOSS貢献の事例を 紹介 • やれるかも、やってみようと思っても らえたらうれしい

  3. Kata http://codekata.com/

  4. おすすめのやり方(in OSS Gate Workshop) • ユーザーとしてOSSを動かす • ↑で気づいた事を開発元にフィード バックする https://oss-gate.github.io/

  5. 実践

  6. 対象OSSを決める • ファイルのタイムスタンプをコミット日時に 合わせる - Qiita より • rsync に付属の

    git-set-file-times
  7. ユーザーとしてOSSを動かす

  8. ユーザーとしてOSSを動かす • インストールする • git clone https://github.com/WayneD/rsync.git • cd rsync

    • cp ./support/git-set-file-times ~/bin/
  9. ユーザーとしてOSSを動かす • 実行してみる󰩂

  10. ユーザーとしてOSSを動かす • 期待した通り動いた🤔

  11. ユーザーとしてOSSを動かす • 他のリポジトリでも実行してみる • git clone https://github.com/git/git.git • cd git

    • git set-file-times
  12. ユーザーとしてOSSを動かす • クラッシュした:ユーザーとしては困る😭 • →フィードバックのチャンス!😎

  13. 調査・修正 • ソースを読む🤓 • git log -r --name-only --no-color --pretty=raw

    --no-renames -z が原因 • → git log -r --name-only --format=%x00commit%x20%H%n%x00co mmit_time%x20%ct%n --no-renames -z
  14. フィードバック先を見つける • README.md を読む • https://rsync.samba.org/bug-tracki ng.html • GitHubでプルリクエストすれば良さ そう🙂

  15. フィードバックする • 問題の内容と再現手順を具体的に 書く📝 • https://github.com/WayneD/rsync/ pull/305 • 4/3に作成、4/12にマージされた

  16. できた

  17. まとめ • ユーザーとしてOSSを使う • 何か問題が出たらチャンス! • 貢献するのはそんなに難しくない

  18. OSS Gate • オンラインワークショップ • https://oss-gate.doorkeeper.jp/ • 興味あればどうぞ