hnwの日記

PHPカンファレンス2016でOpenWrtについてLT発表をしました

11月3日に開催されたPHPカンファレンス2016でLT発表してきました。以下が発表資料です。



OpenWrtの名前を知ってもらって、その後うっかり触る人が出てきたらいいなあ、と考えて発表してみました。PHPとほとんど関係ない内容でしたが、それなりに面白がって頂けたのかな?と思っています。興味を持った方は「OpenWrt」で検索すれば大体のことは日本語で見つかると思います。また、下記URLで自分がLEDE(OpenWrtのfork)をインストールしたときの手順を紹介しています。

OpenWrtの近況

OpenWrtはルータ向けのLinuxディストリビューションですよ、という程度の紹介をプレゼン中で行いましたが、改めて昨今のOpenWrtを取り巻く状況について書いてみます。


まず、今年の10月にOpenWrt Summit 2016がドイツで開催されました。去年に引き続き2回目の開催のようで、ここに来てプロジェクトとしての勢いが加速しているような印象です。


このOpenWrt Summitをスポンサードしているのがprpl Foundationという組織です。この組織の正体はイマイチわかりませんが、QualcommBroadcomといったMIPS系SoCに関わる大手企業が一定の金を出していそうな雰囲気で、OpenWrt絡みのプロジェクトに出資するような活動もしています(参照:「OpenWrt/LEDE Project Funding Support from prpl」(PDF))。OSSプロジェクトでお財布の心配が無くなることは良いニュースではないでしょうか。


一方で、OpenWrtからLEDEというforkができて大半の開発者が両方にコミットしているような状況でもあり、この人たち本当に大丈夫なのかしら?と思ったりもします。


そんなわけで、OpenWrtは超有望ってほどでもないけど一定期待されているOSSプロジェクトという評価が妥当なのかな、と個人的には考えています。

OpenWrtのバイナリパッケージをTravis CI上でビルド&デプロイ

発表では全く触れませんでしたが、OpenWrtのバイナリパッケージのMakefileGitHub上で管理して、git pushすると勝手にTravis CI上でビルドが走ってデプロイまで行われる仕組みを作りました。ビルド環境はDockerイメージとして構築したものをDocker Hubにアップロードしています。



仕組みの詳細については下記リポジトリの.travis.ymlやTravis CIのログなどをご確認ください。


そもそも、自分専用のパッケージを作るだけであれば手元のマシンでビルドした方が断然楽です。ただ、皆が手元でビルドしているとノウハウの共有が行われにくいので、このように全手順をネット上に公開できる仕組みは価値があると考えています。まだまだ荒削りだと思いますが、参考にして頂ければ嬉しいです。

他のセッションについての感想など

今年のPHPカンファレンスも刺激をたくさんもらった集まりでした。特にt_wadaさんの発表「PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計」はスライドもトークも素晴らしいものでした。今回は平行トラック数が多くて見られなかった発表も多かったのですが、興味深いものばかりで、ジャンルとしても多岐に渡っているように感じました。スライドも動画も公開されつつあると思いますので、後で確認したいと思います。


また、懇親会や2次会で多くの方々と技術の話題から雑談まで色々とお話しさせて頂きました。話そうと思っていたのに結局話せなかった方も何人かいらっしゃいましたが、次回こそよろしくお願いいたします。


最後になりますが、発表者の皆様、スタッフの皆様、本当におつかれさまでした。来年も期待しています!