なーお さんの日記
オープンソースのCMS、「XOOPS」をよく使っていて、開発に首を突っ込んで少しだけ貢献して、でもどうしても馴染めなかったこと。 ユーザー目線を意識する私と、開発者の方々と何度かぶつかってきたこと。。その原因が、ようやく少しわかった気がします。
もちろん私の視野の狭さ・硬い頭も一因ですが、今まで理解できていなかった開発者のモチベーションの多様性について、少しだけ理解できた気がするので書いてみます。
私のモチベーション
私は、XOOPS Cubeを使うのが好きです。 難しいことも多いし、未だに全貌を理解できていないくらいにソースが大量です。
自分のモジュールやその他の開発・改善をする時には、まずはユーザー目線がベースにあります。
- まずは自分が欲しい機能を付けてみる。
- 他の人が使いたいと思うだろうと予想する機能を取り入れてみる。
- 実際のユーザーからの要望を取り入れてみる。
といった順で、開発優先度を持ちます。 バグフィックスは別のベクトルが働くのでここには入りません。 モチベーションの面でどうなのかというと、
- 自分が使い易くなるからどんどん使って自己満足。
- 他の人が使っているのを見てお役に立てて自己満足。
- ユーザーから「ありがとう」と言われることが嬉しくて、やっぱり自己満足。
結局のところは自己満足ですね。
オープンソース開発自体を目的とする人のモチベーション
最初にエクスキューズを入れます。 ここに書く内容は開発者を批判するつもりでは無いし、偏見を持つものでもありません。 ただ、判り易くするために極端な例を引き合いに出すので、予めご承知ください。
オープンソースの場では、優れた開発者ほど、技術の高さを武器に色々なプロジェクトに参加したりして経験値を積み重ね技術を磨いて、設計すること・ロジックを考えること・ソースを書くこと・成果物を作りだすこと、それら自体を目的とする人も多くいます。
もちろん、その結果として最終的には多くのユーザーに使ってもらうことで貢献することになるのですが、そこに至る過程においては、ユーザーの意見よりも、多くは設計の見事さや新しさ・コードの美しさ・脆弱性の低さ などを考慮して実施してゆく必要がありますから、ユーザーの声は場合によっては聞くこともあれば聞かないほうが良い場合もあるでしょう。
そうした開発者にとって、書いたソースコードを使ったユーザーから喜んでもらうのはもちろんですが、きっと「すごいロジックだね」「こんな設計は思いつかなかった」「このコードは美しい」という称賛の声こそがモチベーションに繋がるのでしょう(これもやっぱり自己満足)。
開発者とユーザーの役割
私などは、開発者とユーザーは物事の両輪であり、どちらも大事だと思っています。 ユーザーあっての開発者だし、開発者あってのソースコードでそれを使えるわけです。
しかし、開発自体を目的としている人の中には、ユーザーは自分の成果物の検証を行いフィードバックしてくれる有り難い人ではあっても、自分の開発方針を示してくれたり、「それを開発したら面白い」ことを言ってくれる可能性は少ないため、それほど重要な人たちではないのかもしれません。 なので必要以上なユーザーの強い要望や意見には、あまり気が乗らなかったり拒否反応が出てしまうこともあるでしょう。
そして、私のようなユーザー寄り目線の者から、飛びぬけた実力の開発者まで、そのプロジェクトに参加する目的は人それぞれで、開発者に求めるもの・ユーザーに求めるものが千差万別なわけです。
つまり、開発者とユーザーの関係性は1対1ではなく、一つの星雲の中でちりばめられた無数の星のようなものだと思えなくもないです。
一つの会社であれば、会社の利益アップは個人の処遇アップに繋がるわけで、皆似たようなベクトルを持って物事を進めることができますが、オープンソースの世界はそれとは対極にあるような感じですね。
まとめ
自戒の意味も込めて書きますが、特にユーザーの方々は注意するべきです。 開発者はユーザーのことを優先で考えくれるお人よしばかりとは決して思ってはいけないし、様々なモチベーションを持つ開発者たちに対して、それを期待してはいけないということを。
私が、この時とか、この時に 雲の上の存在のようなすごい開発者の方々とぶつかった原因、それは私が上に書いたような広い視野をもってプロジェクトに参加していなかったことなんだと、ようやく判りましたし、思い返せば今まで何度か「必要以上に期待しないこと」と言われた記憶がありますが、その背景をようやく理解できました。
加えて、実際にはここに更に、それを仕事にしているか単なる趣味なのかとか、金銭的な面も絡んできて、とっても複雑な人間模様が渦巻いちゃっているのがオープンソースの世界なんだと認識したところです。 私には合わない世界だけれども。。少し楽しい感じになってきたので、もう少し続けてみようと思います。