引退されていった諸先輩方に想いを馳せながら、オープンソース開発者として力尽きないために自分が心がけていることをまとめてみました。すでに個人開発をされている方、個人開発に興味のある方の参考になれば幸いです。
1. 愛情を注げるもの以外は作らない
個人開発の魅力は何といっても、自分の作りたいものを自分のペースで開発できることです。やりくりして捻出した貴重な開発時間を「愛情を注ぐことすらできないプロダクト」に費やすことに何の意味があるのでしょうか?
2. 世界で一番と確信できるまでプロダクトを磨き続ける
もちろん日本で一番でも構いません。どんなにニッチな領域でも構わないので、自分が一番だと思えるまでプロダクトを磨き続けます。自分のプロダクトが一番だと思えてからが本番です。さらにより良いプロダクトを目指しましょう。
私の場合、世界で一番対応ハードウェアの多いストレージ情報ソフトを目指すことは叶いませんでした。(Hard Disk Sentinelがとてつもなく凄い!)
しかし、殺伐としがちなストレージ情報ソフトの中でひときわ異彩を放つCrystalDiskInfo Shizuku Editionよりも萌えるプロダクトが生まれることはないでしょう。(もちろん、Kurei Kei Edition派の方もOKです!)
一番の切り口は無数にあります。自分の中では世界で一番と自信が持てるまでプロダクトを磨き上げましょう。
3. ユーザーの声を真摯に受け止めつつも、誹謗中傷は「読まない」
個人開発において自分がどうしたいか?が一番大切だとは思いますが、ユーザーの声がきっかけでより良いプロダクトになることは多々あります。プロダクト改善のヒントがたくさん詰まったユーザーの声はぜひ大切にしましょう。直接、連絡いただけないことも多いので、私はプロダクト名などで時々エゴサーチしています。
非常に重要なことは、ユーザーの声を全て反映する必要はないということです。ありとあらゆる要望を考えなしに取り込んでいては早晩破綻してしまいます。ユーザーの声をよく吟味した上で取捨選択しましょう。
ソフトウェアを公開していると、心無いユーザーから「お前のソフトはク〇だ!」などなどありがたいお言葉をいただくことがあるかもしれません。読まなかったことにしましょう。
【余談】致命的な不具合でユーザーにご迷惑をおかけした際に、「お前の開発したソフトは二度と使わない!」「お前にソフトウェア開発をする資格はない!」と罵声を浴びせられたことがあります。ご指摘の通りなので真摯に反省しましたが、作者にわざわざメールするのはやめましょう。普通に悲しかったです・・・。
参考:世界中のユーザーに愛される ソフトウェアを作りたい!! (P.33)
4. ユーザーから開発を支援いただける仕組みを構築する
個人開発はモチベーションがなくなればそこで終了です。ユーザーから開発をご支援いただける仕組みを構築しましょう。
- 動作検証に協力してもらう
- プルリク(パッチ)を送ってもらう
- SNSなどで宣伝してもらう
- 翻訳に協力してもらう
などなど。プロダクトの改善に向けて、ユーザーに協力してもらいたいことを公式サイトやSNSで発信してみましょう。
CrystalDiskInfoは、自分の力では乗り越えることができなかったUSB対応とNVMe対応を非常に高い技術を持ったユーザーからご支援いただき実現しています!技術的な困難を必ずしも自分一人の力で乗り越える必要がないのは、オープンソースの魅力です。
5. 自分だけの応援キャラクターを作る
既存のキャラクターに萌えるのも良いのですが、自分専用の応援キャラクターは別格です!!もちろん、ちょっぴりハードルは高いのですが・・・。