[DE |
EN |
FR |
JA |
ES |
KO |
PT]
GeorgのBrave GNU Worldのこの号の記事へようこそ。 今月は、 Appleの世界へGNUを入れようとするプロジェクトから始めましょう。
GNU-Darwin [5] プロジェクトは、 独占的なMacOS Xの基盤であるDarwin [6] へGNUシステムを移植する作業をしています。 Darwin自体はFreeBSDやMach 3.0を基盤に、 最近ではPowerPCベースのアーキテクチャーでもうごきます。 またAppleは、 Intelアーキテクチャーへの移植の作業をしています。 GNU/LinuxとGNU/Hurdに続いて3番目のGNUベースのシステムが登場することになります。
GNU-Darwinシステムの大変興味深い機能は、 おなじみのUnixプログラムと同時にMacintoshアプリケーションがうごくことです。 今までは不可能であったMacintoshとGNUベースの間でのプログラムの直接比較が、 これにより可能になります。 この機能により、 GNU-DarwinはMac/Unixハイブリッド構造にとてもふさわしくなり、 GNU-DarwinへSAMBAを移植すれば、 Mac/Unix/Windows環境による異機種ネットワークが簡単に実装できるでしょう。
しかしGNU-Darwinの主な利用は、 独占的ソフトウェアをうごかせることにあるのではありません。 むしろMacintoshプラットホームとFree Softwareの間に、 もう一本の橋をかけているのです。 その人のコンピュータには独占的ソフトウェアよりもFree Softwareの方が多い、 ということに気付くことになるでしょうから。 GNU-Darwinで開発されるソフトウェアは、 MacOS Xとの相互運用性にも適していて、 Free Softwareがこの世界に入っていくことができます。
UnixベースのたくさんのFree Software、 異機種構造のユニークな能力、 並列開発ということは、 MacOS XでなくGNU-Darwinということへの強い論点なのです。
さらに、 GNU-DarwinにはLinuxPPC-Projectよりもいくつか強みがあり、 それがGNU-Darwinへ移行する利用者のいる理由になっています。 まずGNU-Darwinは (GNU/Hurdのように) マイクロカーネルベースで、 Linuxカーネルではまねのできない力が得られるのです。 またDarwinのハードウェア・サポートは、 MacOS Xの基盤でもあるため、 Apple自身によってなされます。 つまり、 かなり良好なハードウェア・サポートが期待できるわけです。
しかし全部が全部よいわけではありません。 GNU-Darwinプロジェクトでの貢献は、 もちろんGNU General Public Licenseの下でリリースされていますが、 Darwin自体は、 AppleによりApple Public Source License (APSL) の下でリリースされています。 このライセンスの1.1版は、 3つの重要な理由 [7] によりFree Softwareというわけにはいきません。
まず個人的利用のための変更を非公開にしておくことが禁止されていることです。 GNU Projectの理解では、 個人的利用のみのために何かを変更する権利は、 プライバシーの権利に密接に関係しています。 GPLがこれを認めるよう設計されている理由は、 そこにあります。
さらに修正版についての科学分野以外の利用者と開発者は、 指定機関 (institution…この場合Apple) に報告を強制されます。 この集中管理は、 Free Software思想との直接的な矛盾です。
最後に、 (権利の) 放棄があったことです。 これば、 Appleにたいして著作権や特許の主張が行われた場合、 いついかなる時点でも、 ソフトウェアのその後の利用の停止や許諾の終結がAppleにできるようにし、 また、 この星の上の全利用者を、 問題のある合衆国の特許体系に依存させてしまいました。
APSLの1.2版が2001年1月にリリースされ、 問題の大部分は解決しました。 とはいえ、 プライバシーの軽視やプライベートな修正の制限は残ったままです。
APSLはある意味、 ソースコードの独占化を許してはいますが完全にFree Software許諾であるNPLと、 一歩一歩同じ方向へ近付いています。 もしAPSLが最終的にNPLと同じところに着いても、 一番よく使われているFree Software許諾であるGPLとは、 おそらくまだ非互換でしょうから、 それほど満足とはいえないでしょう。
この状況は弱い基礎の上に建っていて、 それゆえ、 法律的な手段でたたかれる危険をおびた、 あるクリーンなFree Softwareプロジェクトについてのことですから、 ある意味、 数年前のKDEの状況に匹敵します。 この理由により、 GNU-Darwinプロジェクトは、 GNU General Public Licenseの下でDarwinをリリースする、 という立場をとっているのです。 特にこれを推進する作業のため、 GNU-Darwinの参加者のひとりであるMichael L. Loveは、 コミュニティーからの支援をもとめています。 GNU-Darwinプロジェクトの観点からは、 いったんDarwinがGPLになって以来、 GNU-Darwinこそが真の自由 (free) なのです。
現在の技術課題は、 GNU-Darwinへのさらなるパッケージの移植と、 CD-Distributionの作成です。 長期的には、 GNU-Darwinの特殊能力をうまく使うことを計画中です。
チームには現在6人だけの活動的な開発者がおり、 興味ある人の選べる活動分野はたくさんあります。 特にMozilla、 SDL、 GNOME、 Audio-Support (ALSA) の経験者は諸手を挙げて歓迎です。
ところで、 GNU-Darwinの始まりは、 自分の普段の仕事であるタンパク結晶学 (protein-crystallography) にAppleを使いたい、 というMichael L. Loveの願望からきているのです。
では、 小さいけれど役に立つプロジェクトをいくつかおとどけしましょう。
Daniel E. Singerは、 小さなBourne Shellでファイルの選択をするget_file [8] を書きました。 シェルスクリプトの中で利用者にファイルを選択させようとする人には皆、 プロジェクトの利用は明らかでしょう。 get_fileの主な利用のされ方はまさに他のスクリプトからの呼出しであるわけですが、 コマンド行ツールとして使うこともできます。
これは完全にBash-Shellscriptで書かれているので、 コンパイルの必要もないし、 カスタム化も簡単です。 またこれは、 ある対象をエスケープ列と結び付けたり、 ファイルのモードを変えたり、 プログラムを実行したり、 ワイルドカードを処理したりできます。 オンラインヘルプもあります。
シェルスクリプトのためとても効率的とはいえませんが、 このプロジェクトは、 「その場 ("on the fly") 」の解が役に立つことの証明、 といえます。
GNU GLOBAL [9] は、 ソースコードへの参照や管理を楽にする、 システム・ソースコード用のタグ・システムです。 これはヤマグチ シギオにより書かれ、 GNU General Public Licenseの下で公開され、 最近、 公式GNU Projectと宣言されてもいいようになりました。
あちこちのディレクトリーに大量にばらまかれた「ベチャッとした」ソースコードは、 (何がどのファイルにあるのかを) 維持しておくのが、 すぐにめんどうになります。 GNU GLOBALを使うと、 利用者は、 シェルのコマンド行、 less、 nvi、 elvis、 EMACS、 ウェブでの参照物件として使うC、 C++、 Yacc、 Javaのソースコードを参照できるようになります。 特に大きなプロジェクトでは、 そのように維持管理をして、 プロジェクトに保っておくのが楽になります。
GNU GLOBALにはあっという量の機能がすでにあります。 対象定義の局所化のみならず、 ライブラリーのパスの検索、 参照、 POSIXの正規表現の理解、 ディスク空間を節約するための圧縮形式などなどです。 しかし問題が全部解けているかというと、 もちろんそうではありません。
現在の最大の問題は、 マクロ定義とデータ型の検出が全自動ではない、 という事実です。 この実現が今後の開発の主目標です。 さらなる言語やエディターのサポートも計画中です。
GNU AutomakeのCVSでの最新版には、 GNU GLOBALで使うタグ・ファイル形式のGTAGSターゲットがありますので、 近い将来、 GNU GLOBALを使うのがとても楽になるのが期待できます。
次のプロジェクトの目標も上記に匹敵しますが、 焦点が違うところにあります。
Amaury Bouchardによる HeaderBrowser [10] は、 ソースコードのよりよい文書化のためのプロジェクトです。 これはNeXTのHeaderViewerを念頭に置いて開発されました。 Amauryはこれをとても気に入っていて、 Unixでの改良版を再実装したいと思ったのです。
GNU GLOBALと同様、 HeaderBrowserはソースコードの「ベチャッとした」構造を取り除き、 ヘッダーファイルを処理して、 プログラムのAPIについて誘導的な (navigationable) 文書を作成します。 現在、 HeaderBrowserはプログラミング言語としてCとC++を、 出力のバックエンドにはHTML、 Texinfo、 マンページをサポートしています。
将来の計画には、 アルファベット順による関数への誘導があります。 またある利用者は、 ヘッダーファイルを解析し、 開発者は穴埋めだけをすればよいようなHeaderBrowserのコメント生成ツールの作成を、 提案してくれました。 大部分の開発者は文書とのややきっちりした関係をもちますから、 これは多くのプログラムの品質を向上させるでしょう。
HeaderBrowserに使われた許諾はGNU General Public License (GPL) で、 全文書はGNU Free Documentation License (FDL) の下でリリースされていますので、 このプログラムは、 Freeというその言葉の最高の (訳注: 「自由」という) 意味のとおり真にFreeです。
GNUTLS [11] は、 GNU General Public Licenseの下、 トランスポート層セキュリティー (TLS) ライブラリーの実装、 という目標をかかげた、 とても若いプロジェクトです。 このライブラリーは、 SSL 3.0とTLS 1.0の層へのアクセスをあたえることになっていて、 プログラムにセキュリティー層の追加が簡単にできるようになるはずです。
全体的な試験はまだで、 実社会で本当に使われてもいないので、 今のところGNUTLSは、 OpenSSLライブラリーよりもまだよくはありません。 ですが、 GNUTLSのレイアウトはスレッドセーフで、 インターフェースはとても簡単です。 そのうえ、 GNU General Public Licenseと明確に互換性のあるTLSの実装がGNU Projectにあることは、 非常にいいことです。
現時点においてGNUTLSは、 日常利用できるにいたっていません。 第一、 x509証明書のASN.1パーサーがまだありませんが、 現時点において作者のNikos Mavroyanopoulosが作業中ですので、 この状況は比較的早く変わるでしょう。 もうひとりの開発者であるTarun Upadhyayは、 時間的問題により、 プロジェクトをぬけなければなりません。 そのため、 手助けは非常に歓迎されます。
この先の開発目標は、 "Wireless Extensions to TLS" (TLSの無線用拡張) というインターネット・ドラフトに仕様のある拡張の実装、 そして、 他のフリーなTLS実装にはなく今、 計画中のOpenPGPのサポートです。 いわずもがなですが、 ドイツ政府によるサポートでおなじみになったあのWerner KochによるGNU Privacy Guard Projectのライブラリーであるlibgcryptを、 GNUTLSでは基盤にしています。
さて、 私たち全員に最高の重要度をもつプロジェクトにきました。
"Free Referenda & Elections Electronically" (FREE) Project [12] は、 もともと米Warwick大学で始まり、 今ではJason Kitcatが管理していて、 最近公式GNU Projectと呼ばれるようになりました。 プロジェクトの目標は、 安全であり、 かつプライバシーの保護をする、 安全電子投票システムの構築です。
フロリダの選挙での大失敗が契機になっての反応、 などとあやしむ向きもあるかもしれませんが、 プロジェクトの概念はもう2年前からのものです。 しかし公的選挙の明らかな操作は、 公的な意識への票集計のとりいれ、 投票への疑問、 民主主義の原理をもたらしました。
電子民主主義 (e-democracy) にはさまざまな意見があり、 私自身、 よりすすんだ直接制の確立がいい考えなのかどうか、 自信がありません。 おそらく扇動 (政治) 家に今もっているよりも強い力を与えるだろう、 と思うからです。 少なくとも私の思うに、 「電子投票」は望ましいのか、 という質問にたいして、 満足のいく答えのあったことはありません。
しかし体験からは、 電子民主主義への強い傾向を予期しなければならず、 この意味について疑いをもっているからといって、 この開発を無視して平気、 とは思いません。
従来のシステムの場合、 政府の選挙を民間会社にまかせようとまじめに提案する人はいないでしょう。 考えてもみてください。 投票者はその会社の事務所に行って、 自分の票を投じ、 結果を検証する可能性もなく、 晩にはその会社が勝者を宣言する。 より大きな操作の可能性のあるデジタル領域に移って、 大衆が突然これをもう問題と思わなくなったら…。
2月上旬、 私がドイツはベルリンのTransmedialeにいて、 "Social Software" のパネルに参加したとき、 これを体験しました。 基本的に上にあげたのと一致する例は、 喜んで歓迎されました。
社会的ソフトウェアは、 Free Softwareである必要があります。 この方法でだけ、 増大するデジタル文化での人権を維持できます。 電子民主主義についての個人的意見とは関係なく、 GNU.FREEの存在することは重要です。
では技術面に戻りましょう。
規模をうまく拡大できるようにシステムは設計してあります。 Jasonは民主社会として、 (世界最大の民主社会である) インドのサイズを考えています。 小さな幹事の選挙からヨーロッパ議会の選挙まで、 GNU.FREEでとりおこなうことができます。
もちろんセキュリティーとプライバシーの保護の問題は開発の間、 最優先で、 Jasonによれば、 すでにこの面ではうまくいっているとのこと。 もし正しく構成されれば、 火事などの災害によるサーバーの物理的不足以外に、 選挙を妨害することはできません。
大きな目標の割にプロジェクトは比較的小さく、 Jasonの他に、 GNU.FREEに貢献しているのは、 Rajagopal C.V.、 Thomas Müller、 Ceki Gulcu、 Neil Ferguson、 Paul Vollerです。 潜在的なセキュリティーの問題を捜したり、 試験をしたりするための手助けが必要で望まれています。
暗号用の追加層にいたるセキュリティーの向上とバグ修正が、 GNU.FREEの不断の目標です。 それを除くと、 さまざまな選挙体系の実装が計画されています。 現在有効なのはある候補者にたいしての票の合計数の直接比較だけだからです。
今月はここまで。 いつもどおり、 コメント、 お考え、 質問、 プロジェクトの紹介は、 通常のアドレス [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] GNU-Darwin ホーム・ページ http://gnu-darwin.org [6] Apple Darwin ホーム・ページ http://www.publicsource.apple.com/projects/darwin/ [7] Why the APSL is not a Free Software license (なぜAPSLはFree Software許諾ではないのか) http://www.gnu.org/philosophy/apsl.html [8] get_file FTP アドレス ftp://ftp.cs.duke.edu/pub/des/scripts/get_file [9] GNU GLOBAL ホーム・ページ http://www.tamacom.com/global/ [10] HeaderBrowser ホーム・ページ http://www.headerbrowser.org [11] GNUTLS ホーム・ページ http://gnutls.hellug.gr/ [12] GNU.FREE ホーム・ページ http://www.thecouch.org/free/ |
GNUのホーム・ページにもどる。
FSFやGNUについてのお問合せ、 ご質問は、 (英語で) gnu@gnu.orgまで。
GeorgのBrave GNU Worldについてのご意見は、
(英語かドイツ語で)
column@gnu.orgまで。
ウェブ・ページについてのご意見は、
(英語で)
webmasters@www.gnu.orgまで。
他のご質問は、
(英語で)
gnu@gnu.orgまで。
日本語訳: 飯田義朗
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 Mar 19 21:05:08 CET 2001