OSS Gate 「OSS Gate」は、OSS開発に参加する「入り口」を提供する取り組みです。 OSS開発に未参加の人を参加する人へ、少し参加したことがある人を継続的に参加する人へ。そうやってOSS開発に参加する人を継続的に増やしていく。それが「OSS Gate」の目的です。 https://oss-gate.github.io/ Thu, 05 Mar 2026 05:34:57 +0000 Thu, 05 Mar 2026 05:34:57 +0000 Jekyll v3.10.0 debianのパッケージングができるようになった夏 <p>この記事は<a href="https://note.com/sivchari/n/ndd8d02477759">debianのパッケージングができるようになった夏</a>がオリジナルです。 OSS Gateのサイトにあわせてマークアップを一部修正してあります。</p> <p>こんにちは、しぶちゃりです。</p> <p>僕は今年の夏にOSSオンボーディングという取り組みに参加し、debianのパッケージングを行いました。</p> <p>この記事はその参加記録です。1人でもやってみたい人が増えればいいなと思い記事を執筆させていただきます。</p> <h2 id="応募した動機">応募した動機</h2> <p>OSSオンボーディングを知ったきっかけは、あるDiscordのチャンネルでdebianのイベントが開催されるらしいということを聞いたことが始まりでした。</p> <p>その時の心境としては、最近はAPIの開発が多かったことからも全く関心がなかった技術分野を知りたいという気持ちでした。</p> <p>その後実際に応募要項や今までdockerのimageとして用いるくらいであったdebianがどのようなものか調べていくうちに興味が湧き応募しました。</p> <p>OSSオンボーディングの経験はとても楽しかったため、自分の多くのものに関心を持てる性格がプラスに働いたと感じます。</p> <h2 id="取り組んだこと">取り組んだこと</h2> <p>今回はdebianのパッケージングを実際にメンターの方と一緒に進めていくというコースに応募しました。</p> <p>その際にパッケージングしてみたいものがあるかという項目が存在していたため、slack-termというコンソール上でslackを操作できるツールのパッケージングを希望しました。</p> <p>このツールを選定した理由としては、普段自分自身がGoを書いていることが多いため、コードをいじることがあっても障壁を感じず、何かしらプログラムのランタイムエラーやコンパイルエラーを解決しなくてはいけないケースが生じてもdebianのことに集中できると仮定したからです。</p> <p>また、インターンでSlackのAPIを触る経験があり、慣れ親しんだAPIであったため、Slack API関係の問題が生じた場合も、同様にdebianに集中できるということもありました。</p> <p>実際に応募した際のページがこちらです。</p> <p><a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/">debパッケージのメンテナンスやそれを支えるシステムの開発</a></p> <p>その後、実際に受理され、面談を経たのちにスタートしました。</p> <p>実際にパッケージングを行ってみると、普段の開発とは異なる苦労が存在しました。</p> <p>例えば、slack-termをパッケージングするにあたり、slack-termが依存してるライブラリを調査することからスタートしました。</p> <p>その結果</p> <ul> <li> <p>fuzzy-search</p> </li> <li> <p>notificator</p> </li> <li> <p>slack-go</p> </li> <li> <p>term-ui</p> </li> </ul> <p>とい4つの依存が存在しました。</p> <p>そのため、debianで動作するためにも先に上記の4つをパッケージングする必要があり、今回のOSSオンボーディングは最大限これらをパッケージングすることとなりました。</p> <p>コードベースの依存性や、ライブラリの依存性などは以前から気にしていた部分ですが、動作する前提での依存性の話をする経験が多かった僕にはこの経験がとても楽しいと同時に多くの動作する環境を整備しているエンジニアの凄さを改めて感じました。</p> <p>OSSオンボーディングの中ではfuzzy-searchとnotificatorのパッケージングを行いました。</p> <p>このパッケージングにあたり、debianの環境で実際に動かすためにパッケージング対象のビルドテストを行ったり、有償ではなくコミュニティとして動いているdebianならではのライセンス問題や、debianのお作法として存在するフォーマットに合わせて、同様にdebian固有のファイル操作やコマンドを実行するなど多くの経験を積みました。</p> <p>実際にOSSオンボーディング後もパッケージングは行っており、この時の経験と足りない部分はメンターであったKentaro Hayashiさんに質問するなどして活動を続けています。</p> <h2 id="よかったこと">よかったこと</h2> <p>まず、今まで触れたことがなかった領域に触れることができた経験が何よりも大きいです。</p> <p>今まで僕はOSSへのコントリビュートや、自身でライブラリを作成する際にも、前提として動作することが当然であると考え開発していました。</p> <p>もちろん、この考え方にある種の反論はあれど言語固有のツールを使う際には暗黙的に当然である考え方であると思います。</p> <p>ここで感じたことは自身のライブラリがどこでどのように活用されるかわからない(OSSであり、誰でも介入できる)ので、多くの人がメンテナンスがしやすく、かつ動作をしやすい状況を維持するかを考え始めました。</p> <p>実際に今僕は作成しているTwitter v2 APIのライブラリはテストコードで用いている3rdパッケージを除き、全てGoの標準パッケージで構成されています。</p> <h2 id="気になったこと">気になったこと</h2> <p>今回僕がパッケージングしたコードはGitLabにアップロードされており、実際にパッケージとして公開される前にも、mentors.debian.netというところにpendingとして挙げられacceptされることで公開される方式を取りました。</p> <p>これはdebianでの権限などもあり、必ずしもこの方針を取る必要があるかは各々によるとは思いますが、初めてパッケージングする人にとってはセーフティーな環境となっています。</p> <p>その反面、debianのお作法に則り統一するために普段用いるような(GitHub)などは用いていません。</p> <p>仮にこの部分で面倒などの障壁を感じ、僕のようにメンターに聞ける環境がないばかりに諦めている方がいれば、とても惜しいなと思いました。</p> <p>またdebianのパッケージングなどの情報はKentaro Hayashiさんの所属する企業である、Clear Codeの記事を除くとほとんど日本語で書かれた記事はなく、デザイン的もお世辞にも見やすいとは言えません。</p> <p>これらのことが障壁となり関心があるが離れてしまった人がいる可能性は充分あると思うので、僕のようにdebianのパッケージングを楽しめる環境を作っていければいいなということが直近のdebianコミュニティを盛り上げることとしてやってみたいと構想しているミッションです。</p> <h2 id="応募前の想定と実際の内容とのギャップ">応募前の想定と実際の内容とのギャップ</h2> <p>ここに関してはパッケージングをする上での苦労以外を除くと、僕の場合は大きな差分はありませんでした。</p> <p>またこの苦労は望んでいたものなのでとても楽しかったです。</p> <p>もしこの記事を読んで同じようにパッケージングをやってみたいという方がいましたら、情報の多くは英語で書いているものを読む方が情報が手に入るため、翻訳サービスを用いて読むなどの方法でも構いませんが、英語に心理的なハードルを設けていない方の方が向いているかと思いました。</p> <h2 id="今後の新人先輩運営へのコメント">今後の新人・先輩・運営へのコメント</h2> <p>Kentaro Hayashiさんをはじめとし、Clear Codeの皆様の暖かい気持ちとこちらの小さな疑問にも丁寧に答えていただける環境があったからこそ、OSSオンボーディングをとてもいい思い出として、楽しめたと思います。</p> <p>そのため、今でもdebianのパッケージングをしようと考えていることは間違いなくこのおかげです。</p> <p>改めて、とても楽しくいい経験を積ませていただきありがとうございました。今後ともよろしくお願いします。</p> <p>もし、この記事を読み少しでも関心が湧いた方はぜひ僕の<a href="https://twitter.com/sivchari">Twitter</a>にDMしてください。</p> <p>答えられる範囲であれば回答します。</p> <p>最後までお読みいただきありがとうございました。</p> Sat, 20 Nov 2021 00:00:00 +0000 https://oss-gate.github.io/report/on-boarding/2021/11/20/on-boarding-2021-08-sivchari.html https://oss-gate.github.io/report/on-boarding/2021/11/20/on-boarding-2021-08-sivchari.html report on-boarding OSS Gateオンボーディング第一回を実施 - Debianコントリビューターを1人増やせた! <p><em>この記事は「<a href="https://www.clear-code.com/blog/2021/10/8/on-boarding-2021-08.html">OSS Gateオンボーディング第一回を実施 - Debianコントリビューターを1人増やせた!</a>」がオリジナルです。 OSS Gateのサイトにあわせてマークアップを一部修正してあります。</em></p> <p>Debian開発者としてDebianのコミュニティーで活動している林です。</p> <p>2021年8月から10月にかけて、<a href="https://oss-gate.github.io/on-boarding/">OSS Gateオンボーディング</a>という取り組みを実施しました。 OSS Gateオンボーディングはより深く継続的にOSSを開発する人を増やすことが目的です。</p> <p>この目的を実現するために、OSS Gateオンボーディングでは「開発者が増えて欲しい」先輩役と「開発に参加したい」新人さんをマッチングし、「開発に参加したい」人が「継続的に開発に参加する人」になれるように支援することにしました。</p> <p>今回は、OSS Gateオンボーディングの第一回として<a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/">「debパッケージのメンテナンスやそれを支えるシステムの開発」</a>という内容で参加者を募集し、実際に支援をした内容を紹介します。</p> <ul id="markdown-toc"> <li><a href="#先輩役を務めることにした動機とは" id="markdown-toc-先輩役を務めることにした動機とは">先輩役を務めることにした動機とは</a></li> <li><a href="#支援のはじまり-新人さんの募集" id="markdown-toc-支援のはじまり-新人さんの募集">支援のはじまり 新人さんの募集</a></li> <li><a href="#募集締め切りと応募者の選考" id="markdown-toc-募集締め切りと応募者の選考">募集締め切りと応募者の選考</a></li> <li><a href="#支援開始と初回のミーティング811" id="markdown-toc-支援開始と初回のミーティング811">支援開始と初回のミーティング(8/11)</a></li> <li><a href="#オンボーディング前半実施817-824" id="markdown-toc-オンボーディング前半実施817-824">オンボーディング前半実施(8/17-8/24)</a></li> <li><a href="#途中でのふりかえり831" id="markdown-toc-途中でのふりかえり831">途中でのふりかえり(8/31)</a></li> <li><a href="#オンボーディング後半実施92-929" id="markdown-toc-オンボーディング後半実施92-929">オンボーディング後半実施(9/2-9/29)</a></li> <li><a href="#まとめミーティング実施106" id="markdown-toc-まとめミーティング実施106">まとめミーティング実施(10/6)</a></li> <li><a href="#oss-gateオンボーディングでのやりとり" id="markdown-toc-oss-gateオンボーディングでのやりとり">OSS Gateオンボーディングでのやりとり</a></li> <li><a href="#oss-gateオンボーディングを終えて" id="markdown-toc-oss-gateオンボーディングを終えて">OSS Gateオンボーディングを終えて</a></li> <li><a href="#oss-gateオンボーディングはどんな人に向いている" id="markdown-toc-oss-gateオンボーディングはどんな人に向いている">OSS Gateオンボーディングはどんな人に向いている?</a></li> <li><a href="#さいごに" id="markdown-toc-さいごに">さいごに</a></li> </ul> <h2 id="先輩役を務めることにした動機とは">先輩役を務めることにした動機とは</h2> <p>Debianのローカルコミュニティーとして毎月1回 <a href="https://tokyodebian-team.pages.debian.net/">東京エリア・関西合同Debian勉強会</a>が開催されています。 オンラインでの開催になったことで、地理的制約に縛られなくなり<sup id="fnref:geo" role="doc-noteref"><a href="#fn:geo" class="footnote" rel="footnote">1</a></sup>、これまでよりも参加しやすくなりました。 ただ、(勉強会に限らず)もっと新しく参加してくれる人が増えて活性化するといいなと思っていました。</p> <p>そこで、Debianに興味を持ってはいるものの、まわりに教えてくれる人がいないなど困っている人を支援できないか、ということで先輩役をやってみる<sup id="fnref:mentor" role="doc-noteref"><a href="#fn:mentor" class="footnote" rel="footnote">2</a></sup>ことにしました。 結果として、Debianコミュニティーにより深く関わってもらえたらいいなという思いもありました。</p> <h2 id="支援のはじまり-新人さんの募集">支援のはじまり 新人さんの募集</h2> <p>まずは、興味を持って参加してくれる新人さんがいないとどうしようもありません。</p> <p>そこで、<a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/">募集要項</a>を詰めた上で、7月17日のDebian勉強会でこれから実施しようとしている取り組みの紹介をしました。</p> <iframe src="https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-oss-gate-onboarding-20210717/viewer.html" width="640" height="524" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border: 1px solid #ccc; border-width: 1px 1px 0; box-sizing: content-box; margin-bottom: 5px" allowfullscreen=""> </iframe> <div style="margin-bottom: 5px"> <a href="https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-oss-gate-onboarding-20210717/" title="OSS Gateオンボーディング - Debianプロジェクトを題材にした取り組みの紹介">OSS Gateオンボーディング - Debianプロジェクトを題材にした取り組みの紹介</a> </div> <p>また、Debian/Ubuntu関連に興味を持っている人ならメーリングリストに登録しているだろうということで、メーリングリストにて募集の告知を行いました。</p> <ul> <li><a href="https://lists.debian.or.jp/pipermail/debian-users/2021-July/000738.html">[debian-users 00739] Debianプロジェクトに継続的に関わりたい新人さんの募集のお知らせ</a></li> <li><a href="https://lists.ubuntu.com/archives/ubuntu-jp/2021-July/006451.html">[ubuntu-jp:6452] Debian/Ubuntuプロジェクトに継続的に関わり始めたい人募集のお知らせ</a></li> </ul> <p>ただ、どういうニーズがあるかはよくわからなかったので、いくつかパターンを用意して募集をかけてみました。 具体的には次の3つのコースを用意しました。</p> <ul> <li>Aコース: 新規Debianパッケージング作業</li> <li>Bコース: 既存のdebパッケージの不具合報告や修正作業</li> <li>Cコース: <a href="https://mentors.debian.net">mentors.debian.net</a>の改善</li> </ul> <p>Aコースはパッケージ化したいソフトウェアがあるけどどうしたらいいかよくわかっていない人を支援する目的で用意しました。 Bコースは、Aコースよりはやや知識や経験のある人向けです。 Cコースは、やや異色の内容になっています。mentors.debian.netというのは、Debianパッケージを一時的にアップロードしてスポンサーを探したりするのによく使われているサイトです。 パッケージングだけでなく、そういった作業を支えるシステムに興味を持つ人がいるかもしれないということで、テーマの1つとして取り上げてみました。フロントエンドにより興味がある人なら向いているのではと考えたためです。</p> <h2 id="募集締め切りと応募者の選考">募集締め切りと応募者の選考</h2> <p>告知してから約2週間後、7/31日に応募を締め切りました。 1件応募があればいいな、くらいのつもりでいました。</p> <p>さいわいなことに5件の応募があり、そのなかから1件を採択しました。 使っているソフトウェアをパッケージングしたいという明確な動機が全面にでていたこと、 スケジュール感があいそうということで <a href="https://github.com/sivchari">@sivchari</a> さんと一緒にAコースの新規Debianパッケージングの作業をすることにしました。</p> <p>なお応募者のなかで圧倒的に希望が多かったのは、Aコースの新規Debianパッケージングでした。 また、知ったきっかけについてはdebian-usersではなくて、ubuntu-jpでの告知がほとんどでした。</p> <p>締切直前の応募が多かったので、選考期間は少し長めにとっておくのがよさそうという知見<sup id="fnref:application" role="doc-noteref"><a href="#fn:application" class="footnote" rel="footnote">3</a></sup>を得ました。</p> <h2 id="支援開始と初回のミーティング811">支援開始と初回のミーティング(8/11)</h2> <p>8/11に<a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/meeting-2021-08-11.html">初回のミーティング</a>を実施しました。</p> <p>@sivchari さんは普段はmacOSを使っていて、DebianはConoHaのVPSで使ったりしているとのことでした。 使い慣れた環境がよかろうということで、オンボーディングの支援期間中は、Debian unstableなインスタンスを用意してもらってそこで一緒に作業することにしました。</p> <p>パッケージングの題材は希望のあった<a href="https://github.com/erroneousboat/slack-term">slack-term</a>としました。 ただ、依存するライブラリーはその時点ではまだすべてパッケージ化されていませんでした。</p> <p>依存パッケージも順にパッケージングしていきたいという意向だったので、その方針ですすめることにしました。 なお、支援期間内にパッケージング作業がすべては終わらなそうであることは見えて<sup id="fnref:dh-make-golang-estimate" role="doc-noteref"><a href="#fn:dh-make-golang-estimate" class="footnote" rel="footnote">4</a></sup>いたので、 目標はすべてパッケージングを終わらせることではなく、それ以降も継続して進められるようになっていればよいことを確認して作業に着手することにしました。</p> <p>その後も、オンボーディングは週1回、2時間のペースで実施しました。</p> <h2 id="オンボーディング前半実施817-824">オンボーディング前半実施(8/17-8/24)</h2> <p>事前にConoHaのVPSでセットアップしてもらいたい内容を<a href="https://github.com/oss-gate/on-boarding/issues/17">共有</a>しておいて、パッケージングの流れ<sup id="fnref:blogs" role="doc-noteref"><a href="#fn:blogs" class="footnote" rel="footnote">5</a></sup>を説明したりしました。 今回パッケージングしたい内容は、Go言語のプロダクトなので、Goのパッケージングのお作法をDebian Go teamの既存のドキュメントをもとに説明<sup id="fnref:off-topics" role="doc-noteref"><a href="#fn:off-topics" class="footnote" rel="footnote">6</a></sup>しつつ進めました。</p> <p>Goパッケージングではdh-make-golangコマンドを使うのですが、不具合があることがわかったので、フィードバックをしたりもしました。</p> <ul> <li><a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=992610">dh-make-golang fails when upstream uses “../..” in import path</a></li> </ul> <p>なお報告した不具合はdh-make-golang 0.5.0-1ですでに修正済みです。</p> <p>オンボーディングの前半では、Debianプロジェクトの説明だったり、パッケージングのお作法を理解してもらうなど、どちらかというと実際に手を動かしてもらうよりは、解説する機会が多めでした。</p> <h2 id="途中でのふりかえり831">途中でのふりかえり(8/31)</h2> <p>8月の終わりに途中までの<a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/meeting-2021-08-31.html">ふりかえりミーティングを実施</a>しました。 オンボーディングの本来の目的である、「OSS Gateオンボーディング後も新人が対象OSSの開発に継続的に参加する」ことができる流れになっているかどうかを再確認するプロセスです。 方向性はぶれてなさそうだったのでそのまま進めていくことにしました。</p> <p>この後しばらくして、オンボーディングのその後について、続報をメーリングリストに流しました。</p> <ul> <li><a href="https://lists.debian.or.jp/pipermail/debian-users/2021-September/000740.html">[debian-users 00741] Re: Debianプロジェクトに継続的に関わりたい新人さんの募集のお知らせ</a></li> <li><a href="https://lists.ubuntu.com/archives/ubuntu-jp/2021-September/006466.html">[ubuntu-jp:6467] Re: Debian/Ubuntuプロジェクトに継続的に関わり始めたい人募集のお知らせ</a></li> </ul> <h2 id="オンボーディング後半実施92-929">オンボーディング後半実施(9/2-9/29)</h2> <p>オンボーディングの後半では、引き続き依存するライブラリーのパッケージング作業をすすめました。</p> <ul> <li>ITP(パッケージングはじめる意思の表明)が済んでいないものを終わらせる</li> <li>パッケージングするにあたりアップストリームで直してもらうべきものをフィードバックする</li> <li>必要に応じてパッケージングに必要なパッチを作成する</li> <li>パッケージの体裁を整える</li> <li>パッケージのテストでコケてはまる</li> </ul> <p>パッケージングをする上でありがちな問題などはひととおり体験してもらえたのではないかと思います。 パッケージの体裁が整ったのでスポンサーアップロードして、ftp-master待ちの状態までいくつかこぎつけることもできました。</p> <p>依存しているライブラリーのうちの1つであるgolang-github-lithammer-fuzzysearchがDebian入りしたあと、新しいバージョンが出ました。 更新のやり方もあわせて体験してもらえたのは、その後も継続して開発するという観点から有意義でした。</p> <h2 id="まとめミーティング実施106">まとめミーティング実施(10/6)</h2> <p>最終回では、まとめミーティング(ふりかえり)を実施しました。</p> <p>手探りの状態で実施したため、いくつか課題はありましたが、おおむね新人と先輩双方にメリット<sup id="fnref:merit" role="doc-noteref"><a href="#fn:merit" class="footnote" rel="footnote">7</a></sup>のある支援期間にできたのではないかと考えています。</p> <h2 id="oss-gateオンボーディングでのやりとり">OSS Gateオンボーディングでのやりとり</h2> <p>すでに述べたとおり、OSS Gateオンボーディングで目指したのはパッケージング作業が支援期間内に終わることではありません。 新人さんがすべてひとりでできるようになる必要はなく、作業を相談しながら継続してすすめられるようになればOKです。</p> <p>とはいえ支援期間中にどれくらい進められたのかは今後の参考になるかもしれないので紹介すると、次のような具合でした。</p> <ul> <li>slack-term (もともとパッケージングしたい!と希望があったもの) <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994283">ITP #994283</a>済み <ul> <li>golang-github-lithammer-fuzzysearch <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=992838">ITP #992838</a> Debian unstable入り</li> <li>golang-github-0xax-notificator <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993842">ITP #993842</a> ftp-masterの審査待ち</li> <li>golang-github-erroneousboart-termui <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994282">ITP #994282</a>済み。パッケージの体裁を整えている途中</li> <li>golang-github-slack-go-slack <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993615">ITP #993615</a>済み。パッケージの体裁を整えている途中</li> </ul> </li> </ul> <p>slack-termはITPまで、その他の依存ライブラリーは一部Debian unstableにすでに入った状態になりました。</p> <p><img src="/images/posts/2021-10-08-on-boarding-2021-08-kenhys/20211006_qa.png" alt="DDPOのスクリーンショット" /></p> <p>毎回のオンボーディングでやることなどはissueを作成して記録を残していました。作業状況を確認して、その日にやろうとしていることを共有<sup id="fnref:sharing-todo" role="doc-noteref"><a href="#fn:sharing-todo" class="footnote" rel="footnote">8</a></sup>するためです。</p> <ul> <li><a href="https://github.com/oss-gate/on-boarding/issues?q=is%3Aissue+is%3Aclosed+project%3Aoss-gate%2Fon-boarding%2F1">2021-08 debian slack-term オンボーディングのissue</a></li> </ul> <p>解決すべきことなどはsalsa.debian.orgの各リポジトリごとのissueでやりとりしたり、マージリクエストをだしてもらったりしました。普段のOSSの開発のやりかたをそのまま実践しています。</p> <ul> <li><a href="https://salsa.debian.org/go-team/packages/slack-term/-/issues?scope=all&amp;state=all">slack-termに関するissue</a></li> <li><a href="https://salsa.debian.org/go-team/packages/golang-github-lithammer-fuzzysearch/-/issues?scope=all&amp;state=all">golang-github-lithammer-fuzzysearchに関するissue</a></li> <li><a href="https://salsa.debian.org/go-team/packages/golang-github-0xax-notificator/-/issues?scope=all&amp;state=all">golang-github-0xax-notificatorに関するissue</a></li> <li><a href="https://salsa.debian.org/go-team/packages/golang-github-erroneousboat-termui/-/issues?scope=all&amp;state=all">golang-github-erroneousboart-termuiに関するissue</a></li> <li><a href="https://salsa.debian.org/go-team/packages/golang-github-slack-go-slack/-/issues?scope=all&amp;state=all">golang-github-slack-go-slackに関するissue</a></li> </ul> <p>また、毎回終わりにその日の日報を作成(一緒に作業していない日も記録)するようにしていました。 これは、オンボーディングのプロセスの改善につなげられるように、その材料となる情報を残しておく意味合いで実践しました。(ふりかえりはこの記録をもとに行いました。)</p> <ul> <li><a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/daily-report-kenhys.html">先輩の日報</a></li> <li><a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/daily-report-sivchari.html">新人の日報</a></li> </ul> <p>時間が経過するとどんどん忘れていくので、作業記録はとても重要でした。</p> <ul> <li><a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/references-2021-08.html">支援期間中に紹介した記事や設定のまとめ</a></li> </ul> <p>支援期間中に紹介した記事や設定等もまとめておいたので、今後参考になる<sup id="fnref:setting" role="doc-noteref"><a href="#fn:setting" class="footnote" rel="footnote">9</a></sup>かも知れません。</p> <h2 id="oss-gateオンボーディングを終えて">OSS Gateオンボーディングを終えて</h2> <p>第一回のOSS Gateオンボーディングを終えてみてよかったことは、先輩役を楽しんでできたことです。 今回はGoで書かれたソフトウェアのパッケージであり、Goのパッケージングはそれほどしたことがなかったので、これまで知らなかったことを知るよい機会となりました。 古くなっていた知識をアップデートすることもできました。</p> <p>新人さんがつまるところを知れたので、今後のドキュメントの改善などで新しく入ってくる人のフォローをできたらいいなと考えています。</p> <h2 id="oss-gateオンボーディングはどんな人に向いている">OSS Gateオンボーディングはどんな人に向いている?</h2> <p>今回はDebianをテーマとしてオンボーディングを実施しました。 より一般的な話にすると、次のような人におすすめできるのではないかと思います。</p> <ul> <li>どこから手をつけてやるといいのかよくわからなくて不安な人(先輩が作業の交通整理をしてくれるはず)</li> <li>ドキュメントを読んだが挫折した人(先輩がそのあたりを解説してフォローしてくれるはず)</li> <li>プロジェクトの背景など雑多な話も聞きたい・楽しめる人(先輩が雑談としていろいろ話してくれるはず)</li> </ul> <p>次回以降開催されるにしても、先輩役の人ごとに実施するテーマは変わるはずです。 ただ、突っ込んで話を聞いたり知見を深めたりしたい、好奇心旺盛な人が向いているのではないでしょうか。</p> <p>一方の先輩役をする人はこんな人が向いていそうです。</p> <ul> <li>マイナーであってもいいから伝えたい知識を持っている(自分の持っている知識が新人さんの役に立って嬉しい)</li> <li>ほかにあまり先輩役になれるひとが界隈に少ない(できるひとがそもそもすくないので希少価値がある)</li> <li>人にものを教えたりした機会が少ない(新人さんに教えることで、新たな知見が得られたり、古い知識をアップデートする機会になったりします)</li> </ul> <h2 id="さいごに">さいごに</h2> <p>今回はOSS Gateオンボーディングの第一回として、「debパッケージのメンテナンスやそれを支えるシステムの開発」という内容で参加者を募集し、実際に支援をした内容を紹介しました。</p> <p>短期ではありましたが、今後継続していくうえで必要な知識や経験を伝授できたのではないかと考えています。</p> <p>まだ手探りな部分も多いのですが、この取り組みをぜひ継続していきたいです。 第二回がいずれ開催されるはず(内容は先輩役次第)なので、その際には新人さんはぜひ応募してみてください。</p> <div class="footnotes" role="doc-endnotes"> <ol> <li id="fn:geo" role="doc-endnote"> <p>これまでオフラインだと参加できなかったけど、オンラインになったので鹿児島から参加してます、という人がいました。 <a href="#fnref:geo" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:mentor" role="doc-endnote"> <p>かつて、<a href="https://twitter.com/henrich">Debian開発者のやまね</a>さんにいろいろ教えてもらって助かったという体験があったので、同じようなことができないかという気持ちでいました。やまねさんは<a href="https://gihyo.jp/magazine/SD">Software Design</a>でDebian Hot Topicsを連載されています。 <a href="#fnref:mentor" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:application" role="doc-endnote"> <p>7/31(土)に締め切り、8/2(月)に選考・連絡する予定にしていました。1件来たらそのまま採用、ぐらいの想定をしていました。 <a href="#fnref:application" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:dh-make-golang-estimate" role="doc-endnote"> <p>Goのパッケージングの場合、dh-make-golang estimateというコマンドを実行するとパッケージングされていない依存ライブラリーがわかる。 <a href="#fnref:dh-make-golang-estimate" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:blogs" role="doc-endnote"> <p>これまで公開していた<a href="https://oss-gate.github.io/on-boarding/proposals/2021-08/kenhys-maintain-debian-packages/references-2021-08.html#debian">Debian関連の記事</a> が役に立つときが来ました。 <a href="#fnref:blogs" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:off-topics" role="doc-endnote"> <p>ほかにもDebianプロジェクトの運営や、DPL選挙の話など、雑談でいろいろ話をしたりもしました。 <a href="#fnref:off-topics" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:merit" role="doc-endnote"> <p>先輩にとっても古くなっていた知識をアップデートすることができたり、Goパッケージングのツールの改善につながるフィードバックができたりしたため。 <a href="#fnref:merit" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:sharing-todo" role="doc-endnote"> <p>もちろん作業をすすめていくうちに、必ずしも予定通りにいかないことはあります。向き不向きはあるでしょうが、ゴールがわかりやすくなるのでそのようにしました。 <a href="#fnref:sharing-todo" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> <li id="fn:setting" role="doc-endnote"> <p>端末の共有などは、今回はscreenで行いましたが、もっといいやりかたがあるかもしれないです。 <a href="#fnref:setting" class="reversefootnote" role="doc-backlink">&#8617;</a></p> </li> </ol> </div> Fri, 08 Oct 2021 00:00:00 +0000 https://oss-gate.github.io/report/on-boarding/2021/10/08/on-boarding-2021-08-kenhys.html https://oss-gate.github.io/report/on-boarding/2021/10/08/on-boarding-2021-08-kenhys.html report on-boarding OSS Gate のワークショップをFujitsuで再び実施してみた(開催レポート) <h2 id="はじめに">はじめに</h2> <p>こんにちは。<a href="https://twitter.com/yasunorigoto1">@Yasunorigoto1</a>です。</p> <p>OSS Gateワークショップ、2018/5/29に富士通社内の実施として、2回目を開催することができました。 <a href="/report/workshop/2017/10/02/workshop-report-in-fujitsu.html">前回のOSS Gateワークショップ</a>では私から教育部門に「ぜひやりたい」と強く提案する形で実現しましたが、 それに対して、今回は教育部門のほうから「やりましょう」と提案があって実現しました。 (私も最初は知らなくて、気がついたら開催が決まってたというのが正直な所です。) OSS Gateワークショップ開催の意義が会社に認められたようで、大変ありがたい所です。 そこで、今回は2回目の開催レポートを記載しました。</p> <h2 id="前回と同じ所変更した所">前回と同じ所/変更した所</h2> <p>前回は初回ということもあって、OSS Gateのカルチャーを富士通にできるだけ取り入れたいと 考えていたので、主催者である須藤さんを司会進行役に呼んで開催しました。が、今回は いずれこの活動を富士通として自主的に行うものにしたいと考えていたので、 筆者が司会進行役になりました。 サポーターは、前回お願いした社内の人に今回もお願いしました。 さらに、<a href="http://www.tdiary.org/">tDiary</a>で高名な<a href="http://sho.tdiary.net/">ただただし</a>さんをサポーター役に迎えることができました。</p> <p>また、前回は以下のような課題がありました。</p> <ul> <li>本家のOSS Gateワークショップと同じように、参加者に作業用の端末を持ってきてほしいとお願いしたが、 セキュリティ上、仕事の端末の持ち出しが難しいケースがあり、参加出来ない人がいた</li> <li>社内の仮想化環境で作業してもらったが、proxyの設定でつまづくケースが非常に多く 余計な時間がとられてしまった。</li> </ul> <p>そのため今回は、教育部門が以下も用意してくれました。</p> <ul> <li>作業端末として、会場にPCを用意 実行環境として、社内ではなく、某パブリッククラウド環境を用意</li> <li>ネットワーク環境も、社内ではなく、社外に直接接続する環境を用意</li> </ul> <p>予算やコンプライアンス等々の色々な事務処理、社内調整を教育部門側でやっていただいたはずであり、 大変ありがたいです。</p> <p>一方、前回と同じ点としては、今回もOSS Gateワークショップ本体の解説の前に以下を実施しました。</p> <ul> <li>社外秘や他社・お客様の情報を社外に出さないようにするための諸注意</li> <li>知財部門からのOSS参加申請手続きの解説</li> </ul> <p>これらは、 <strong>会社の業務として</strong> OSSコミュニティに参加することを想定した練習と位置づけているためです。</p> <p>これが終わったあとは、いつもの本家OSS Gateワークショップと同様です。 本家ワークショップの進め方は<a href="https://www.youtube.com/playlist?list=PLg41HKRyxE6gIvt3sM09REYvLYkRRkuaS">動画</a>でも確認出来ますが、 大まかに書くとやっていることはたったのこれだけです。</p> <ol> <li>ユーザーとして使ってみる。この際、ドキュメントは <strong>必ず公式のもの</strong> を確認する。</li> <li>やっている作業を逐一メモして、自分がつまづいたり、分かりにくかったりする点などを洗い出す。</li> <li>メモを元にどんなことをコミュ二ティにフィードバックできるかについて、経験者であるサポーターと考える。</li> <li>バグ報告やドキュメントの改善提案などの形でコミュニティにレポートする。</li> </ol> <p>コミュニティへのフィードバックが未経験だと、「初心者だから邪険に扱われそう」 とか不安になってしまい、フィードバックがなかなかできないものです。 OSS Gateワークショップでは、上記の様にちょっとしたフィードバックを <strong>実際に経験</strong> することで、 上記のような不安を払拭することを目指しています。</p> <h2 id="やってみて">やってみて</h2> <p><img src="/images/posts/2018-05-29-workshop-report-in-fujitsu/IMG_0026_2.JPG" alt="会場の様子" /> <img src="/images/posts/2018-05-29-workshop-report-in-fujitsu/IMG_0069.JPG" alt="やったことのまとめ" /></p> <p>前回は対象のOSSとしてOpenStackのどれかのコンポーネントを選ぶ人が多かったのですが、 今回はSelenium IDE, Jupyter notebook, Docker, QEMU, Hyperledger fabricと多様になりました。</p> <p>ワークショップの最初でパブリッククラウド環境の導入でバタバタしたので、「評価はどうかな?」とちょっと心配していました。</p> <p>それもあってか今回は全員がフィードバック、すなわち質問やバグ報告を出すところまでたどり着いたか、 あるいはその一歩手前のところまで時間内に進めることができました。(最後までいかなかったのは、 フィードバックを出したら初めてCLAにサインするように求められたりしたケースです)</p> <p>また、今回のワークショップでGitHubの便利さにも気がついた方も多かったように思います。 OSS Gateワークショップでは、最後のふりかえり用のアンケートをYAML形式で書いてpull requestを出す方式にしているのですが、これもOSSにpull requestを出す練習になっている点も効果が高いように思います。</p> <h2 id="課題と今後">課題と今後</h2> <p>今回は前回と比べると、ビギナーの募集に時間がかかりました。 最初の参加者募集の文面が少し分かりにくかったかな?というのが個人的な反省点。</p> <p>また、OSS Gateワークショップの趣旨や内容を伝えても、 「そんなに不具合って簡単に見つかるの?イメージが沸かない」 っていう反応もあったりしました。 「OSSコミュ二ティにフィードバックができるのは、エキスパートの人だけ」というバイアスを払拭するのも このOSS Gateワークショップの目的ではあるのですが、未参加の人にそれを伝えるのはなかなか難しいですね。</p> <p>また、もう少しこの活動を軌道に乗せて、社内のあちこちに展開していけると良いなと考えています。</p> <h2 id="前回開催時の反応から">前回開催時の反応から</h2> <p>おまけですが、前回の開催レポート時にいただいた反応の中で、ちょっと気になったものをピックアップ</p> <h3 id="申請は面倒">申請は面倒?</h3> <p>「OSSコミュニティに参加するのに会社に申請しないといけないとかめんどくさすぎる。 もし自分がこの会社にいたらきっとやらない。」</p> <p>うーん。これは家から趣味でOSSコミュ二ティに参加するケースを想定されているのか、 会社の業務として参加を想定しているのかどちらなんだろう?と感じました。</p> <p>一応念のため言っておくと、プライベートでまったくの趣味で、お家からOSSに参加する場合は、 会社の手続きとかの縛りはまったくありません。(自宅での過ごし方を会社が縛ってはいけません) 好きなように参加できます。</p> <p>会社の業務としてであれば、OSSによってはContribution License Agreementに 会社としてサインする必要があったりします。そういう文面のチェックとかを法務部門が やってくれるのはやっぱり便利だと思いますよ。</p> <h3 id="本社だけ">本社だけ?</h3> <p>「こんなことできるのは富士通本社だけだよね。子会社は関係ない」</p> <p>んにゃ。そんなこと無いですよ。これまでにFujitsu OSS Gateワークショップに サポーターとして来ていただいたメンバには、弊社子会社でOpenStackのcore commiterになった人もいます。 (諸事情で、結局committerを返上しちゃいましたが)</p> <p>こういうのへの理解って、本社かどうかとは関係ないです。 結局 <strong>人による</strong> のです。OSSに対する認識って人によって 大きく異なりますし、大きな組織って、なかなか一枚岩にならなくて、 認識を全体に浸透させるのが本当に大変です。</p> <p>弊社の中にはOSSに理解のない人がまだまだ沢山いるのは、おそらくその通りなのでしょう。</p> <p>でも、私は希望を持っています。 まず、このOSS Gateワークショップ自体、会社の中で草の根的な活動としてやっているわけではなく、 <strong>会社の役員クラスに認られたうえで</strong> 開催しています。 (正確に言うと、「ソフトウェア技術交流会」と言う社外の人も交えた社内活性化の イベントが上記の下に行われていて、OSS Gateワークショップはその中の一セッションとして開催しています。) なので、会社のずっと上層部にOSSに理解している方々がいるということです。</p> <p>今回一番うれしかったのは、最後の振り返りで、 「どこでこのOSS Gateワークショップを知りましたか?」 という質問に、ビギナー7人のうち5人が <strong>「上司から勧められた」</strong> と回答してくれたことです。</p> <p>上司が障害になってコミュ二ティに参加できないとか、あるいは相談しづらい というケースはまだまだ沢山あるとおもうのですが、理解のある管理職の方が増えてくれば 風は変わると信じています。</p> <p>以上。</p> Mon, 28 May 2018 00:00:00 +0000 https://oss-gate.github.io/report/workshop/2018/05/28/workshop-report-in-fujitsu.html https://oss-gate.github.io/report/workshop/2018/05/28/workshop-report-in-fujitsu.html report workshop OSS Gateワークショップを開催するには <h2 id="oss-gateワークショップは自由に開催することができます">OSS Gateワークショップは自由に開催することができます</h2> <p>OSS開発に参加する「入り口」を提供する<strong>OSS Gate</strong>は、OSS開発へのフィードバックを実際に体験するワークショップを開催しています。このワークショップを自分たちで開催しませんか!</p> <p>これまでも、色々な地域や企業・イベントなどで開催してきました。</p> <ul> <li><a href="https://oss-gate.github.io/workshop/report.html">ワークショップレポートを読む</a></li> <li><a href="https://oss-gate.github.io/about/">OSS Gateについて</a></li> </ul> <p>興味があれば、<a href="https://gitter.im/oss-gate/general">Gitter - oss-gate/general</a>で、相談してみてください。</p> <h2 id="oss-gateの主な活動形式">OSS Gateの主な活動形式</h2> <p>これまで、OSS Gateでは、このような形式の活動を行ってきました。</p> <ul> <li>ワークショップ:OSS開発の未経験者が、OSS開発へのフィードバックを実際に体験します</li> <li>ミートアップ:特定のOSSを開発する人たちが集まる場です。他のOSS開発者と相談したり情報交換できます</li> <li>もくもく会:色々なOSSを開発する人たちが集まって、雑談しながら各自で作業する会です</li> </ul> <h2 id="開催手順">開催手順</h2> <ol> <li><a href="https://gitter.im/oss-gate/general">Gitter - oss-gate/general</a>で、開催について相談・意思表示する</li> <li>日時・場所を調整する</li> <li><a href="https://oss-gate.doorkeeper.jp/">Doorkeeper</a>で告知する(DoorKeeperで主催者となっているメンバーに相談する)</li> <li>開催する</li> <li>報告する(任意)</li> </ol> <h2 id="ワークショップ開催faq">ワークショップ開催FAQ</h2> <h3 id="ワークショップはどのような内容ですか">ワークショップは、どのような内容ですか</h3> <p>簡単に言うと、「ユーザーとして使って気になったところをフィードバック」します。<a href="https://oss-gate.github.io/workshop/report.html">ワークショップレポート</a>をいくつか読むと、内容がつかめるでしょう。</p> <h3 id="ワークショップはどんなossを対象にしても良いですか">ワークショップは、どんなOSSを対象にしても良いですか</h3> <p>はい、構いません。多くの場合、参加者(ビギナー)に自分が興味のあるOSSを選んでもらっています。そのため、ひとつのワークショップで、ビギナーごとに異なるOSSにフィードバックすることがほとんどです。</p> <h3 id="参加者に自分で選んでもらうとフィードバック方法を教えるのが大変ではありませんか">参加者に自分で選んでもらうと、フィードバック方法を教えるのが大変ではありませんか</h3> <p>フィードバック経験のあるサポーターに参加してもらいます。この時、ビギナーが興味を持つOSSへのフィードバック経験がなくても構いません。サポーターの役割は、ビギナーがフィードバックする時に、背中を押してあげることです。</p> <h3 id="ワークショップを開催するにはどのような人材を集めると良いですか">ワークショップを開催するには、どのような人材を集めると良いですか</h3> <p>まずは、主催者と進行役を確保すると良いでしょう。その他に、参加者(ビギナーとサポーター)なども募集します。</p> <ul> <li>主催者:OSS Gateコミュニティや会場との調整役</li> <li>進行役:当日の司会進行。<a href="https://github.com/oss-gate/workshop/blob/master/tutorial/scenario.md">シナリオ</a>や<a href="https://slide.rabbit-shocker.org/authors/oss-gate/">スライド</a>・<a href="https://www.youtube.com/watch?v=aqQn4c5vmS0&amp;feature=youtu.be">ビデオ</a>が用意してあるので、それを良く確認しておけば大丈夫</li> <li>サポーター:OSSの開発に参加している人たち。または、これまでビギナーとして参加したことがある人たち。</li> <li>ビギナー:OSS開発に参加したことがない。参加したことはあるけど、まだ自信がない人たちです。</li> </ul> <p>サポーター数 &gt;= ビギナー数 / 2 が、1つの目安になると思います。</p> <p>サポーターが十分に集まらない場合、<a href="https://gitter.im/oss-gate/general">Gitter - oss-gate/general</a>で相談してもらうと、お手伝いできる人が見つかるかも知れません。</p> <h3 id="ワークショップにはどのくらいの時間がかかりますか">ワークショップには、どのくらいの時間がかかりますか</h3> <p>休日の5-6時間くらいを想定しています。一度に開催できない場合、2回に分ける場合もあります。</p> <h3 id="会場はどのようなスペースが良いでしょうか">会場は、どのようなスペースが良いでしょうか</h3> <p>集客規模にも寄りますが、10人以上座れる机と椅子がある会議室などがやりやすいと思います。</p> <h3 id="会場にはどのような設備備品が必要になりますか">会場には、どのような設備・備品が必要になりますか</h3> <ul> <li>進行用のプロジェクタ or ディスプレイ</li> <li>参加者(ビギナーとサポーター)用の机と椅子</li> <li>ネットワーク(WiFi)</li> <li>電源</li> <li>マイク(会場が広い場合)</li> </ul> <h3 id="ワークショップに必要なドキュメントはありますか">ワークショップに必要なドキュメントはありますか</h3> <p><a href="https://github.com/oss-gate/workshop">ワークショップ運営ドキュメント</a>を用意しています。ここには、進行役のためのシナリオやスライドがあります。</p> <h3 id="ワークショップの開催はどのように告知すれば良いですか">ワークショップの開催は、どのように告知すれば良いですか</h3> <p><a href="https://oss-gate.doorkeeper.jp/">Doorkeeper</a>を利用できるので、DoorKeeperで主催者となっているメンバーに相談してみてください。もちろん、自分たちでも、どしどし宣伝しましょう!</p> <h3 id="参加者を限定したりクローズドに開催してもいいですか">参加者を限定したり、クローズドに開催してもいいですか。</h3> <p>はい、構いません。これまでも、特定の企業内での開催や、イベントとの併設の実績があります。</p> <h3 id="スポンサーを募ってもいいですか">スポンサーを募ってもいいですか</h3> <p>はい、構いません。これまでも、会場提供や懇親会の支援、社員を業務時間内にOSS Gateに参加させるなど、いろいろな形で支援して頂きました。</p> <p>スポンサーの名前は、スポンサーページに社名を記載することができます。また、希望があれば、スポンサーの告知タイムを設けてもいる場合もあります。</p> <ul> <li><a href="https://oss-gate.github.io/sponsors/">OSS Gateスポンサー</a></li> <li><a href="https://oss-gate.github.io/sponsors/wanted.html">スポンサー募集</a></li> </ul> <h3 id="この他に質問や問い合わせフィードバックをしたい場合どうすれば良いですか">この他に、質問や問い合わせ・フィードバックをしたい場合、どうすれば良いですか</h3> <p><a href="https://gitter.im/oss-gate/general">oss-gate/general - Gitter</a>で、相談してみてください。不足している情報があるかも知れないので、フィードバックをもらえるとありがたいです。</p> Thu, 17 May 2018 00:00:00 +0000 https://oss-gate.github.io/announce/update/2018/05/17/workshop-hostting.html https://oss-gate.github.io/announce/update/2018/05/17/workshop-hostting.html announce update OSS Gate のワークショップをFujitsuでも実施してみた(開催レポート) <h2 id="はじめに">はじめに</h2> <p>はじめましての方も、そうでない方もこんにちは。 <a href="https://twitter.com/yasunorigoto1">@YasunoriGoto1</a>と申します。<a href="http://www.fujitsu.com/jp/">Fujitsu</a>の中の人です。</p> <p>私は現在、本業として<a href="https://qiita.com/YasunoriGoto1/items/177c7a5b22a02d087ebf">Linuxの不揮発メモリ</a>の開発に<a href="https://www.mail-archive.com/[email protected]/msg06017.html">取り組んで</a>います。<br /> そのかたわら、OSSの開発者を増やすことを私のライフワークとしていて、Fujitsu社内/社外でいろいろな活動をしています。</p> <p>ちなみに、先月CROSS2017というイベントに行ったのですが、こんな感じで自己紹介を晒してました。 <br /> <img src="/images/posts/2017-10-02-workshop-report-in-fujitsu/self-introduce.jpg" alt="自己紹介" /></p> <p>今回、FujitsuのOSSの開発者を増やすための活動として、 <strong>Fujitsu社内</strong> でOSS Gateのワークショップを実施することができました。<br /> これは、そのときの開催レポートです。</p> <h2 id="oss-gateとは">OSS Gateとは?</h2> <p><a href="https://oss-gate.github.io/">OSS Gate</a>は、もともとはFujitsuとは関連があるわけではなく、思いを同じくする”有志”による取り組みです。<br /> そのWebページでは以下のように紹介されています。</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>「OSS Gate」は、OSS開発に参加する「入り口」を提供する取り組みです。 OSS開発に未参加の人を参加する人へ、少し参加したことがある人を継続的に参加する人へ。 そうやってOSS開発に参加する人を継続的に増やしていく。それが「OSS Gate」の目的です。 </code></pre></div></div> <p>この取り組みの活動の一つとして、OSS Gateワークショップがあります。<br /> これは、OSSのコミュニティに参加したことがない未経験者の人に対して、経験者の方が隣についてコツを教えてあげながら、OSSコミュニティに質問やバグ報告を行う体験を <strong>実際に</strong> してもらうという勉強会イベントです。<br /> 現在では、<a href="https://oss-gate.github.io/report/workshop/2016/09/24/workshop-report-tokyo.html">この様子のレポート</a>や、<a href="https://www.youtube.com/playlist?list=PLg41HKRyxE6gIvt3sM09REYvLYkRRkuaS">ビデオ</a>も公開されているので、<br /> 実際の様子がどんな感じで行われているか?については、これらの資料からも分かると思います。</p> <p>私はこの活動に大いに賛同し、これまでも微力ながらOSS Gateの取り組みに協力してきました。<br /> しかしその一方で、社外だけでなく、常々 <strong>Fujitsu社内でも</strong> こういう活動が必要だと考えていました。</p> <p>そこで、弊社ソフト教育部門にOSS Gate ワークショップの社内の実施を強くお願いしました。<br /> またワークショップ実施に当たり、講師には<a href="http://magazine.rubyist.net/?0053-Hotlinks">須藤さん</a>(<a href="https://www.clear-code.com/">クリアコード</a>)を ぜひお呼びしたいとお願いしました。<br /> 須藤さんは、ご自身もRuby系の様々なOSSを開発していらっしゃるだけでなく、<br /> OSS Gateの主催として取りまとめていて、現在、様々なところでOSS Gateの取り組みを展開されています。</p> <p>この結果、教育部門には色々な形で協力いただいて、今回のワークショップを実現することが出来たのです。</p> <h2 id="なぜossコミュニティに参加するの">なぜOSSコミュニティに参加するの?</h2> <p>なぜ、会社としてOSSコミュ二ティに参加するのかというと、会社の立場、個人の立場、それぞれ色々な理由があると思います。<br /> これについては非常に深いテーマで、書き出すと非常に長くなります。</p> <p>しかし、ただ一つだけ伝えたいことを書くとするなら、私は、 <strong>Fujitsuの中のエンジニアが、OSSコミュ二ティという外の世界の人と触れられる場所に出て欲しいと</strong> 願っているからです。</p> <p>これは、外の世界の人と触れることによって、</p> <ul> <li>今まで社内だけでは分からなかったことに気がついたり、</li> <li>あらたな人脈を築いたり、</li> <li>新たな価値を生み出して欲しい と考えているからです。</li> </ul> <p>先日も隣に座っている2年目の若手にちょっとした機能提案をさせたのですが、Intelのメンテナの方が相談相手としてFacebookの中の人を召還してました。<br /> 会社の中に閉じた仕事をしていると、Facebookの中の人の話を伺う機会は中々無いですよね? 「OSSコミュ二ティに参加することで、初めて知ることが出来る世界がある」と私は信じています。</p> <h2 id="社外に出るのは怖い">社外に出るのは怖い?</h2> <p>とはいえ、社外に出てOSSコミュ二ティに参加しようとするのは、色々な心理障壁があるのも事実です。<br /> この中でも、心理障壁として象徴的だった、あるエピソードを記載します。</p> <p>ワークショップの開催前のある日、参加予定者(後で分かったのですが、今年の新人)の方から以下の質問が届いたのです。</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Githubアカウントを登録する際に用いるメールアドレスには 社内メールアドレス(@jp.fujitsu.com)の利用は可能でしょうか? : (中略) : 社内規約等で社外サービスへの社内メールアドレス(@jp.fujitsu.com)の登録が 制限・禁止されているのではないかと考えました。 : (以下略) : </code></pre></div></div> <p>( ゚д゚) ・・・ (つд⊂)ゴシゴシ (;゚д゚)?!</p> <p>こういう点から、許されているかどうかをわざわざ確認したくなるとというのは、正直言うと私にとってかなり衝撃的な質問でした。 新人の方がこういう「許しを得ないといけない」と感じる雰囲気みたいなものが、うちの会社予想以上に強くて辛いのだろうか?と。</p> <p>実際には、私自身や私の所属する部署、さらにはFujitsu社内の色々な部署から、業務としてLinuxやOpenStackなど様々なコミュニティに会社のメールアドレスで投稿しています。 また、これは他の多くの会社も同様です。 前述の通り統計を取ってOSSへの会社の貢献度を会社としてアピールしていますから、むしろ会社名で投稿するのは必須と言っても良いぐらい。 このような情報が伝わっていない要因はなんだろう? そして、どうあったら、この雰囲気を変えられるだろうか?と考えることになりました。</p> <p>このときは結局、私と教育部門で、以下のような回答をしました。</p> <ul> <li>教育受講とはいえ会社の業務であり、会社名義で問題ないこと。<br /> (業務なのにプライベートのメールアドレスを使うことのほうが問題。)</li> <li>OSS Gate開催にあたって、社内の各所とはすでに調整済みであること。 <br /> (実際、GitHubという公開の場所を使って、メモ書きすらも公開するワークショップを行うというのは、会社としてもはじめての経験でしたが、教育部門と共にがんばって各所と調整して、GitHubを使ったワークショップを実現しています。)</li> <li>すでに私をはじめとした様々な人が、会社名義でOSSコミュニティに参加し、OSSの開発をしていること。</li> <li>前述の通り、会社名義のパッチの数などをカウントして、「Fujitsu」のOSSへの貢献度として色々なところでアピールしていること。</li> <li>そしてなによりも、質問者の方自身がFujitsuを代表するOSSの貢献者として、将来上記のようなアピールができるような人材になって欲しいこと!</li> </ul> <h2 id="会社のルールとoss">会社のルールとOSS</h2> <p>とはいえ、会社として参加する以上、知財面のリスクなどの注意すべきことはやっぱりあります。<br /> 弊社、知財面ではOSS参加ガイドラインがつくられています。<br /> これは、<a href="https://elinux.org/images/e/e7/%E3%80%90CEWG%E3%80%91OSS%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E5%8F%82%E5%8A%A0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.pdf">Japan Technical Jamboree 60で対外発表</a>しているぐらい立派なものなのです。</p> <p>しかし、こういうルールがあると、一人のエンジニアレベルでは <strong>「あ、手続きメンドクサイ」</strong> と敬遠してしまいがちです。 「知財部門ってOSSに理解が無いよね?」みたいに思っていたり。</p> <p>じゃあ、実際のところはというと、知財部門の方と実際に話すと分かるのですが、別に知財として「OSSコミュニティに出るな!」なんて言うつもりは <strong>まったく無い</strong> のですよね。<br /> 直接話を伺うと、 <strong>「むしろ、どんどんOSSコミュニティに出て欲しい」</strong> とお話してくれます。</p> <p>私は知財部門とは面識があることもあって、このOSS Gate実施にあたって、<br /> 社内の手続きについては事前にかなり協議しました。<br /> その議論の結果、以下のメッセージを参加者の方々に伝えていこうという結論になりました。</p> <ul> <li>今の社内ルールは、たしかに一見難しく見えている。しかし、よく読んでみると当たり前のことが書いてあるし、実際に手続きをしてみると思ったほどの手間にはならない。</li> <li>現在の法律の下では、知財面からはこれ以上は簡略化が難しいという最低限のルールにしてある。</li> <li>ルールを守ってさえくれれば、 <strong>何か問題がおきた時でも会社としてあなたを守ることができる</strong> 。</li> <li>オープンソースライセンスや、OpenStackの<a href="https://secure.echosign.com/public/hostedForm?formid=56JUVGT95E78X5">Contribution License Agreement</a> のようなエンジニアには難しい文章の解釈について、この社内手続きを行うことで <strong>知財・法務の専門家がサポートしてくれる便利なルール</strong> と、むしろ考えて欲しい。</li> </ul> <p>これについては、当日のワークショップの最後に、知財さんから皆さんにお話しすることになりました。</p> <h2 id="oss-gate-ワークショップの開催の様子">OSS Gate ワークショップの開催の様子</h2> <p>SIerと言われ、色々な厳しいご意見を頂く弊社ですが、OSSコミュ二ティに参加したり開発した経験のある人は弊社にもいます。 当日は、そういう人の中から仕事の都合がつく人を、受講者の指導をするサポーターとして5人集めました。</p> <p>そして、初心者、すなわちビギナーの方も10名程度集まりました。 今回は、社内勉強会のメーリングリスト(現在800人ぐらい参加)で、思いっきり宣伝したのが効いた様で、満席で参加できないという方もいました。 (今回参加してくれた中には、須藤さんが来るということで参加してくれた方もいたようです。)</p> <p>扱うOSSとしては、弊社がOpenStackを推進していることもあって、OpenStackのテーマを選ばれる方がやや多かったようです。</p> <p>そして、始まると皆リラックスして励むことが出来たようです。 なんといっても、須藤さん、いい意味でいつも「ふわっと」した柔らかいトークをされていて、それが非常に効果的だったと思います。</p> <p>OSS Gateワークショップの内容も、外でいつも行っているワークショップと大体同じ形で進めることが出来ました。</p> <p><img src="/images/posts/2017-10-02-workshop-report-in-fujitsu/workshop.jpg" alt="当日の写真" /></p> <h2 id="oss-gate-ワークショップをやってよかったこと">OSS Gate ワークショップをやってよかったこと</h2> <p>Fujitsu社内でOSS Gate ワークショップをやってみると、やっぱり社内でやってみて良かったなと思います。</p> <p>OSS Gateは、普段土曜日や残業時間などに活動していますが、時間やお金の面で中々都合がつかないとかある人もいると思います。 そういう中で、会社の正式な教育として実施できた(つまり出張として扱うことができる)のは、意義が大きかったかな?と思っています。</p> <p>また、常日頃から感じていたことですが、以下の点がOSS Gate ワークショップの長所だと思っていてこれを社内に伝えることが出来たのも良かったと思っています。</p> <h3 id="1-初心者だからこその参加の仕方を教えてくれた">1. 「初心者だからこそ」の参加の仕方を教えてくれた</h3> <p>OSSの開発と言うと、すごい技術者がすごいソースを書く必要があるというイメージを持ちがちです。 <br /> そして、実際コミュニティにはすごい人も沢山います。<br /> しかし、すごい開発者だからこそ、初心者がつまづくところが逆に分からなかったりします。<br /> そういうところを分かりやすくするのは、初心者だからこそできることなのです。<br /> 当日は、そのような簡単な修正からやってみようということを勇気づけてくれました。</p> <h3 id="2-まずは質問やバグ報告からでok">2. まずは質問やバグ報告からでOK</h3> <p>OSSコミュニティに質問やバグ報告をしている人は案外少ないですよね。<br /> 実際、弊社でアンケートをとってみると、OSSを使っている部署は凄く多いのに、「質問やバグ報告を行っていますか?」と聞くと驚くほど少ない…。 <br /> 実際のところ、みなさんQiitaとかで回避策を探したり、Twitterで愚痴をいうだけで終わったりしていませんか?(正直、気持ちはとても良くわかります。)<br /> でも、OSSコミュ二ティ内で、その詰まったところについて、公式ドキュメントを分かりやすく直してもらうことで、今後は愚痴を言ったりする必要はなくなります。<br /> OSS Gateでは、「ちょっとしたことを直すだけでも意義がある」と教えてくれます。</p> <h3 id="3-ほとんどのことをgithubで行う">3. ほとんどのことをGitHubで行う</h3> <p>ワークショップでは、参加者の作業ログ、アンケート、また、運営側の進行方法やプレゼンの資料に至るまで、ほぼ全てに対してGitHubを活用しています。 (例外は、chatのためのgitterと、募集のためのDoorkeeperを使っていることぐらいでしょうか?) さらに、最後の参加者のアンケートは、YAML形式で回答した後、GitHubでpull requestを出す形になっています。</p> <p>GitHubに慣れていない人が弊社にはまだまだ沢山いる中で、 実際に触ってpull requestまでの一連の流れを体験してもらう非常に良い機会となりました。</p> <h3 id="4-良い意味でふわっとしている">4. 良い意味で「ふわっと」している</h3> <p>弊社、(私も含めて)良くも悪くも「かっちり」しているんですよね。<br /> 皆色々苦労してきているので、経験を踏まえて色々なリスクに対する準備を <strong>用意周到に</strong> 行うのが普通になって、中々先に進めない。動かない。<br /> でも、最初の第一歩を踏み出すべき初心者にとっては、それだとむしろマイナスの効果が大きい…。</p> <p>OSS Gateでは、須藤さんのお人柄も大きいのですが、「とにかくやってみようよ」って声をかけることで、<br /> 初心者の人を前進させるように勇気付けてくれます。これがまた、あらためていいな!って思いました。</p> <h3 id="5-最後にその場で振り返る">5. 最後にその場で振り返る</h3> <p>アンケートをとるのはどんなイベントでも行いますが、大体は終わってから後で集計しますよね?<br /> でも、終わってからのアンケート集計だと、結果が分かるまで時間がかかります。<br /> その間に熱が冷めたりして、(特に参加者にとって)次の行動につながらない可能性が高いです。</p> <p>OSS Gateでは、”ワークショップの時間中に皆でその結果を確認し、参加者も運営側も今後の活動の継続・改善に繋げる”<br /> というスタイルを取っています。その場で皆で振り返れば、だれもが次の行動にすぐ移すことができます。</p> <h2 id="最後に">最後に</h2> <p>アンケートでは非常に好評だったこともあり、次回以降も機会を設けてFujitsu社内でも今回のような取り組みを続けたいと考えています。</p> <p>一方で、社内で実施したゆえの課題が残りました。 特に、当日はビギナーの方がproxyの設定につまづいてgithub.comへのgit pushが通らなかったりしたのは、今後改善していきたいと思います。</p> <h2 id="謝辞その他">謝辞、その他</h2> <p>何よりも、本OSS Gateを発案・主催し、当日のワークショップの講師を務めてくださった須藤さんに深く感謝します。<br /> 須藤さんがいなければ、このような取り組みを行うことは出来ませんでした。 また、これまでOSS Gateに協力・参加してくださっている他の有志の方々全員にも感謝いたします。</p> <p>さらに、弊社の教育部門、知財部門をはじめ、今回の実施提案と本レポート公開を受け入れ、調整に協力していただいた関係者の方々に感謝します。</p> <p>なお、オリジナルの(つまり、富士通社外の有志の)OSS Gateも、定期的に開催していたり、関西などの各地で活動を展開しています。 これについては、<a href="https://oss-gate.doorkeeper.jp/">Doorkeeperで募集</a>しているので、そちらもチェックしてくれると、個人的にもうれしいです。</p> <p>以上</p> Mon, 02 Oct 2017 00:00:00 +0000 https://oss-gate.github.io/report/workshop/2017/10/02/workshop-report-in-fujitsu.html https://oss-gate.github.io/report/workshop/2017/10/02/workshop-report-in-fujitsu.html report workshop オープンソース開発プロジェクトの参加者になるワークショップ「OSS Gateワークショップ」 <p>「OSS Gateワークショップ」は、OSS開発プロジェクトに参加したことがない人が、開発プロジェクトの活動を実際にやってみようというワークショップです。</p> <p>自分が興味を持つOSS開発プロジェクトを選んで、ドキュメントのミスを直したり、バグレポートやパッチを送るといった活動を、4-5時間かけて実際に行います。もちろん、この短時間では充分な活動になりませんが、オープンソース開発プロジェクトに関わる最初の一歩になるはずです。</p> <p>OSS Gateワークショップは、2016年の3月に始まり、2か月に1度のペースで、開発コミュニティの有志によって開催されています。</p> <p>今回は、この「OSS Gateワークショップ」について、詳しく紹介します。</p> <p><img src="/images/posts/2016-09-24-workshop-report-tokyo/photo01.png" alt="写真1" /></p> <h2 id="オープンソース開発プロジェクト敷居は高い">オープンソース開発プロジェクト敷居は高い?</h2> <p>システム開発では、不可欠な存在となったオープンソースソフトウェア(OSS)。あなたは、その開発プロジェクトに、どんなイメージを持っていますか?</p> <p>GoogleやFacebookに所属している凄いハッカーが、ネットを介してバリバリとコードを書いているとか、イケてるWebサービスのCTOが、華麗なパッチを次々と投稿しているとか、あるいは、コンピュータサイエンスの天才的な研究者が、秘蔵のライブラリをネットで公開しているとかいった感じでしょうか。</p> <p>とにかく、敷居は高そうですよね。普通のエンジニアには、関係のない世界のような気がするでしょう。</p> <p>でも、本当は違います。もちろん、スター開発者もいるのですが、OSSの開発プロジェクトを支えているのは、非常に地道な活動の集まりです。書くべきコードはたくさんありますし、テストやドキュメント、バグレポートやプラグインなども必要です。そういう地道な活動成果が十分に集まるおかげで、現在のOSSの盛り上がりがあるのです。</p> <p><a href="http://cruel.org/freeware/cathedral.html">伽藍とバザール</a>で紹介された「リーナスの法則」のように、「目玉の数さえ十分あれば、どんなバグも深刻ではない」のです。</p> <p>しかし、開発に参加してくれる人たちが十分に存在しなければ、話になりません。</p> <p>そこで、開発コミュニティの有志が、OSS開発プロジェクトに参加したことがない人向けに、開発プロジェクトの活動の一端を実際に行ってもらうワークショップを開催しています。それが、「OSS Gateワークショップ」(<a href="https://oss-gate.doorkeeper.jp/">Doorkeeper</a>、<a href="https://github.com/oss-gate">GitHub</a>)です。2016年の1月から始まって、2か月ごとの開催ですが、毎回多数のキャンセル待ちが出る人気イベントになっています。</p> <h2 id="未経験者が経験者になるワークショップ">未経験者が経験者になるワークショップ</h2> <p>ここ数年、GitHubの普及により、開発プロジェクトからソースコードを入手したり、活動の様子を垣間見ることが、かなり手軽になりました。しかし、オープンソース開発プロジェクトへの新しい参加者は、決して多くありません。これは、どの開発プロジェクトでも共通していると思います。</p> <p>OSS Gateワークショップの参加者に、開発プロジェクトに参加していない理由を聞いてみると、「本業の仕事が忙しい」「間違ったことをするんじゃないかと不安を感じる」といった答えが返ってきました。</p> <p>OSS Gateワークショップの目的は、このようなオープンソース開発プロジェクトの参加経験がない人を、経験者に変えることにあります。参加者も、そんな感じの人たちが集まっています。そして、このような活動を通じて、OSS開発者を継続的に増やしたいという目論見があります。</p> <p><img src="/images/posts/2016-09-24-workshop-report-tokyo/mokuteki.png" alt="アンケート・参加目的" /></p> <p>OSS Gateワークショップが始まったきっかけの一つは、2015年に開催された<a href="http://www.seplus.jp/sezemi/ohw/">OSS Hack Weekend</a>というイベントでした。Ruby開発や<a href="https://www.oreilly.co.jp/books/9784873115658/">リーダブルコード</a>のあとがきなどで有名な、クリアコードの須藤功平さんを中心にして、学生を対象にして最初のワークショップが開催されました。そこで、「OSS開発プロジェクトに未参加の人は参加方法がわからないだけで、参加方法がわかればOSS開発に参加できる」という手応えを得たことから、このような取り組みを継続的に行っていくOSS Gateが始まりました。現在では、RubyやLinuxカーネルの開発者などが、参加しています。</p> <h2 id="キャンセル待ちの多い人気の高いイベントに">キャンセル待ちの多い、人気の高いイベントに</h2> <p>OSS Gateは、これまでに6回のワークショップを開催しました。そのうち1回は、東京Ruby会議11に合わせて行われました。また、9月から札幌でもワークショップが始まっています。</p> <p>ワークショップは、約10-20名程度のビギナー(これまでOSS開発に参加したことがない人)と、ビギナーにアドバイスをするメンター(OSS開発に参加したことがある人)で構成されています。メンター1名に対して、ビギナー1-2名というかなり手厚い体制です。</p> <p>これまでに、のべ70名程度のビギナーの人が参加してくれました。ここ最近は、多くのキャンセル待ちが出る、人気の高いイベントになっています。</p> <p>では、実際のイベントの様子を紹介しましょう。9月24日のワークショップは、恵比寿ガーデンプレイスにある<a href="https://crowdworks.co.jp/">クラウドワークス</a>のMixlab(ミックスラボ)というイベントスペースで行われました。</p> <p>ワークショップが始まると、各自がノートPCやMacBookを持って席に着きました。このとき、メンターの両隣にビギナーが座るという形で始まりました。最初は、アイスブレイクを兼ねた自己紹介です。日ごろ、どんな開発に関わっているかとか、使っているプログラミング言語とかを紹介すると、みんなエンジニアなので、かなり盛り上がっていました。</p> <p>実際のイベントは、要所要所で、OSS開発プロジェクトの勘所や次にやる作業などの説明が入りますが、かなり黙々と進んでいきました。</p> <p>まず最初に、ビギナーは、自分が題材にするOSSをひとり一つ選びます。普段使っているものでも良いですし、興味を持っているだけのものでも構いません。メンターと相談しながら、題材を決めたら、それを実際に手元にインストールして、「Getting Started」などのドキュメントに沿って試してみます。そうすると、何かしらつまずいたり、インストール手順が情報不足だったり、サンプルコードが間違っていたり、typoが見つかったり、なんて事が起こります。</p> <p>そんな時、これまでなら、愚痴るか、Twitterでつぶやくか、Qiitaで回避策を書くしかなかったかもしれません。</p> <p>しかし、そこが開発プロジェクトにフィードバックするチャンスなのです。</p> <p><img src="/images/posts/2016-09-24-workshop-report-tokyo/photo02.png" alt="写真2" /></p> <h2 id="oss開発プロジェクトの参加経験者がメンターとなり手厚くアドバイス">OSS開発プロジェクトの参加経験者がメンターとなり、手厚くアドバイス</h2> <p>このようなポイントは、開発者としてもなかなか手が回らないところです。初めて使う人がどういう場所でつまずくか、開発者はなかなか知ることができません。そういうポイントを見つけて、気軽にバグレポートやプルリクエストを送ってみると、意外と簡単に開発プロジェクトに取り込んでもらえるのです。一度、修正してもらえれば、その分だけOSSのサポート品質が向上しますし、他の人がつまずくこともなくなるという訳です。</p> <p>この最初の調査は、ビギナー各自が、OSS Gateでワークショップ用に用意した、GitHub上の<a href="https://github.com/oss-gate/workshop/issues">Issue</a>という課題管理機能に、作業ログとして書き込んでいきます。そして、メンターは、この作業ログをベースにして、開発プロジェクトへのフィードバックの方法をアドバイスしていきます。</p> <p>ビギナーが選んだ題材について、メンターが詳しくないこともあるのですが、レポートの粒度を小さくしたり、開発版と安定版のリポジトリを確認したり、パッチの送り方を調べたりと、開発プロジェクトに参加してきたからこそ気づくポイントもあります。逆に、題材のOSSを知っていると、教えすぎないように我慢するのが大変だそうです。あるメンターさんが、「詳しく知らなくても、ビギナーの半歩先を行くぐらいが、ちょうどいい感じだ」と言っていたのが印象的でした。</p> <p>ちなみに、、メンターがベテランで、ビギナーが若い人とも限りません。20代-30代でも、OSS開発プロジェクトでの経験があれば、メンターをやっていますし、エンジニアとしてはベテランでも、OSS開発者としては経験が少ないという人も参加しています</p> <p>最終的に、ビギナーは、Pull-Requestやバグレポートを送ることを目指します。ここでも、バグレポートをどう書くべきか、こんな英語で通じるかとか、いろいろ悩みどころがあります。メンター同士でディスカッションしている場面も少なくありません。開発プロジェクトごとに流儀は違っていますし、そもそもレポートの書き方に正解はないので、ここはメンターに背中を押してもらって、エイっとばかりに送信します。</p> <p>また、課題によっては、ワークショップの時間内では、環境構築に時間がかかり過ぎてしまうとか、見つけた課題の解決策を発見できないなんてことも起こりました。しかし、自分ひとりでは行き詰って時間ばかりが無駄に過ぎていくような場合でも、他の開発者はその過程でどんな作業をしているか、メンターを通じて体感することができるのです。</p> <p>そして何より、ビギナーにとって、これは開発プロジェクトへの参加の第1歩です。ワークショップの時間内に終わらなくても、また続きをやればいいのだと思います。</p> <h2 id="今後の展開">今後の展開</h2> <p>ワークショップに対する評価は、おおむね高いようです。9月24日に東京で開催されたワークショップで、開催後に行ったアンケートでは、ビギナーのほとんどの人が、満足したと回答していました。</p> <p>ワークショップの具体的な流れは、こちらの<a href="https://oss-gate.github.io/report/workshop/2016/06/11/workshop-report.html">開催レポート</a>に詳しくまとまっています。また、ビギナーやメンターの感想など、ブログなどでも公開されています。これは、<a href="https://oss-gate.doorkeeper.jp/events/46275">過去のイベントページ</a>にも掲載されています。Twitterの<a href="https://twitter.com/hashtag/oss_gate?src=hash">#oss_gate</a>でもたどることができます。</p> <p>さて、OSS Gateでは、今後も継続的にワークショップを開催していく予定だそうです。</p> <p>もしも、OSS開発プロジェクトに参加したことがない人で、OSS Gateに興味がある人は、イベント管理サービスDoorkeeperの<a href="https://oss-gate.doorkeeper.jp/">OSS Gateページ</a>で、「コミュニティに参加」ボタンを押しておくと良いでしょう。そうすれば、次回の開催案内があったとき、すぐに知ることができます。</p> <p>また、OSS Gateでは、OSS開発プロジェクトの参加経験があるメンターも募集しています。ビギナーの増加に合わせて、メンターが足らなくなるという心配もあるので、教えるのが好きな開発者は、ぜひ参加してみてください。</p> <p>何より、自分たちのところでOSS Gateワークショップを開催してみたいという方が、どんどん増えてくると良いと思います。<a href="https://oss-gate.doorkeeper.jp/">OSS Gateページ</a>から、主催者に問い合わせてみてください。</p> <p>OSS Gateが盛り上がり、新たな開発者が増えると共に、開発プロジェクトがますます活性化することを期待しています。</p> <p>2016.09 可知 豊 - <a href="https://creativecommons.org/licenses/by/4.0/deed.ja">CC BY 4.0</a></p> <h2 id="参考ページ">参考ページ</h2> <ul> <li><a href="https://OSS-Gate.doorkeeper.jp/">OSS Gate - Doorkeeper</a></li> <li><a href="https://github.com/OSS-Gate">OSS Gate - GitHub</a></li> <li><a href="https://gitter.im/orgs/oss-gate/rooms">OSS Gate - Gitter</a></li> <li><a href="http://magazine.rubyist.net/?0053-Hotlinks">Rubyist Magazine - Rubyist Hotlinks 【第 36 回】 須藤功平さん</a></li> </ul> Sat, 24 Sep 2016 00:00:00 +0000 https://oss-gate.github.io/report/workshop/2016/09/24/workshop-report-tokyo.html https://oss-gate.github.io/report/workshop/2016/09/24/workshop-report-tokyo.html report workshop OSS Gateワークショップ2016-06-11開催レポート <p>2016年6月11日(土)にOSS Gateワークショップを開催しました。</p> <p>これまでのワークショップは広く参加者(ビギナーとメンター)を募集していますが、今回のワークショップは1つの企業の社員だけで開催しました。ビギナーもメンターも社員です。強制参加ではなく、希望者のみの参加です。この点はこれまでのワークショップと同様です。メンター全員が未経験者なのは一番最初のワークショップと同じです。なお、進行役だけは経験者である須藤が担当しました。</p> <p>OSS Gateについての説明は、<a href="/announce/update/2015/12/17/welcome-to-oss-gate.html">OSS Gateへようこそ!</a>という記事をご覧ください。 次回のイベントは<a href="https://oss-gate.doorkeeper.jp/events/42159">OSS Gateワークショップ2016-07-30 - OSS Gate | Doorkeeper</a>ですが、現時点では満員になっています。 9月24日でもいいよという方は<a href="https://oss-gate.doorkeeper.jp/events/46275">OSS Gateワークショップ2016-09-24 - OSS Gate | Doorkeeper</a>に登録してみてください。</p> <p>今回のワークショップでこれまでと違うところはレポート係というワークショップの内容をまとめる専門の人をおいたところです。これまでは、参加した人それぞれにブログにまとめてね、としていましたが、今回はまとめることに専念する人がいました。</p> <p>レポートをまとめる目的は以下の3点です。</p> <ul> <li>OSS Gateの取り組みを世に広め、OSSの開発に関わる人を増やす</li> <li>ワークショップのやり方を広め、進行役・メンターを増やしたり、東京以外での開催を支援する</li> <li>レポート係が客観的にワークショップの進め方を観察することで、ワークショップの改善点を見つけ、次回に活かす</li> </ul> <p>今回もいつものように以下のような流れで進めました。</p> <ul> <li>座席の配置</li> <li>OSS開発手順 <ul> <li>立場の説明</li> <li>アイスブレイク</li> <li>開発対象のOSSを決める</li> <li>作業メモについて</li> <li>動かしてみる</li> <li>他の人に説明する</li> </ul> </li> <li>昼食</li> <li>フィードバック <ul> <li>整理する</li> <li>編集する</li> <li>報告する</li> <li>他の人に説明する</li> </ul> </li> <li>まとめ</li> </ul> <h2 id="座席の配置">座席の配置</h2> <p>今回は、メンター(ビギナーをサポートする人)が5人、ビギナー(OSSの開発に参加したいけどまだできていない人)が12人と、1:2くらいの割合でした。 メンター1人につきビギナーを2人くらい見ることになる計算です。</p> <p>席の配置は重要です。メンターがビギナーをうまくサポートできるかどうかに関わるからです。ポイントはメンターとビギナーを隣同士にすることです。隣りにメンターがいないとビギナーは聞きにくくなります。メンターの目が届かないビギナーも出やすくなります。</p> <p>これまではメンターがビギナーの2倍いることが多かったので1人のビギナーを2人のメンターで挟んでいましたが、今回は割合が逆なのでメンター1人の横にビギナー2人が座るようにしました。</p> <ul> <li>ビ: ビギナー</li> <li>メ: メンター</li> <li>□: 机</li> </ul> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>スクリーン・ホワイトボード   進行役 ビ□ビ ビ□ビ ビ□ビ メ□メ  □メ メ□メ ビ□ビ ビ□ビ ビ□ビ </code></pre></div></div> <p>6人座れる島を3つ用意して、3つのグループに分けました。3人ずつの島を6つ用意することもできますが、そうすると横幅が広がって進行役が進め方を伝えるときに伝えにくくなるので3つの島にしました。体を横にするとスクリーンを見えるようにした(後ろを向かなくても全員がスクリーンを見れるようにした)ことも進行役が進めやすくするためです。</p> <p>メンターが1人しかいないグループは進行役がサポートしました。</p> <p>メンター1人につきビギナー2人だと、メンターが1人のビギナーにかかりきりになるともう1人のビギナーをサポートできなくなります。かかりきりになるような場面のときは進行役がサポートに入り、サポートが必要なビギナーが放置されないようにしました。</p> <p>この体制で実施したところ、(未経験の)メンター1人につきビギナー2人という割合でもまわることがわかりました。これまではメンター2人につきビギナー1人という割合でやることが多かったので、どれだけメンターが少なくても大丈夫なのかはわかりませんでした。今回の経験はこれからの基準として使えそうです。</p> <p>ただ、課題はありました。午後に数人のビギナーが同時に進行役のサポートが必要な状態になり、サポート待ちのビギナーがでる状態になりました。今回、進行役がやったような「メンターをサポートするメンター」を数人用意するとうまくまわりそうです。そうすればサポート待ちのビギナーを減らせます。この方法でうまくいくか、次回のワークショップで検証する予定です。</p> <p>「メンターをサポートするメンター」が動きやすいように、それぞれの島の間に広めにスペースを作りました。これも席を配置するときの大事なポイントです。</p> <h2 id="oss開発手順">OSS開発手順</h2> <p>以下の資料を使ってこのワークショップで体験するOSS開発手順を説明しました。</p> <p>これまでと同じ資料を使っていましたが、資料をベースにしつつも随時説明を追加したり省略したりしました。進行役をできる人が増えるようにするためには、資料を更新し、須藤以外でも進行しやすいものにする必要があります。これは次回のワークショップでの課題です。</p> <div class="rabbit-slide"> <iframe src="//slide.rabbit-shocker.org/authors/kou/oss-gate-workshop-tutorial-overview/viewer.html" width="640" height="524" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border: 1px solid #ccc; border-width: 1px 1px 0; margin-bottom: 5px" allowfullscreen=""> </iframe> <div style="margin-bottom: 5px"> <a href="//slide.rabbit-shocker.org/authors/kou/oss-gate-workshop-tutorial-overview/" title="OSS Gateワークショップ(チュートリアル) - OSS開発手順">OSS Gateワークショップ(チュートリアル) - OSS開発手順</a> </div> </div> <h3 id="立場の説明">立場の説明</h3> <p>ビギナーとメンターの立場を説明しました。</p> <p>ビギナーは、OSSの開発に参加したい人や、参加したことがあるけどまだ不安がある人です。目的はOSS開発に参加する(経験する)ことなので、なにかすごいことをする必要はありません。</p> <p>メンターは、ビギナーをサポートする人です。相談されたときは答えを教えないことがポイントです。教えるのではなく、一緒に考えたり、一緒に調べたり、一緒に悩みます。具体的な言い方にするとこうです。サポートするときに自分のパソコンを使わないでください。検索するならビギナーのパソコンで検索します。動かして動作を確認するならビギナーのパソコンで動かして動作を確認します。それが「一緒に」ということです。ビギナーの目の前で「一緒に」やることで「メンターはすごいから自分でいろいろ解決できるんだよ」感を減らします。「結果」だけ与えられるとそう感じやすくなります。「過程」も経験すれば「自分でもできそう」感が増えます。</p> <h3 id="アイスブレイク">アイスブレイク</h3> <p>ワークショップをより充実したものにするためにいつもアイスブレイクを行っています。今回のワークショップでも行いました。</p> <p>アイスブレイクの内容は、同じ島の人になぜ参加してみようと思ったかを話す、です。この内容にしている理由は次の通りです。</p> <ul> <li>なにかしら理由があるはずだから話す内容に困らない</li> <li>参加した理由を自分で再確認する機会になり、ワークショップでなにを得たいかが明確になりやすい</li> <li>メンターがビギナーをサポートするときに助かる情報があるかもしれない</li> </ul> <p>他に、「声を出すこと」自体がポイントです。一度声を出しておくと質問したり声をかけたりしやすくなるものです。</p> <h3 id="開発対象のossを決める">開発対象のOSSを決める</h3> <p>今日のワークショップでビギナーが開発対象にするOSSを決めます。決めるときはメンターがビギナーをサポートします。</p> <p>これまでのワークショップではワークショップ開始前に進行役がすべてのビギナーの開発対象OSS決めをサポートしていました。メンターがすべてのビギナーの開発対象OSS決めをサポートをするのは今回がはじめてです。</p> <p>メンターにビギナーのサポートの仕方を伝えるため、ビギナー1人に進行役の隣に来てもらい、決め方を実際に見せました。決めるときのポイントは、普段使っていて思い入れのあるものを選ぶことです。調べなくても名前が出てくるものや、どの機能で使っているかわかるものが望ましいです。有名なものよりも自分にとって思い入れのあるものを選びます。</p> <p>実際に決め方を見せることにより未経験のメンターでもビギナーをサポートできることがわかりました。これは今回のワークショップで得られた知見です。</p> <h3 id="作業メモについて">作業メモについて</h3> <p>何か新しい作業を始めたり、作業中に詰まったら、メモを残してもらいます。たとえば、インターネットで検索しようとしたときは「作業中に詰まった」ときなのでメモを残すポイントです。</p> <p>メモにはできるだけ再現できる情報を書きます。実行したコマンドや表示されたエラーなどを省略せずに残しておくことが大事です。自分は不要だと思って省略した情報でも、開発者にとってはヒントになったりするからです。</p> <p>作業メモを一覧しやすいように、作業メモはOSS Gateの<a href="https://github.com/oss-gate/workshop/issues">GitHub Issues</a>に作成しました。</p> <h3 id="動かしてみる">動かしてみる</h3> <p>OSS開発手順の説明が終わったら、選んだOSSを実際に動かします。このときのポイントは、ユーザーとして動かすことです。動かしてみて詰まったことは都度メモしておき、あとで報告できるようにしておきます。</p> <p>ビギナーは作業をしているとメモをとることを忘れてしまいがちです。ビギナーがメモをとることを忘れていそうなときにメモを取ることを思い出すようにすることは、メンターの大事な役割です。</p> <h3 id="他の人に説明する">他の人に説明する</h3> <p>午前の部の最後に、ビギナーはメンターに午前中にやったことを説明します。このとき、作業メモをベースに説明します。説明するメンターは違う島のメンターです。つまり、サポートしてもらっていたメンターとは別のメンターに説明します。</p> <p>メンターはビギナーからやったことを聞いて次のようなことをフィードバックをします。</p> <ul> <li>実は問題なのにスルーしてしまっていたり、無意識にやっていたけど実は大事なことだったといったことに気付くきっかけを与える</li> <li>この後どうすればよいかわからなくなってしまった人には、次にどう進めばよいかのアドバイスをする</li> </ul> <p>この時間はメンターとビギナーが一対一で話すことになるため、片方のビギナーが話を聞いてもらっている間は、もう片方のビギナーには二人の近くに行って話を聞きます。他のビギナーのやったことから学ぶ機会にします。</p> <p>ここでも、最初にビギナー1人に進行役の隣に来てもらって例を示しました。以下のようなやりとりをしました。</p> <ul> <li>進行役:「まず何をしましたか?」</li> <li>ビギナー:「READMEを読みはじめました。長いなーと思いながら読み始めました。」</li> <li>進行役:「READMEを見ながら話をしましょうか。(メモにREADMEへのリンクがなかったのを見て)READMEへのリンクをメモしておきましょうか。」</li> <li>ビギナー:「READMEを読んでいたらRailsプロジェクトを作らないと試せないとわかったのでRailsプロジェクトを作り始めました。」</li> <li>ビギナー:「Railsプロジェクトを作ろうと思って<code class="language-plaintext highlighter-rouge">rails new</code>をしたらエラーがでたんですよね。」</li> <li>ビギナー:「最初なにが悪いかわからなかったんですが引数が足りないのが悪いとわかったので…」</li> <li>進行役:「ちょっと待ってください。もしかしてエラーメッセージが違ったらすぐになにが悪いか気づけたりしましたか?」</li> <li>ビギナー:「あー、もしかするとそうかも…?」</li> </ul> <h2 id="昼食">昼食</h2> <p>ここで昼食休憩に入りました。チームごとにまとまってお昼ごはんを食べに行きます。</p> <p>雑談で自分が使っているOSS開発に便利なツールを紹介している人がいました。こういう話を日常的にできるとよいですね。</p> <h2 id="フィードバック">フィードバック</h2> <p>午後からはフィードバックの時間です。以下の資料を使いました。</p> <div class="rabbit-slide"> <iframe src="//slide.rabbit-shocker.org/authors/kou/oss-gate-workshop-tutorial-feedback/viewer.html" width="640" height="524" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border: 1px solid #ccc; border-width: 1px 1px 0; margin-bottom: 5px" allowfullscreen=""> </iframe> <div style="margin-bottom: 5px"> <a href="//slide.rabbit-shocker.org/authors/kou/oss-gate-workshop-tutorial-feedback/" title="OSS Gateワークショップ(チュートリアル) - フィードバック">OSS Gateワークショップ(チュートリアル) - フィードバック</a> </div> </div> <p>まず、改善できる箇所が見つかった人がどのくらいいるか確認しました。8割程度の人が見つかっていたので午後からはすぐにフィードバックをすることにしました。まだ見つかっていない人は進行役が順番にフォローすることにしました。ここでサポート待ちの人が増えてしまったことが課題です。「メンターをサポートするメンター」数人の体制で解決できないかを次回のワークショップで検証します。</p> <p>まだ改善できる箇所を見つかっていない人に進行役がした質問は以下のようなものです。</p> <ul> <li>今日やったことを教えてください。</li> <li>なぜこれにしたんですか?</li> <li>何が知りたいですか?</li> <li>何を知れなかったですか?</li> <li>どうなっているとよかったですか?</li> </ul> <p>改善できる箇所が見つかった人はフィードバックを進めます。報告は以下の3ステップで進めます。</p> <ul> <li>整理する</li> <li>編集する</li> <li>報告する</li> </ul> <h3 id="整理する">整理する</h3> <p>まず、ビギナーは自分にわかる文章としてまとめます。他の人にわからなくても自分がわかればOKです。</p> <p>メンターは質問したり話をしたりしてビギナーの考えを整理します。</p> <h3 id="編集する">編集する</h3> <p>次は、報告を受ける側の開発者にとってわかりやすい文章にします。報告方法をまとめているOSSもあるので、その場合はそれに沿った報告方法にします。 メンターは、自分が報告を受けたときはどういう情報があるとうれしかったかという経験に基づくアドバイスします。</p> <p>OSSを開発しているのは日本の人だけはありません。いろいろな国の人が開発していることがあります。そうすると時間的・空間的に離れていることがあります。 活動時間帯が異なると、1回のやりとりに丸一日かかってしまうことがあります。 できるだけやりとりが少なくて済むように、想像しなくても伝わるような情報を提供することがポイントです。そのためには、やったことだけでなく、やっていないことも書くとよいです。</p> <h3 id="報告する">報告する</h3> <p>今回はすべてのOSSがGitHubを使っていました。</p> <p>GitHubの報告方法には主に2種類あって、報告だけ(issue)の場合と、パッチを添える(pull request)場合があります。すぐにパッチを作れるのであればpull requestでよいです。実際の変更があった方が説明だけよりも伝わりやすいからです。すぐに作れない場合は作れるまで待つよりも、issueとして報告する方がよいです。後で報告しようと思ったまま忘れてしまうかもしれないからです。忘れてしまうよりは報告してあった方がよいです。</p> <p>報告に対して開発者から反応がある前にパッチができたら後からpull requestを作ることもできます。そのpull requestに「このissueに対応するものだよ」と書いておけば伝わります。無理して最初からpull requestにする必要はありません。</p> <p>このフェーズは、OSS開発の経験が少ないメンターだと難しいと感じることがあるかもしれません。そのときは、他のメンターや進行役に相談します。困ったときは相談する、というのはビギナーでもメンターでも一緒です。進行役がビギナーのサポートを引き取ったときは、ビギナーのサポートが一段落した段階でメンターに現状を共有し、その後のサポートを引き継ぎました。</p> <p>以上の整理する、編集する、報告するという流れでは特に区切りを設けずに、それぞれのペースでやりました。 メンターに見てもらってOKもらったら報告するというのがひとつのゴールで、それをみんなが一度は経験するというのを目指しました。</p> <p>進行役がビギナーのサポートを多めに引き受けてしまい、予定よりも長めに時間をとることになってしまいました。このあたりも「メンターをサポートするメンター」を数人導入することで解消できそうです。</p> <h4 id="メンターからのよくあるアドバイス">メンターからのよくあるアドバイス</h4> <p>説明が漠然としていたのでもう少し具体的にしたほうがよいというアドバイスはいろいろなところで聞かれました。ビギナーは開発者なら察してくれそうと思ってしまいがちですが、そういうことは期待しないほうがよいです。調べるのが難しいなら無理をしてまで調べる必要はありませんが、調べたことであればもれなく伝えます。</p> <p>改善してほしい理由に対して指摘が入る場面もありました。ビギナーはつい「一般的には」という理由を使ってしまいがちですが、そうではなく「自分は」どうかという視点のほうがよいです。</p> <p>例えば、RDoc形式のドキュメントをMarkdown形式に直してほしいとします。そのときに、「一般的にRDoc形式よりもMarkdown形式のほうがいい」という説明では、そのプロジェクトでの必要性が伝わりません。 それに対して、「自分はドキュメントを改良したいけど、RDoc形式では書きたくない。Markdown形式ならドキュメントを改良してもいいと思っている」 という伝え方をすれば、「改良してくれるならMarkdown形式にしてもいいかな」と開発者が思ってくれるかもしれません。</p> <p>他には、複数の問題があるときに、どこまでをこのissueでやるのかといったアドバイスも行われていました。</p> <h3 id="他の人に説明する-1">他の人に説明する</h3> <p>すべての作業が終わった後に再びビギナーがメンターにやったことを説明する時間があります。</p> <p>午前の最後に聞いてくれたメンターとは別のメンターに説明します。ポイントは午前の最後の時と同じで、ビギナーが気づいていなかった点を気づかせたり、気づかずによいことをしていたときによかったと気づかせたりすることです。</p> <h2 id="まとめ">まとめ</h2> <p>さいごに、今日やったことをまとめました。資料は以下です。</p> <div class="rabbit-slide"> <iframe src="//slide.rabbit-shocker.org/authors/kou/oss-gate-workshop-tutorial-conclusion/viewer.html" width="640" height="524" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border: 1px solid #ccc; border-width: 1px 1px 0; margin-bottom: 5px" allowfullscreen=""> </iframe> <div style="margin-bottom: 5px"> <a href="//slide.rabbit-shocker.org/authors/kou/oss-gate-workshop-tutorial-conclusion/" title="OSS Gateワークショップ(チュートリアル) - まとめ">OSS Gateワークショップ(チュートリアル) - まとめ</a> </div> </div> <p>ビギナーには、詰まったらメモを残す進め方や、問題が見つかったときに直すという選択肢があることを経験してもらいました。また、OSS開発はすごいことをする必要はないことも伝えました。開発者はREADMEを読まないので、初心者だからこそ気づくこともあります。</p> <h2 id="アンケート">アンケート</h2> <p>最後にアンケートをとってすぐに確認してワークショップ全体をふりかえりました。これはいつもやっていることです。</p> <p>これまでのワークショップではGoogleフォームでアンケートをとっていましたが、今回は<a href="https://github.com/oss-gate/workshop/tree/master/tutorial/retrospectives/2016-06-11">GitHubのリポジトリー</a>に用意したYAMLファイルを編集してpull requestを送ってもらうことにしました。データをまとめることが楽になりそうだからです。</p> <h3 id="アンケート結果">アンケート結果</h3> <p>ビギナー・メンターともに全員が「満足」・「すごく満足」したワークショップでした。また、想定以上(「想定通り」または「想定より充実していた」)の内容と感じていました。</p> <p>ビギナーの多くはこれからはOSSの開発に参加するとのことでした。</p> <p>メンターはサポートすることでいろんなことに気づくきっかけになったようでした。</p> <h2 id="おわりに">おわりに</h2> <p>2016年6月11日(土)に開催したOSS Gateワークショップの内容をまとめました。</p> <p>OSS Gateワークショップを通じてOSS Gateの取り組みを知ることはできたでしょうか?進行役やメンターをやってみたい人の参考になったでしょうか?</p> <p>ワークショップに参加したいという方(メンターでもビギナーでも)は、<a href="https://oss-gate.doorkeeper.jp/">DoorkeeperのOSS Gateコミュニティページ</a>に次のワークショップの情報があるので参考にしてください。OSS Gateメンバーに聞きたいことがある方は<a href="https://gitter.im/oss-gate/general">チャットルーム</a>を使ってください。</p> <p>今回のように企業で開催したいという方は前述のチャットルームで相談してください。個別に相談したい場合は須藤(<code class="language-plaintext highlighter-rouge">[email protected]</code>)に相談してください。</p> Sat, 11 Jun 2016 00:00:00 +0000 https://oss-gate.github.io/report/workshop/2016/06/11/workshop-report.html https://oss-gate.github.io/report/workshop/2016/06/11/workshop-report.html report workshop 2016年5月28日開催のOSS Gateワークショップは東京Ruby会議11と同建物で開催 <h2 id="oss-gateワークショップ2016-05-28">OSS Gateワークショップ2016-05-28</h2> <p>2016年5月28日開催のワークショップ<a href="https://oss-gate.doorkeeper.jp/events/38550">OSS Gateワークショップ2016-05-28</a>は<a href="http://regional.rubykaigi.org/tokyo11/">東京Ruby会議11</a>と同じ建物(秋葉原コンベンションホール)で開催します。東京Ruby会議11実行委員会から24名入る部屋を提供してもらったからです。ありがとうございます。</p> <p>東京Ruby会議11ではOSS Gateに興味のある人が質問したりワークショップを見学できる機会を設けています。東京Ruby会議11に参加する方でOSS Gateに興味のある方は<a href="http://regional.rubykaigi.org/tokyo11/interview/kou/">須藤さん</a>を捕まえてください。</p> <h2 id="rubyist向けoss-gateの説明">Rubyist向けOSS Gateの説明</h2> <p>一般的なOSS Gateの一般的な説明は<a href="/announce/update/2015/12/17/welcome-to-oss-gate.html">OSS Gateへようこそ!</a>にまとめてあるので、ここではRubyist向けにOSS Gateを説明します。</p> <p>「OSS Gate」とはOSS開発に参加する人を増やす取り組みです。Rubyist向けに言い直すと、「gemの開発に参加する人を増やす取り組み」、「Ruby本体の開発に参加する人を増やす取り組み」と言ったところです。</p> <p>「開発に参加する」というと敷居が高いと感じるかもしれませんが、ここでは「問題にぶつかったことを開発者にフィードバックする」というくらいのことです。たとえば、「READMEに誤字があったので教えてあげる」、「インストールが失敗したので相談する」、といったことです。「バグを見つけたので修正してパッチを送る」、「遅いので高速化する」、といった技術的に難しいことだけが「開発に参加する」ということではありません。</p> <p>たとえフィードバック内容が技術的に難しくなかったとしても、実際にフィードバックしない人が結構いるのではないでしょうか。OSS Gateではそんな人たちをフォローしてOSS開発に参加する人を増やしたいのです。</p> <h2 id="oss開発に参加する人を増やす方法">OSS開発に参加する人を増やす方法</h2> <p>具体的にどうやってフォローするかというと「一緒にやって経験してもらう」です。前述の通り、技術的に難しいことではないので、フィードバックしようと思えば技術的には簡単にできます。しかし、技術的なこと以外の障害があります。「やったことがないから」フィードバックしていない、「やったことがないから」フィードバックするという選択肢がなかった、という人もいるのです。そんな人たちが「やったことがある」人たちになればフィードバックできるようになります。つまり、OSS開発に参加する人が増えます。</p> <p>この「一緒にやって経験してもらう」を実現するために、隔月最終土曜日に「OSS Gateワークショップ」を開催しています。そして、次回開催が東京Ruby会議11と同じ2016年5月28日なのです。</p> <p>「gemの開発に参加したいとは思うけどなかなか手をだせない」、「Ruby本体の開発に参加したいとは思うけどなかなか手をだせない」という方はぜひOSS Gateワークショップに参加してみてください。gemやRuby本体の開発に参加することの敷居がグッと下がるはずです。</p> <p>なお、東京Ruby会議11とOSS Gateワークショップのどちらにも興味のある人は東京Ruby会議11の方に参加することをオススメします。前述の通りOSS Gateワークショップは隔月最終土曜日に開催しているため、この後も何度もありますが、東京Ruby会議11は今回しかないからです。</p> <p><a href="http://regional.rubykaigi.org/tokyo11/tickets/">東京Ruby会議11のチケット</a>には割引チケットもあります。学生の方は割引対象です。(学生以外にも割引対象となる方はいます。)ぜひ活用してください。</p> <p>「gemの開発に参加したい」、「Ruby本体の開発に参加したい」という方は2016年7月30日開催の<a href="https://oss-gate.doorkeeper.jp/events/42159">OSS Gateワークショップ2016-07-30</a>に参加してください。</p> <h2 id="協力者募集">協力者募集</h2> <p>OSS Gateワークショップは「OSS開発経験者がOSS開発未経験者と一緒にOSS開発を経験する」ワークショップです。そのため、このワークショップを開催するには「OSS開発経験者」が必要です。gem・Rubyの開発に参加したことがある(たとえばバグレポートをしたことがある)人はぜひ「メンター」として<a href="https://oss-gate.doorkeeper.jp/events/38550">OSS Gateワークショップ2016-05-28</a>に参加してください。(あるいは今後のワークショップに参加してください。)</p> <p>前述の通り、技術的に難しいことを経験するワークショップではありません。なので、「バグレポートはしたことがあるけど、しょぼいやつだったから自分はメンターはできない…」と思わないでください。内容は問いません。経験したことが大事なのです。もし、自分は大したことがないと思っているなら、「こんな自分でも開発に参加できたよ。あなたも大丈夫だよ!」とフォローしてあげてください。未経験者は安心するはずです。</p> <p>それでは、みなさんの参加をお待ちしています。</p> Wed, 18 May 2016 00:00:00 +0000 https://oss-gate.github.io/announce/update/2016/05/18/workshop-with-tokyo-rubykaigi-11.html https://oss-gate.github.io/announce/update/2016/05/18/workshop-with-tokyo-rubykaigi-11.html announce update OSS Gateへようこそ! <h2 id="oss-gateとは">OSS Gateとは</h2> <p>「OSS Gate」とはOSS開発に参加する人を増やす取り組みです。2015年12月15日から始めた取り組みです。</p> <p>取り組みの名前に「Gate」と入れたのは、まだOSS開発に参加していない人が参加する人に変わる「入り口」を提供する、という理由からです。</p> <h2 id="oss-gateを始めた理由">OSS Gateを始めた理由</h2> <p>OSS Gateを始めたのは「まだOSS開発に参加していない人が参加する人になるための支援の仕方がわかった」からです。つまり、OSS開発に参加する人を増やす方法を1つ見つけたということです。</p> <p>1998年にオープンソースという言葉ができてから15年以上たった現在、OSSは当たり前のものとなり、知らず知らずのうちに使っているものになりました。あなたがこのページを読むために使っているWebブラウザーもOSSかもしれません。</p> <p>このようにOSSが普及したのは、OSSを使っている人だけでなく、OSSを開発している人たちがいたからです。しかし、OSSが普及して知らず知らずのうちに使っている人が増えるに従い、「OSSの開発に参加できる」ということが忘れられていきました。まわりに若い人がいたら聞いてみてください。「使っている人ならだれでもOSSの開発に参加できるって知っていますか?」</p> <p>「OSSの開発に参加できる」ということを知らないと新しくOSSの開発に参加する人も減っていきます。OSSの開発に参加する人が減っていくとOSSが衰退していくかもしれません。それを危惧しています。</p> <p>これからもOSSが普及していくためにOSS開発に参加する人を増やしたい、そして増やす方法を 見つけた、それがOSS Gateを始めた理由です。</p> <h2 id="oss開発に参加する人を増やす方法">OSS開発に参加する人を増やす方法</h2> <p>まだOSS開発に参加していない人が参加する人になるための支援の仕方は簡単なことでした。一緒にOSS開発に参加すればよかったのです。</p> <p>まだOSS開発に参加していない人が参加していない理由は漠然とした不安だったのです。知らないこと・やったことがないことに対して不安を覚える、と言えばピンとくる人もいるかもしれません。</p> <p>この不安は一度経験してみれば解消できます。経験すればそんなに心配することでもなかったということがわかるからです。「くぐってしまえば、別になんてことはなかった。」OSS Gateという門をくぐることでそれを実感して欲しいのです。</p> <p>そういうわけで、OSS Gateは「OSS開発経験者」が「OSS開発未経験者」を支援するワークショップを開催しています。<a href="https://github.com/oss-gate/workshop">OSS Gateワークショップ</a>です。このワークショップでは、「OSS開発経験者」が「OSS開発未経験者」がはじめてOSS開発に参加することをサポートします。「そういうときはこうしたらいいよ」、「バグレポートを出す前にレビューするよ、そしたら安心して出せるでしょ?」、「自分も最初は不安だったけどやってみたら大丈夫だったよ、さぁ、やってみようよ」、そんな風にはじめてのOSS開発を後押しします。</p> <p>なお、「OSS開発経験者」は「すごいOSS開発経験者」でなくて構いません。テクニックを教えることが大事なのではなく、経験することを後押しすることが大事だからです。「自分もこの間はじめてOSS開発に参加したけど大丈夫だったよ!むしろ楽しかったよ!」そんな人でもよいのです。そんな人のサポートが未経験者の不安を払拭するかもしれません。</p> <h2 id="協力者募集">協力者募集</h2> <p>「OSS開発に参加する人を増やす」というOSS Gateの目的に賛同する協力者を募集しています。OSS Gateは「継続的に」OSS開発に参加する人を増やすことを大事にしています。そのためには、特定の人に依存しすぎず、いろんな人たちで運用できる必要があります。特定の人に依存するとその人が動けなくなったときに活動できなくなるからです。</p> <p>次のような人の協力をお待ちしています。</p> <ul> <li>OSS開発未経験者をフォローする人 <ul> <li>「すごいOSS開発経験者」でなくて「ただのOSS開発経験者」で十分です。ワークショップに参加してフォローしてください。</li> </ul> </li> <li>ワークショップ会場を準備してくれる人 <ul> <li>ワークショップを開ける会場を確保してください。</li> </ul> </li> <li>宣伝してくれる人 <ul> <li>もっとOSS開発未経験者、協力者を増やしてください。</li> <li>イベントで紹介したり、ブログに書いたり、いろんなやり方があるはずです。</li> </ul> </li> </ul> <p>協力してくれる方はGitHubのoss-gate organizationのメンバーに加わってください。やり方は<a href="https://github.com/oss-gate/members">メンバー参加方法</a>に書いています。</p> <p>他にも<a href="https://gitter.im/oss-gate/general">チャット</a>で既存のメンバーとやりとりできます。気になることはここで質問してください。</p> <p>なお、OSS Gateに協力する理由はなんでも構いません。たとえば次のような理由でも構いません。</p> <ul> <li>サポートすることが好きだ</li> <li>採用につながるかも</li> <li>楽しそう</li> <li>自分のプロジェクトの開発に参加する人が増えるかも</li> <li>会社の宣伝になるかも</li> <li>友達が増えそう</li> <li>なんとなくよさそう</li> <li>ユーザーが自由に使えるソフトウェアが重要であると考える人が増えるといいな</li> </ul> <p>OSSはざっくりいうとユーザーが実行・改造・再頒布できるライセンスを設定したソフトウェアのことです。それに対してどのようなメリットを見出すかは人それぞれです。OSSはそういうものです。そのため、OSS Gateも協力する理由をどのようなところに見出すかは人それぞれで構いません。</p> <p>みなさんの協力をお待ちしています。</p> <h2 id="参考情報">参考情報</h2> <ul> <li><a href="http://www.clear-code.com/blog/2015/10/20.html">OSS開発に参加する人を増やす取り組み「OSS Gate」を開始 - ククログ(2015-10-20)</a>:OSS Gate立ち上げのアナウンスです。</li> <li>…</li> </ul> Thu, 17 Dec 2015 00:00:00 +0000 https://oss-gate.github.io/announce/update/2015/12/17/welcome-to-oss-gate.html https://oss-gate.github.io/announce/update/2015/12/17/welcome-to-oss-gate.html announce update