Startseite | Info | Community | Entwicklung | meinReactOS | Kontakt
|
|
ReactOS Community > ReactOS Interviews > Interview: Art Yerkes #6byon Übersetzt von Stefan Naumann, maintained von Daniel ReimerArt YerkesInterview mit Art Yerkes von Klemens Friedl Das ist der sechste Teil der Interviews mit den ReactOS Entwicklern. In ein paar Wochen werden wir eine schöne Sammlung haben, die die Talente der Leute hinter ReactOS zeigt.
Art, in Philadelphia, PA, USA 1974 geboren. Er ist bei ReactOS seit 2002 und hat hauptsächlich am Tastatur-Code in win32k und dem Netzwerk Code mitgearbeitet. Derzeit liegt viel seiner Arbeit rund um das Netzwerk als auch die langsam aber sichere Bereitstellung eines PowerPC-Ports. StartWie sind Sie zu ReactOS gekommen?Ich habe davon online gehört, nachdem ich die ersten Bilder von ReactOS gesehen habe, wie es GDI Testprogramme laufen lies (grafisch aber ohne Fenster) hatte ich ein Auge darauf. Ich hoffte darauf die Möglichkeit zu haben daran mitzuarbeiten, und habe diese bekommen nachdem ich ein paar Patches für loadros und kernel32 geschrieben habe. Sie haben also bis dahin für Unix geschrieben? Ich bin ein großer Unix-Kopf gewesen, seitdem ich von der Windows Programmierung, durch 16-bit Windows und durch die eher unstabile Umgebung von Windows 95 und 98 veranlasst, abgewichen bin. Ich habe nicht viel über die Verbindung zwischen der nativen API und der Win32 API gewusst, bevor ich an ReactOS gearbeitet habe, aber ich habe eine Menge gelernt, was meine zukünftigen Jobs einfacher machte, Windows Programme zu schreiben. Ich weiß nicht wie jemand ohne den Wine und ReactOS Code zu durchsuchen und zu vergleichen stabile kommerzielle Software schreiben kann. Ich mag das Unixmodell und die Unix-Philosophie der Softwareentwicklung. Unix Programme tendieren dazu sich nicht zu übernehmen und sie werden mit der Zuverlässigkeit als Ziel entwickelt. Das ist ein starker Gegensatz zu der, so wie ich es wahrgenommen habe, lieblosen Entwickler Community, die Windows umgibt. Es gibt sehr komplexe Gründe, warum Windows Programme in den 90ern sehr unzuverlässig waren, aber Windows Software hat sich als Ganzes gebessert, da man mehr Wert auf Stabilität seitdem legt. Ich fühle mich in beiden Umgebungen heimisch, sodass ich das sagen konnte. Hatten Sie bereits Erfahrungen mit Windows? Oder haben Sie es sich so angeeignet, wie Sie es brauchten? Ich hatte Erfahrung, genug um mit helfen zu können, aber nicht genug um über die native API bescheid zu wissen. Ich war sehr verwirrt, weil win32 eine schlechte Entsprechung der guten Praktiken, die ich bei meiner eigenen Arbeit als Ingeneur gelernt hatte, zu sein schien. Ich habe gelernt, dass win32 immer auf dem elgeanten und ziemlich kleinen Windows Kernel sitzt. Als die Effekte der Antitrust-gesetze in den USA offensichtlich wurden, wurde die native API dokumentiert (was der Bereich von gewissen Leuten mit entweder genug Zeit um herumzuschnüffeln oder mit privelegierten Zugängen ist) und wurde von Microsoft selbst weit verbreitet. Das hat es mir erleichtert zu sehen, wie Windows zusammengesetzt wurde und so wurde ich ein besserer Windows Entwickler, und es wurde leichter ReactOS zu schreiben. Errinnern Sie sich an den ersten Patch, den Sie beitrugen? Das war das nun außer Kraft gesetzte loadros DOS Programm. Es hat mich genervt, dass die die DOS Kommandozeilenlänge so kurz war, und dass alle Treiber und Registrierungseinträge dort spezifiziert wurden. Wenn ich versuchte einen Treiber hinzuzufügen, wurde der Platz bald zu klein, und so habe ich loadros erweitert, sodass es eine Liste aus einer Datei gelesen hat. Errinnern Sie sich an die erste Arbeit, die Sie an ReactOS getan haben?Die erste Aufgabe, die ich in ReactOS erfüllt habe, war der Tastatur-Code in win32k, einschließlich dem Laden von Windows Style Tastatur DLLs. Das hat Spaß gemacht, und ich habe viel darüber gelernt, mehrere Sprachen zu unterstützen. Spaß mit ReactOS Woran arbeiten Sie bei ReactOS am liebsten?Ich habe nicht wirklich ein Lieblingsgebiet, aber ich habe Erfahrung damit, Netzwerk-Code zu schreiben, also die Arbeit an TCP/IP war gut für mich. Was war das herausforderndste, was Sie getan haben?Der PowerPC Port. Um das zu realisieren, musste ich einen Weg wiederbeleben, little endian, pe-coff Programme für PowerPC zu erzeugen, aber auch eine ganze Menge über die PowerPC Architektur lernen und die verschiedenen Varianten der PowerPC Hardware. Als das fertig war, hatte ich Werkzeuge, die sehr stabil laufen und einen freeldr, der gegen openfirmware von einem G3 Mac laufen kann. Ich habe gerade angefangen mich durch die Innereien von Windows zu kämpfen und die Ke Teile für PowerPC zu implementieren. Wenn es etwas gäbe, was Sie ReactOS tun lassen könnten, was wäre das? Wurde das schon umgesetzt? Ich war glücklich, als GvG den Firefox zum ersten Mal eine Seite laden ließ. Hpoussin hat mich erfreut, indem er meinen Beginn einer verrückten Idee (green.sys) genommen hat, und in etwas schönes verwandelt hat. Sie haben viel an der ReactOS Netzwerk-Architektur gearbeitet. Was hat Ihnen daran besondern gefallen? Wenn ich etwas vorschlagen darf, dann ist das, alles was man kann in eine Bibliothek zu packen, die in eine Usermode Applikation gelinkt werden kann. Royce Mitchell und ich haben das für den TCP Import aus dem OSkit getan, und es hat uns sehr geholfen eine zuverlässige Umgebung für das Debugging zu bekommen. Ich glaube nicht, dass ich jemals wieder neuen Kernel Code schreiben werde, ohne diese Methode zu benutzen. An welchen Bereichen von ReactOS arbeiten Sie am liebsten?Ich bin dabei zu portieren, was mich in zwei weitere Sachen einsteigen lässt, die mich stören und die ich bislang noch nicht erledigen konnte. Der Speicherverwalter und der CommonCache sind noch nicht so kompatibel zum echten Windows, wie sie eigentlich sein sollten (besonders der CC) und ich würde mich über einen ext2 Treiber für ReactOS sehr freuen. Ich habe mit Hartmut (PBUH) und Filip an einem Zweig dafür gearbeitet, aber ich habe nicht viel dazu beigetragen. Wenn ich mehr über diese Bereiche lerne, kann ich vielleicht mehr dazu beisteuern. Was machen Sie sonst noch für ReactOS?Ich sehe mich selbst als Griesgram, mündlicher Historiker und als Programmierer für ReactOS. Eventuell bin ich unerwünscht mit diesen Eigenschaften, aber ich denke es hat Vorteile und es kommt sehr natürlich. Ich versuche gut Operator im IRC Kanal zu sein und ich versuche den Kanal davor zu bewahren zu aggressiv oder zu persönlich zu werden. Ich versuche Balance rein zu bringen, wenn die Dinge sehr heiß werden, und hoffentlich habe ich eine moderierende Kraft. Ich weiß nicht genau wie gut ich darin bin. Ich spreche von den Tugenden von 1978 und untermauere mein Aufschrei, dass es der Höhepunkt der westlichen Zivilisation war. 1978? Niemals.Doch. TreffenHaben Sie auf der Wineconf das erste mal jemanden getroffen der an ReactOS mitarbeitet? Wer war die interessanteste Person, den Sie dort trafen?Ja. Es hat Spaß gemacht die Leute in diesem kalten Januar in Minnesota zu treffen. Ich war sehr enttäuscht, dass unsere Beziehung mit den Wine-Leuten nicht besser war. Ich denke wir stehen im Wettbewerb zueinander, aber wir konkurrieren wie zwei Leute, die Schränke in den zweiten Stock tragen; am Ende haben wir ähnliche Ziele, aber wir gehen unterschiedlich heran. Sie waren auf einigen Messen und haben einige Reden über ReactOS gehalten. Halten Sie es für hilfreich andere Entwickler zu treffen?Ja. Andere Leute zu treffen, die an ReactOS mitarbeiten, ist großartig, und ich empfehle es jedem, der auch mithelfen will, es wenigstens einmal zu tun. Was war Ihr Lieblingsort, wo Sie bereits waren?Definitiv Minnesota. Ich habe sogar mal darüber nachgedacht, dahin zu ziehen. ArbeitGibt es Bereiche von ReactOS an denen Sie nicht gearbeitet haben?Ich habe nicht an USB, PnP, ACPI oder HAL im Kernel gearbeitet. Im Userland habe ich nie die shell32, comctl32 und deren ilk angerührt. Was war der interessanteste Beitrag, den Sie zu ReactOS hinzugefügt haben?Unser AFD ist ziemlich gut designt und bringt die benötigten Funktionalitäten in sehr kompakten Code. Ich bin sehr stolz darauf. Arbeiten Sie zur Zeit an großen Aufgaben von ReactOS?Obwohl es schon über zwei Jahre dauert (mit einem Jahr fast gänzlicher Pause), mache ich langsam aber sicher Fortschritte und ermögliche somit ReactOS auf PowerPC. Warum? Weil das ein Projekt ist, was ich schon immer machen wollte, und ReactOS ist eine einzigartige Chance dafür. Ich will ReactOS auf PowerPC Macs und PReP-Kisten wie mein Thinkpad 860 laufen lassen. Da es otheros booter für die Playstation 3 gibt, könnten wir 64-Bit Portierung auf einem Cell Processor mit PowerPC 32-Bit als Ausgangspunkt in Angriff nehmen, sogar bevor die 64-Bit MinGW Werkzeuge für Intel verfügbar sind. Es macht das Mitmachen bei ReactOS spaßig, und es hält mich vernetzt. Als ich das erste mal das lachende-Gesicht-Bootlogo auf einer echten VGA-Hardware in meinem Mac gesehen habe, das war wie in Ekstase. Haben Sie an anderen Teilen von ReactOS bearbeitet? Ich habe unsere kleine DnsAPI Implementierung auf Grundlage des GNU adns geschrieben, was wirklich schön ist. Wie sieht Ihre Entwicklungsumgebung aus, die Sie benutzen?Ich benutze ein 64-Bit Gentoo für die x86 Angelegenheiten und sowohl einen Mac G3 als auch ein Thinkpad 860 für verschiedene Aspekte der PowerPC Portierung. Natürlich ist das die offensichtlichste Frage, die die Leute über ReactOS fragen: Warum sollte jemand einen Windows Klon benutzen wollen, wenn Sie doch das echte haben könnten?Eigentlich kapieren die meisten Leute mit denen ich rede (wahrscheinlich weil ich viel in High-Tech Communities bin) die Idee eines unbelasteten Betriebssystems, was es eine große Spielwiese für Programme anbietet, auf denen diese laufen kann, ohne darüber nachdenken zu müssen, ein weiteres Socket oder einen weiteren Benutzer zu erlauben würde irgendwie den Lizenzvertrag brechen und sie rechtlich verwundbar zu machen. Wenn es ziemlich weit hergeholt klingt, die EULA für Microsoft Betriebssysteme so drastisch darzustellen, dann haben Sie nicht richtig gelesen. Es gibt verstörende Aspekte auf die Verfügbarkeit und die Nutzung von Informationen, die vom Betriebssystem gesammelt werden. ReactOS und freie/OpenSource-Software stellen einen wichtigen Realitätscheck bereit, der kommerzielle Softwareentwickler daran hindert wie eine kleine Gruppe über viele zu herrschen in Bezug auf limiterte Nutzerrechte und mehr private Nutzerinformationen zu sammeln. Gibt es neben ReactOS andere Projekte, an denen Sie arbeiten?Ich bin ein eher ruhender Betreuer vom SWIG Ocaml Modul und ich schreibe pycaml, auf welches ich in gewissem Maße stolz bin. Sie haben einige Bezeichnungen benutzt, die die Leute vielleicht nicht kennen. Könnten Sie einige davon erklären?AFD ist der Ancillary Function Treiber. In anderen Worten: es ist der Ort, wohin das *andere* Zeug geht. Spaß beiseite: Der Treiber stellt den Kernel Teil eines netten, hübschen BSD Sockets Interface dar, die auf einer kalten, gefühlslosen TDI sitzt. Wie gehen Sie beim Programmieren heran? Ich versuche etwas Zeit zu finden, normalerweise Nachts, wenn ich mich hinsetzen kann, den Raum mit Musik flute und mich dann so sehr konzentriere wie es mir möglich ist. Das fällt mir in meiner jetzigen Situation schwerer und so ist meine Produktivität nicht mehr so wie sie einmal war. ZukunftWenn Sie 'ein' Feature zu ReactOS hinzufügen könnten, was wäre das?Ich würde Samba FS hinzufügen, aber ich denke wir sollten den Cache Manager sich zuerst überarbeiten. Ich wäre klug, wenn ich in dem Fall warte, weil wir sehr inkompatibel sind. Welcher Bereich von ReactOS benötigt, Ihrer Meinung nach, die meiste Arbeit?Der Cache Manager ist ein Problem was nicht verschwinden will, bis es jemand zu 100% löst. Es ist eine schwere Aufgabe und es ist schwierig diese aufzuteilen. Audio ist ein haariger Ball von koexistierenden und teilweise konkurrierenden APIs, jede stellt ein anderes Performance Modell für die eine oder andere Anwendung dar. Silverblade hat da viel geleistet, indem es einfach einen Startpunkt festgelegt hat, und nun seine Bereiche auf die Reihe bekommt. Gibt es etwas, was ReactOS noch nicht kann, Sie es sich aber wünschen?Hin und wieder beginne ich von neuem cygwin zu debuggen und zu sehen, ob ich einen Fortschritt machen kann. Wir sind nah dran cygwin Anwendungen zum laufen zu kriegen, und sie liefen für eine Weile, aber die APIs von cygwin sind so schwierig, dass es noch eine Weile dauern kann, bis ReactOS diese schafft. Schade, wir könnten davon wirklich einen Nutzen ziehen. Braucht ReactOS mehr masochistische Entwickler, die an undokumentierem Zeug arbeiten?Wir könnten gute Ingeneure gebrauchen, die dokumentierte Funktionalitäten außen vor lassen. Ich bin nicht der Meinung, dass alles in ReactOS so implementiert werden muss, dass die Innereien sofort kompatibel sind. Wir hatten Regressions in für den Nutzer sichtbaren Funktionen, während wir damit beschäftigt waren, die inneren Schichten anzugleichen, und ich meine, das ist eine Schande. Haben Sie bestimmte Ideen in was sich ReactOS integrieren können sollte, was es nicht ist? Ist ReactOS zu stark im Wandel um daran zu denken?Bis zu einem gewissen Punkt denke ich, dass ReactOS zu sprunghaft zurzeit ist, sodass ich von wenig Nutzen bin. Es ist nicht der Fehler von jemanden, aber ich kann zurzeit nicht so engagiert sein, wie ich es einmal war. Wünschen Sie sich, dass es mehr Entwickler gäbe? Sicher. Ich vermisse royce und gvg sehr. Wünschen Sie sich, dass es mehr Distributoren für ReactOS gäbe?Ja, und es wird passieren. Das einzige was es aufhält ist, dass ReactOS noch nicht so fertig ist, dass sich jemand darüber aufregen könnte, wenn er AbiWord neuinstallieren muss, weil er ROS upgegraded hat. Sobald wir ein größeres Publikum haben, werden die Poweruser schnell die Einfachheit erkennen, mit der man ReactOS LiveCDs erstellen kann, und es entstehen kleine ReactOS RettungsCDs verschiedener Art. Gibt es andere Sachen, auf die Sich ReactOS konzentrieren sollte?Wir sollten uns wieder daran errinnern warum wir das tun. Ich glaube wir sind zu steif geworden, und haben das aus den Augen verloren, sodass das Arbeiten an ReactOS weniger Spaß macht. Keiner von uns wird dafür bezahlt, also ist Spaß das einzige was uns motiviert weiterzuarbeiten. Sobald die Arbeit an ReactOS aufhört sich zu lohnen, weil es zu stark strukturiert ist, oder weil es eine zu feindliche Umgebung ist, dann werden uns mehr Entwickler verlassen. Ich denke das haben wir gesehn, und es wir werden es leider noch weiter sehen, bis sich die Situation wieder bessert. Kompatibilität Glauben Sie, dass .Net ReactOS sinnlos macht?Nein. Glauben Sie, dass .Net die WinAPI sinnlos macht?Nein. Denken Sie, dass sich ReactOS auf bestimmte Programme konzentrieren sollte?Büroanwendungen, Spiele, Flash und altes. Sobald wir die meisten Anwendungen von jeder Kategorie unterstützen, dann gewinnen wir. Was ist mit dem .Net Support? Die, die mir einfallen: dotGNU und Mono.Das ist nicht unser Problem. Wir nehmen eine existierende freie Implementierung und basteln einen mscore Ersatz zusammen. Sobald diese Implementierungen stabiler werden, wird sich auch unser .Net Support verbessern. Interaktion mit Unternehmen. Wie schwer war es, Ihren Boss zu überzeugen, dass Sie an freier Software arbeiten dürfen?Ich habe sogar einige Male bezahlt an OpenSource Software gearbeitet. Meine letzte Arbeit war das SWIG C# Modul für meinen Arbeitgeber. EndeLetzte Gedanken?In letzter Zeit habe ich wieder mehr Zeit gehabt mich der Arbeit an ReactOS zu widmen, was mich in einem Subprojekten stark vorangebracht hat. Hoffentlich kann ich bald etwas interessanteres und hilfreicheres beitragen. Ich war immer präsent, auch wenn meine 60+ Stunden Woche im Büro davon abgehalten hat, viel beizusteuern. Ich hoffe als ReactOS' bester Griesgram, Stallwart, Freund und mündlicher Historiker weitermachen zu können. Herzlichen Glückwunsch zu all Ihren Errungenschaften bis jetzt, und vielen Dank, dass Sie die Zeit gefunden haben, dieses Interview auszufüllen. |