Linux kompatibel

Portability is for people who cannot write new programs.

– Linus Torvalds

Wie so viele lese oder höre ich gerne knackige Sprüche. Und Herr Torvalds ist immer für einen gut. Aber es passt ganz gut in den Zusammenhang, was mir heute von Lennart Pöttering in meinen G+ Stream gespült wurde: On portability of init systems. Es geht hauptsächlich um den Einsatz von sysvinit in debian/kFreeBSD. In der Diskussion um das neue Standard-Initsystem in debian wird häufiger argumentiert, dass sysvinit leichter nach *BSD portiert werden könne als systemd. Und anscheinend ist das längst nicht so.

Aber das ist für mich gar nicht der interessante Punkt. Für mich als nicht-BSD-User war etwas, das nur am Rande erwähnt wurde, viel interessanter:

So sysvinit works on those system (…) because the environment has been made Linux-like enough for sysvinit. We (most likely anyone not using Linux) often do this, because it is the easiest way to run popular software developed (mainly) for Linux.

Was heisst das im Klartext? Das heisst, dass die BSD-Leute einen Linux Binary Compatibility Layer nutzen, damit manche Software läuft. Und das heisst, dass sich BSD an Linux anpasst, nicht umgekehrt. Damit ist natürlich das Argument „Das verstößt gegen die Unix-Philosophie“, das manch ein alter Linux-Hase immer mal wieder bringt, natürlich hinfällig. Denn in der Praxis sind die BSD-Entwickler recht pragmatisch, opfern die hoch gehaltene Philosophie und bieten populäre Software an. Warum also sollten sich die Linux-Entwickler an Regeln halten, an die sich im Zweifelsfall nicht mal die Unix-Entwickler halten? Oder um es deutlicher und mit den Worten Kristian Köhntopps zu formulieren:

Wenn etwas nicht 100% Linux kompatibel ist, ist es kaputt.

Das gilt natürlich nicht nur für Unix. Und ich frage mich gerade ob Apples Mac OS X diesen Linux Binary Compatibility Layer kennt. Das muss ich mal bei gegebener Langeweile googlen. Aber das gilt natürlich auch für Windows. Insofern ist die Installation von cygwin keine Sturheit von Linux-Usern, sondern der Versuch Windows zu reparieren. Denn es ist nicht Linux kompatibel, also kaputt. Falls euch in nächster Zeit jemand fragt, warum ihr Linux benutzt, dann könnt ihr ehrlich antworten: „Alles andere ist kaputt.“ ;)

Advertisements