ゆるふわOSS入門
repo_url
date
Sep 14, 2021
thumbnail_url
slug
yurufuwa-oss
status
Published
tags
tech
summary
身近なところからOSSに関わるということ。優しくて広い世界がそこにはありました。
type
Post
outer_link
まえがき
GitHub が好きで仕事ではもちろん、休日や隙間時間にもよく使っている。あと、結構ライトに OSS (オープンソースソフトウェア)に関わっている。なぜかというと、純粋に楽しくして学びが多いから。OSS と聞くと敷居が高く感じてしまうけど、本当に様々なものがある。自分は比較的ゆるいものにゆるく関わっている。そう、「ゆるふわ OSS 的活動」をしている。あまりイメージつかないと思うので、実際にどんな形で関わっているか、何が得られるか、どんなモチベーションでやっているのかなど紹介していこうと思う。
どんな使い方しているのか
1. ライブラリの探索
とりあえずタイムラインをながめるのが日課となっている。フォローしている人の Star。Watch しているリポジトリの更新などが表示されてくる。これを見ているだけで日々発見があるので楽しい。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F181de1e4-9042-4d97-ace8-638bb0b1d915%2FUntitled.png?table=block&id=27cf8fd1-47db-433b-9af4-d98243e8fd0f&cache=v2)
2. スターを遠慮なくつける
そこで気になる技術があったらすかさず「スター!」。スターは開発者のモチベーションになるし、積極的にしていく笑。スマホのアプリでも電車とかでみたりして、すかさず Star している。そうすると、いざ使うタイミングになった時に「前なんか良さそうなあったな」とかで思い出すことが多い。絞り込んだりして見つけることができる。そう、自分のためにもなるのである。
![Filter や Sort なども自由自在にできる。Star は 1.5k を超えた。](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8199d534-50e1-488d-b88c-7b451d2bac1d%2FUntitled.png?table=block&id=cbf8582e-7a20-447a-9bd7-e67af9a22cf7&cache=v2)
3. 実装の参考にする
生きた情報がたくさんあがっている GitHub には大変お世話になっている何か困ったらとりあえず検索窓にいれる。イシューやディスカッションに目を通して解決することもあれば、コードをピンポイントで検索して他の人はどうやって実装しているか参考にすることも多い。検索の仕方は以下ページが参考になる。
自分なりの PR 送り方
1. 業務で動かなくて困ったら直接PR送る
一時的にはバージョンさげるなどで対応できるが、普通に困るので勢いで出来そうだったら直しちゃうムーブ。中は覗くことあまりないから、普通に面白かったりする。
例:
- ESLint の CI 動かなくなったり
- Vercel の preview url 取得ができなくなったり(Cypress を CI で回す際に使っていた)
- NextAuth.js 触っていたときに型のエラーが出たり
- → これは結局、型ではなくドキュメントの方を更新した
- https://github.com/nextauthjs/next-auth/pull/2268
- ドキュメントのリンクが切れていたり
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F382dadcb-76db-4232-a01e-079298088b78%2FUntitled.png?table=block&id=1fbc6b72-c54e-49cf-9b4d-3e6d25027aec&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2f276ff4-b7f5-4362-a46c-6f1bccc78276%2FUntitled.png?table=block&id=d7735acf-e75a-45a3-b8f4-b22d8fb9e95c&cache=v2)
2. 手元で動かし思ったところがあればPR送る
スターなどしていて、手元で OSS を動かしていると気になることがあったりする。それを、そのままにせず本家にフィードバックするという関わり方だ。
例:
- nobelium:Notion + Next.js でいい感じのブログをつくれるOSS
自分はよく
Tab
でカーソルを移動させるのだが、タブでリンクがフォーカスされなくてPR送ったのがきっかけだった。そして、触れば触るほど自分にできることや改善できることなどがどんどん見えてくる。その後もいくつかPR送っていたら、作者の方から感謝とともに開発チームに招待してもらった。実はこのブログも nobelium をベースにしているので、自分のためでもある笑。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F615ed067-aa3b-4c35-88a0-eff742fba432%2FUntitled.png?table=block&id=c56e8eb3-a882-43ee-a48c-c43733e34a21&cache=v2)
業務では触れられないことができるのがとても良い。
実際に学んだこと:
- Tailwind CSS について学んだ
- SSG / ISR周りの理解が深まった
- Notion API について学んだ
- 日付や言語設定について学んだ
- 英語でのコミュニケーション?
など...
その後の開発で Tailwind CSS を採用したのだが、この経験があったから踏み切れたところも多い。自分で0からつくると環境をつくりあげるまでで疲れてしまったり、何をつくるかというアイデアがなかなか出ないことも多い。OSSには既に形になっていたり、誰かに使われているといったものも多い。自分のためだけでなく、誰かのためにも繋がるので幸せの世界。
OSS の連鎖
OSS の中身では、他の OSS を組み合わせてつくっていることがほとんどだろう。1つ触ってみると、色々なものを触れるきっかけにもなるしPRチャンスも必然的に多くなる。例えば、上記の nobelium をいじっているときに気付いたものもいくつかある。
- GitHub のイシューをDBとしてコメント機能を組み込めるやつに日本語の言語設定がなかったり
- darkmode にしたときに Loading の表示が黒のままのテキストがあったり
![notion image](https://www.notion.so/image/https%3A%2F%2Fi.gyazo.com%2F40fd834decca089e9c0d34e6d10efbbd.gif?table=block&id=e0632d7d-c31f-4f32-86b0-5f6aec3a2c7b&cache=v2)
逆に考えれば、色々な OSS に広がれば広がるほどコミュニティも広がりフィードバックや改善スピードも上がっていくと言えるかもしれない。
小さなところから始めてみる Contribute のススメ
コミュニティに何かしらの形でフィードバックを残そう!
みんなで改良していけるのがオープンソースのいいところ・・。イシューに起票するのも立派な貢献だし、実際にPR送っちゃうのも立派な貢献。得意な関わり方でフィードバックを残してみよう。
粒度は小さなものから基本大歓迎されている!
typoの修正や、リンク切れ、言語設定の追加など。痒い所に手が届くのも嬉しい。そして、修正しようと触ってみて気付く改善点や不具合などが見えてくることが多い。関わるきっかけさえできてしまえば、こっちのもの。
漠然と Contribute したいなと思ったときは
good first issue
とかで絞ってみると出てきたり
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2ad5f986-df2f-4d17-87b1-0892e915b568%2FUntitled.png?table=block&id=0283255b-3568-4977-be48-a4585671daa3&cache=v2)
なんかできそう!
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4a3f95b0-9525-482a-ab0e-5c719d6454a9%2FUntitled.png?table=block&id=b2319abb-4c22-4c21-aad0-4f090b7ebb2b&cache=v2)
ならやってみよう!
こういう場が定期的にあるので遊びにいってみるのもいいかも!?
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5de802a9-6a75-4e26-956f-11831e8bcb86%2FUntitled.png?table=block&id=ca2ba8de-9721-4c0d-ad12-0e1905c04180&cache=v2)
様々な課題解決プロジェクトを持ち寄って仲間を集め、みんなで手を動かしてサービスを作り上げる1day ハッカソン。営利目的ではなく何からの社会課題に対して解決することが目的のプロジェクト。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F430fb7d9-ef16-45f8-b485-e7ed60ccef29%2FUntitled.png?table=block&id=763cd5ee-9fae-4985-bd50-0b652984618b&cache=v2)
身構えずに、ゆるく、小さなところから Contribute をはじめてみてみるのもいいかも!