5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Kotlin】開発しているプロジェクトで100スターを獲得した話

Last updated at Posted at 2023-12-01

この記事はOSSアドベントカレンダーの2日目の記事です。

プロジェクトについて

この記事で紹介するのはjackson-module-kogeraというリポジトリです。
勿論今現在もスター募集中です!

このリポジトリでは、Javaで最も有名なJSONライブラリの1つであるJacksonKotlin向けサポートライブラリであるjackson-module-kotlinに関する実験的な開発を行っています。
初回コミットは2022年4月ですが、オープンにした上で主要な開発を行ったのは今年に入ってからでした。

特徴としては、低レベルAPI(kotlinx-metadata-jvm)利用による高速性、ライブラリサイズの削減や、機能の先行サポートが有ります。
特にデシリアライズのスループット性能は、2.15.3時点では本家の数倍となっています1
image.png

kogeraという名前は、日本語のコゲラから取りました。
Kotlinの名前に似ている小鳥で、プロジェクトのウリである高速性・ライブラリサイズの小ささに、日本で一番小さなキツツキであるコゲラをかけています。

開発のきっかけ

自分は今年から本家リポジトリであるjackson-module-kotlinのメンテナになりました。
メンテナンスをやっていく上では、新しい機能の作成や既存機能の改善を試してみたい・試して欲しい場面が多々有ります。
一方、このリポジトリは長い歴史を持ち、多くのユーザーから利用されているため、破壊的変更前提で好き放題弄ることは憚られます。

そこで、「ぼくの考えた最強のjackson-module-kotlin」をやるための場としてリポジトリをスタート2しました。

スター獲得のためにやったこと

身近な人・日本語コミュニティへの宣伝

まずは社内Slackの自チャンネル、自分のX(旧Twitter)やFaceBookといった所から宣伝を始めました。

加えて、Server-Side Kotlin MeetupKotlin愛好会のようなコミュニティでの登壇、Swift/Kotlin愛好会kotlinlang-jpといったSlackチャンネルでの宣伝も行いました。

英語コミュニティへの宣伝

英語コミュニティへの宣伝は、主にkotlinlangSlackチャンネルから始めました。
こちらのチャンネルには、新しい機能のサポート追加のようなことが有る度に宣伝を投げています。
この中では、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のメンテナンスも頑張っていきます。

最後に、スター頂けると励みになります!

  1. 性能改善は順次本家に反映している為、今後この差はどんどん小さくなっていきます。

  2. 正確には、掘り出して復活させました。

  3. 当然ですが、これはjackson-module-kotlin本家では簡単に解決できないイシューに関してのみ行っています。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?