こちらはNetpbmのホームページの日本語訳です。

Netpbmについて

Netpbmは画像の操作のための用具集です。様々な画像形式間の変換も行います。350以上のプログラムが有り、そのうち画像変換は約100の画像方式(フォーマット)に対応しています。ここで言う画像操作の例:画像を10%小さくする、画像の上半分を切り取る、左右反転(鏡像)画像を作る、1つの画像から別の画像に徐々に変化する画像の並びを作る。

詳細についてはユーザーマニュアルをご覧ください。(現在英文のみ)

Netpbmは多様なシステムへの移植を考慮して開発されて来ました。いくつかのUnix系システム、およびWindows, Mac OS X, VMS, Amiga OSで少なくとも過去の一時期に動作が検証されています。管理者はLinuxシステム上で使用し、また構築しています。

Netpbmの目標は人が必要とするあらゆる基礎的な画像処理の用具、殊に変換ソフトを一箇所に揃えることです。それゆえ、もし自由に再配布可能なこの種のソフトウエアで、未だにNetpbmに取り込まれていないものをご存知でしたら、次のリリースまでには追加することを検討しますので、是非管理者にお知らせ下さい。 Netpbmには実行中に操作を行うプログラムや画像を見ながら編集するインターフェイスはありません。プログラムはシェルのコマンドラインから発する命令として有用ですが、多くは他のプログラムの内部から呼び出すことを志向してします。

Netpbmを入手する

Getting Netpbm(英文)をご覧ください。

構築とインストール

Netpbmの構築とインストールの手順はソースの doc/INSTALLというファイルにあります。

サポート

メーリングリストやバグ報告や利用者からの要望を管理するシステムはありません。直接管理者のブライアン・ヘンダーソン(Bryan Henderson bryanh@giraffe-data.com)に電子メールを送って下さい。まあまあ早急にそして確実に返答いたしております。

バグを発見した場合は変更履歴(英文)をまずご覧になって、それが既に対策が済んでいるかどうかお確かめ下さい。Netpbmのほとんどのプログラムは --version で版を確かめることができます。

バグ管理システムはありません。それが必要となるほどの多くのバグ報告が無いからです。管理者は報告の電子メールにただちに返答します。

一般に報告されていながら変更履歴で修正の記録が無いバグというのは一般的には存在しません。バグの報告から数日以内に修正(またはドキュメントの訂正)が行われます。

開発

Netpbmの開発と配布は Sourceforgeのプロジェクトにより行われています。

必要な関連プログラム、ライブラリ

前提として必要となるプログラムやライブラリの入手、構築、インストールで問題がある場合は、管理者に知らせて下さい。管理者自身これらのプログラムを利用しているのでその問題の解消方法を知っている場合があります。もし必要な要素の相手側管理者にも修正が手に負えない場合、Netpbm側で対応することを検討します。

Netpbmの構築とインストールには GNU Make と Perl言語インタープリタとPerlコアモジュールが必要です。(FedoraではPerlインタープリタトコアモジュールが別個のパッケージなので注意して下さい。) GNU Make は GNU プロジェクト、 Perlは CPAN からそれぞれ入手可能です。PerlについてはPerlスクリプトで実装されている設定等を他のシステムでやるなり、手動作業で行うなりして構築は可能です。Makefile は GNU Make 特有の機能を使っており、他のMakeでは代替できません。

Netpbmは6つ以上の外部ライブラリを利用していますが、構築にはこの全てをインストールする必要はありません。外部ライブラリはそれぞれ少数のNetpbmのプログラムに利用されています。ライブラリが無い場合、Netpbm構築時に影響のあるプログラムの構築は自動的に省略します。詳しくは前提リスト Prerequisite List(英文) をご覧ください。

pstopnm (Postscript から PNM に変換する) は Ghostscript (コマンド検索パス上の実際の実行形式の名前は gsとなります)を必要とします。さらにこの Ghostscript は PNM 用のデバイスドライバが組み込まれたものでなければなりません。

C89規準準拠のC言語コンパイラ(即ちあなたが出会うであろうほとんど全てのCコンパイラ)で構築可能なはずです。 しかしGcc 2.96 だけはNetpbmのコンパイルを阻害する不具合があります。GCC、Clangのその他のバージョンなら問題ないはずです。

NetpbmはSingle Unix Specification, version 2(SUSv2、"唯一のUNIX仕様"、1997年)準拠の C実行時ライブラリ (libc) を必要とします。一部コンパイラとC実行時ライブラリ(一例はMinGW)は機能検査マクロが正しく記されておらず、ライブラリのヘッダーファイルかNetpbm を少し修正にないとコンパイルが成功しません。Glibc 第2版以降なら問題は無いはずです。あなたが遭遇する可能性のあるLinux ディストリビューションではまず気にする必要はありません。【訳注:GNU C Compiler及びその完全互換とされるClang、 GNU C Libraryでは問題が無いということで、OS全体をGNU/Linuxと呼ぶことによって混乱が避けられる一例です】

Netpbmを実行形式で格納するのには約 9 MiB の二次記憶容量が必要です。これにはドキュメントは含まれていません。ドキュメントは約 4 MiB ですが、インストールは必須ではありません。インターネットからアクセスする方法もあります。【訳注:日本語訳はありません】

Debianで必要なパッケージ

Debianの次のコマンドで Netpbm のソースコードを入手し、構築し、インストールするのに必要な全てが入手できるはずです。Debian 10で動作が確認されています。

       $ apt-get install subversion make pkg-config gcc perl-modules flex \
         libjpeg-dev libtiff-dev libpng-dev libx11-dev libxml2-dev \
         ghostscript gsfonts
  

法律上の利用権

Netpbmは多くの著作者から提供されたコードからなっており、その多くは少なくとも当人が作成したコードについて著作権を保有しており、場合によっては著作権はより広く派生部分にまで及ぶ可能性もあります。すべての著作者は対価の支払い無しにその作成したコードを使用し、再配布する権利をあなたに付与しています。これらの許諾ライセンスは SourceForge の定義する所の オープンソースライセンスです。 (SourceForge はそのサイト上でコードを配布するにこれを条件としています)

一般に著作権許諾ライセンスはソースコードの個々のファイルに記載があります。2001年にSteve McIntyreがDebian の配布条件に合致するものを確定する目的で調査を行いました。その調査の結果は copyright_summary(英文) という名のファイルでソースコードの含まれています。

他のオープンソースソフトウエアの多くがそうであるように、Netpbmにおいては誰がコードの真の作者か、掲出のライセンスが本当に著作権を保持する者からのものかは確定できません。誰かがどこかの時点で、許可なくコードを複製してNetpbmに提供した可能性があり、その場合あなたがそれをさらに複製した場合、著作権者に対して使用料を払う義務が生じます。しかしながら、実際にこれが起きる可能性は小さいと考えます。なぜならNetpbmへ提供されているコードには著作権をたてに行動を起こすほど価値のあるものは無いからです。

Netpbmの管理者はコードが正当なライセンス下にあるとの保証をもらったことは無く、また他者に対してかかる保証をすることもありません。

Netpbmのコードが特許に抵触していて、利用者が特許権者にロイヤリティーを支払う義務が生じる可能性はあります。Netpbmの管理者は特許の使用について許諾を得ていません。Netpbmに影響するであろう特許についての情報はソースの patent_summary(英文) というファイルにまとめられています。

ウェブサイトでNetpbmを使う

多くの人がウェブサイトの中で画像処理を行うのにNetpbmを使っています。ウェブサイトの中にCGIスクリプトがあり、ウェブページへの画像表示のための処理のためにNetpbmの中のプログラムを呼び出すしくみです。Gallery と 4Images はNetpbmを画像操作に利用しているウェブサイト管理パッケージの例です。

Netpbmのインストールは他の多くのウェブサイト用ソフトウエアのインストールに要求されるのとは異なる技倆とシステムアクセス権限を必要とします。ウェブサーバー機に合わせてC言語をコンパイルし、そこでファイルがどのように組織化されているか、プログラムはどのように実行されるのかについての基本的な理解が必要です。問題が起きた時の解決にはたいがい、サーバー機へのシェルでのアクセスが必要となります。

Netpbmは基本的な画像ソフトウエアでどのウェブホスティングサービスでも提供されるべきものです。あなたがお使いのウェブサーバーに未だ導入されていないのならば、システム管理者に依頼して加えてもらうべきです。

人気

Netpbmの人気は大方過去のものです。一時期、世界の画像処理パッケージの頂点に君臨しましたが、それはコンピュータが技術者や科学者即ちシェルコマンドをタイプするのもプログラムを書くのも苦にしない人達によって使われていた時代です。それはGUIが非力で希少だった時代でもありました。今日、Netpbmの中のいくつかのプログラムはかなり人気がありますが、その多くは年代物のプログラムから呼び出されたり、古参のプログラマが使っているものです。今日では画像の余白消去はNetpbmのpnmcropよりAdobe PhotoshopかGimpで行う方が普通でしょう。GIFからPNGへの変換にはImageMagickが使われるでしょう。

人気が衰退したもう一つの理由はNetpbmの主たる機能が多様な画像形式間の変換を実現する点に起因します。Netpbmで扱える100以上の形式のうち、未だに使用頻度が高いのは8つだけとなっています。

上記にも関わらずNetpbmは旧式化してはいません。技術者の中には少数勢力ながら要素分割、コードの再利用、規格化された部品からの全体の構築の意義を理解する人達がおり、彼らにとってNetpbmは比類無きパッケージです。彼らはNetpbmを盛んに使っており、新たな機能を追加した最新版は3ヶ月ごとに出ています。

2012年6月にNetpbm開発者の一人漆畑晶【この訳者】がLinuxカーネルに依拠するOS Fedoraの調査を行い、 114のNetpbmのプログラムが少なくとも1つのFedoraパッケージにおいて使われていると結論を出しました。この中には34の画像形式のための変換プログラムが含まれています。

Fedoraのパッケージでの利用頻度から判断して、人気上位10傑のNetpbmプログラムは降順で:

  1. pnmtopng/pngtopnm (PNGへの/からの変換)
  2. pnmtops (Postscriptへの変換)
  3. ppmtogif/giftopnm (GIFへの/からの変換)
  4. pnmquant (減色処理)
  5. pamscale (大きさの変更 - 拡大と縮小)
  6. tifftopnm/pnmtotiff (TIFFへの/からの変換)
  7. jpegtopnm (JPEG-JFIFからの変換)
  8. ppmtopgm (カラー画像を灰色画像に変換)
  9. pamcut (長方形の切り出し)
  10. bmptopnm/ppmtobmp (BMPからの/への変換)
変換を除いた人気上位10傑は:
  1. pnmquant (減色処理)
  2. pamscale (大きさの変更 - 拡大と縮小)
  3. pamcut (長方形の切り出し)
  4. pamfile (画像の縦横の寸法等報告)
  5. pnmcrop (余白の自動検出除去)
  6. pamflip (線対称、点対称、90度回転写像)
  7. pnminvert (黒と白の入れ替え)
  8. pnmrotate (任意の角度での回転)
  9. ppmdist (コントラストを大きくする)
  10. ppmnorm (コントラストを大きくする)

RPM形式のパッケージヘッダーの依存関係の記載は漏れが多く、そこだけ見ると上記よりずっとNetpbmの使用は少ないとの結果となります。上記調査ではパッケージ中のファイルを調査してNetpbmのプログラムが文字列として現れるかどうかを見ました。【訳注:この調査の目的のひとつはドキュメントの翻訳の優先順序をつけることにありました】

Netpbmは主に Subversion checkoutで配布されているため、ダウンロード回数の統計はありません。

歴史

Netpbmの歴史は1988年にまで遡ります。詳しくは Netpbm's history(英文)をお読み下さい。 簡単に言うと、Pbmplusという広く普及していたパッケージ(最後のリリースは1991年12月10日)の置き換えとして始まりました。大変多くの改良と機能追加がその後行われました。Pbmplusの最後のリリースの後、多数の追加的プログラムがネット(="Net")上で流通するようになりました。これは当時としてはかなり画期的な出来事でした。Netpbmの目的はこれらを収集して新たなッパケージにまとめることでした。Netpbmの名前の由来はここにあります。この作業には世界中のプログラマが参加しました。

詳しいコード変更履歴については change.html(英文) をご覧下さい。これを読めば特定のバグがあなたがそれに遭遇した版以降に修正されているか及び、どのような新機能が追加されたかがわかります。

原文と各国語訳

この文書の英語の原文

各国語訳

  • アラビア語 - contactcustomerserviceuk.co.uk
  • ポルトガル語 - Murat Demir
  • フランス語 - KoDDos
  • 日本語 - 漆畑晶
  • ベトナム語 - CouponoBox
  • イタリア語 - Clipart Team
  • トルコ語 - Clipart Team
  • ウクライナ語 - Anna Matesh
  • ルーマニア語 - Irina Vasilescu
  • フィリピン語 - Hum3D
  • シンディ語 - Mobile Mall
  • オランダ語 - Coupontoaster UK
  • スエーデン語 - VoucherSort
  • ハンガリー語 - Vouchers4U
  • ヘブライ語 - Idan Baranes
  • オランダ語 - tr-ex.me
  • アルバニア語 - Knowledge Team
  • クロアチア語 - Milica Novak
  • スロバキア語 - imgVEHICLE Team
  • ノルウェー語 - Lars Olden
  • ジョージア語 - Ana Mirilashvili

    --------------------------------------------------------------------------

    原文筆者:ブライアン・ヘンダーソン bryanh@giraffe-data.com 原文最終確認 2023年6月27日
    日本語訳:漆畑晶 afu@sta.att.ne.jp 日本語訳作成 2023年12月6日