[image of a Brave GNU World]
Brave GNU World - 第29号
Copyright © 2001 Georg C. F. Greve <greve@gnu.org>
日本語訳: IIDA Yosiaki <iida@brave-gnu-world.org>
許可声明は以下のとおり

[DE | EN | FR | JA | ES | KO | PT]

また Georg の Brave GNU World へようこそ。 今回は、ふだん気にはしないけれども、 知ってみるとおもしろいかもしれないアプリケーションという、 やや広い範囲をカバーしています。

GCompris

Bruno CoudoinによるGCompris [5] は、 「Free Softwareと教育」という分野で最近GNU Projectに入ってきたものです。

こどもは、 自分の環境で遊んでいる間に学んでいくものです。 そのため、 多くのプログラムではゲームの形で課題を与えようとします。 残念ながら、 この種のプログラムはたいてい独占的です。 学求的なソフトウェアでこのギャップを埋めようとするのが、 GComprisです。

プログラム自体は、 「ボード」 (board) を元にしています。 Brunoは、 ボードを、 ある概念を導入したり練習したりする単元、 とみなしています。 目標はそれほど深い知識ではなく、 むしろ概念の学習をおもしろくしようとしています。

Brunoが「ボード・ベース」と思っているプログラムはいくつかありますが、 それぞれ別々のライブラリーをもち、 別々のユーザー・インターフェースがあり、 開発速度もかなりのひらきがあります。 このような状況では、 見つけたり使ったりするのが複雑になります。

それを避けるため、 GComprisには2つの基本部分があります。 ボードを作ったり、 直したり、 うごかしたりするエンジンと、 様々な概念用のボード一式です。

エンジンはGNOMEライブラリーを使いCで書かれ、 特にこども向けに作られたユーザー・インターフェースをもっています。 プログラムは7つの言語で使え、 世界中の学校や家庭で使われています。 これはBrunoにとってかなり大きい意味をもち、 またとても注目に値します。 というのも、 プログラムがたった1年前のものだからです。

GComprisのグラフィックについては、 まだ彼の満足いくところではありませんが、 Linuxgraphics [6] がこの部分を担うことになるでしょう。 もしあなたがグラフィック部分に参加したいようであれば、 連絡はそちらになります。

プログラミングでの次の課題は、 コンピュータ素人 (computer-illiterates) でもあつかえる「ボード・エディター」の作成です。 ボードは現在、 XMLをデータ形式としたCのプラグインとして書かれていて、 一部の教師には少し重過ぎます。 使いやすいボード・エディター作成の手助けは、 歓迎です。

ボード・エディターの用意はまだですが、 すでにボードはいくつかあります。 マウスとキーボードの訓練、 時計の読み方、 有名な絵のパズル、 簡単な計算などです。

プログラムを単純にするため、 ボードの実装にはGNOMEのカンバスだけが使われています。 これを描画領域のウイジット (widget) に拡張するのが、 将来の技術課題です。

「わかりました」という意味で「ジェコンプリ」 ("j'ai compris") と発音するこのフランスのプログラムは、 元々Bruno Coudoinが自分のこどもたちのために書いたものです。 プログラムのできあがるのが遅かったので、 我慢強かったこどもたちに彼は感謝したいと思っています。

FSFE - Free Softwareと教育

これについて私は、 Free Software Foundation Europe [7] が今年の総会で、 教育でのFree Softwareの支援を目標として宣言したことを、 指摘しておきたいと思います。

この目標は、 先日FSF Europeの公式協賛 (associate) 組織になった "Organization for Free Software in Education and Teaching" (Ofset) [8] とともに追求されたものです。

この分野で活躍している組織、 個人といった、 さまざまな主導権をいっしょにまとめるため、 ある特別なメーリング・リスト [9,10] ができました。 すでに何人かはこのリストで自己紹介を済ませています。 次の段階は、 全員をまきこんだ会議をひらくことでしょう。

その後で、 どんな具体的方法が教育におけるFree Softwareを効果的に支援できるのか、 について議論できます。 このプロセスに参加したい人は歓迎です。

化学開発キット

ある意味でこの記事は、 イタリアはボローニア大学の化学部、 Ciamician水晶工学研究所での使用を紹介した27号 [11] の"Jude"の記事の続きです。 その記事では化学的機能の議論はしませんでしたが、 今回はこれの話をしたいと思います。

私は化学開発キット (CDK: Chemical Development Kit) [12] だけでなく、 Jmol [13] とJChemPaint [14] の話もしていませんでした。 管理者のChristoph SteinbeckとDan Gezelterは、 半年前Egon WillighagenといっしょにCDKを立ち上げました。

化学開発キット (CDK) は、 GNU General Public Licenseの下で 化学ソフトウェア用のツールや全基本クラスを提供するJavaのライブラリーです。 その設計の一部は、 APIに若干問題のあったCompChem/CDKライブラリーでのEgon Willighagenの経験に基づいています。

プロジェクト自体はまだどちらかというと初期段階にあり、 すでに実装済みのクラスや機能の話をしても無意味でしょう。 それ以上の、 また最新の情報は、 CDKホーム・ページ [12] のAPI文献にあります。

Jmol [13] は元々、 XMolに対抗する化学構造の簡単でやさしい3次元視覚化法です。 また、 分子の編集、 力の場に基づく簡単な極小化、 分子力学 (ミクロカノニカル・アンサンブル)、 ランジュバン力学 (カノニカル・アンサンブル) の機能が計画中です。

JmolもJavaに基づいていて、 グラフィカル・ユーザー・インターフェースにはSWINGツールキットを使っています。 CDK同様、 GNU General Public Licenseの下で手に入ります。 Javaベース・アプリケーションの最大の強みは、 まさにその高い移植性にあります。 またJmolは、 ウェブ・ページのアプレットにもスクリプトにも使えます。

JChemPaint [14] は、 Jmolの2次元拡張をねらった2次元ベースの化学構造エディターです。 独占的プログラムには既存のたくさんの標準的機能をサポートし、 ビットマップ、 PostScript、 スケーラブル・ベクター・グラフィックス (SVG) といった形式で出力できます。

他の2つ同様、 JChemPaintはJavaに基づいていますが、 GNU Lesser General Public Licenseの下でライセンスされています。 Jmolと同程度に移植性に富み、 ウェブ・サイトのアプレットで使えます。

どちらもChemical Markup Language (CML) [15] がサポートされています。

JmolとJChemPaintでCDKを使って統一させるのが、 長期的な展望です。

これらのプロジェクトは、 化学者、 生物学者や、 分子レベルの仕事に取り組む人々に、 Free Softwareに基づく一連の機能を提供しています。 とある特別な機能こそサポートされていないかもしれませんが、 独占的ソフトウェアを買うよりも、 このようなプロジェクトに手を貸すことをおすすめしたいところです。

最初は少し複雑に見えるかもしれませんが、 中長期的には、 確かに多くの強みがあります。

独占的ソフトウェアの制限により止められることがなければ、 新しい考えは続けていけるものです。 科学の原理に基づいているということは、 基本的にFree Softwareの哲学の直接的な結果です。 またFree Softwareだけが、 結果の追尾ができることを保証できます。

科学用のソフトウェアはいつでもFree Softwareであるべきなのです。

Alma

Guillaume Desnoixは、 Alma [16] の作者です。 Almaは、 「ソフトウェアの分析とモデリングの部屋」 "Atelier Logiciel de Modelisation er d'Analyse" の略です。

Almaは、 さまざまな入力 (モデル、 ソース・コード) を読み、 利用者がオブジェクト指向のモデルを設計したり、 修正したりするのを援助し、 構造やコードを修正し、 最後に新しい出力を作り出します。

これはいろいろな形式でできます。 Almaは、 入力形式にはJava、 Idl、 XMI、 C、 C++、 Fortran、 Rose、 MDL、 Class、 JavaP、 Taglip、 JSPを、 そして出力には、 ソース・コード、 文書、 図形、 自然言語をサポートしています。

Almaではクラスを簡単に変更、 宣言できます。 これは、 昔のコードを新しいプロジェクトに合わせようとしたり、 あるプロジェクトを別なプログラミング言語に変換したりする開発者には、 特に便利です。 また、 移植やカプセル化にもとても便利です。

Guillaumeによれば、 Alma独特の強みは共通編集可能モデルのN×N実写像にあります。 ソース・コードを解析、 変換、 整形するプロジェクトは他にもありますが、 これらはたいてい2言語のうちの1方向だけに作用します。

しかし、 Almaはかなり大きなプロジェクトです。 そのため、 いろいろな言語の解析子や生成子の半分は、 まだα段階にあります。 ですから、 上でいったような特別なプログラムの方が、 自分の役目をまだうまくこなしてはいるのですが、 概念上きつい制限がかかっているのです。

AlmaはJava 1.1で書いてあり、 ほとんどのコンピュータで動作します。 コマンド行ベースでも、 GUIを介しても使うことができます。 コンソール部分は、 GCJでコンパイルしたり、 Kaffeで実行したりできます。

現在、 バージョン番号を0.01ずつ増やしながら、 ほぼ1月おきにリリースされています。 この調子でいけば、 プロジェクトの1.0版は2006年7月ころになるでしょう。 興味をもった開発者も、 そういう様子であることは覚悟しておいてください。

AlmaはGNU General Public License Version 2の下で公開されましたから、 これはFreeなソフトウェアです。 プログラムはふつう、 GPLのバージョン2か、 (利用者の裁量で) それ以降の任意のバージョン下で許諾されます。 バージョン2の選択への制限は、 ときどき見かけるので、 一言いってみたいと思います。

この段階での論議はたいてい、 後のバージョンのGPLを今、 知ることはできない、 という点です。 このため、 後のバージョンが良いものかどうか知ることはできません。 これは論理的に見えますが、 最終的には弱点を生むのです。

後のバージョンのGPLが作者や利用者に受け入れられないとしましょう。 それでもまだプログラムはバージョン2の下で使われます。 後の許諾の利用を強制するものはありません。

しかし、 法の改正のためバージョン2が新しい法で問題のおきるせいでGPLの改訂が必要だった場合、 バージョン2への制限は、 プログラムを有効な許諾ではない状態におくことになります。 作者全員に連絡がつけば、 問題は簡単に解決しますが、 作者というものは、 いなくなってしまったり、 プロジェクトからはなれていったりするものです。

バージョン2の許諾への制限は、 利益をもたらすことはなく、 潜在的な問題を生みだすのです。

言っておかなければならないことが、 もう1つあります。 非常に多数の人々が無料のビール (free beer) と、 自由なソフトウェア (Free Software) の違いをちゃんと理解していて、 Almaの作者はとても幸せです。 彼のページにはアンケートがあり、 10米ドルでプログラムを買うことができるでしょう。

この支払いに応ずる義務はありませんが、 さまざまなプラットホーム用に自動化された多種のインストーラから、 あるものを使うかどうか、 利用者は尋ねられることになります。 これは、 GPLとの調和を保ちつつGPLソフトウェアを「売る」という1つの可能性であり、 小さな支払いシステムの稼働でより一般的になるであろうことを希望するのみです。

libgcrypt

Werner Kochの作業のおかげで、 GNU General Public Licenseの下、 我々には暗号関数ライブラリーであるlibgcryptがあります。 このlibraryは、 GNU Privacy Guard (GPG) プロジェクトの一部で、 ホーム・ページ [17] にて見つけることができます。

他の暗号ライブラリーは、 自由ではなかったり、 OpenSSLのようにGPLと非互換なライセンスであったりします。 Free Softwareの多くはGNU General Public Licenseの下にあるので、 libgcryptはこの重要な隙間を埋めてくれるわけです。

libgcryptは、 GnuPGプロジェクトの非常に強固な基盤をよりどころにしていて、 暗号ルーチンはもうすっかり試験済みです。 Wernerによれば、 APIのできあがったのはほんの最近のことなので、 このプロジェクトはまだαソフトウェアとみなすべきだ、 とのことです。

この警告にもかかわらず、 libgcryptはすでに利用でき、 実際そうされています。 libgcryptの開発でWernerを支援しているNikos Mavroyanopoulosは、 第25号 [18] の記事でとりあげたGNUTLSライブラリーで、 これを使っています。

libgcryptの特別な強さは、 拡張可能な公開鍵関数のAPIと、 大きな整数用の内部関数へのアクセスにあります。 また拡張モジュールは動的にロードすることが可能です。

ライブラリーはUnix風システムやW32プラットホームで利用できます。 さらなる開発計画には、 安定リリースの作成、 内部実装の改良、 また、 OpenPGPデータ構造を扱う高水準関数の追加があります。 そしてもちろんGnuPGもlibgcryptに移植されることでしょう。

Wernerのいっておきたいことの1つに、 libgcryptの利用が暗号にたいするある意識を要求する、 ということがあります。 プログラムの中で2、 3のアルゴリズムを使うだけでも、 構造上安全な設計でなければ、 よからぬことになりえます。

これは、 ボール紙の家に鋼鉄のドアを付けようとする一部の開発者の傾向にたいする、 よいアドバイスだと思えます。

それでは

さあて、 今月のBrave GNU Worldはこれでおしまい。 いつもどおり、 皆さんからのコメントをよろしくお願いしたいと思います。 お考え、 批判、 疑問も大歓迎です。

新しいプロジェクトについては、 Brave GNU Worldの読者の重要性を強調しておきたいと思います。 興味深いプロジェクトにひっかかったときには、 メール [1] を送ることを思い出してくれれば、 かなり往々にして興味深い記事になりますので。

情報
[1] 意見、 批判や質問は Brave GNU World <column@brave-gnu-world.org> まで
[2] GNUプロジェクトのホーム・ページ http://www.gnu.org/home.ja.html
[3] GeorgのBrave GNU Worldのホーム・ページ http://brave-gnu-world.org
[4] 「We run GNU」イニシアチブ http://www.gnu.org/brave-gnu-world/rungnu/rungnu.ja.html
[5] GComprisホーム・ページ http://savannah.gnu.org/projects/gcompris
[6] Linuxgraphicsホーム・ページ http://www.linuxgraphic.org
[7] Free Software Foundation Europeホーム・ページ http://fsfeurope.org
[8] Ofsetホーム・ページ http://www.ofset.org
[9] ``Free Software and Education'' メーリング・リスト: <edu@fsfeurope.org>
[10] ``Free Software and Education'' メーリング・リスト・ホーム・ページ http://mailman.fsfeurope.org/cgi-bin/mailman/listinfo/edu
[11] Brave GNU World 第27号 http://www.gnu.org/brave-gnu-world/issue-27.ja.html
[12] Chemical Development Kit (CDK) ホーム・ページ http://cdk.sourceforge.net
[13] Jmolホーム・ページ http://jmol.sourceforge.net
[14] JChemPaintホーム・ページ http://jchempaint.sourceforge.net
[15] Chemical Markup Languageホーム・ページ http://www.xml-cml.org
[16] Almaホーム・ページ http://www.memoire.com/guillaume-desnoix/alma/
[17] GNU Privacy Guardホーム・ページ http://www.gnupg.org
[18] Brave GNU World第25号 http://www.gnu.org/brave-gnu-world/issue-25.ja.html

[ 前の記事 | Brave GNU Worldのホーム・ページ | 次の記事 ]

GNUのホーム・ページにもどる。

FSFやGNUについてのお問合せ、 ご質問は、 (英語で) gnu@gnu.orgまで。
FSFへの他の連絡方法があります。 GeorgのBrave GNU Worldについてのご意見は、 (英語かドイツ語で) column@gnu.orgまで。
ウェブ・ページについてのご意見は、 (英語で) webmasters@www.gnu.orgまで。

他のご質問は、 (英語で) gnu@gnu.orgまで。

Copyright (C) 2001 Georg C. F. Greve
Japanese translation by IIDA Yosiaki

日本語訳: 飯田義朗

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

(著作権と上の許可告知のある限り、 この写しの逐語的な複製をとって、 配布する許可を認めます。)

Last modified: Mon Jul 2 16:23:05 CEST 2001