2022年から「より」オープンソースにフォーカスします

こんにちは!kazupon です。

2022年からは業務時間を「これまで以上」にオープンソースへの比重を増やして開発に注力します。

業務時間に今まで以上に OSS (オープンソースソフトウェア) の開発にフォーカスをできることを大変うれしく思います。それと同時に会社にいながら OSS に取り組める環境を提供してくれるプレイドには大変感謝しています。

プレイドに入社して以来、OSS とプロダクトを通して互いにフィードバックし合うことで、双方のシナジーによって互いに貢献してきました。具体的には OSS は Vue.js & vue-i18n とプロダクト KARTE の国際化 (i18n) 周りです。

今後も、今まで以上に OSS をプロダクトの方にもフィードバックすることで価値を提供していきます。また、自分が注力する OSS の取り組みを通して Vue.js 、Nuxt 、Vite そして他の OSS コミュニティにも還元していきます!

来年 2022 年は Vue Fes Japan 2022 を開催する予定です!

オープンソースへのフォーカス決断に至った経緯

i18n の課題を根本から解きたい!

2019年にプレイドに入社して以来、自分の興味分野である i18n に関わってきました。

Microservicesなアーキテクチャでプロダクトが提供されている中でローカライゼーションの基盤を独自で構築してきましたが、i18n リソース管理周りでいろいろと課題があることが分かってきました。現状の仕組みでは、コードにある i18n リソースとローカライゼーションサービスにある i18n リソースは、それぞれ別になっているため不整合が発生しやすい状況になっているという課題があります。

また、PLAID で Microservices なアーキテクチャが進んだことにより、特にWebフロントエンドにおいては、Vue だけではなくReact、Svelte といった形でそれぞれのプロダクトのユースケースにあったもので構築されるようになっています。その中で i18n 対応は、それぞれのフレームワーク向けに提供されているものを使って対応していく形になります。i18n リソースのメッセージフォーマットもそれぞれの i18n ライブラリごとによって異なります。そして、i18n リソースの管理方法も異なり、アプリケーションへの i18n 対応方法も異なります。

i18n リソース周りの課題と、こうした各種フレームワークの i18n 対応状況から、自分の立ち上げた Intlify プロジェクトで i18n の課題を根本から解くことにチャレンジしたいと思うようになりました。


自分が好きな OSS で価値を提供したい!

今回の決断に至った一番の理由がこれが大きいです!自分は OSS が大好きです!

そもそもプレイドに入社理由の1つとしては、入社したときに投稿したブログ記事にも書いていますが、プレイドで OSS ベースにやっていきたいというのが理由で入っています。

冒頭で述べたとおり、プロダクトの国際化を通して色々とやっていきましたが、業務時間中に OSS する申し訳なさに、遠慮している部分がありました。

そんな中、2021年ここ最近ビッグなニュースが飛び込んできました。

Svelte 作者の Rich Harris 氏と Vue.js / Vite エコシステム界隈で活躍する Anthony Fu 氏のフルタイムで活動していくのを Twitter で知った時、フルタイム OSS したい自分にとっては心の底から羨ましく思いました。

それと同時に、やりたいことにチャレンジできる環境がある場所で、パフォーマンスを発揮できていない自分に刺激を与えてくれました。改めて入社したときに持っていた、 OSS に取り組むことで自分にしかない価値提供で面白いことをやっていこう!というフレッシュな情熱を取り戻したいと思うようになりました。

そして、これまでの国際化対応をとおして得た i18n の課題を根本から解きたいという思いから、今回の OSS へのフォーカスという決断に至った次第です。

OSS にフォーカスして何を解いていくのか?

今のところ、以下にもの取り組んでいきます!

- vue-i18n v9.2 正式リリース
- vue-i18n or vue-i18n-next の Painful ポイントの解消
- 各種 bunlde ツールを unplugin で統合
- vue-i18n-jest の i18n custom block の対応
- i18n ルーティングライブラリの提供
   - nuxt/i18n の nuxt3 対応
   - Vue 向けへ nuxt/i18n  API 互換ライブラリ提供
- 言語切替に特化したシンプルなライブラリの提供
   (for micro-frontend)
- vue-i18n-next で作ったコアライブラリの洗練化
   - フレームワーク agonostic (依存しない)  ライブラリ化
   - TypeSafe リソース管理 (Schema base & single source of truth)
   - サーバーサイド指向
   - ICU 互換メッセージフォーマット

ここで上げたものは、自分が立ち上げた Intlify プロジェクトで OSS 開発していきます。特に太字にした vue-i18n-next のコアライブラリの洗練化ところは、一番やりたいところです。よりいっそう汎用化して、様々なユースケースで使ってもらえればと思っています。この OSS を通して Vue、Nuxt、Vite、その他の OSS コミュニティへも貢献していきます。 

最後に

ここまで、このブログ記事を読んで頂いてありがとうございました!🙏

改めて、会社に所属しながら自分がやりたい OSS に取り組める環境を提供してくれるプレイドには大変感謝しています ❤️

ここ最近、プレイドでは OSS に対してもスポンサーという形で支援しており、OSS への支援に対しても積極的です。

また、プレイドでは以下のような新規プロダクトの開発も進めています。

QualtData 

KARTE Blocks


上記以外にも、さまざまな新規プロダクトがありますが、いずれの新規プロダクトにおいても、プロダクトの開発をするエンジニア以外にも、普段 OSS に取り組んで専門的な技術知識を持っているエンジニアもいっそう必要とされています。社内でも自分以外にも、OSS の専門的な知識を持って、新しい OSS を開発したりしている方もいますが、全然足りていない状況です。

自分のように OSS が好きで普段からプルリクエストを送っていたり、自分の OSS プロジェクトで何かゴニョゴニョ作って、プロダクトに貢献したいと思っている人がいたら、ぜひいっしょに自分とやっていきましょう!

この記事が気に入ったらサポートをしてみませんか?