|
Ein Interview mit Dave Coffin, Autor von dcraw
Veröffentlicht am Donnerstag, 08.Juni. @ 19:17:36 CEST von
|
|
(Info: Click here to go to the home of the English version)
Wenn wir in der Linux-Welt RAW-Dateien bearbeiten, dann basieren alle relevanten Programme auf dem Kommandozeilenprogramm dcraw. Auf Grund dieser herrausragenden Bedeutung wollen wir (e4l) heute mal Dave Coffin (DC), den Entwickler dieser Software vorstellen.
e4l: Hallo Dave, jeder ernsthafte Fotograf, der Linux verwendet, kennt dcraw, aber es finden sich nicht gerade viele Informationen über dich. Stelle dich doch mal kurz selbst vor.
DC: Hallo, mein Name ist Dave Coffin, ich lebe in einer Wohnung in Ballardvale, einem Städtchen 35km nördlich von Boston in Massachusetts, USA. Als ich 1999 hierher gezogen bin, hatte ich zwei Katzen, aber diese sind mittlerweile verstorben. Ich bin verheiratet und habe seit September 2005 eine kleine Tochter.
Dave Coffin mit Töchterchen
e4l: Als ich mir deine Homepage angeschaut habe, ist mir der doch recht ungewöhnliche Text in Esperanto aufgefallen. Wie hast du denn zu dieser Sprache gefunden?
DC: Es begann 1999 zunächst als eine Art Denksport, dann aber besuchte ich in den folgenden Jahren einige Esperanto-Veranstaltungen in den USA, Kanada, Brasilien und Europa. Dabei war ich sogar zweimal in Deutschland.
Ebenso begann meine Frau 2002 mit dem Studium in Tjumen (Russland) und unsere Lebenswege kreuzten sich im Mai 2003 in Jalta auf der Halbinsel Krim in der Ukraine. Wir heirateten im Juni 2004 und sprechen bis heute nur auf Esperanto miteinander.
e4l: Wie bist du zur Fotografie gekommen?
DC: Meine Eltern kauften mir 1985 eine Pentax Spiegelreflexkamera zu meinem fünfzehnten Geburtstag und über die nächsten zehn Jahre machte ich bestimmt an die 1500 Bilder. Aber irgendwann fand ich es ermüdend, einen Film mit 38 Bilder zu belichten, bevor ich die Ergebnisse sehen konnte. So begann ich mich mit der Digitalfotografie zu beschäftigen.
Im Februar 1997 kaufte ich mir eine Canon PowerShot 600 mit 0,5 MP. Natürlich hatte Canon keine Linux-Software beigelegt und so schrieb ich auf die Schnelle ein C Programm, um die RAW-Dateien zu dekodieren. Hier liegen wohl die Ursprünge von dcraw.
e4l: Hast du ein von dir gemachtes Foto, das wie unseren Lesern zeigen dürfen?
DC: Unten seht ihr ein Foto von Las Vegas kurz bevor Mitternacht am 22.12.2005 aus ca. 10km Höhe. Gemacht wurde es auf einem Flug von L.A. nach Boston mit meiner Canon PowerShot G2.
Las Vegas aus 10km Höhe
e4l: Arbeitest du jetzt nur noch digital oder benutzt du auch noch analoge Kameras?
DC: Nun ja, eine einfache Analogknipse ist besonders im Flugzeug nützlich, wenn während der Start- und Landephase keine elektronische Geräte benutzt werden dürfen.
e4l: Oben hattest du die Anfänge von dcraw beschrieben. Kannst du was über die weitere Entwicklung erzählen?
DC: Meine meisten Bilder mache ich im JPEG-Format. Den RAW-Modus benutze ich nur bei schwierigen Lichtverhältnissen. Somit nutze ich meine Software eher selten...
e4l: Das finde ich lustig :-)
DC: ... ich bin aber ein bekennender Verfechter Freier Software. Freie Software ist aber nur dann nützlich, wenn man all die Formate mit ihr bearbeiten kann, die die kommerzielle Software-Welt so mit sich bringt. dcraw ist also eine Software, die benötigt wurde und 2001, als "crw.c" mal gerade vier Kameramodelle unterstütze, beschloss ich, diese Lücke zu füllen.
e4l: Wie fängst du an, wenn du ein neues RAW-Format dekodierst? Hast du Hilfe von den Kamera-Herstellern oder kommerziellen Software-Entwicklern erhalten?
DC: Ich habe nie erwogen nach Hilfe zu fragen. Die Dekodierung wird erarbeitet. Zuerst schaue ich, ob ein Format unkomprimiert oder erkennbar ist. Ist das nicht der Fall, installiere ich auf einem Testrechner die Windowssoftware und arbeite das Programm über einen Softwareemulator schrittweise ab.
e4l: Warum ist eigentlich der Kern deiner Software quasi lizenzfrei während andere Teile wiederum unter GPL stehen?
DC: Für mich ist die GPL eine Möglichkeit Geld zu verdienen, indem ich kommerziellen Software-Unternehmen Lizenzen verkaufe ohne den Usern den Quellcode vorenthalten zu müssen.
Ich hab Monate dafür gebraucht die Unterstützung für Kameras zu verbessern, die den Foveon-Sensor verwenden. Deshalb habe ich diesen Code unter GPL gestellt. Würde ich das mit anderen Code-Passagen in dcraw.c machen, schriebe jemand anderes schnell Code, der diese Teile gleichwertig ersetzen würde.
e4l: Wie funktioniert das mit dem Verkauf von Lizenzen?
DC: Firmen wollen dcraw.c in ihr Programm einbetten, heftig modifizieren und dennoch nicht den Code freigeben. Das erlaubt aber die GPL nicht. Somit müssen sie die GPL-Teile entfernen oder mir eine Lizenzgebühr dafür bezahlen.
e4l: Wenn man sich mit anderen Entwicklern über dcraw unterhält, sind diese nicht gerade glücklich darüber, dass dcraw nicht als Bibliothek (*.a, *.so) funktioniert sondern nur als reines Konsolenprogramm. so patched z.B. UFRaw jede Version mit neuen Funktion-Headern und Bibliotheks-Rümpfen.
Es gibt auch ein Free-Desktop-Projekt, das als Ziel eine dcraw-Lib kreieren möchte. Auch in der digiKam-Entwicklergemeinde gibt es immer noch Stimmen, die dcraw "forken" wollen. Somit gibt es viele Entwickler, die dcraw unterstützen wollen, denen aber das bisherige Entwicklungsmodell nicht genügt. Warum öffnest du nicht dcraw, um auf diese Entwicklerwünsche einzugehen?
DC: Jeder ist eingeladen, dcraw zu forken oder eine Bibliothek daraus zu bauen. Mein Fokus aber liegt in der Unterstützung neuer Formate und neuer Feature. Dafür verwende ich die eine bekannte Schnittstelle der Kommandozeilenparameter, wie man dcraw heute kennt. Aber selbst diese Schnittstelle unterliegt Änderungen, wie aktuell der Parameter "-H" zur Bewahrung der Lichter.
Bibliotheken arbeiten gut, wenn es sich um ein geschlossendes Problem handelt, z.B. mathematische Berechnungen oder JPEG-Support.
Wenn aber ein Problem sich variabel gestaltet, wird aus einem flexiblen Entwicklermodell schnell eine überflüssige Klasse.
Die Entwickler, mit denen ich gesprochen habe, wollten alle dcraw in eine andere Richtung führen. Einer wollte nur Rohdaten erhalten, ein anderer nur Interpolation ohne Farbabgleich und so weiter. All diese Wünsche und Richtungen zu befriedigen, führt dazu, dass niemand mehr zufrieden wäre.
e4l: Bist du eher der Einzelkämpfer-Typ beim Programmieren oder bevorzugst du die Arbeit im Team?
DC: Sicherlich eher der Einzelkämpfer - allerdings sind einige Teile von anderen geschrieben worden (AHD von Paul Lee, SMaL decoding von Rich Taylor), deren Code ich meinem Stil entsprechend angepasst habe.
e4l: Wenn denn nun andere dcraw spalten wollen, um es nach ihren Wünschen zu verändern, siehst du da eine Möglichkeit, wie man trotzdem zusammenarbeiten kann, um den Syncronistationsaufwand klein zu halten?
DC: Ich bin offen Änderungen gegenüber, dezente Hooks in den Quellcode einzufügen, wenn es anderen hilft, dcraw-Code in ihr Projekt zu integrieren. So gibt es z.B. das NULL-Makro "CLASS". Wenn du die globalen Variablen in "Class DCRaw {} wandelst und CLASS als "DCRaw::" definierst, hast du z.B. eine C++ Klasse.
e4l: Kannst du etwas über die nähere Zukunft von dcraw berichten? Gibt es neue Befehle oder Techniken? Mit dem Megapixel-Wahn werden Raw-Bilder immer größer. Siehst du die Chance Teile von dcraw zu beschleunigen?
DC: Sobald ich Möglichkeiten sehe, dcraw zu verbessern, werde ich das tun. Augenblicklich habe ich aber nichts in der Röhre, außer einen besseren Weißabgleich und die Unterstützung neuer Kameramodelle. Was den Megapixel-Wahn angeht, so hat glücklicherweise die Zunahme der Rechnergeschwindigkeit das Laufzeitverhalten von dcraw derart kompensiert, dass man heute nicht unbedingt länger warten muss als früher.
e4l: Was für Software benutzt du selbst für die Verwaltung und Bearbeitung deiner Bilder?
DC: Ich benutze immer noch John Bradleys XV, welches seit 1994 kein wirkliches Update mehr erfahren hat. Der Editor von XV ist schwach, die Bildanzeige ist aber ein Traum für jeden Programmierer.
e4l: Welche Programme vermisst du im Bereich Freier Software?
DC: Spracherkennung und OCR (Zeichenerkennung) - hier sind die freien Programme sehr deutlich ihren kommerziellen Gegenstücken unterlegen. Vielleicht laufen einige der kommerziellen unter WINE. Auch schafft es Quicktime durch weiterhin wechselnde Codecs besser als MPlayer zu sein.
e4l: Ich dachte dabei eher an den Bereich Bildbearbeitung. Hast du niemals eine spezialisierte Fotosoftware wie UFRaw oder digiKam verwendet?
DC: Ich hab die mal testweise ausprobiert. Die letzte Version von UFRaw ist ganz nett und digiKam ist für mich mehr ein Spielzeug. Ein wirklich nettes Tool ist aber so etwas wie "jpegtran -copy all". Ich habe es sehr vorsichtig mit den JPEGs meiner Kamera getestet, ob ich wirklich verlustlos Bilder hin- und zurückrotieren kann. Dann habe ich tausende von Bilder per Stapelverarbeitung korrekt rotiert und die Originale weggeworfen. Slideshows sind schöner, wenn Bilder korrekt rotiert sind.
ExifTool kann dasselbe auch mit RAW-Photos machen, allerdings bevorzuge ich hier, das Orientierungsflag von Hand zu ändern.
e4l: Dave, du bist ein prominenter Unterstützer der OpenRAW-Initiative. Glaubst du, dass eine Initiative, die von Anwenderseite gestartet wurde, überhaupt erfolgreich sein kann? OpenRAW scheint ja momentan eher auf die Freigabe geheimer Herstellerformate zu drängen und nicht ein eigenes Format zu spezifizieren.
Auf der anderen Seite versucht Adobe mit DNG eine offenes Format zu etablieren. Wie siehst du die Situation? Du hast ja auch einen Patch für die libtiff veröffentlicht, um ein DNG-kompatibles Tiff erzeugen zu können.
DC: Die großen Kamerahersteller wie Canon oder Nikon interessiert es nicht, was die OpenRAW-Leute denken oder Adobe versucht. Jede Initiative, die darauf abzielt, dass die Hersteller aus gutem Willen oder sozialem Verständnis mitmachen, wird scheitern.
Allerdings ist Adobes DNG gut für kleine Kamera-Hersteller, die kein eigenes RAW-Format und die zugehörige Bildverarbeitung entwickeln wollen.
Für dcraw ist DNG deshalb positiv, weil ich nun endlich korrektes Farbmanagement nach Adobe-Standard machen kann und nicht mit meinen experimentellen Matrizen arbeiten muss, wie zu Zeiten vor dcraw 7.00.
e4l: Ok, Dave, dann hoffe ich, dass du auch in Zukunft Raw-Formate für uns dekodierst und dass dabei Verschlüsselung und Patentwesen dich dabei nicht behindern werden. Es ist Klasse, jemanden wie dich in der Linux-Foto-Community zu haben.
Danke fürs Interview!
Have Fun!
Thorsten Schnebeck
(schnebeck)
Diskutieren Sie diese Nachricht bei uns im Forum!
|
| |
|