この記事はOSS
アドベントカレンダーの2日目の記事です。
プロジェクトについて
この記事で紹介するのはjackson-module-kogera
というリポジトリです。
勿論今現在もスター募集中です!
このリポジトリでは、Java
で最も有名なJSON
ライブラリの1つであるJacksonのKotlin
向けサポートライブラリであるjackson-module-kotlinに関する実験的な開発を行っています。
初回コミットは2022年4月ですが、オープンにした上で主要な開発を行ったのは今年に入ってからでした。
特徴としては、低レベルAPI(kotlinx-metadata-jvm
)利用による高速性、ライブラリサイズの削減や、機能の先行サポートが有ります。
特にデシリアライズのスループット性能は、2.15.3
時点では本家の数倍となっています1。
kogera
という名前は、日本語のコゲラから取りました。
Kotlin
の名前に似ている小鳥で、プロジェクトのウリである高速性・ライブラリサイズの小ささに、日本で一番小さなキツツキであるコゲラをかけています。
開発のきっかけ
自分は今年から本家リポジトリであるjackson-module-kotlin
のメンテナになりました。
メンテナンスをやっていく上では、新しい機能の作成や既存機能の改善を試してみたい・試して欲しい場面が多々有ります。
一方、このリポジトリは長い歴史を持ち、多くのユーザーから利用されているため、破壊的変更前提で好き放題弄ることは憚られます。
そこで、「ぼくの考えた最強のjackson-module-kotlin
」をやるための場としてリポジトリをスタート2しました。
スター獲得のためにやったこと
身近な人・日本語コミュニティへの宣伝
まずは社内Slack
の自チャンネル、自分のX
(旧Twitter
)やFaceBook
といった所から宣伝を始めました。
加えて、Server-Side Kotlin Meetup
やKotlin愛好会
のようなコミュニティでの登壇、Swift
/Kotlin
愛好会やkotlinlang-jpといったSlack
チャンネルでの宣伝も行いました。
英語コミュニティへの宣伝
英語コミュニティへの宣伝は、主にkotlinlangのSlack
チャンネルから始めました。
こちらのチャンネルには、新しい機能のサポート追加のようなことが有る度に宣伝を投げています。
この中では、Kotlin
の開発元であるJetBrains
の社員さん(以前より尊敬していた方)からもスターを頂けて非常に嬉しかったです。
また、jackson-module-kotlin
リポジトリ内のイシューに関する解決をkogera
で試作し、当該イシューへリポジトリを宣伝するようなこともしました3。
100スター達成前最後に宣伝を投げたのがReddit
でした。
ここでは投稿から1日程度で20スターほど頂くことができ、一気に100スターを達成することができました。
100スターギリギリでしばらく伸びが止まっていましたが、Reddit
に宣伝を投げたのは良かったです。
100スター達成後にHacker News
にも宣伝を投げてみましたが、こちらは残念ながら殆ど見て貰えませんでした。
Kotlin
に関してはReddit
に投げる方がいい気がします。
宣伝を通して感じたこと
やはり英語圏のコミュニティへ宣伝した場合の伸びが良かったです。
特にこのプロジェクトに興味を持つユーザーは限られると思われるため、絶対的なエンジニア数の多い英語圏のコミュニティへ宣伝を投げるのが一番良いですね。
また、宣伝を投げない間はほぼスターが伸びなかったので、必要に応じて宣伝する重要さを強く感じました。
終わりに
かなり力を入れて開発してきたプロジェクトだったため、100スターを獲得できたことが非常に嬉しいです。
以前やっていたプロジェクトは、宣伝不足のままスターが集まらず、モチベーションを失って開発を辞めてしまったので、繰り返さずに済んで良かったと感じます。
100スターというのは大したことの無い数字に見えるかもしれませんが、jackson-module-kotlin
本家でも獲得しているスター数は1,000強で、その実験的プロジェクトで100スターというのは結構多いのではないかと思っています。
このプロジェクトで得られた成果は順次jackson-module-kotlin
へ反映していくため、差はどんどん無くなっていきます。
ニッチな需要しか無いため、これ以降スターが爆伸びするようなことは期待できないと思いますが、プロジェクトが不要になるその時までは細々と続けていきたいと思います。
勿論、本家jackson-module-kotlin
のメンテナンスも頑張っていきます。
最後に、スター頂けると励みになります!