正しいwebサービスの葬り方
このたび、7月頃から個人ではじめた「Share Memo」というwebサービスを今年中には閉鎖することにしました。
閉鎖するにあたって、正しいwebサービスの葬り方について考えてみました。
大袈裟に、考えた、といっても大きくわけて2つしかありません。
以下、その2つです。
既存ユーザーへの配慮
どんな過疎化したサービスであっても、1人くらいはユーザーがいるはずです。
たとえ1人であろうと自分の作った拙いサービスを利用してくれた大切な大切なユーザーです。
閉鎖にあたっては、しっかりとそのユーザーへの配慮を行ないましょう。
ShareMemoに関しては、メモサービスなのでいきなり過去のメモがみえなくなるのはとても困ります。なので、今年中は過去分のメモは全てみられるようにしました。
ソースの公開
webサービスを閉鎖するなら、ソースは公開すべきです。
理由は、2つです。
①インターネットコミュニティへ微力ながらの貢献
エンジニアをやっていると、必ず何か問題にぶつかります。
そして、問題にぶつかったらたいていはインターネッツの海を検索してまわります。
そうすると、ほぼ答えが見つかると思います。
Share Memoを作るときも何度も問題にぶち当たり、その都度検索して解決してきました。
そうしていくつもの問題を乗り越えた結果としての制作物を公開することはインターネッツの海への恩返しになると思います。
アクティブユーザーが0人のサービスをそっとネットの片隅で孤立させているくらいなら、汚くてもいいからソースコードを公開してしまったほうが誰かの役にたつと考えます。
セキュリティホール全開のコードとかMVCにすらなってないものとかでも、です。
セキュリティホールとかでもとにかく公開して淘汰され、みそくそに批判されれば、作成者のスキルアップにもつながりますしね。
②スキル証明
転職するとします。
今自分がどんなコードが書けるのか、どんなサービスを作り出せるのか、それを証明する方法は何でしょうか。
おそらく、どんなコードが書けるのかを見せ、どんなサービスを作りだせるのか見せるしかないと思います。
ならば公開しないことにははじまりません。
たしかに、こっそり面接時にソースをみせるでもいいと思いますが、面接中に見せられるプロダクトの数なんて大した数じゃないと思います。
インターネッツで公開した制作物で良い意味で有名になれば、インターネッツで働いている人たちにアピールできます。おそらく転職する先の面接官もインターネッツの人であると考えると、面接よりも前にスキルのアピールタイムがあるということです。お得ですよね。
そうして、転職した先で学んだことを生かしてまた私的なプロダクトを作る。
そして公開する。
この繰り返しでインターネッツの海は豊かになると思います。
ソース公開にあたっての注意
注意しないといけないのは、公開する際はパスワードなどの個人情報を削除することです。
ソースコードからはもちろん、コミットログやログファイルなどすべてを確認すべきでしょう。
また、利用しているサードパーティのライブラリのライセンスにも注意しないといけません。
GPLで公開されているライブラリを使用しているのに改変したりとか色々なライブラリを使用してる場合は注意が必要です。
最後に
こうして私は自分が作ったwebサービスをほぼ葬りました(もう過去メモしかみれない)。
そして、ソースを公開しました。汚いし、色々恥ずかしいです。でも先のような理由から公開しています。
先ほども言いましたがインターネッツの海に貢献するとかただの理想論で、現実はなかなかうまくいかないと思うのですが、特にわたしのようなインターネットに色んな意味で恩恵を受けている身としてはそのあたりを考えざるを得ないのでした。
微力ながら貢献できれば幸いです。