Freitag, 28. März 2008

Artikel in japanischem Software Design Magazin

Artikel in japanischem Software Design Magazin

Jorge Mare macht uns aufmerksam auf einen Haiku Artikel in der Aprilausgabe der japanischen "Software Design", eine Zeitschrift, die früher auch schon über BeOS und später Zeta berichtet hat.

Bart Eisenberg stellt zu Beginn seines Artikels das Projekt Haiku vor; dass es 2001 als "OpenBeOS" von Michael Phipps gestartet wurde und 2003 in Haiku umbenannt wurde, um rechtlich nicht angreifbar zu sein.

Jorge selbst stellt die am meisten gestellte Frage zu Haiku: „Warum“? Wer ein offenes System will hat Linux. Für Anwenderfreundlichkeit gibt’s MacOS. Wer ein großes Softwaresortiment braucht, greift zu Windows. Ähnliches, bemerkt er jedoch, hätte man auch in den 90ern fragen können, als Linus Torvalds’ Linux auf der Bühne erschien. Die Zukunft einer Technologie bleibt unvorhersagbar.
BeOS ist auf einem Pentium III mit 256MB RAM äußerst fix. Leider läuft es auf modernen Rechner nicht oder nutzt deren Potential nicht zur Gänze. Und an dieser Stelle kommt Haiku ins Spiel. Obwohl sich Linux bereits recht gut im Markt für Ultra Mobile PCs (UMPCs) etabliert hat, könnte dies eine ideale Nische für Haiku sein. Im Gegensatz zu BeOS ist Haiku zudem noch mehr POSIX-kompatibel. Portierungen von (GNU/Linux) Programmen werden dadurch sehr erleichtert.
Andere Nischen sind die bereits von BeOS angezielten Multimediabereiche der Audio/Video Echtzeitbearbeitung. Jorge gibt allerdings zu Bedenken, dass die zwischenzeitliche Weiterentwicklung anderer Betriebssysteme und immer schneller werdende Rechner die Situation seit den BeOS Tagen verändert hat.

Als nächstes geht der Artikel ausführlich auf die Geschichte von BeOS ein. Beginnend bei der Gründung der Firma Be durch Jean Louis Gassée, der ersten BeBox, die Schwierigkeiten um die PPC Clones, den Beinahekauf durch Apple und dem anschließenden Wechsel zu x86 CPUs als das nicht klappte. Dann der Börsengang 1999 und der Absturz zwei Jahre später, der mit dem Verkauf an Palm für schlappe 11 Millionen Dollar endete.

Auch Haikus Rückschläge werden erwähnt. Wie von der Vorstellung Abschied genommen werden musste, dass die erste Alphaversion bereits wenige Jahre nach dem Start des Projekts fertig würde, wie Michael Phipps es in einem Wall Street Journal Interview 2003 voraussagte. Im September 2007 trat Michael dann als Projektleiter zurück. Bei seinem Abschied gab er dem Projekt noch einige Ratschläge mit auf den Weg: Man hüte sich vor „Featurismus“. Obwohl es langweiliger ist, sollten erst Bugs beseitigt und die Performance optimiert werden um eine stabile Version 1.0 herauszubringen. Danach sei genug Zeit coole Ideen auszuprobieren. Außerdem ist er der Meinung, Haiku brauche eine entscheidungsstarke Führung, da ein Management das ständig nach einem Konsens sucht nicht funktioniert könne. Bei allem sei jedoch der gegenseitige Respekt sehr wichtig.

Als nächstes kommt Bryan Varner zu Wort, der die OpenJDK Portierung leitet. Für ihn sind Betriebssysteme Werkzeuge die dem Anwender dienen sollen, nicht umgekehrt. Windows ist ihm ständig im Weg, Mac OS X nur auf Äußerlichkeiten bedacht und die gesamt GNU/Linux Welt irgendwie schrottig.
Haiku hingegen, sei simpel, reaktionsschnell und funktioniert einfach. Programmierer verwöhnt es durch seine verständliche, umfassende und modulare moderne API.
Ein Problem von Open Source Projekten ist natürlich die Abhängigkeit von der Freizeit der Entwickler. Die Unterstützung durch kommerzielle Unternehmen, die in der Lage sind Programmierer zu bezahlen, kann dieses ständige Auf und Ab ausgleichen.

Dane Scott kam mit der Version R3 zu BeOS und hat mit TuneTracker Systems ein kleines Unternehmen gegründet, dass sich auf BeOS Technologie verlässt. Er entwickelt Automatisierungssoftware durch die Radiostationen ihr Programm ohne ständige Aufsicht in den Äther bzw. Internet schicken können. Eine Demonstration der Technik ist BeOSRadio, das seit eh und je in 4 Streams Musik von, für und um BeOS und seine User sendet.
Dane ist begeistert von BeOS’ Stabilität und ruckelfreier Medienwiedergabe. Schon 2002 hat er TuneTracker Master-CDs auf einem 400MHz System mit nur 64MB RAM gebrannt auf dem gleichzeitig BeOSRadio gesendet wurde. Kein Ruckler, keine verbrannten Rohlinge.
Kein Wunder dass auch Dane gespannt auf Haiku wartet.

Dann folgt ein Interview mit Axel Dörfler: „Wenn ich noch mal von vorn beginnen müsste…“.
Axel ist praktisch Haikus Ansprechpartner für technische Fragen. Vier Monate nachdem das Projekt aus der Taufe gehoben wurde, kam Axel im Dezember 2001 dazu. Er leitet die Kernel Entwicklung und hat von allen Beteiligten den meisten Code beigesteuert. Seine Arbeit am Kernel basiert auf NewOS, das von Travis Geiselbrecht, Ex Be-Mitarbeiter, entwickelt wurde. Mit einem Hintergrund in Computerlinguistik und künstlicher Intelligenz arbeitet er als Berater für die Firma Mindwork, die ebenfalls an Haikus Entwicklung interessiert ist. Folgendes Interview wurde telefonisch von seiner Heimatstadt Hannover aus geführt.

Wie kamst Du zu Haiku?
Ich war lange Zeit BeOS User. Ich wurde da eher durch einen Zufall hineingezogen. Ich hatte einen Festplattenausfall und benötigte ein Tool um die Daten zu retten. Nachdem es so eine Software nicht gab, endete es damit, dass ich für dieses Tool das Be File System (BFS) für Haiku implementierte. So kam eins zum anderen und ich fand mich schließlich für den Kernel verantwortlich wieder.

Warum glaubst Du brauchen wir ein BeOS binär-kompatibles OS?
Wenn ich heute alles von vorn machen müsste, würde ich’s wahrscheinlich nicht noch mal anfangen. Obwohl es Linux weit gebracht hat, fiele mir eine tägliche Nutzung aber immer noch schwer. Selbst heute würde ich meine veraltete BeOS Installation nicht gegen eine aktuelle Linuxdistro tauschen. Wie damals ist BeOS auch heute noch flott, reaktionsschnell und anwenderfreundlich; es ist einfach, elegant und verständlich. Hätte ich damals gewusst wie aufwändig es ist ein Betriebssystem von Null an zu entwickeln… ich hätte es gelassen. Aber damals erschien es nicht dermaßen kompliziert.
nd schon fast paranoid darüber nachdenken was irgendwie schiefgehen könnte.

Programmierst Du in C++?
Meistens. Ein bisschen C, meistens C++ und etwas Assembler, wo es sich einfach nicht vermeiden lässt. Wenn man direkt die Hardware ansprechen will, führt kein Weg dran vorbei. Im Projektserver liegen mind. 5-6 Millionen Zeilen Code, ein großer Teil allerdings auch in Form der GNU Tools. Wir haben den nötigen "Userland" Code als Umgebung für Anwendungen und dazu die üblichen Shell Kommandos, die auf Haiku portiert wurden. Das stellt einen nicht kleinen Teil dieser Millionen Codezeilen dar.
Während ich also erfuhr, dass das Programmieren eines Betriebssystems schwieriger ist als ursprünglich vermutet, lernte ich viel über die Entwicklung von Hardware Treibern und sehr systemnahen Code. Und dass es sogar auf Kernel-Level sehr auf die richtigen Algorithmen ankommt.

Das Interesse an der Haikuentwicklung scheint sich von den USA nach Europa verlagert zu haben. Hast Du eine Ahnung warum?
Es fing in den USA an, weil der Gründer Amerikaner war. Das Interesse ebbte jedoch ab, weil die Leute anderes zu tun hatten -- wie den Lebensunterhalt zu verdienen. Europäische Entwickler waren von Anfang an interessiert. Von ihnen blieben über die Jahre einfach eine größere Zahl übrig. Daher das europäische Übergewicht.

Warum glaubst Du sind die Europäer eher bereit ihre Zeit zu investieren?
Schwer zu sagen. Bei mir ist Haiku die Erklärung, warum mein Studium sich so lang hinzog. Das trifft nicht auf alle Entwickler zu, aber bei mir verschlingt Haiku große Teile meiner Freizeit.

Wird Dir Deine Erfahrung beim Kernel-Programmieren beruflich was bringen?
Ich arbeite größtenteils als freier Mitarbeiter bei der deutschen Firma Mindwork, die Interesse an Haiku hat. Ich entwickle Treiber als Teil meines Jobs. Ohne meine Arbeit an Haiku hätte ich diesen Auftrag gar nicht. Mindwork Produkt stellt Nachrichten, Werbung und anderes auf großen Bildschirmen in Einkaufszentren dar. Die Inhalte werden dabei mehr oder weniger live aus dem Internet gezogen. Momentan nutzt Mindwork dazu BeOS, ein Wechsel zu Haiku ist aber geplant sobald das möglich ist.

Kann uns das Haiku Projekt irgendwas über die Open Source Entwicklung in der Vergangenheit und deren Perspektive für die Zukunft sagen?
Open Source Projekte können untereinander konkurrieren. Nicht, dass das für Haiku in den nächsten Jahren das Ziel wäre, aber irgendwann könnte es dazu kommen. Und, für jemanden der ein Unternehmen hat, kann es Sinn machen jemand einzustellen um an einem Open Source Projekt zu arbeiten.
So, wie es bei Dir der Fall ist?
Genau. Das ist schön, weil durch diese Investition nicht nur für das Unternehmen was rumkommt, sondern für alle anderen auch. Nicht immer im Interesse des Unternehmens, aber meist kein Problem.

Haiku ist ohne Open Source zu sein kaum vorstellbar.
Es wäre einfach unmöglich es kommerziell zu tun. Denk an all die Betriebssystem, die kommerziell nicht mehr unterstützt werden. Nicht nur BeOS, sondern auch GEOS, CP/M und OS/2. Bist Du kein Microsoft oder Apple kann ein Projekt wie Haiku nur als Open Source angegangen werden. Und es ist schön, dass so viele Leute helfen wollen -- es ist wirklich sehr viel Arbeit, ein Riesenprojekt.

Wie viele sind momentan damit beschäftigt?
20 oder 25 aktive Programmierer. Nicht alle arbeiten jeden Tag oder auch nur jeden Monat dran, aber sie arbeiten kontinuierlich an etwas. Kürzlich hatten wir einige Neuzugänge. Einige kannten uns vom Google Summer of Code Event. Alle paar Monate kommt wieder jemand neues dazu und bringt sich ein.

Haiku Podcast #13

Sikosis hat seinen 13. Haiku Podcast (mp3, 12mb) veröffentlicht. Als Gast wieder mit dabei, ist Dennis d’Entremont "TheNerd" von Haikuware. Themen sind Zebuntu, Haikuware Bounties, ein Haiku Status Update u.v.a.m.
Alle Links befinden sich auf der Haiku Podcast Website.

3ivx De/Encoder

David McPaul hat die aktuelle Version den 3ivx MPEG-4 ASP Video De/Encoder auf BeOS portiert. Das Paket ist offiziell von der 3ivx Website herunterzuladen. Es beinhaltet:

  • einen 3ivx.decoder und 3ivx.encoder um MPEG-4 ASP Video als AVI, MOV und MP4 erstellen/ansehen zu können (MP4 nur lesbar). (MPEG-4 ASP Videos lassen sich neben einem 3ivx Encoder auch mit XVID, DIVX und ähnlichen Encodern herstellen.)
  • einen experimentellen MP4.extractor und AAC.decoder um MP4-Dateien mit MPEG-4 ASP Video und AAC-Audio abspielen zu können.
  • einen experimentellen 3ivx_decoder für Haiku

Das ganze läuft u.U. auch unter Zeta, wurde dort allerdings nicht getestet.

Super Sache, insbesondere wegen der offiziellen Unterstützung von 3ivx Technologies Pty. Ltd! Was jetzt noch fehlt ist die Encodier-Unterstützung in Haikus Media Kit. Sobald die da ist, kann eine entsprechende Haiku Version veröffentlicht werden.

Montag, 24. März 2008

Nächster Thank You Award rückt näher

Wer Kandidaten für den nächsten Thank You Award hat, sollte diese zügig bei Haikuware melden. Am 1. April wird er nämlich wieder vergeben. Da ich die letzten Wochen offline war und mich erst im April wieder regelmäßig informieren kann, werde ich diesmal keine Vorschläge machen können.
Dabei war ich doch das letzte Mal so erfolgreich mit der Nominierung von Steffen Friedle... :)

Neuer Bootscreen


Ähnlich wie schon BeOS besitzt Haiku seit kurzem einen einen Bootscreen, der durch Aufleuchten unterschiedlicher Symbole den Bootprozess illustriert. Er sieht nicht nur sehr elegant aus, sondern teilt einem auch mit wo's hakt, falls das Hochfahren nicht klappt. Aber vor allem verkürzt er subjektiv die Wartezeit bis das System bereit ist.
Der nötige Code dafür stammt von Artur Wyszynski (aljen) und wurde nur in Kleinigkeiten von Stephan Aßmus angepasst und eingespielt.

Samstag, 22. März 2008

BeBook und Be Newsletter online

Vor fast einem Jahr wurde Kontakt mit ACCESS, dem Rechteinhaber von BeOS, aufgenommen, um BeOS Dokumentation veröffentlichen zu dürfen. Nun kann endlich vermeldet werden, dass das BeBook (Dokumentation der API) und die Be Newsletter online zur Verfügung stehen. Besonderer Dank geht an David "Lefty" Schlesinger von ACCESS, der sich persönlich der Sache annahm und Simon Kennedy, der alles schön formatierte.
Ein großer Schatz, besonders für Programmierer die neu zu Haiku kommen. Und Veteranen können in Erinnerungen schwelgen wenn sie einen Newsletter von 1998 lesen... ("it represents 600 MHz of screaming silicon for just over $2,500")

Google Summer of Code (GSoC) 2008

Auch dieses Jahr wird Haiku wieder beim "Google Summer of Code" als Mentor Projekt mit dabei sein. Dabei sponsert Google die Arbeit an vielen Open Source Projekte. Das waren 2007 immerhin 900 Leute, die sich insgesamt 4,5 Mio. Dollar teilten!
Haiku erhielt damals die Förderung für 8 Studenten, die ihre Arbeit sehr erfolgreich abschließen konnten. Wieviele Studenten diesmal an Haiku arbeiten können steht noch nicht fest. Interessierte Programmierer können sich Infos zur Bewerbung holen und sich bei evtl. Fragen an den Haiku GSoC Administrator Bruno Albuquerque wenden. Eile ist geboten: Bewerbungen können nur vom 24. bis 31. März 2008 eingereicht werden!
Die Erfahrung zeigt, dass die erfolgreichsten GSoC Projekte von den jeweiligen Studenten selber kamen. Es gibt jedoch auch eine Liste möglicher GSoC Ideen:

Anwendungen

  • Erweiterung des Netzwerk Einstellungen - Unterstützung verschiedener Profile, Integration von mehr Einstellung (PPP, Vorbereitung von WiFi).
  • Bluetooth Einstellungen - zum Konfigurieren des Bluetooth Stacks, der gerade von Oliver Ruiz Dorantes entwickelt wird.
Treiber
  • DVD-RAM Unterstützung - lesend/schreibend wie mit einer Festplatte; ebenfalls möglich: Mount Rainier Unterstützung, die ähnliches für CD/DVD-RW bietet.
  • ExpressCard Unterstützung inkl. hot-plugging
  • USB OHCI Unterstützung fertigstellen - viel Code ist bereits vorhanden, bestehende UHCI/EHCI-Implementation kann als Beispiel dienen.
Kernel
  • Kernel als Userland Prozess - ein virtueller Userland Kernel, der auch auf einem anderen OS wie Linux oder BeOS läuft würde bei der Kernel Entwicklung und Optimierung helfen.
  • Dateisystem Erweiterungs-Architektur - Dateisysteme könnten transparent mit Features wie BeOS' Attributen und Queries, Schreibunterstützung oder Verschlüsselung erweitert werden.
Media
  • Encodier-Unterstützung im MediaKit - z.Zt. wird nur Decoding unterstützt, es soll eine API entwickelt werden, die modernen Anforderungen (z.B. B-Frames) erfüllt.
  • DV Medianode - Input/Output über den neuen Firewire Stack, incl. hot-plugging und Anbindung an die Media Kit API.
Netzwerk
  • ICMP Fehlerbehandlung in den IPv4, TCP und UDP Protokollen
  • Integration von PPP - PPP-Port zum neuen Network Stack, Modem-Unterstützung inkl. HDLC Framing und VJC Kompression, CHAP Anmeldeverfahren.
  • ZeroConf/Bonjour Unterstützung - z.B. Portierung von Apple's Bonjour Implementation oder Avahi (Apple scheint kompatibler zur MIT Lizenz zu sein).
  • WiFi Unterstützung (umfangreiche Aufgabe)
  • IPv6 Unterstützung (umfangreiche Aufgabe)
User Interface
  • Optimierungen im app_server
  • Subpixel Anti-Aliasing beim Fontrendering - dazu muss man das Anti-Grain Geometry Backend verstehen. Richtig implementiert könnte das Subpixel Anti-Aliasing bei allen Vektorgrafiken, die der app_server zeichnet genutzt werden.
  • Multimonitor Unterstützung
  • 3D Hardwarebeschleunigung - Entwicklung oder Prtierung einer 3D Treiberschnittstelle (s. Gallium3D Projekt). Ebenfalls möglich: eine Kompatibilitätsschicht um Linux 3D Treiber Binaries benutzen zu können.
Anderes
  • Erweiterung der automatisierten Unit Tests - Portierung eines vollständigen POSIX Test-Frameworks
  • Portierung von SAMBA inkl. Konfigurierungstools
  • Hilfe beim CUPS Port - Ithamar Adema könnte Hilfe beim Port und der Integration in Haikus Print Kit gebrauchen.

Dienstag, 18. März 2008

Haiku bei LugRadio

Haiku wird in Kürze auf einer weiteren Veranstaltung präsent sein: LugRadio Live USA 2008 am 12./13. April in San Francisco.
Mit etwa 30 Vorträgen, darunter von bekannten Leuten wie Miguel de Icaza und Ian Murdock, über 20 Ausstellern und diversen Workshops, sowie die Live-Aufnahme von LugRadio vor Publikum, soll die Atmosphäre ein Mix aus Rockkonzert und Computermesse sein. Bestimmt ein Riesenspaß! Wer den günstigen EUR/Dollarkurs nutzen und mal kurz rüber-jetten will ( :) ), findet in Haikus Conference Bereich alle nötigen Infos.