・結論
(現在のところ)なんでもかんでもオープンソースソフトウェアが成功するわけではない。
Atlassianはうまいことやって優れたソフトウェアを生み出している。
・補足
JIRAをかれこれ使い続けて早6年。
Atlassianからお金を貰っているわけではないけれどもしょっちゅうJIRAイイヨイイヨ!と説いて回っています。
JIRAに触れた当時のブログエントリを見るとオープンソースソフトウェアへパッチを送ったのもPebbleが初めてのようで、なかなか感慨深いです。
– オープンソースかどうか
JIRAと同時にオープンソースイイヨイイヨ!とも説いているわけですがJIRAはオープンソースではありません(ソースコードは公開されているけれどもOpen Source Initiative基準のライセンスではない)。
同じ事を実現するソフトウェアで、オープンソースのプロジェクトとそうでないプロジェクトでは圧倒的にオープンソースのプロジェクトの方が群を抜いている事例が多くあります。有名であまり反論もないであろう例はLinux。
一方でオープンソースのプロジェクトがイマイチでプロプライエタリなソリューションの方が優れている事例も多くあります。あくまで主観ですがOpen Office(またはLibreOffice)とMS Officeでは圧倒的にMS Officeの方が操作性、安定性、直感的なUIといった面で優れて言います。(こちらは一定の反論がありそうだけどあくまで主観!!!)
LinuxとOpen Officeの大きな違いはランタイム環境であるかそうでないか、そして利用者=ハッカーという点にあると思います。
– ランタイム環境であるかそうでないか
サーバーOSは落ちたら大損害を被るのでその安定性や、運用のしやすさには皆非常に気を使います。一方でオフィスソフトはあくまで書類を効率的に作成するための手段でしかなく、落ちても若干の手戻りが発生するだけで済みます(もちろん大損害が発生することもある)。
– 利用者=ハッカーかどうか
Linuxを(直接)触る人は概ねハッカー。オフィスソフトを触る人はマウスとキーボードを扱える人=一般的なユーザー。
一般的なユーザーが「あぁ、ここはイマイチ、オレ/ワタシが直してやろう」とは普通なりません。
– 課題トラッキングシステムは?
ITS(Issue Tracking System)、BTS(Bug Tracking System)について言うと、ユーザーの2,3割くらいはハッカーなのではないかと思います。なので「ここが気にくわない、直してやろう」と思い立つ人もそれなりにいると思います。しかし、ITSはその上にアプリケーションを構築するランタイム環境ではないので気にくわない点があってもそれほど生産性に大きな影響がなく放置してしまいがち。
なので伝統的なオープンソースのITS/BTSはいまいち盛り上がりに欠けるのではないかと思っています。(ここで言うオープンソースのITS/BTSはBugzilla、Tracの事を指しています。RedMine、Mantisは使ったことないのでわからない)
– Atlassianのモデル
Atlassianは無料で誰でも使える形ではなく主にユーザー数単位で課金して提供しています。
一方でソースコードは公開しているので顧客としてはブラックボックス化されていないので安心です。
そしてAtlassianはとにかくドッグフーディングを実践しており、可能な限り(社内では)利用者=ハッカーとしています(非プログラマもじゃんじゃんフィードバックをしているだろうことが想像できる)。
なので健全に収益を上げつつも利用者層とハッカー層を限りなく近づけ、製品を圧倒的なサイクルで更新し続けています。もはやオープンソースプロジェクトでは追いつかないのではないかというくらいの速度で。
– オープンソースのモデルは限定的にしか通用しないか?
話が飛びますが、ではオープンソースのモデルはランタイム環境であり、利用者=ハッカーでないと通用しないのかというとそうではないと思います。
要はオープンソースであるかそうでないかではなく、貢献に見合った見返りが得られる仕組みがあるかどうかが重要なのではないかと。
見返りは直接的な収益・作業効率の向上・名声・自己満足・技術的な達成感など色々な形があり、Atlassianはソースを公開しながらも「収益」やや重み付けしているに過ぎません。
インターネットや高級言語の普及により、プログラミングの習得は非常に簡単になりましたが、コンピュータを扱う人はだれでもプログラマという時代にはまだなっていません。(むしろアプリケーションのほとんど無かったマイコン時代の方がプログラマの割合は多かったかも?)
誰でも手軽にハック出来て、その見返りを得やすい仕組みをうまく用意すれば世の中(のソフトウェア)はもっともっと良くなっていくと思います。
では具体的にどうしたら良いのかと問われると、「まだよく分からない」です。非プログラマでもカスタマイズしやすい仕組みかもしれないし、BRMS等を使ったエンドユーザコンピューティングの促進かもしれないし、自然言語を解釈・実行してくれる魔法のようなランタイムかもしれません。
オープンソースのモデルが素晴らしいことに異論はないけれどもそれだけが最終解ではないと伽藍とバザールを読んでモヤモヤっとしているところでオチも結論もなくAtlassian Advent Calendar 2012の最終日をモヤモヤっと終わります。