概要
難易度が高いかつ2017年度中に実現可能性がある目標を設定して記述する。
2017年度の目標
2017年度の目標は 「github.com/ymizushi でstar数100以上のプロダクトを作る」に設定した。
star数を100以上取るための戦略
広報
いくら良いプロダクトを作ったとしても、人に知られないことにはstar数を稼ぐのは難しい。
出来るだけそのプロダクトの存在を知って貰う必要がある。
プロダクトの存在を知ってもらうためには、以下の二通りの方法がある。
- プロダクト自体の広報
- プロダクト開発者の広報
- 技術記事での広報
プロダクトを知ってもらうためには、開発者のフォロワーを増やし、共有する方が効率が良い。
技術記事のアウトプット先としては以下のものが考えられる。
技術記事は日本語とさらに英語でも行うことが出来ば、海外からの流入も望める。
需要のあるプロダクトを開発する
当然ながら需要の無いプロダクトにstarはつかない(例外的にネタ的なソフトウェアに対して大量のstarが付くこともあるが、ここでは含めない)ので、需要のあるプロダクトを作る必要がある
トレンドを抑える
前章の「需要のあるプロダクトを開発する」とも関連するが、トレンドの技術ではないプロダクトは既に需要が満たされているか、そもそも需要のなかったかのいずれかであることが多い
(このあたり、スタートアップが開発するサービスと似ているかもしれない)。
そのため、出来るだけトレンドに沿った技術のOSSプロダクトの方がstar数をより多くもらえる可能性が高い。
便利なものを作る
便利ではないものにstarは付かない。
需要のある言語で開発する
需要が全く無い言語で開発しても意味がない。
需要が無いという表現は、限定された市場に対して需要がない、という意味だ。
例えば、clojureはそれほどユーザ数が多いわけではないが、他の言語ではよくあるライブラリーだが、clojureでは今まで誰も実装していなかったプロダクトであればstarはつきやすい。
需要に対して供給が少ない、あるいは無い領域を見つけて開発するのが得策である。
短期間でリリースする
スタートアップと同じだが、自分が解決したい問題は、他の人も同じように解決したいと思っていることが多い。
ここで重要になるのは、リリースまでのスピードである。
リリースまでの期間を短くしつつ、コードのクオリティや使いやすさをどこまで追い求めるかが鍵だ。
まとめ
2017年度中にgithub上でstart100以上を稼ぐというのは、容易なことではない。
しかし、定量的に設定できる目標として1年で絶対実現不可能なことではないので、目標設定としては悪くないと考えている。
方針としては、業務を進める上で実装が必要になったツールなどをOSSとして切り出して公開することを考えている。