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

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

またようこそBrave GNU Worldへ。 ウェブや雑誌の出たとき、 いつもの場所にBrave GNU Worldが見つからなくてがっかりした皆さんに、 まずお謝りしておきたいと思います。 コラムを書かなければならなくなった直前に、 私は鎖骨を折ってしまったのです。 おかげで、 タイプ力が落ちてしまいました。

この不本意な中断の後、 いつものように、 さまざまな話題が、 いい具合に集まってきました。

Gnuzza (CryptChat)

Timo SchulzによるGnuzza (ChryptChat) は、 まだβテスト中ですが、 すでに使われています。 彼の仲間が彼に、 WindowsやGNU/Linuxでうごく安全確実なチャット・プログラムがないか聞いたとき、 このプロジェクトが始まりました。 そこで彼は、 これを書き始め、 2001年7月、 Gnuzzaの0.0.3版が、 GNU General Public License (GPL) の下、 Free Softwareとして公開されました。

Gnuzzaは、 強い暗号を使った「ピア・ツー・ピア」(p2p) のチャット・プログラムで、 ふたりの人が、 自分のプライバシーを確保しつつ、 キーボードで雑談することができます。 また、 暗号化チャンネルを経由し、 お互いにメールしあうこともできます。

Gnuzzaは、 GNUの暗号ライブラリーであるlibgcrypt [6] を基に、 (1024から4096ビットまでの) Diffie Hellman鍵交換と同様に、 3DES、 BlowFish、 Twofish、 CAST5、 Rijndaelの対称アルゴリズムをサポートしています。 とはいえ、 いわゆるパスワードがいらなくなるため、 Gnuzzaは既定で、 非対称暗号を使っています。 利用者の認証は、 この場合、 OpenPGP準拠の鍵で手軽におこないます。

Gnuzzaは、 ANSI Cで書いてあり、 ユーザー・インターフェースには、 ncursesライブラリーを使って高速かつ、 リソース・フレンドリーにしています。 これは、 標準的な配布物件で必要なライブラリーのそろっているGNU/Linuxや、 DLLへの依存性を最少化したWindowsでうごきます。

ncursesのおかげで、 このプログラムのユーザー・インターフェースは、 テキスト・ベースになっていますが、 一部の利用者は、 きっと真のグラフィカル・ユーザー・インターフェース (GUI) の方がお好みでしょう。 そんな人たちのため、 Timoは、 GTK+/GNOME/KDEのGUIを検討しています。 しかし、 GTK+の経験がないので、 彼は、 プロジェクトのこの部分の面倒を見てくれるボランティアをさがしています。

上述の件をのぞけば、 バグの追跡と除去が、 彼の興味の中心になっています。 もしもあなたが今、 試すべきかどうかを迷っているならば、 考え抜かれた事前定義のおかげで、 高等機能の利用には、 暗号の知識だけが前提だ、 ということを指摘しておくべきでしょう。 ですので、 もしあなたがβソフトウェアを恐れないというのであれば、 Gnuzzaの利用にたいする困難性は、 見つからないでしょう。

ですが、 Windowsで使おうとしている方へ警告を一言。 アプリケーションの安全確実さを信用しすぎては、 いけません。 鎖全体の強さは、 その一番弱いつなぎ目の強さでしかありませんから。 つまり、 ただOS自身を経由して第三者に横流しするためだけに、 Windows上のGnuzzaクライアントへ安全確実にデータを転送しているだけ、 ということがありえなくもありません。

あるいは言い換えるならば、 段ボールの家にとりつけた鋼鉄のドアには、 限られた使い方しかできないものです。

GNU Aspell

ほとんどの利用者にたいして一般的に役立つアプリケーションの中には、 自動スペル・チェッカーが確かに入ります。 GNU Aspell [7] は、 そういうプログラムのひとつで、 2002年8月からGNU Projectの一部になりました。

Aspellプロジェクトが始まるまで、 Free Softwareのスペル・チェック・プログラムは、 1つしかありませんでした。 International Ispell [8] です。 もちろん、 Ispellは、 たいていのUnix機でまあまあ広まってきましたし、 GNU Systemでは標準のスペル・チェッカーでもあります。 が、 残念ながら、 Ispellの提案する候補の賢さは、 独占的なスペル・チェッカーにくらべ、 著しく低いものがあります。

この理由と、 書かれた英単語の発音が近似できる 「Lawrence PhilipsのMetaphone Algorithm」 に基づき、 Kevin Atkinsonは、 1998年にAspellに取り組み始めました。 同年9月、 初版は、 Kspellという名前でリリースされましたが、 KDEのスペル・チェック・プロジェクトもKspellといわれていたので、 彼は名前をAspellに変更しました。

つづく数年間、 Kevinは、 Aspellの集中的な開発に長い時間を割きました。 複数の概念が、 試され、 徹底的に見直され、 ときには破棄されました。 たとえば彼は、 Pspellという汎用インターフェースを、 システムにある全スペル・チェッカー用に作ろうとしました。 残念ながら、 これは、 関連する全部の単純なものの寿命が複雑化してしまい、 そのため、 0.5版以降Pspellは、 Aspellから消えました。

その他に彼が多くの労力をそそいだものには、 Ispellで提供されるものよりもよい単語一覧の生成です。 彼は、 注意深く、 英語の一覧を、 イギリス、 アメリカ、 カナダのつづりに分類しました。 この作業の成果も、 別途、 公開 [9] されています。

2002年8月のGNU Aspell 0.5版以降、 Aspellは、 特にGNU/Linuxの配布物件にあるIspellを置き換えようとしています。 その印象的な追跡記録からすると、 そうなるのも時間の問題という感じです。

GNU Aspellは、 ncursesの良好なユーザー・インターフェースのあるスペル・チェック・プログラムとして、 直接的に使われるだけではなく、 他のプログラムにリンクされるライブラリーとしても有効です。 また、 GNU Aspellの出す候補は、 Ispell、 Netscape 4.0、 Microsoft Word 97の出すそれよりも、 はるかによいものです。 これを計測するために、 Kevinは、 GNU Aspellのウェブ・ページ [7] 上に、 作成した成果が入手できる試験環境を構築しました。

英語以外の言語の単語一覧もありますが、 この試験は、 英語専用にできているみたいです。 英語以外の言語について、 同様の試験をすすんで提示してくれる母語話者が見つかれば、 きっと有用でしょう。 GNU Aspellは利用者のおかした誤りから学習するので、 もしあなたがごくふつうの利用者であったとしても、 結果を改善させることができます。

プログラムとして使っても、 またライブラリーとしてリンクしても、 GNU Aspellは、 マルチプロセス対応です。 各利用者の個人辞書は、 その利用者の全Aspellプロセスで有効で、 変更は、 自動的にGNU Aspellのプロセスへ伝播されます。 にもかかわらず、 利用者は複数の個人辞書をもてます。

これらの全拡張機能用のメモリー消費量をおさえるため、 1つのシステムでうごく全GNU Aspellは、 一般的共通辞書を共有します。 GNU Aspellの拡張機能でかかるコストは、 Ispellと比較したときのメモリーの消費面での高さです。

GNU Aspellではまだですが、 Ispellではサポートしている、 いわゆる「接辞圧縮 (Affix Compression)」でも、 似たような状況になるようです。 多くの単語が単一の語幹と、 複数の接辞からできているため、 接辞圧縮が機能します。 そこで語幹と挿入辞、 接頭辞、 接尾辞から、 最後の単語を作るわけです。

語幹と、 可能性ある接辞が、 接辞圧縮した単語一覧にあります。 英単語の"alarm alarms alarmed alarming"は、 たとえば"alarm/SDG"と圧縮されます。 特に接辞がたっぷりある言語 (たとえばドイツ語) だと、 この差はかなり大きいでしょう。

GNU Aspellは、 マルチプロセス環境に適合していますが、 開発者の方は、 まだ「スレッド・セーフ」にはなっていないと思われるという点に、 ご注意ください。 この達成は、 現時点で優先リストのかなり高い位置にあります。

他の項目としては、 マニュアルの作業、 GNUコーディング規約の採用、 UTF-8サポートの完成、 動的ロード可能フィルターのサポート、 C++インターフェースの作成があります。 また、 EMACSのispell.elモジュールのカスタム化もあります。

Kevin HendricksがOpenOfficeの言語構成要素 (lingucomponent) 用に作成した接辞圧縮コードのGNU Aspellへのとりこみを、 Kevin Atkinsonは、 最終的計画としています。

GNU Aspellには、 なすべき仕事がまだ多いとはいえ、 それを、 試すのをためらう理由とすべきではないでしょう。 GNU Aspellは0.50.2版以来、 他に現在使われているスペル・チェッカーとまさに同等だからです。 それでもKevinは、 (Free Softwareの開発者としては、 やや典型的なことですが) まだ1.0版と呼ぶべきではなかった、 と感じました。

GNU Aspellについての全作業を基本的にKevin Atkinsonがこなした、 ということは、 特筆しておくべきでしょう。 それでも彼は、 手助けを確かに高く評価するでしょうし、 もしあなたが、 身近で、 あなたの名前を不朽とすべく多くの利用者が長い間使うような、 興味深いプロジェクトをおさがしでしたら、 これは確かにいい候補でしょう。

Brave GNU Worldの長年の読者であれば、 ここまでGNU Aspellの許諾について語ってこなかったことにお気づきと思いますが、 GNU AspellはGNU Projectの一部ですので、 Free Softwareであるというのは明らかです。

GNU Aspellは元々、 Kevin assigned自身によりGNU Lesser General Public License (LGPL) の下でリリースされました。 法的な保守可能性を、 そしてそれゆえ、 自分のプロジェクトの長期的残存を安全確実にするため、 Kevinは、 Free Software Foundation North Americaを彼の利益の受託者とすべく、 権利をそこへ委譲しました。

FSF North Americaなら、 GNU General Public License (GPL) の下でGNU Aspellをリリースした方がより有用であろう、 と判断したかもしれませんが、 Kevinは、 このことを自分にとって非常に重要と判断しています。

この2点の位置の背後にある相当の理由は、 ただ興味深いだけでなく、 重要でもありますので、 ここに光をあててみようと思います。

GPLそれともLGPL?

Kevin Atkinsonは、 GNU Aspellが、 GNU/LinuxなどのOSで、 他でもない 事実上のスペル・チェッカーになるのを見たいと願っています。 特に、 MozillaやOpenOfficeのようなプロジェクトでのGNU Aspellの採用を願っています。

MozillaやOpenOfficeには独占的な副産物もあります。 そこで、 もしGNU GPLの基でGNU Aspellを許諾すると、 諸プロジェクトでそれが使われないのではないかと、 彼は心配しました。

もちろん、 独占的副産物が外部プログラムの実行をとおしてGNU Aspellを使うことも、 可能だったかもしれません。 これだと効率は落ちますが、 まだありえる選択肢です。

つまりKevinの立場は、 GNU Aspellができるだけ広まるようにという願望と、 GNU General Public Licenseの下にあるGNU Aspellを含めることで、 独占的副産物のプロジェクトに生じる問題が多過ぎるのではないか、 というおそれの両方に大きくたったものなのです。

疑いなく、 GNU Aspellが多くの人に採用されれば、 そういう人たちにスペル・チェックの自由を提供できるでしょうから、 それは非常によいことであるに違いありません。

GNU General Public Licenseの基になる基本的な理解のひとつには、 他人に経費をかけさせてさえもそこから喜んで利益を得る人たちがいつもいる、 ということがあります。 会社や経営者の良心だけをあてにすることはできない、 ということです。

要するに、 自由を弁護しない人はそれを失う、 ということです!

GNU Lesser General Public License (LGPL) は、 GPLを変更したもので、 自由の保護をあえて制限したことがその重要な変更点です。 これは、 コードと独占的なアプリケーションのリンクを認めます。

過去において、 これは有用、 あるいは必要でさえあり、 GNU Cライブラリーのような中心的な構成要素が、 LGPLの下で公開されてきました。

Free Softwareは、 多くの利点のある新しいパラダイム (思考の枠組) をソフトウェアに提供します。 一部の会社がさがしている速く「人を食いものにする」利益のような属性は、 そこにありません。 Free Softwareの報酬と利点は、 中長期的なところにより多くあります。

高額のカネを湯水のように費やして、 独占的ソフトウェアは、 Free Softwareを押しのけたり、 また、 独占にしたり独占を保護したりするために、 ある分野から禁止したりして、 ときどき短期的にFree Softwareにたいして問題を起こすことはありえます。

ソフトウェアには常にマクロ経済学的、 文化的、 社会的、 倫理的側面がある、 ということを理解しないがために、 人がソフトウェアを短期的、 技術的機能をもとに選ぶ場合、 危険が増すのです。 理解をしないがために、 より大きなゲシュタルト (gestalt) が、 Free Softwareを試すのと同じくらい早く、 独占的ソフトウェアに切り替わるのです。

Free Softwareの現場でも、 一部の人たちはFree Softwareの精神性に多くかかわり、 他方はOpen Sourceの方に向かっているのを、 私たちは見てとれます。 このことは、 Free Sourceの典型的な現場でさえ、 こうした理解がまだ完全には啓発されきっていない、 ということを示しています。 それ以外の現場の情勢は、 もっと非惨です。

この点の理解が共通認識になる前の段階では、 Free Softwareは問題に直面しています。 独占的ソフトウェアは、 無防備な、 あるいは、 十分に保護されていないFree Softwareを食いものにすることがありえますが、 その逆は、 明らかに真ではありません。

Free Softwareの不十分な保護は、 独占的ソフトウェアのえこひいきをもたらします。 少なくともこれは、 Free Softwareが、 独占的なソフトウェアにたいして、 短期的、 技術的利点を得ることを、 困難にします。

前述のように、 Free Softwareは、 新しいパラダイムですので、 新しい規則や仕組みのある新市場を創出します。 各市場には、 規則があり、 全参加者にとって、 この規則の擁護、 順守は、 個人や市場全体を保護するために重要です。

Free Softwareの市場は、 まだ成立途上で、 いくぶん尚早時期にあります。 参加者のほとんどが、 規則や仕組みにしたがっていますが、 大多数は、 まだ完全には理解していません。

上記をふまえれば、 自由を強力に保護するGNU General Public Licenseが、 公開されたFree Softwareの過半数を占める優位な許諾であることは、 驚くに値しません。

GPLが市場を引き継いだのではなく、 むしろ創出したのだということが、 はたらいていた仕組みの本質的な結果であり、 強力な証拠でもある、 というふうに、 私には思えます。 つまり、 Free Softwareの市場が、 GNU General Public Licenseを中心に、 またそれを理由として、 自身の大部分を形づくったわけです。

誤解を避けるため強調したいのは、 GPLが唯一の容認可能な許諾である、 という意味なのではない、 という点です。 他のLGPLのような許諾や、 BSD風許諾のような保護のさらに弱い許諾でさえも、 Free Softwareの一部であり、 時によっては、 有用な選択肢でありえます。

弱い保護が、 GNU Aspellにとって最良の選択であるのか、 という疑問が、 この記事の始まりです。 FSFの視点からは、 作者の見方と違った見え方になります。

Ispellのおかげで、 Free Softwareには、 弱点のあるかもしれない、 広く定評のあるスペル・チェッカーがあるわけですが、 そのすきまを保護のない許諾で埋めるには、 何年もかかりました。

この上に立ち、 今やGNU Aspellは、 Free Softwareのために、 短期的力関係を釣り合わせるべく、 テキスト処理を行なうFree Softwareパッケージに、 同様の独占的製品よりも大幅な技術的長所を提供できるようになったわけです。

また、 Free SoftwareとしてのGNU Aspell上で、 プロジェクトをリリースする刺激を増加させるでしょう。

KevinがLGPLの方を選好した主な理由でもある、 ある可能性のある問題は、 OpenOfficeやMozillaのプロジェクトに関連し、 商用版を独占的ソフトウェアとしてリリースする強い理由がなさそうだ、 という点に注意してください。

特にOpenOfficeの場合、 独占的なStarOfficeを買う人びとの主な理由は明らかに、 かなりよいハンドブックであり、 サポートであり、 信頼性であるわけです。 これは、 StarOfficeが独占的であることに依存したものではなく、 もしFree Softwareとしてリリースされたとしても変わることはないでしょう。

もしこういったプロジェクトの独占的な版を作る必要が本当にある、 と誰かが考えるならば、 もちろんそれは可能でしょう。 しかし、 私たちは、 Free Softwareのコミュニティーとして、 よりよい独占的ソフトウェアの製造のためにGNU Aspellを与えてやりたい理由を、 自問すべきでしょう。

この話題については、 十分でしょう。 時に、 この込み入った話題に、 違った角度から光を当てることが何とかできたのではないかなと期待します。

もしあなたが、 こういった疑問について読むことに興味があれば、 あるいはまた、 別な角度からかばうのを見たいようであれば、 GNUウェブ・ページにあるRichard Stallmanの記事 [10] をお読みになることをお勧めします。

Gnutemberg!自由な文献データベース

Brave GNU Worldのイタリア語訳者、 Simo Sorcは、 イタリアのGFDDプロジェクト [11] "Gnutemberg! Free Documentation Database" (「Gnutemberg!自由な文献データベース」) を勧めてくれました。

"Gnutemberg!"プロジェクト [12] の一部として、 GFDDは、 Free Documentationのデータベースを作成、 維持するのが目的です。 その自由を保障するため、 FSFがFree Documentation License [13] で認めた文献だけが、 データベースに追加されています。

技術的には、 "Dublin Core Metadata Element Set"と、 "Open Source Metadata Framework" [14] に基づき、 PHPとPostgreSQLで実装されています。 当然、 すべてのコードは、 GNU General Public Licenseの下でFree Softwareとして公開されています。

利用者は、 文献を公開したり、 翻訳したりでき、 検索エンジンで、 著者、 公開日、 題名、 言語、 翻訳、 ISBN番号、 ページ数、 価格を検索できます。

プロジェクトの管理は、 Gaetano Paolone、 Marco Presi、 Simone Merli、 Marco Milanesi、 Alceste Scalas、 Donato Molinoによっていますが、 技術面、 内容面の両方で手助けをさがしています。

文献は、 信じられないほど重要で、 たいてい本当に軽視できない分野です。 多くのボランティアがみつかることを私は希望しています。

さようなら

今月はこれで十分でしょう。 他にハプニングがなければ、 次号は来月に出るでしょう。

もちろん、 コラムを終える前に、 たくさんのフィードバック、 情報、 お考え、 ご質問、 潜在的に興味深いと思われるプロジェクトの暗示をメール [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] Gnuzza (CryptChat) ホーム・ページ http://www.winpt.org/cryptchat/
[6] Libgcryptホーム・ページ http://www.gnupg.org/
[7] GNU Aspellホーム・ページ http://aspell.net/
[8] International Ispellホーム・ページ http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html
[9] GNU Aspell word lists http://wordlist.sourceforge.net/
[10] Richard Stallman - "Why you shouldn't use the Library GPL for your next library" http://www.gnu.org/licenses/why-not-lgpl.html
[11] GFDD - Free Documentation Databaseホーム・ページ http://www.gfdd.org/
[12] Gnutemberg! ホーム・ページ (イタリア語) http://www.gnutemberg.org/
[13] Free Documentation Licenses http://www.gnu.org/philosophy/license-list.html#FreeDocumentationLicenses
[14] Dublin Core Metadata イニシアチブ http://www.dublincore.org/

[ 前の記事 | 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) 2002 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: Sat Oct 12 20:03:10 CEST 2002