*ソフトウェアを公開する [#w695a719] 作ったら公開したい。それが人情ってものです。ここでは公開の仕方について適当にまとめます。 #contents *構成 [#k2d0e4bb] 配布するファイルは実行可能プログラムだけではありません。通常、以下の物が含まれます。 -実行可能ファイル -ライブラリ(DLLなど) -リソース(画像や音楽、テキストなど) -Readme -ヘルプファイル -ライセンス原文 -ソース ソフトによってあったりなかったりですが、これらをzipなどで固めて公開するのが普通です。 **Readme [#pd86172b] Readmeとは、解凍したとき一番最初に読んでもらうことを目的としたテキストファイルです。フリーソフトを落としてきたときは、たいていこのファイルがついていると思いますがちゃんと読んでますか? Readmeには作者の情報、連絡先、動作環境、簡単なインストールの仕方、簡単な使い方、改変履歴、ライセンスなどを書きます。書き方はいろんなソフトの物を参考にするといいと思います。 -[[readme.txtなんて誰も読まねえよ!:http://s03.2log.net/home/programmer/archives/blog28.html]] -[[readme 書き方:http://www.google.co.jp/search?hl=ja&safe=off&client=firefox&rls=org.mozilla:ja:official&hs=zN9&q=readme+%E6%9B%B8%E3%81%8D%E6%96%B9&suggest=2&sa=X&oi=cjkrefinements&resnum=1&ct=result&cd=3]] *OSによる違い [#e68e59e6] **Windows [#x8eea251] まずWindowsの場合はzipで公開するのが簡単です。zipならWindowsの標準機能で解凍できます。lzhでもいいですが、主に日本で普及した規格ですので、海外のユーザーが解凍できないかもしれません。 ***インストーラ [#x2ba3d5c] Windowsの場合、よくわからない初心者がユーザーになることもあります。その場合ZIPによる配布は難しい場合もあります。その場合にはインストーラーを用意しましょう。 それこそ自分で作ってもいいんですが、結構手間なので専用のソフトを使うのがいいと思います。しかしVectorって最近ひどくありません? [[Vector -インストーラ:http://www.vector.co.jp/vpack/filearea/win/prog/install/]] **Linux [#e6118704] ソースコードとMakefileを.tar.gzで。 *言語による違い [#z023a925] **C/C++ [#r6bb0580] CやC++の場合は作られたexe(Windowsの場合)と、使ったDLLを必ず一緒に入れましょう。DLLは場合によっては一緒に配布してはいけない場合があるので、ライセンスはよく確認しましょう。 **C#(VB.net、Iron Python、C++/CLI) [#s23d9b0d] 一応VSを前提に話します。配布する実行可能ファイルは \プロジェクトの場所\bin\Release にあります。Debugではありません。必要であればリソースやDLLなども忘れないように入れましょう。 .Netのアプリはexeだけでは実行できません。実行するマシンには[[Microsoft .NET Framework 再頒布可能パッケージ:http://www.microsoft.com/japan/msdn/netframework/downloads/]]が必要になります。これはVistaには標準で入ってますがXpには入っていません。なので必ずこれを入れるように明記しましょう。 .NET専用のインストーラを使うと.NET frameworkとかも入れてくれるみたいです。 またClickOnceを使うと.NET frameworkが入っていない場合自動でインストールしてくれます。自動アップデート機能とかあるみたいです。 **Java [#i43ff2c3] Javaは実行には仮想マシンが必要です。Javaの仮想マシンは比較的簡単に入れられます。これも明記しておきましょう。 もうひとつJavaはexeが作れません。exeでラップするソフトなんかはありますが。なので実行しやすいようにバッチファイルを用意したりJARファイルに固めたりすると良いでしょう。EclipseにはJARで出力できる機能があります。 [[Java ソフトウェアの無料ダウンロード:http://www.java.com/ja/]] ***Java Web Start [#a55a1202] これはブラウザからJavaのソフトウェアを実行できる技術です。 *ライセンス [#p1543fce] (ライセンス、法律に詳しい方加筆お願いします。) ライセンスとはソフトウェアをどのように扱って欲しいかを指定するものです。たとえば自由に改造してもいいよとか、コピー自由だよとか。逆に改造は絶対だめ、商用利用はだめという風にいうこともできます。基本的に法律の範囲内であれば自由です。 **PD [#g24b2dd6] PDとはパブリックドメインの略です。著作権を完全に放棄した状態です。日本の著作権法には概念がないので日本での扱いはよくわかんないですが。 PDの物はどのように使おうが自由です。改造、コピー、それで対価を得ることもできます。 [[パブリックドメイン:http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3]] **GPL [#y67cf5dc] GNU General Public LicenseはこのWikiのライセンスでもあります。簡単に言うと -コピーおk -改変おk -商用おk -ソースは公開しろ -GPLの物を使ったらそれもGPLになる だいたいこんな感じですが実はもっと複雑ですのでよく調べてください。 [[GNU General Public License:http://ja.wikipedia.org/wiki/GNU_General_Public_License]] **NYSL [#hc07daea] 煮るなり焼くなり好きにしろライセンス。国産のライセンスで、GPLのような汚染がない。ライセンス文自体は文書向けの派生ライセンス、NYSDL(=煮るなり焼くなり好きにしろドキュメントライセンスの略と思われる)の下で頒布されている。日本での法の運用に基づいて記述されている、名前よりもしっかりしたライセンス。たぶん準拠法が日本国法である旨を明記すれば完璧。 -なんでもおk -基本的に、形ある量産可能な物品一点の所有権を手に入れたのと同じような扱いになる [[NYSL>http://www.kmonos.net/nysl/]] *公開する場所 [#td579e19] **アップローダ [#x4af0496] スレに公開したり、短い期間だけ公開したりするときはアップローダにあげるのがいいでしょう。Vipperならやり方は知っているでしょうから詳しくは書きません。 このスレ専用アプロダ[[VIP Programming Uploader:http://www8.uploader.jp/home/vipprog/]]もご利用ください。 **サイト [#x13c107e] この際、自分のサイトを持ってみてはいかがでしょう?長期間公開するのであればお勧めです。 **SourceForge.jp [#h42ef87d] SourceForgeはオープンソース向けのサービスです。ただ公開するだけでなくいろんなサービスを受けることできます。ギコナビとかありますね。