
2026/02/27 1:39
**Øyvind Kolås(GIMP 開発者)へのインタビュー(2017年)** - **背景** - GNU Image Manipulation Program(GIMP)の長期貢献者。 - コアエンジンとプラグインアーキテクチャの開発で知られる。 - **主な議論ポイント** 1. *GIMP のコードベースの進化* - C 言語からよりモジュラー設計へ移行。 - 拡張性向上のための新 API 導入。 2. *コミュニティへの関与* - オープンソース協働の重要性。 - 貢献管理と品質維持の手法。 3. *今後の計画* - パフォーマンス・ユーザー体験の改善。 - 最新グラフィックス標準との統合方針。 - **得られた知見** - 継続的なリファクタリングが GIMP を競争力に保つ。 - アクティブなコミュニティ参加は持続可能な開発に不可欠。 - 今後のアップデートではレガシーサポートと新機能のバランスを図る。
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
GEGLはØyvind Kolåsによって開発されたグラフベースの画像エンジンで、非破壊編集を実現するGIMPの将来の中核となります。Kolås氏は、GEGLが従来のGIMP 2.8処理を置き換え、安定したレイヤー操作と一般的な写真調整に対してほぼリアルタイム(約10 fps)のフィルタプレビューを可能にすると説明しています。これは部分的にはミップマッピングのおかげです。インタビューでは、2001年からの長期ボランティア貢献(彼自身は『ロード・オブ・ザ・リング』からのニックネーム「Pippin」と名乗っています)と、フィルタをビデオ編集ソフトやGNOME Photos、コマンドラインワークフローなど他のオープンソースツールで再利用できるように設計された点が強調されています。libvipsとは対照的に、GEGLはスプレッドシート風APIではなく静的画像レンダリングに焦点を当てています。現在のドキュメントはJavaScriptによるGObjectイントロスペクションで生成されており、将来的には改善と既存フレームワークとの統合が計画されています。Kolås氏は、GIMPがさらに20年続く限りGEGLが中心的役割を果たし続けると信じており、ドキュメントのさらなる充実とPatreonによる資金調達も検討しています。ユーザーにとってはより高速で信頼性の高い編集ワークフロー、開発者にとってはアプリケーション間で一貫性を促進する共有フィルタエコシステム、オープンソースコミュニティにとっては重要なライブラリを現代的なクラウドファンディングで持続可能に保つためのモデルとなるでしょう。
本文
GIMP は無料で Libre Open Source ソフトウェアですが、そこに貢献し創造している人々がいなければ成り立ちません。
プロジェクトのメンテナである Jehan さんは、GIMP を形作るボランティアたちへのインタビューを行い、そのストーリーを共有することで、GIMP の裏にいる素晴らしい人々について学んでもらおうと考えました。
最初の Wilber Week の直後に、共同メンテナである Michael Natterer と Michael Schumacher へのインタビューが公開されました。残念ながら、そのイベントで行われたその他のインタビューは長い間世に出ておらず——今こそ初めて公表されることになりました。以前再び注目を集めたインタビューは Simon Budig へのものでした。本記事のインタビューは Øyvind Kolås に関するものです。彼は GIMP の色エンジンである GEGL と babl のメンテナであり、GIMP 3.0 に実装された待望の非破壊フィルターに大きく貢献しました。
このインタビューは 2017 年 2 月 4 日に行われました。Jehan と Øyvind に加え、Michael Schumacher、Simon Budig、Debarshi Ray も参加し質問を受けました。
インタビュー
Jehan: まずは Pippin という呼び名でよろしいでしょうか?
Øyvind: 「Øyvind」の発音が分かる方ならそれで十分です。状況によっては難しい名前なので、ニックネームの Pippin を使うこともあります。
Jehan: なるほど、ではその由来を教えてください。
Øyvind: 「Pippin」は『ロード・オブ・ザ・リング』からきています。最初に IRC に参加した時――95 年か 96 年か――自分のニックネームを決めなければならず、"Sméagol" を選びました。
Jehan: でも小さくはありませんよね?
Øyvind: そうですね。ただ Sméagol はゴラムに関係するホビットで、私はそのイメージを避けたかったので、1 日も使わずに再度『ロード・オブ・ザ・リング』の歴史を眺めて、「Pippin」のほうが適切だと気づきました。彼は好奇心旺盛で、モラノンの石を投げたりサルマンのパランティールに覗いたりして「どうやって動くんだ」と考えるホビットです。
Jehan: それでは、『ロード・オブ・ザ・リング』は何度読まれましたか?
Øyvind: 二、三回くらいでしょうか。映画も複数回観ています。
Jehan: 映画はどうでしたか?
Øyvind: まあまあです。長すぎますね。
GEGL について
Jehan: Øyvind さんは GEGL のメンテナですね。まず、GEGL が何なのか説明していただけますか?
Øyvind: GEGL はコンポーネントを組み合わせることができるライブラリ/システムです。画像操作のフィルターや演算をチェーン状に構築できます。たとえば、まず色調整を行い、その後シャープ化を適用するといった流れを作れます。このような「まずこれを、次にそれを」というフローチャート的な手順をプログラマはデータ構造として表現し、開発者はそのコンポーネントをチェーン内で利用できます。
Jehan: ではプロジェクトに関わるようになった経緯は?
Øyvind: 長い間 GIMP を使っていましたが、ある時自分のビデオエディタを書き始めました。視点回転ツールなどさまざまな変換を実装していた際に、GIMP の変形処理が期待したほど良くなく、モアレや aliasing が発生することに気づきました。そのため、改善策として adaptive subdivision super‑sampling を追加するパッチを作成しました。これが GIMP への最初の寄与であり、2001 年コペンハーゲンで開催された GNOME カンファレンスで多くの GIMP 関係者と出会ったこともきっかけでした。
GEGL が GIMP に与える影響
Jehan: GEGL は GIMP をどう変えているのでしょう?
Øyvind: その質問に最適な人物は Mitch だと思います。私は GEGL の仕組みと GIMP のニーズを知っていますが、GEGL がどのように GIMP に実装されているかを詳細に語るのは彼です。
Jehan: 昨日彼に聞くべきだったですね!
Øyvind: ありがとうございます。では、皆さんが注目している非破壊編集など、GEGL がもたらすクールな機能について話してください。
Øyvind: GEGL のグラフベースのデータフローは GIMP のほぼ全ての部分で使われています。現在 GIMP で非破壊的に扱えるコア要素はレイヤーダイアログです。他のソフトウェアより多機能ですが、ユーザーにドロップシャドウやブラー、色調整などを提供するインターフェース設計が難しい課題です。
Jehan: それは簡単なのですか?
Øyvind: ハックや概念実証としては容易ですが、多年にわたって安定性を保証できる形で実装するのは難しいです。GIMP 2.10 のリリース直前で、GEGL をエンジンに置き換えつつ GIMP 2.8 が行っていたレイヤー処理を再構築しています。
Jehan: それでは GIMP は頻繁に使われますか?
Øyvind: 場合によります。必要なツールが存在しないときは自分で作ろうとします。
Øyvind の背景
Jehan: あなたはアーティストとしても活動しているようですが、教えてください。
Øyvind: 10代の頃から絵画やイラスト、動画など多様なメディアを制作しています。音楽以外で創作表現に触れたことはほとんどありません。最初は美術教育を受け、その後コンピュータとデジタルメディアへ戻り、大学では計算機科学の学術的道筋を辿りました。
Jehan: つまり CS を学ぶ前に芸術を学んだということですか?
Øyvind: そうではなく、14〜15歳頃からコンピュータグラフィックスを手掛けていました。デモシーンやダイヤルアップ掲示板で C、Pascal、Assembly、Turbo Pascal のプログラミング技術が語られているのに触発され、大学入学前からそのスタイルのグラフィックスに関わってきました。
GEGL の将来
Jehan: 今後の GEGL とフリーソフトウェアのグラフィックス分野をどう見ていますか?
Øyvind: 20 年後に GIMP が何らかの UI フォームで存続しているなら、GEGL はその一部になるでしょう。コア処理コードが残ることはなくても、グラフと操作という概念は継続されると思います。他の GEGL を利用するアプリケーション(ビデオ編集ソフトや GNOME Photos など)も同様の API を持ち、CPU ベースと OpenCL コードが置き換えられる可能性があります。
Jehan: GIMP と GEGL が最近統合された理由は?
Øyvind: 当時の話しか知りません。プロジェクト開始当初からいなかったです。
Michael Schumacher: GIMP が GEGL をどのように利用しているかが最善の質問者ではないと言いましたね。使われ方やもっと活用できる方法について語っていただけますか?
Øyvind: 2.10 の状態は満足しています。レイヤー合成コードで GIMP が直面した問題に対して、GEGL 側のパフォーマンス課題(オンキャンバスプレビューのベクトル表示など)が残っています。
Jehan: GEGL はどれくらい高速ですか?
Øyvind: 写真編集やマルチレイヤー作業で使用されるほとんどのフィルターについては、CPU でもドラッグ操作時に 10 fps の更新が期待できます。これはミップマッピング問題を解決することで実現します。
ドキュメントとアウトリーチ
Debarshi Ray: GEGL の API ドキュメントにはどのような計画がありますか?
Øyvind: 現在は JavaScript を使ってウェブサイト上に GObject introspection データを直接表示しています。GObject introspection に関するドキュメント作成を推進し、既存の取り組みと整合させていきたいです。
Jehan: GEGL がもっと多くのソフトウェアで使われることを望みますか?
Øyvind: そうしたいですね。より多くのフィルターや興味深い機能が追加されれば、それらは GIMP や他のアプリケーションに利用可能になります。
GEGL の学び方
Michael Schumacher: GEGL の機能を知るにはどうすればいいですか?
Øyvind: 既存のものを調べて、何か新しいことを作り出してみてください。
Michael Schumacher: 具体的に試す方法はありますか?
Øyvind: C の他に長い間多くの言語バインディングを使った経験がありません。コマンドラインツールで XML や JSON を使ってツリー構造を作ることから始めると良いでしょう。
Simon Budig: まずは GEGL コマンドラインツールを使い、XML のようなツリーを構築するのが第一歩です。
Debarshi Ray: GEGL は GStreamer と比べてどう違いますか?
Øyvind: GEGL は静止画像のレンダリングに特化しており、GStreamer はビデオ再生やストリーミングを扱います。両者ともグラフベースのデータフローを採用していますが、関心事は異なります。
ベンチマーク
Jehan: libvips との効率テストで GEGL が劣っていると報告されていましたね。
Øyvind: GEGL と babl は従来、ランタイムでベンチマークを行い、コマンドラインユーティリティの起動オーバーヘッドが大きくなることがあります。最近はディスクにプロファイル情報をキャッシュして、起動時のコストを削減する改善が加わっています。
libvips より GEGL を選ぶ理由
Jehan: なぜ libvips より GEGL を選択するのでしょうか?
Øyvind: 必要な機能に応じて異なります。GEGL は GIMP のほぼ全フィルターを操作として取り込もうとしています。libvips はスプレッドシートのような UI があるものの、プログラム的 API には劣る部分があります。
ウェブサイトとコミュニティ
Debarshi Ray: GEGL の新しいウェブサイトはありますか?
Øyvind: GEGL をビルドするたびに再構築され、ウェブサイトの docs フォルダに出力されます。コードや機能を貢献してもらうことが、ドキュメントやサイト改善よりもはるかに容易です。
Patreon と持続可能性
Simon Budig: Patreon の話をしたようですが…
Jehan: そうですね。自由ソフトウェアの開発で生活費を賄うことは難しいと聞いていますが、GEGL を中心に説明していただけますか?
Øyvind: GEGL、GIMP、その他プロジェクトへのコード貢献には十年以上取り組んできました。ソフトウェア開発は文化的認知や政府の資金援助が不足しがちで、多くの貢献者は民間企業や個人収入に頼っています。Patreon は、ソフトウェアを楽しむユーザーが継続的な開発を支援できる手段として有効です。
Øyvind のポートフォリオサイト
Øyvind のポートフォリオサイト