他人に見せられないソース

id:eel3:20070606:1230554853 の簡易辞書引きツールを使い続けているのだけど、辞書ファイルのPATHをソースの中に埋め込んであるという非常にダサい実装のままだったので手直しした。*1

まあ直したといってもプログラム実行時に辞書ファイルを引数指定するようにしただけだったりする。このままだと毎回辞書ファイルを指定しないといけないので、バッチファイルやシェルスクリプトをラッパーとして用意した。非常に安直な解決策だけど、気にしないことにした。

ところで、以前このツールのソースを公開しようかと考えたことがあったんだけど、色んな意味で他人に見せられないので断念した。

1つは、自分用のツールなので実装が色々と甘いこと。例えば、辞書ファイルの指定方法なんかも、本格的にやるなら、

  • 設定ファイルを用意して、デフォルトの辞書ファイルへのPATHを記述しておく。
  • 引数でも辞書ファイルを指定できるようにしておく。
  • 引数が辞書ファイルを指定した場合は、そのファイルを使う。でなければ設定ファイルに書かれている辞書ファイルを使う。

なんて風にしたいのだけど、自分用のツールなのでそこまで実装していない。

もう1つはライセンス関係の問題。このツールを実装するにあたり、ネット上で公開されているソースの一部やある本に載っているソースの一部をコピーして手直ししたり書き直したりした部分がある。個人利用に関しては問題なさそうなソースなのだが、公開する場合はライセンスを確認したり、元ソースの作者に確認をとったりする必要がある。

正直、個人的に面倒だと感じる作業で、公開対象の価値と釣り合わない*2こともあり、公開を断念した。というかその手の作業を「面倒」と感じる時点で、公開を断念した方が自分の身の為だろうし、他人に迷惑をかけずに済むだろう。

と、ライセンス絡みでちょっとあったので、念の為ここに書いておく。このブログに載せたソースは、特にライセンスについて明記されていない限り、NYSL Version 0.9982に従うことにしておく。

A. 本ソフトウェアは Everyone'sWare です。このソフトを手にした一人一人が、
   ご自分の作ったものを扱うのと同じように、自由に利用することが出来ます。

  A-1. フリーウェアです。作者からは使用料等を要求しません。
  A-2. 有料無料や媒体の如何を問わず、自由に転載・再配布できます。
  A-3. いかなる種類の 改変・他プログラムでの利用 を行っても構いません。
  A-4. 変更したものや部分的に使用したものは、あなたのものになります。
       公開する場合は、あなたの名前の下で行って下さい。

B. このソフトを利用することによって生じた損害等について、作者は
   責任を負わないものとします。各自の責任においてご利用下さい。

C. 著作者人格権は Eel に帰属します。著作権は放棄します。

D. 以上の3項は、ソース・実行バイナリの双方に適用されます。

……そんなライセンスなんて大層なものが必要なソースなんて無いけど、「自由に使ってもらって構わない」という意思表示、ということで。

*1:スクリプト言語ならともかく、C言語でPATHをソースに埋め込むなんてダメダメだ。

*2:要するに、それ程大層なツールではない。誤解がないように書いておくと、元のソースは素晴らしいし、そこで示されているアイデア等もすごい。ただ私がそれをうまく扱えてないだけ。