CSS
GitHub
Bootstrap
OSS

Bootstrap の開発メンバーになった話

先日、Bootstrap の作者 (@mdo) からチームに加わらないかとお誘いのメールがあり、喜んで受け入れて、Bootstrap のチームメンバーになりました。

スクリーンショット 2019-05-02 20.44.12.png

Organizations の所に Bootstrap のアイコンが表示されるようになりました。

どういう経緯でチームメンバーになったのかを書いてみたいと思います。


はじめての Issue 報告

私が初めて Bootstrap に Issue を報告したのは、今から 2 年と少し前の 2017 年 1 月のことでした。

Issue の内容は、「同じ Nav コンポーネントでも、タブスタイルとピルスタイルでマウスオーバーした時のマウスカーソルの形状が異なるが、その理由を知りたい」というものです。

mouse cursor on active item of tabs and pills #21560

「これはバグだ!」と言わず、「なぜそうなっているか知りたい」と言ったのは、「実装漏れかもしれないが、そう設計されているのには何か訳があるのかもしれない」という気持ちがあったからです。

Bootstrap は CSS フレームワークと説明されることが多いですが、私はデザインシステムの雛形のようなものだと思っています。そのまま使うというより、色を変えるなど独自にカスマイズして使います。色々カスタマイズできるからこそ、ベースとなるオリジナルが適切に設計されている必要があります。

Bootstrap はこの業界では世界でもっとも有名で、歴史も長いですし、使う側としてはちゃんと作られていると信じて疑わないでしょう。当時の自分もそう思っていた節がありました。Bootstrap の設計はちゃんとしているだろうから、おかしいなと思うことがあっても何かデザイン上の理由があるのかもしれないと。

しかし、Issue 報告後、その理由は説明されることなく、メンバーによって修正のための Pull request (以降PR)が作られ、問題が修正されていきました。

どうやら、ただの実装ミスだったようです。

当時は、ドキドキしながら Issue を書いていたと思いますが、淡々と進んでいったので、OSS に貢献した満足感とかも特になく、まあそんなもんか、という感じでした。


貢献活動の本格化

頻繁に Bootstrap に Issue や PR を報告するようになったのはそれから半年ほど経った 2017 年 8 月ごろからで、月に 2、3 件の報告をしていたように思います。

継続的に Bootstrap に貢献するようになった理由は、仕事がきっかけです。単発で Web サイトや Web アプリを作るだけだったら、Bootstrap のおかしな点に気が付いてもわざわざ OSS を修正する手間をかけるメリットもないと思いますが、私の場合は Bootstrap のテーマ的なものを作っていたので、不具合を独自に修正するよりも、本体に報告した方が良いことがありそうだと考えました。

ある程度の数の PR がマージされると、貢献者ランキングに名前が表示されるようになります。このランキングは GitHub の機能で自動で更新されていきますので、順位が上がるたびに自分のフロントエンドのスキルが認められていると感じられます。

やっていた活動は、不具合報告やバグ修正のPRだけでなく、こうなっているべきだという提案や、ソースのリファクタリングなどいろいろ行なっていました。

こうして、Issue や PR を通してBootstrap のチームメンバーと関わりを続けていると、あることが見えてきました。

それは、CSS 担当の不足です。

JavaScript に関するものは活発に開発が進んでいますが、CSS の部分は Issue が報告されても数日そのままということがよくあります。

しかし、時期によってはいっきに開発が進むこともあります。

Bootstrap のチームメンバーは(私も含めて)普段の仕事の傍で OSS 活動をしていますので、なかなか時間を裂けません。時間がとれたときに開発が進むということですね。みんな個人活動をしているんだからと考えたら当然のことです。

そういった中で、自分がチームメンバーに入れたら、もっと開発を進められるかもしれないと思うようになりました。

チームメンバーに入る方法は、2 通りしかないと思います。


  • 自分からメンバーに入れてくれと希望を出す

  • チームメンバーから入らないかと誘いをもらう

自分から申し込んだ場合、断られたら 2 度はないかもしれないので、「自分が作った PR が 100 個マージされたら作者にメールする」と決めて、まずはこのまま活動を継続することにしました。

(結果的に、PR を 70 個作った頃にメンバーから誘われることになりました)


日常生活の変化

OSS に貢献するようになると、日常生活も変化します。

きっかけが仕事の延長とはいえ、こういう活動をすることを会社から許可をとったわけではなく、個人活動として行なっていますので、作業は休憩時間とか、プライベートの時間で行います。

作業時間は日にもよりますが、多い時で 3 時間くらいを週に 3 日とかでしょうか。夜中の 2 時くらいまで Bootstrap の活動をして、8 時半に出社という生活スタイルです。

隙間時間の使い方も変わってきます。GitHub プロジェクトに対するすべての活動をメールで通知する設定にしていますので、毎日 15 〜 30 件のメールが携帯に届くようになります。新しい Issue や、新しいコメント、PR がマージされるなど、すべての動きに目を通して、状況を把握するようにしています。

朝起きて、布団の中で溜まった通知メールを読むということをずっとやっています。電車での移動中や、会社の休憩時間も携帯で通知を読みます。

プライベートワークが認められていて、普段の仕事と二刀流で仕事している方はだいたいこんな感じなんじゃないでしょうか。


活動のピークから現在まで

2019 年に入った頃、貢献の数が増えてきてチームメンバーとの会話も増えてくると、名指し(メンション付き)で意見を求められるようになりました。「@ysds はどう思う?」という感じですね。

そういうやりとりを通して、作業頻度には波もありましたが、およそ2年ほど Bootstrap への貢献を続けていたら、作者からお誘いのメールが来た、というのがつい先日のことになります。

今後、チームメンバーになったことでどのような変化があるかまだわかりませんが、引き続き Bootstrap に貢献していくつもりです。

日本人で一人しかいない Bootstrap チームメンバーですので、そういった点でもなにかオファーがあったりしないかな〜なんて思ったりもしています。

Bootstrap を使っている方々は引き続き、使っていない方はぜひ便利に使ってもらえれば嬉しく思います<3

@ysds (GitHub)