ゆるふわOSS入門

まえがき

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

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

1. ライブラリの探索

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

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

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

Filter や Sort なども自由自在にできる。Star は 1.5k を超えた。
GitHubアプリ - App StoreGitHubの「GitHub」をApp Storeでダウンロードしてください。スクリーンショット、評価とレビュー、ユーザのヒント、「GitHub」に似たゲームを見ることなどができます。apps.apple.com

3. 実装の参考にする

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

コード (レガシー) の検索 - GitHubドキュメントコード検索 API を使用している場合にのみ、レガシ コード検索構文を使用する必要があります。docs.github.com

自分なりの PR 送り方

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

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

例:

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

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

例:

  • nobelium:Notion + Next.js でいい感じのブログをつくれるOSS
GitHub - craigary/nobelium: A static blog build on top of Notion and NextJS, deployed on Vercel.A static blog build on top of Notion and NextJS, deployed on Vercel. - craigary/nobeliumgithub.com

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

fix(a11y): tag link & header logo link by yokinist · Pull Request #111 · craigary/nobeliumThank you for develop awesome blog system 💯 I sent PR for the following reasons: The tag link was implemented with click event on non-interactive content. -> fixed link to use next/router for a...github.com

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

実際に学んだこと:

  • 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/gitalkBefore submitting a pull request, please make sure the following is done: Fork the repository and create your branch from master. If you've added code that should be tested, add tests! If you&...github.com
  • darkmode にしたときに Loading の表示が黒のままのテキストがあったり
fix(style): loading text color by yokinist · Pull Request #126 · djyde/cusdisThe visibility of loading text was poor in dark mode, so this has been fixed. Loading...github.com

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

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

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

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

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

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

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

  • good first issue とかで絞ってみると出てきたり
Build software better, togetherGitHub is where people build software. More than 225 million people use GitHub to discover, fork, and contribute to over 800 million projects.github.com

なんかできそう!

ならやってみよう!

i18n(ja): japanese translation of vaccine criteria by yokinist · Pull Request #90 · g0v/vaccinateclose #88 The content of vaccine criteria was different between the Chinese and English files, so I translated it based on the information on the Taiwan CDC website, which is the most reliable sour...github.com

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

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

https://hackday.code4japan.org/hackday.code4japan.org

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


© yokinist