ようやくCopalのソースコードを公開しました。 公開しようしようと思っていたのですが、ソースを公開するのは勇気のいることです。 例えば変数名で、alignとか書くところをarignとか書いてあったら恥ずかしいでしょ? 他にもあまり統一の取れていないインデントとか、書き始めるときりがないのですが、 とりあえず公開してから考えることにしました。
そもそも使用ツールが VCではなくBCBなので、需要はあまりないと思うのですが、 まぁこういったソフトがどんなソースでできているのか興味を持つ人もいるかも しれないし、Copalで実現している機能の一部を使いたい、と思う人が ソースの該当個所を見て参考になるかもしれないし・・・と思い、思い切って公開に踏み切りました。 そもそもCopalがNT系OSに対応できたのも、とあるソフトがソースを 公開してくれていたからでもありました。
どうでも良いことですが、公開の直接の原因は漢字コードにありました。 CGIを組む上で、EUC←→SJISの相互変換は必須の機能ですが、 以前適当に組んでたら文字化けで大被害をこうむった人がいたので、 今回はちゃんと組もうと思ってました。 で、まずは iconvという文字コード変換ライブラリを使うことにしました。 iconvは様々な文字コードを変換できるライブラリで、GNUが libiconvという実装を公開しています。そのライブラリは当然 GNUライセンスですから、Copalのソースコードも公開する必要があります。 そんなわけで公開の準備をすすめることになりました。
結局 libiconvは、 漢字とASCIIコードが混じった文は文字化けするという 仕様(これは限りなくバグに近いと思う)があったため、libiconvではなく nkf32.dllを使うことにしました。Copalのソースの公開義務は無くなったのですが、 一度公開するつもりになっていたので、そのまま公開してしまうことにしました。 ライセンスとかいろいろ考えたのですが、それも公開してから 考えることにしました。とにかく行動を起こす、それが僕のモットーですし(笑)。
(2003/11/23 追記)ソースを公開してからしばらくたちますが、 BCBのソースだというのにそこそこダウンロードがあるようです。 だいたいいつも、Copal本体の3分の1程度ダウンロードされているようなので、 そこそこ興味を引いているようですね。まぁ、公開してよかったなぁ、という 感じです。 もう少しきれいに書き直したら、HTML化して公開して、 検索にかかるようにしようかと思っています。そのほうが 便利でしょうし。