201810社内OSS Gateワークショップレポート

社内OSS Gateワークショップレポート

こんにちは、芝本です。 社内でOSS Gateワークショップ開催のお知らせがあったので、ビギナーとして参加しました。 とても充実した時間だったため、紹介します。

f:id:silverbirder180:20181012170709j:plain

前回のレポートはこちらです。
tech-blog.monotaro.com

OSS Gate とは?

以下のスライドがわかりやすいかと思います。 slide.rabbit-shocker.org

簡単に説明すると、OSS開発をしたことがない未参加者が、Gateをくぐって OSS開発をしたことがある参加者になることを目的とした取り組みのことです。 f:id:silverbirder180:20181014222545p:plain

OSS開発って?

OSS開発と聞くと、ハードルが高いイメージでしたが、そうではありませんでした。

例えば、下記のような行動がOSS開発に当てはまります。

  1. 問題をイシューで報告して貢献する
  2. ドキュメントに貢献する
  3. コードに貢献する

※ 引用 意外ととっつきやすいOSS開発参加方法まとめ

1番や3番をイメージしていましたが、2番のような貢献も OSS開発に含まれます。こちらはハードルが低そうですので、 今回実施しました。

やってみた

流れ

以下のスライドを参考にして進めていきました。 slide.rabbit-shocker.org

実際に行ったことを簡単にまとめると、下記の流れです。

  1. README通りにOSSを動かす
  2. READMEの改善点を見つける
  3. READMEに関するissueを出す

1. README通りにOSSを動かす

1.1 対象のOSS

今回、ビギナーが2名だったので、以下のOSSが対象になりました。

※ 事前にビギナーが動かしたいOSSを準備しました。

私は、前者を動かしました。選んだ理由は、個人開発で使いたかったからです。 また、対象のOSSを簡単に説明しておくと、algoliasearchとは、全文検索のSaaSです。

1.2 動かす前に

対象のプロダクトがOSSであることを調べなければなりません。 OSSかどうかは、ライセンスを見ると分かります。 私が選んだプロダクトは、MITライセンス(LICENSE.txt)だったため、OSSであると判断できました。

1.3 動かしてみた

README通りに動かしました。 1つ注意点として、あとでREADMEの改善点を見つけるために、何をしたかのメモを逐次書くことです。 メモは良い案だと思っていて、それはなぜかというと、自身の思考をアウトプットすることで、今何をしているのかなぜ今この行動をとっているのかを 明確にすることができるからです。

動かしてみて以下の点に躓いてしまいました。

  1. 用語が分からない。(link1, link2)
  2. CDN経由だと動作できない。(link1)
  3. Algoliasearchには、APIのKeyが複数あって、どれを使ったら良いか分からない。(link1)

また、サポータから「同じようなissueがないか?」「README.mdに書いてないか?」の質問を頂き、 それで解決する点もありました (link1)。

最終的には、全文検索に必要なデータ登録&検索ができました。

2. READMEの改善点を見つける

上記の3番「Algoliasearchには、APIのKeyが複数あって、どれを使ったら良いか分からない。」を改善しようと 思います。

3. READMEに関するissueを出す

3.1 issueを出す

issueを出すには、OSSによってはお作法があるそうです。 私が選んだOSSには、そのお作法がありました。


Do you want to request a feature or report a bug?

What is the current behavior?

If the current behavior is a bug, please provide all the steps to reproduce and a minimal JSFiddle example or a repository on GitHub that we can npm install and npm start.

What is the expected behavior?


※ 引用 https://github.com/algolia/algoliasearch-client-javascript/issues/new

こちらのフォーマットに沿ってissueを作成します。 実際に作成したものが、下記になります。

github.com

上記issueを投稿する際、少し躊躇ってしまいました。なぜかというと、「何を言っているんだ、こいつは」みたいなことを言われるのではないかと...。 しかし、メンバーの方から「大丈夫だよ」と後押ししてもらったおかげで、投稿できました。

3.2 その後

驚いたことに、投稿してから数分後に返答がありました。 ちゃんと言葉が伝わって、一安心でした。 この後、このissueが取り込まれて、喜びました。

後日談

お世話になったサポータの方に感想を聞いてみました。

そのサポータの方は、前回ビギナーで今回初サポータとして参加されました。 そのサポータの方の考えとして「技術的なサポートではなく、精神的なサポートに専念する」 があったそうです。その考えに至った理由は、ビギナーとして参加された際に、 「大丈夫」と声をかけて頂いて、自信を持てたからだそうです。 このエピソードは、今回の取り組みを通して、私も自信が持てるようになりました。 私も、次のビギナーの方に自信をもって貰えるようにサポートしたいなと思いました。

最後に

OSS Gateを通じて、OSS開発を体験することができました。 OSS開発を体験することで、OSSが身近な存在へと思うようになりました。 次からは、気軽にOSSの開発を進めれる自信が湧きました。

もし、まだOSS開発をしたことがない方は、ぜひ一度OSS Gateを体験してみて下さい。 きっと、得られる経験は大きいはずです。