Gentoo Linux vs. ROS


In der Hackerszene gibt es eine klare Rangfolge, bei der die Gentoo-Linux-User ganz weit oben stehen. Anders als die breite Masse, die sich einfach ein aktuelles Ubuntu installiert und fertig, sind Gentoo-Linux-User daran interessiert wie das System intern funktioniert. Ein netter Nebeneffekt davon ist, dass die Gentoo-Community manchmal auch Lösungen an den Upstream zurückgibt, d.h. Gentoo-User sind nicht einfach nur Anwender die froh sind, wenn ihr Firefox Browser läuft und sie Spiele spielen können, sondern Gentoo-Anwender sind zugleich auch Maintainer, also Leute die im Bau von Linux-Distributionen involviert sind und demzufolge eine Community-Builder-Funktion besitzen. Böse formuliert, sind Ubuntu-User entbehrlich, es macht keinen Unterschied ob 100 Leute dieses Betriebssystem bei sich zu Hause installieren, oder 100 Mio. Weil Ubuntu-User in der Regel nur vom Schlage „Nimm“ sind, d.h. sie verkonsumieren die Bandbreite des Ubuntu-Mirrors, verkonsumieren die investierte Zeit der Ubuntu-Maintainer und geben selbst nichts zurück.

Natürlich hat diese längere Einleitung einen Grund, es geht darum die Unterschiede von Ubuntu und Gentoo-Linux herauszustellen. Der Hauptunterschied dürfte vermutlich sein, dass die Benutzung von Gentoo als kompliziert gilt (nur die echten Super-Hacker bekommen das bei sich installiert) währenddessen Ubuntu-Installationen anspruchslos sind. Aber, sind Gentoo-User damit wirklich die heimlichen Experten innerhalb der OpenSource Software, oder gibt es nicht vielleicht noch viel viel anspruchsvollere Systeme mit denen man sich beschäftigen kann? In der Tat die gibt es. Denn egal wie man es dreht, Gentoo ist im Grunde auch nur ein Betriebsystem, was auf einem Kernel aufbaut der schon gut abgehangen ist und wozu im Laufe der Zeit sehr viele Bücher erschienen sind. In der Gentoo Community gibt es soetwas wie eine Routine, die man daran erkennt, dass die verwendeten Tools zum Bau von Paketen seit Jahren praktisch unverändert sind, und demzufolge man sich leicht in etwas hineinarbeiten kann, was auch noch 10 Jahren Bestand haben wird. Aber das gilt nicht nur für den Bau einer Distribution, sondern auch der Linux-Kernel selber, sowie die wichtigsten OpenSource Projekte wie Apache, Mysql oder PHP gelten als gesättigt. Im wesentlichen weiß man heute wie man ein Betriebssystem, eine Scriptsprache oder einen Webserver programmieren muss und wenn es Streit gibt, dann allenfalls über Details. Niemand bestreitet heute noch ernsthaft, dass eine LAMP Installation ungeeignet wäre um einen Webserver oder ein Blog zu hosten. Wirkliche Aufregung welche die Programmierer aufschreckt gibt es eigentlich nur noch dann, wenn irgendwelche schwerwiegenden Sicherheitslücken (in OpenSSL oder sonstwo) entdeckt wurden. Nur in solchen Ausnahmesitutation gibt es wieder einen grundsätzlichen Diskurs darüber, was Softwareentwicklung ausmacht, und wer möglicherweise Schuld ist, wenn sie versagt. Gäbe es keine Sicherheitslücken, wäre im Grunde das Linux-Projekt mehr oder weniger langweilig. Was soll man groß verändern an einem System was stabil läuft?

Weiter oben hatte ich versprochen, es gäbe noch etwas was anspruchsvoller als Gentoo-Linux ist. Und zwar ist es ROS. Der Unterschied zwischen beiden besteht darin, dass ROS noch mitten in der Entwicklung ist und keineswegs zum Produktiveinsatz geeignet ist. Allein um ein aktuelles ROS bei sich zu installieren muss man im Regelfall das System manuell kompilieren, so wie bei Gentoo auch nur mit dem Unterschied dass es dafür keine Scripte gibt, sondern man die Befehle einzeln auf der Command-Line eingeben muss. Und selbst wenn man das geschafft hat, ist keineswegs klar was als nächstes kommt. Im ROS Wiki heißt es dann lapidar: informiere dich über SWI-Prolog. Und im Grunde wird damit eine sehr große Hürde aufgebaut, wird doch damit angedeutet, dass Leute die keine Ahnung von Prolog haben, sich gar nicht näher mit ROS auseinanderzusetzen brauchen. Prolog ist sozusagen Grundlage um überhaupt weitere Dinge erläutern zu können. Ähnlich wie Java, Web-Ontologien, cognitive Robotik oder das Verständnis von 3D Physik-Engines. Und das macht die Arbeit an ROS um so vieles anspruchsvoller als die Arbeit an einer Linux-Distribution wie Gentoo. Bei Gentoo sind die Anforderungen an die User/Maintainer noch überschaubar: es reicht aus, wenn sie sich mit UNIX auskennen, wenn sie wissen wie make funktioniert und wenn sie Ahnung von Kernel-Treibern haben. Das ist zwar nichts, was man so nebenbei lernt, aber derartige Fachgebiete sind gut erforscht und es gibt dafür Lehrbücher, wo man das nötige Wissen sich im Selbststudium aneignen kann. Bei ROS hingegen sind sich selbst die Experten nochnichtmal einig darüber, was der richtige Weg ist, weil die Thematik von ROS noch gar nicht wissenschaftlich untersucht wird. Daher sind nicht nur die Anforderungen an die User höher, sondern sie ändern sich auch noch ständig.

Die meisten Aspekte innerhalb von ROS werden nicht als Fachwissen präsentiert, sondern als ein Vakuum. Damit ist gemeint, dass ROS beispielsweise Freiraum lässt für Leute die sich mit kognitiven Architekturen beschäftigen und das in ROS ausprobieren wollen. Keineswegs ist damit gemeint, das ROS eine kognitive Architektur wäre, sondern es verschließt sich diesem Ansatz nur nicht. Und so ist es auch mit vielen weiteren Themen wie z.b. Semantic Web, Java oder RRT-Algorithmen. Das macht es auch so schwer zu definieren, was ROS eigentlich ist: ist es eine Forschungsplattform? Ist es ein Roboterframework? Ist es ein Überwachungssystem für Menschen? Eine eigentliche Antwort darauf gibt es nicht. Es ist vielleicht alles davon ein bisschen. Aber eines ist ROS auf jeden Fall: eine sehr umfangreiche ISO-Datei die ungefähr 20 GB groß ist (wenn man alle Pakete installiert hat) und damit umfangreicher als eine Standard-Gentoo-Installation um einen Webserver zu betreiben (die maximal 1 GB groß wird).

Obwohl ROS relativ offen scheint für alle möglichen Einflüsse versperrt es sich derzeit jedoch gegen die Unterhaltungsindustrie, genauer gesagt gegen Animatronics. Das sind Anwendungsbereiche, die nichts mit Robotik und nichts mit Künstlicher Intelligenz zu tun haben, aber sehrwohl von ROS profitieren würden. Kurz gesagt, könnte man einen sprechenden Raben aus dem Disney-Park mit ROS steuern, wenn denn ROS nicht so sehr fixiert wäre auf wissenschaftlich-industriellen Fortschritt.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s