2013-10-13

OpenCOBOL が GNU Cobol になった!

TIOBE Programming Community Index によると、この記事を投稿した時点では、最も利用されているプログラミング言語の Top 20 ぎりぎりのところに COBOL がランクされています。

普段使用している PC とは直接にはあまり縁がないプログラミング言語ですが、基幹システムでは、いまだに COBOL で記述されているプログラムが稼働している場合があります。自分が勤めている会社でも、基幹システムは COBOL で記述されていて、これをオープンシステムへ移行させるのに IT 部門が頭を悩ませています。

FORTRAN や C/C++ のようなプログラミング言語は、科学技術計算に使うので、また、GNU のコンパイラが利用できることもあって比較的容易に PC で利用できますが、COBOL に関しては個人で簡単に利用できるようなプログラミング言語ではありませんでした。そんな COBOL と関わりを持ったのは、TinyCOBOL のプロジェクトへ Linux RPM のパッケージャとして参加してからです。

その後、ネットワーク応用通信研究所の西田圭介氏が TinyCOBOL プロジェクトからフォークして、OpenCOBOL プロジェクトを立ち上げましたので、こちらにもパッケージャとして参加しました。前述の様に、私は TinyCOBOL のプロジェクトに参加している側からプロジェクトがフォークするという場面に出くわして、しかもフォークしたのが日本人であったこともあり、貴重な場面を経験したと思っています。現実には、OpenCOBOL プロジェクトは 日本医師会が配布しているオープンソースの診療報酬計算ソフト「日医標準レセプトソフト」のための開発プロジェクトで、もともと自分の知らない所であらかじめ具体的なビジネスの目標を持っていたプロジェクトだったのでした。

西田氏は IPA 独立行政法人 情報処理推進機構の平成14年度 未踏ソフトウェア創造事業「未踏ユース」で成果を報告した後、しばらくして(メーリングリストを辿ってみると2004 年 10 月らしい)OpenCOBOL プロジェクトの管理を Roger While 氏に移管してしまいました。その辺のやりとりは、メーリングリストに残されていないので詳しくは判りません。また、この変更の中でいつの間にかプロジェクトのメンバーから削除されてしまっていたので、OpenCOBOL とはすっかり疎遠になってしまってしまいました。

さて、この OpenCOBOL は、COBOL 2002 標準に準拠することと、既存の商用 COBOL コンパイラとの互換機能を実現することを目標としている COBOL コンパイラです。OpenCOBOL は、COBOL プログラムを C 言語のコードに変換し、それを GCC でコンパイルします。フォーク元の TinyCOBOL は、C 言語に変換するのではなく、x86 のアセンブリ言語に変換するので、この違いが OpenCOBOL の最大の特徴です。つまり GCCフロントエンドとして使うことが初めから意識されていました。

ちなみに、OpenCOBOL の COPYRIGHT は、現在のところ、以下の様になっています。

Copyright (C) 2001-2009 Keisuke Nishida
Copyright (C) 2007-2012 Roger While

前述の、西田氏の成果報告の今後の課題 (5) において「開発したコンパイラが GCC の一部として日の目を見るのは、まだ先の話となりそうだ。」と述られていますが、ついに 2013 年 9 月 27 日に OpenCOBOL プロジェクトは GNU プロジェクトの一つとして認められ、今後 GNU Cobol と名前を変えることになるようです 2。それはリチャード・ストールマンから最初の GNU の声明が出された 1983 年 9 月 27 日からちょうど 30 年目にあたる記念すべき日でもありました 3

ところで、もともと「日医標準レセプトソフト」のために開発された OpenCOBOL は、日本ではその後、独自の発展をしたようです。今回の GNU Cobol になるというニュースに関連した情報を調べるうちに判ったことなのですが、シフト JIS や円記号に対応した、日本特有のビジネス環境に対応できるようにカスタマイズされた opensource COBOL なるものがリリースされています(UTF-8 にも対応しているようです)6, 7

いやはや、ビジネスの前では Linus Torvalds のようにはいかないのですね 8。青くさい話ですか?いやいや、かく言う自分はソフトウェア開発とは違う方面で生計を立てていますので、憧れがあるのです。

関連サイト

  1. オープンソースCOBOLコンパイラの開発
  2. GNU Cobol (formerly OpenCOBOL) / Discussion / GNU Cobol:State of the project
  3. 最初の声明 - GNUプロジェクト - フリーソフトウェアファウンデーション
  4. GNU Cobol (formerly OpenCOBOL)
  5. GNU Cobol (formerly OpenCOBOL) | Free Development software downloads at SourceForge.net
  6. ニュース - OSSコンソーシアムが「opensource COBOL」を無償公開、SJISや¥記号に対応:ITpro
  7. ダウンロード - OSSコンソーシアム
  8. それがぼくには楽しかったから - Wikipedia

0 件のコメント: