Publicitas a leading international Media Sales company

PublicitasがCOBOLのソースコードをJavaアプリケーションに変換するためのプロダクトをオープンソースソフトウェアとして公開した。Publicitasはスイスに本拠地をおく多国籍企業。23を越える国や地域に160を越える事務所を構え、総勢1,750人ほどの専門家を抱えている。

公開された成果物はPublicitas社内で実施されたプロジェクト「NACA」の成果物。公開された成果物はそれぞれ次のようなまとまりで提供されている。すべてまとめてEclipse IDEのプロジェクトデータとして提供されているため取り込みも素早く実施できる。

  • NacaTrans (GPL) - COBOLコード変換プログラム。COBOLコードを解析したあとで、一旦XMLの中間形式を生成し、そこからJavaのソースコードを生成する。生成されるソースコードはNacaRT/Jlibで提供されている関数をコールする形式で整えられている。COBOLのスタイルをできるだけ崩すことなくJavaのコードが生成されるため、オリジナルのCOBOLコーダもJavaのコードをチェックしやすいという特徴がある
  • NacaRT/Jlib (LGPL) - NacaTransで生成されるJavaソースコードが使うライブラリ。LGPLとして提供されているため、NacaTransを使って生成したJavaソースコードを公開せずにバイナリ形式だけを提供する場合でも問題がないように配慮されている
  • Doc - ツールとライブラリの詳細を解説したドキュメント
  • NecaRTTest (GPL) - 試験ツール

Publicitasは1980年代の終わりごろにCOBOLをベースにして「PUB 2000」と呼ばれる社内システムを開発。IBMのMVS/OS390 (zOS)メインフレームで動作するシステムで、400万行ほどのCOBOLコードで構成されている。2002年7月、社内にPUB 2000をIntel/LinuxベースのOSでJavaで動作するアプリケーションとして移植する意見があがり、2003年から2007年6月30日まで開発が継続された。この成果物はすでに、400万行のPUB 2000 COBOLコードを自動変換したシステムが毎日稼働している、という形での実績がある。

このタイミングでOSSとして公開した背景には、OSSプロジェクトから受けた恩恵への恩返しであるということや、同じようなことをしている他の企業にとっても有益であること、NACAプロダクトの品質をさらに向上させたい狙いがあることなどが説明されている。GPL/LGPLを使い分けたライセンス体系になっている理由は、NacaTransをプロプライエタリプロダクトに取り込まれて利益が独占されるのを防ぐと同時に、ランタイムライブラリをLPGLで提供することで、NACAを使って変換したコードをバイナリ形式で配布してもよくなり、競争力を維持しやすくするためだと説明されている。