プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

ソースコードを公開する意味


ソースを公開する一番の意義は公開することによってより多くの人とつながることが出来るということだと思います。ソースを公開することで、使ってもらえるだけでなく、ユーザと共にプログラムが成長していけるのであれば、こんなに嬉しいことはないですね。

ソースコードを公開するということ


nagwikiさんの日記より:


プログラマを上手くやっていくための10のコマンド


プログラマさんはぜひ読んでみましょう。思い当たるフシがいくつかあるのでは!?:)

あなたの書いたコードはあなたの分身ではない。レビューのポイントは、問題を発見すること、そして問題は見つけられるのだだということを覚えておくといい。誰かが指摘してくれるときのために、コードを公開しないのは良くない。


ソースコードを公開する/しない。趣味でプログラムを作ってネットに公開されている方々などは、ソースファイルを公開するかどうか、一度は考えてみたことがあるのではないでしょうか。そのこと自体には正しい/正しくないという話ではなく、それぞれ事情があるでしょう。そもそもシェアウェアなら公開できないでしょうし。


以下は私が考える上でのソース公開に対する考え方です。コメントなどいただけると、嬉しいです。

私の場合


私は趣味でGBAW-ZERO3のソフトなどを作って公開しています。私の場合、プログラムがある程度完成した時点でソースファイルを公開するようにしています。また、公開すべきプラットフォームが、あまりサンプルコードの公開されていない環境であると考えられる場合は、早期に公開する場合があります。


どの程度の人々に利用されているかはデータがありませんが、それなりに利用されているようです。

ソースコードを公開する理由


私がソースコードを公開する理由は以下のようなものです。

ユーザがプログラムを変更可能


ユーザがプログラムを自分好みにカスタマイズすることが出来ます。


ソフトウェアのインタフェースは人によって好みがあります。使いやすいソフトでも「ここがこうなっていたらいいのに」と思ったことがある人は多いのではないでしょうか。誰にでも出来るわけではありませんが、自由にソフトウェアが変更できる選択肢があります。

プログラマの参考になる


自分がソフトウェアを作る参考にすることが出来ます。


プログラムを作る時最も参考になる資料はサンプルコードです。言葉で説明するより、実際に例を見た方が理解しやすいですよね。実際に動きを見たり、ちょっと変更して動作を確認するにも、ソースコードは役に立ちます。

ユーザがバグを修正できる


ユーザが不具合を修正して使うことが出来ます。


不具合や変更して欲しいと思っても、作者の都合によってはすぐに反映してもらえない場合もあります。そんな時ソースがあればユーザが修正して使うことが出来ます。

ソースを公開する意義は


ソースを公開する一番の意義は公開することによってより多くの人とつながることが出来るということだと思います。


ソースを公開しなくても有用なソフトウェアであれば、それを通じて多くの人と話すことが出来ますが、公開することで多くの人にはより親近感を持ってもらえるようです。プログラマさんに興味を持ってもらえるだけではなく、ソフトウェアの可視性が高まることで安心感も生まれるようですね。


もちろん公開することにはデメリットもあります。亜流が生まれることでソフトウェアの統一感が薄れてしまうことを嫌がる人もいるでしょう。セキュリティや特別な技術を扱うソフトウェアなど、そもそも公開することに問題があるものもあると思います。


私の場合はメリットが大きいので公開しています。知り合いが増えるだけでなく、思いもよらなかった応用が出来る場合もあるからです。ソースを公開することで、使ってもらえるだけでなく、ユーザと共にプログラムが成長していけるのであれば、こんなに嬉しいことはないですね。


あなたのソフトウェアの場合はどうですか!?