社内OSS Gateワークショップレポート
こんにちは、山中です。 社内で開催されたOSS Gateワークショップにビギナーとして参加しました。とてもよかったので紹介します。
OSS Gateワークショップとは?
OSSの開発に未参加または参加したことはあるけどまだ自信がない人を後押しするワークショップです。
参考: https://oss-gate.github.io/announce/update/2015/12/17/welcome-to-oss-gate.html
ワークショップでは、ビギナー、サポーター、サポートメンター、モデレータという役割の人がいて進めていきます。
- 進行役:ワークショップを進行する役割の人(すでにOSSの開発に参加している人)
- 1人
- ビギナー:OSSの開発に参加したいけどまだ参加したことがない人・参加したことはあるけどまだ自信がない人
- 複数人
- サポーター:ビギナーをサポートする役割の人(すでにOSSの開発に参加している人)
- 複数人
- サポートメンター:サポーターをサポートする役割の人(すでにサポーターの経験がある人)
- 複数人
引用先 OSS Gate GitHubリポジトリ: senario.md
実施概要
ワークショップでは以下のことを1回2時間で2日にわたって実施しました。
- OSS開発について説明
- 開発対象のOSSを決定
- 対象のOSSを動かす
- OSSプロジェクトに対してフィードバック(issueまたはPull Requestを出す)
- アンケートを記入
- 振り返り
参加者は6名で以下のような分担で実施しました。 今回は人数の都合でサポートメンターは無しで進めましたが、ビギナーに対してサポーターが1名いたからか特に問題にはなりませんでした。
- モデレータ兼サポーター 1名
- サポーター2名
- ビギナー3名
レポート
やったこと
OSS開発について説明
そもそもOSS開発とは何か?ということとワークショップですることをモデレータの人に説明してもらいました。
開発対象のOSSを決定
今回ビギナーが取り組んだOSSは以下のものです。
- Ansible https://github.com/ansible/ansible
- python-mode (vimプラグイン) https://github.com/python-mode/python-mode
- Luigi https://github.com/spotify/luigi
開発対象のOSSはビギナーがやりたいものになります。私はAnsibleを選びました。少し触ったことがあり、より詳しく知りたかったためです。
対象のOSSを動かす
まずはGitHubのREADMEに載っている通りに動かしていきました。 やったことはissueでメモをしていきました。OSS Gateでは全員メモを取りながらやります。目的は、途中つまずきや気づきがあったときにその内容をフィードバックに使うためです。
私はリポジトリのREADME.rstを読み、まずAnsibleの Get Startedに書かれていることを実施してみました。Vagrantを使ってですが、Ansibleを使ったことはあるため、そんなに最初で詰まることは無いだろうと思っていましたが、意外に躓きました。
- ドキュメントに書いてある通りのパスに設定ファイルを置いても実行できない
- Ansible実行時に必要なsshの公開鍵ファイルの指定方法がわからない
- 自分のPCのsshの設定の修正が必要
(普段Ansible使用時にVagrantに楽させてもらってたんだとしみじみ思いました。)
サポーターの人にアドバイスをもらえたため、躓きを解消してなんとか一日目は動かすところまでで終了し、各自やったことを共有しました。
OSSプロジェクトに対してフィードバック
フィードバックのために以下のことをしました。
- フィードバックすることを整理
- フィードバックする内容を一つに決める
- 自分が内容を理解できるように整理して文章化する
- oss-gate/workshopのissueに下書きを書いてサポーターにチェックしてもらう。
- フィードバック内容を編集
- OSSによってはissueの書き方が決まっていたり、書く場所が決まっていることがあるので確認する。
- 開発者がわかるように推敲する。
- フィードバックを出す
- issueを出す。できる人はパッチのPull Requestまで行う。
私は先述したsshの公開鍵ファイルの指定と、設定ファイルのパスについてどちらをフィードバックとして出すか悩みました。 サポーターの人と相談し、sshの公開鍵ファイルの指定はドキュメントをよく読めばわかることであると判断できました。そのため、設定ファイルのパスについてフィードバックを出すことにしました。フィードバックの下書きを書いて、サポーターにレビューしてもらい、issueを出すことができました!
感想
OSS Gateワークショップに出てよかったこと
得られたことが多く参加してよかったです。
- 自分が知らないOSS(今回であればLuigi, Vimプラグイン)のこと
- 普段開発を一緒にしているメンバーが興味のある技術
- 開発対象のOSS以外についても学べることがある
- ssh, 仮想マシン, OSの違い, GitHubの機能などの関連技術
- OSS開発するときに気にすべきこと(そのissue, Pull Requestはどういう価値があるのか考えて出すなど)
- Ansibleのような大規模プロジェクトだとissueの1次対応をボットで行っているという事例
- サポーターがいるのが心強い
- 一人でしていると、時間がかかってしまうところもすぐ相談できる人がいるため
社内でOSS Gateワークショップが開催されてよかったこと
参加しやすい。
- 参加しているメンバーはほぼ知っている人なので対人の面でも
- 地理的な面でも(社内の会議室なのですぐ!)
また、社内のエンジニアがOSSに対して取り組んでいることがわかって改めて良い環境だなと思えました。
他の参加者の感想
アンケートを見ると、サポーターもビギナーもアンケートで「満足した」、「想定よりも充実していた」と回答していました。 このことからも良いワークショップだったのだと思います。
最後に
とても楽しかったワークショップでした。それがとても大きいです。 また、これからもOSS開発に取り組みたいと思えました。 参加前はOSS開発に対して、コードをしっかりと理解してPull Requestを出さないとダメだから自分はまだ無理かなと考えていましたが、参加後はOSS開発に対する心理的障壁が無くなりました。
近くでOSS Gateが開催されていたらぜひ参加してみてください。