ソースコード・リテラシーのススメ

第7回 英文ドキュメントをどう読むか[実践編]

この記事を読むのに必要な時間:およそ 6 分

そろそろあちこちから紅葉の便りが届くようになり,行楽にも最適の時期になってきました。紅葉を求めてドライブでも,と言いたいところですが,筆者は筋金入りの方向オンチで,地図を確認しつつ移動していてもいつの間にか反対の方向に向っていたりして,初めての目的地に素直に辿りつけることはまずありません。

自分の方向オンチの原因を考えるに,地図のような絶対的な東西南北の感覚が欠如していて,自分や目に付く目標物を中心とした前後左右という相対的な感覚のみに頼っているせいのように思います。鳥瞰的な視点が必要なのはコンピュータシステムのトラブル時でも同じで,エラーログの迷路で迷子になった時には,システム全体の中での今の位置はどこか,といった視点に切り替えて眺めた方が,解決のヒントを得られることが多いでしょう。

さて,前回までに英語技術文書を読むいくつかのテクニックを紹介してきました。今回はそれらの応用編として,筆者がソフトウェアをパッケージ化する際に,どのような文書をどのように読んだかの実例を紹介してみます。今回紹介するのはGIMP 2.4をビルドした際の事例です

GIMP 2.4のパッケージ化

GIMPはGNU Image Manipulation Programの略で,Adobe Photoshopによく似た高性能な画像データ処理用のソフトウェアです。GIMPは過去10年以上に渡って開発が続けられているソフトウェアで,OSSの世界にさまざまな影響を与えてきました。

たとえば,GNOMEデスクトップ環境が採用しているGTKウィジェットは,元々はGIMPが利用するために開発されたウィジェットですし(Gimp Tool Kit),プリントアウト用のプラグインとして開発されたGimp-printは,現在ではGutenprintと改名して,インクジェットを中心にさまざまなプリンタに対応した高性能のプリンタドライバとしてCUPS等のプリンタシステムのバックエンドに広く採用されています。

他のディストリビューション同様,Plamo LinuxでもGIMPはバイナリパッケージとして提供しています。先に公開したPlamo-4.22ではGIMP 2.2.15を採用していましたが,つい先日,新しいシリーズとなるGIMP 2.4が公開されたので,さっそくパッケージ化を試みました。

ソースコードの展開とドキュメントの確認

ソースコードをダウンロードして展開すると,gimp-2.4.0/ 以下に下記のようなファイルが展開されました。

 AUTHORS            Makefile.in   authors.dtd     cursors/      gimpthumb.pc.in      libgimpbase/     menus/          po-tips/
 COPYING            NEWS          authors.xml     data/         gimptool-2.0.in      libgimpcolor/    missing*        py-compile*
 ChangeLog          NEWS.pre-2-0  authors.xsl     depcomp*      gimptool-win32.c.in  libgimpconfig/   mkinstalldirs*  regexrepl/
 ChangeLog.pre-1-0  NEWS.pre-2-2  compile*        desktop/      gimpui.pc.in         libgimpmath/     modules/        themes/
 ChangeLog.pre-1-2  README        config.guess*   devel-docs/   gtk-doc.make         libgimpmodule/   plug-ins/       tools/
 ChangeLog.pre-2-0  README.i18n   config.h.in     docs/         install-sh*          libgimpthumb/    po/
 HACKING            README.win32  config.h.win32  etc/          intltool-extract.in  libgimpwidgets/  po-libgimp/
 INSTALL            acinclude.m4  config.sub*     gimp-zip.in*  intltool-merge.in    ltmain.sh        po-plug-ins/
 LICENSE            aclocal.m4    configure*      gimp.pc.in    intltool-update.in   m4macros/        po-python/
 Makefile.am        app/          configure.in    gimpdefs.msc  libgimp/             makefile.msc     po-script-fu/

ざっと展開されたファイル類を眺めると,configureスクリプトが用意されており,コンパイルに必要な設定はこのスクリプトがやってくれることがわかります。よく知っているソフトウェアならば,この時点で ./configureを実行して必要なライブラリやソフトウェアが揃っているかを確認するだけで済ますこともありますが,今回はGIMPのバージョンが大きく更新されていますので,まずは用意されているドキュメント類を確認することにしました。

多くのソフトウェアではバージョン番号を x.y.z のような形式で管理しており,xメジャー番号yマイナー番号zリリース番号パッチ番号と呼ばれます。どの程度の変更でバージョン番号のどの部分を更新するかはそのソフトウェアの開発者に任されていますが,GIMPのような大規模なソフトウェアでは,マイナー番号の更新でもかなり大規模な変更が行われていることが予想できます。

READMEファイル

最近のソフトウェアでは,ドキュメントの類は大文字のファイル名になっているので,読むべきファイルに迷うことは少ないでしょう。今回もまず最初にREADMEファイルに目を通しました。

  The GNU Image Manipulation Program Version 2.4
 ----------------------------------------------
 
 GIMP 2.4 replaces earlier GIMP 2.x versions. It is advised that you
 uninstall them before installing GIMP 2.4. If you want to keep your
 older GIMP 2.x installation in parallel to GIMP 2.4, you have to
 choose a separate prefix which is not in your default library search
 ...

文書の位置付けや著者のスタイルなどを把握するために最初の数パラグラフはじっくりと読んだ方がいいので,この READMEファイルも最初のセクションは丁寧に目を通してみました。しかしながら,そこに書かれていたのはバージョンアップの際に古いバージョンをアンインストールすることを勧める内容で,それほど重要な情報とは思えませんでした。残りの部分を眺めると,Web ResoucesやMailing Lists等の見出しが並んでおり,これらはGIMPに関する情報源を列挙している程度だなと判断して,見出しだけを眺めてこのファイルは読み終えました。

NEWSファイル

次は,新しいバージョンということで,変更点がまとめてあるであろうNEWSファイルを開きましたが,このファイルには "This is the stable branch of GIMP." の1行があるだけでした。たぶん,過去の履歴は NEWS.pre-2-2等のファイルに記載されているのでしょうが,今回はそれら古い機能を調べる必要もないので,それらのファイルは無視しました。

configureスクリプトを構成するGNU Autoconf/Automakeでは,動作のためにAUTHORS,COPYING,ChangeLog,INSTALL,NEWS,READMEという6つのドキュメントファイルを要求するので,ソフトウェアによっては,このNEWSファイルのように形式的なファイルだけを用意したり,汎用的なドキュメントを使い回したりする例も見られます。

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたのが,いつの間にかミイラ取りがミイラになってOSSを仕事にするようになってしまいました。最近はスペシャリスト養成を目的とした専門職大学院で教壇に立ったりもしています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html

コメント

コメントの記入