Nachdem ich den Text mit großem Interesse gelesen hatte, wollte ich eigentlich auch einen Kommentar hinterlassen. Leider ist dieser aber so lang geworden, dass ich es vorziehe den Text hier zu veröffentlichen und dann gegenseitig zu verlinken.
Hallo beisammen,
leider habe ich dieses Interview durch die viele Arbeit mit unserem Ninjaboard nun viel zu spät durch einen Tweet entdeckt, äußere mich hier aber trotzdem einmal dazu.
Zunächst einmal meinen herzlichen Dank an das joomlanews.ch Team als auch an Hannes Papenberg, für dieses super ausführliche Interview. Und Dank der Aspaltung einiger (in meinen Augen) etwas zu hartgesottener Members des Joomla! Core Teams, wird das diesmal wahrscheinlich auch kein böses Blut im Team erzeugt haben.
Wenn ich mich da an andere Berichte oder Interviews erinnere, dann stellt sich mir doch die Frage, was da in den Köpfen vorgeht, die eine ausgewogene Kommunikation mit der Öffentlichkeit missbilligen und am liebsten alles geheim halten würden. Da war ja alleine schon Brians Blogpost, in der er den 1.5.10 Security Release einen oder zwei Tage zu früh ankündigte, Grund für einen ausgewachsenen Streit, der dann auch noch öffentlich auf Twitter und in den Mailing Listen ausgetragen wurde.
Aber ich möchte an dieser Stelle doch auch einen kleinen Kritikpunkt anbringen, der die ACLs, respektive Benutzerverwaltung betrifft. Seit Joomla 1.0.13, damals mein Einstieg in die Entwicklung für dieses CMS, beschäftige ich mich nun schon mit der PHP gACL Implementierung. Der Grund dafür ist, dass ich eine ordentliche Benutzerverwaltung schon immer vermisst und deshalb von Anfang auf JACL Plus und später auf NinjACL gesetzt habe.
Vielleicht erinnern sich hier einige noch an die kritische Sicherheitslücke in 1.0.13, und wer JACL kennt weiß, dass man da nicht einfach die Original-Patches einspielen kann, weil das ein Core Hack ist. Aber leider hatte das ByOS Tech Team seinerzeit nicht reagiert! Weder im Forum noch auf eMails von einem mir bekannten Chartered Member. Also was blieb mir anderes übrig, als die Patchkomponenten selbst zusammenzustellen.
Erste Kontakte
Als ich da zum ersten mal mit PHP gACL in Berührung kam, haben sich mir sofort alle Haare zu Berge gestellt und ich habe mich gefragt, was dieser Blödsinn soll. Ist ja kein Wunder, dass man damit keinen Blumentopf gewinnen kann und die Entwickler des Joomla Teams durch die Bank weg immer wieder an ihre Grenzen stoßen. Das ist mir Anfangs nicht anders gegangen. Ich habe gute 14 Tage dran geknabbert, bis ich das richtig drinnen hatte. Ist halt auch nicht ganz trivial das Ganze.
Aber, ein Preorder Tree Traversal ist vielleicht geignet, hierarchische Strukturen abzubilden, aber ganz sicher nicht eine flexible Benutzer- und Gruppenverwaltung. Nicht nur dass es irgendwann so unübersichtlich wird, dass man fast den Überblick verliert, sondern dass es auch noch eine Verschwendung von Ressourcen darstellt, die ich so nur aus Redmont kenne. Da werden ACO, ARO, AXO und was weiß ich noch für Tabellen benötigt, die soweit aufgebläht sind, dass ein LKW durchfahren könnte. Da brauche ich für jedes Element zwei Indizes und muss mich dann durch die komplette Struktur hangeln um die Kinderchen zu finden.
The Unix Path
Unix, respektive Linux macht es doch vor! Warum muss man da das Rad neu erfinden? Man werfe einen Blick in die Dateien /etc/passwd sowie /etc/group und schaue sich den Aufbau einer EXT Inodetabelle an. Da hat man alles, was man braucht. Dann brauche ich dass komplette System nur noch in logische Einheiten zu zerlegen und als Dateisystem zu betrachten und es kann loslegen. Komponenten, Module und Plugins vergleiche ich dabei mit System- oder Programmdateien, die den privillegierten Benutzern zugeordnet werden und reserviere die UIDs und GIDs von 1 bis 1000 und der Rest ist dann frei wählbar. Rot bekommt dabei natürlich die UID und GID 0.
Da wir in einem Webprojekt nicht an die Systeminterna eines Unix-Systems gebunden sind, sprich die 65535er Grenze, könnten wir sogar von 1 bis 5000 für das System reservieren und alles oben drüber ist open end.
Dann bekommt jede logische Einheit seine Eigentumsrechte über UID, GID und die oktale Zugriffsmaske und schon habe ich wahlfreien Zugriff (oder eben nicht) auf jeden kleinsten Winkel des Systems und bin dabei so flexibel und vor allem auch schnell, wie ich das unter Linux bin.
Damit jetzt nicht das falsche Gefühl beim Leser aufkommt:
Die Mailinglisten auf Google Groups verfolge ich und melde mich hier und da auch mal zu Wort. Auch habe ich bereits mit dem Gedanken gespielt, genau wegen diesem Thema auf mich aufmerksam zu machen.
Bisher hat mich davon aber ein bestimmter Personenkreiskreis abgehalten, von dem ich mich bereits in der Öffentlichkeit persönlich angegriffen sehen musste, sodass ich diesen Schritt eben nie in Erwägung gezogen habe.
Ich werde Euch mal noch eine Weile beobachten und schauen, ob sich da jetzt, nachdem diese Leute weg sind, wirklich etwas ändert und dann meine Entscheidung treffen.
In diesem Sinne ...
Herzliche Grüße
Uwe