まえがき

GitHub が好きで仕事ではもちろん、休日や隙間時間にもよく使っている。あと、結構ライトに OSS (オープンソースソフトウェア)に関わっている。なぜかというと、純粋に楽しくして学びが多いから。OSS と聞くと敷居が高く感じてしまうけど、本当に様々なものがある。自分は比較的ゆるいものにゆるく関わっている。そう、「ゆるふわ OSS 的活動」をしている。あまりイメージつかないと思うので、実際にどんな形で関わっているか、何が得られるか、どんなモチベーションでやっているのかなど紹介していこうと思う。

どんな使い方しているのか

1. ライブラリの探索

とりあえずタイムラインをながめるのが日課となっている。フォローしている人の Star。Watch しているリポジトリの更新などが表示されてくる。これを見ているだけで日々発見があるので楽しい。

Untitled

2. スターを遠慮なくつける

そこで気になる技術があったらすかさず「スター!」。スターは開発者のモチベーションになるし、積極的にしていく笑。スマホのアプリでも電車とかでみたりして、すかさず Star している。そうすると、いざ使うタイミングになった時に「前なんか良さそうなあったな」とかで思い出すことが多い。絞り込んだりして見つけることができる。そう、自分のためにもなるのである。

Filter や Sort なども自由自在にできる。Star は 1.5k を超えた。

Filter や Sort なども自由自在にできる。Star は 1.5k を超えた。

‎GitHub

モバイルのアプリもあるので、PCを開きせずともに快適にブラウジングできる。簡単なレビューや確認などもできちゃう優れもの。

3. 実装の参考にする

生きた情報がたくさんあがっている GitHub には大変お世話になっている何か困ったらとりあえず検索窓にいれる。イシューやディスカッションに目を通して解決することもあれば、コードをピンポイントで検索して他の人はどうやって実装しているか参考にすることも多い。検索の仕方は以下ページが参考になる。

コードの検索 - GitHub Docs

自分なりの PR 送り方

1. 業務で動かなくて困ったら直接PR送る

一時的にはバージョンさげるなどで対応できるが、普通に困るので勢いで出来そうだったら直しちゃうムーブ。中は覗くことあまりないから、普通に面白かったりする。

例:

Untitled

Untitled

2. 手元で動かし思ったところがあればPR送る

スターなどしていて、手元で OSS を動かしていると気になることがあったりする。それを、そのままにせず本家にフィードバックするという関わり方だ。

例:

  • nobelium:Notion + Next.js でいい感じのブログをつくれるOSS

craigary/nobelium

自分はよく Tab でカーソルを移動させるのだが、タブでリンクがフォーカスされなくてPR送ったのがきっかけだった。そして、触れば触るほど自分にできることや改善できることなどがどんどん見えてくる。その後もいくつかPR送っていたら、作者の方から感謝とともに開発チームに招待してもらった。実はこのブログも nobelium をベースにしているので、自分のためでもある笑。

Untitled

fix(a11y): tag link & header logo link by yokinist · Pull Request #111 · craigary/nobelium

業務では触れられないことができるのがとても良い。

実際に学んだこと:

  • Tailwind CSS について学んだ
  • SSG / ISR周りの理解が深まった
  • Notion API について学んだ
  • 日付や言語設定について学んだ
  • 英語でのコミュニケーション?

など...

その後の開発で Tailwind CSS を採用したのだが、この経験があったから踏み切れたところも多い。自分で0からつくると環境をつくりあげるまでで疲れてしまったり、何をつくるかというアイデアがなかなか出ないことも多い。OSSには既に形になっていたり、誰かに使われているといったものも多い。自分のためだけでなく、誰かのためにも繋がるので幸せの世界。

OSS の連鎖

OSS の中身では、他の OSS を組み合わせてつくっていることがほとんどだろう。1つ触ってみると、色々なものを触れるきっかけにもなるしPRチャンスも必然的に多くなる。例えば、上記の nobelium をいじっているときに気付いたものもいくつかある。

  • GitHub のイシューをDBとしてコメント機能を組み込めるやつに日本語の言語設定がなかったり

chore(i18n): add Japanese lang support by yokinist · Pull Request #460 · gitalk/gitalk

  • darkmode にしたときに Loading の表示が黒のままのテキストがあったり

fix(style): loading text color by yokinist · Pull Request #126 · djyde/cusdis

逆に考えれば、色々な OSS に広がれば広がるほどコミュニティも広がりフィードバックや改善スピードも上がっていくと言えるかもしれない。

小さなところから始めてみる Contribute のススメ

コミュニティに何かしらの形でフィードバックを残そう!

みんなで改良していけるのがオープンソースのいいところ・・。イシューに起票するのも立派な貢献だし、実際にPR送っちゃうのも立派な貢献。得意な関わり方でフィードバックを残してみよう。

粒度は小さなものから基本大歓迎されている!

typoの修正や、リンク切れ、言語設定の追加など。痒い所に手が届くのも嬉しい。そして、修正しようと触ってみて気付く改善点や不具合などが見えてくることが多い。関わるきっかけさえできてしまえば、こっちのもの。

漠然と Contribute したいなと思ったときは

  • good first issue とかで絞ってみると出てきたり

Build software better, together

なんかできそう!

ならやってみよう!

i18n(ja): japanese translation of vaccine criteria by yokinist · Pull Request #90 · g0v/vaccinate

こういう場が定期的にあるので遊びにいってみるのもいいかも!?

様々な課題解決プロジェクトを持ち寄って仲間を集め、みんなで手を動かしてサービスを作り上げる1day ハッカソン。営利目的ではなく何からの社会課題に対して解決することが目的のプロジェクト。

Social Hack Day

身構えずに、ゆるく、小さなところから Contribute をはじめてみてみるのもいいかも!