Eine nicht ganz so kurze Geschichte von Adblock
Bemerkung: Das ist die Geschichte von Adblock, wie ich sie in Erinnerung habe. Sollte ich irgendwo einen Fehler gemacht oder etwas wichtiges ausgelassen haben, bitte schreiben Sie mir darüber.
Wie es alles angefangen hat
Die ursprüngliche Version von Adblock wurde von Henrik Aasted Sorensen in 2002 entwickelt. Es war eine kleine Erweiterung, die nach einer Liste von Filtern, die man definiert hat, Werbung blockieren konnte (nur Bilder). Und man konnte bereits auf einem Bild rechtsklicken und im Kontextmenü “Adblock” auswählen. Auch alles andere war recht ähnlich zu Adblock, wie wir es heute kennen.
Die letzte Adblock-Version, die noch von Henrik Aasted Sorensen entwickelt wurde, war Adblock 0.3. Das größte Problem dieser Version war: die Werbung wurde immer noch geladen, und erst nachdem die Seite komplett geladen wurde, würde die Erweiterung die Werbung verstecken. Das hat die Nützlichkeit der Erweiterung natürlich stark beeinträchtigt.
Die 0.4-Reihe
Angefangen mit Adblock 0.4 (gegen Anfang 2003) wurde rue zum offiziellen Entwickler von Adblock (seinen echten Namen kennt niemand). Adblock 0.4 benutzte XBL, um die Werbung zu unterdrücken, bevor sie erscheint. Das hat gar nicht so schlecht funktioniert, und konnte nun sogar auf Objekte wie Flash oder Java angewandt werden. Allerdings, auch wenn man die Werbung nicht mehr zu Gesicht bekam, wurde sie immer noch heruntergeladen.
Die Tradition, jede neue Version von Adblock als Entwicklungsversion bzw. Nightly-Build zu bezeichnen, kam ebenfalls mit Adblock 0.4. Auch jetzt ist die letzte offiziell als stabil freigegebene Version immer noch Adblock 0.3. So kam es, dass wenn ich (Wladimir Palant) Adblock in Juni 2003 entdeckt habe, habe ich nur Adblock 0.3 gefunden. Es gab keinerlei Anzeichen dafür, dass das Projekt die Hände gewechselt hat oder dass eine neue Version von Adblock entwickelt wird.
Wie Adblock 0.5 zustande kam
Nachdem ich Adblock 0.3 für eine Weile benutzt habe, habe ich mir gedacht, dass es einen besseren Weg geben muss, um Werbung zu blockieren. Ich habe einen im Browser eingebauten Mechanismus genannt Content Policies entdeckt und konnte diesen für das Blockieren von Werbung benutzen. Dieser Ansatz hatte den Vorteil, dass Werbung nun gar nicht erst heruntergeladen wurde. Weiterhin konnte man damit auch Hintergrundbilder, Skripte und Stylesheets blockieren. Ich habe mein eigenes Adblock 0.4 geschrieben und schickte es an Henrik Aasted Sorensen. Und dann war es schon durchaus eine Überraschung, eine Antwort von rue zu bekommen und zu erfahren, dass eine Weiterentwicklung von Adblock existiert.
Es folgte eine lange Diskussion über die Vor- und Nachteile der beiden Ansätze. Am Ende haben es die Content Policies doch in das offizielle Adblock geschafft, XBL wurde allerdings erst viel später endgültig aufgegeben. Diese Reihe wurde Adblock 0.5 genannt.
Was sonst hat es aus meinem Adblock in die offizielle Version geschafft? Nicht viel. Das Kenntlichmachen von Elementen auf der Seite durch einen blinkenden roten Rahmen fand sich dort wieder. Die Vorläufer der heutigen “Object Tabs” auch. Und die Liste aller blockierbaren Elemente auf der Seite — und das ist der Beitrag, auf den ich gar nicht stolz bin. Meine einzige Entschuldigung ist es, dass die Verwendung dieses Dialogs ganz anders gedacht war, als es letzlich in Adblock eingesetzt wurde (und immer noch eingesetzt wird).
Zur selben Zeit hat rue eine Reihe Entscheidungen gemacht, über die ich besorgt war. So würde Adblock z.B. durch Mozilla’s Menü durchgehen und nach Tastenkürzeln suchen, die von Adblock verwendet wurden — hat er solche gefunden, wurden sie entfernt. Mehr lange Diskussionen folgten, alle ergebnislos, also habe ich es aufgegeben und Adblock für eine Weile vergessen.
Entstehung von Adblock Plus 0.5
Die Entwicklung von Adblock kam kurz darauf zu einem Halt. In 2004 wurden keine wirklichen Fortschritte erzielt, und seit Anfang 2005 wurde überhaupt nichts mehr an Adblock gemacht. Und dann kam Michael McDonald aka mcm und entwickelte eine “erweiterte” Version von Adblock mit den dringend nötigen Verbesserungen. Diese Version wurde Adblock Plus genannt.
Der wichtigste Beitrag sind zweifellos die Ausnahmeregeln, womit man Ausnahmen aus den normalen Filterregeln definieren konnte. Weitere nennenswerte Verbesserung waren die Möglichkeit, Filter regelmässig automatisch von einer Web-Adresse herunterzuladen, und 16 Übersetzungen der Erweiterung (Adblock unterstützt Übersetzungen nicht). Die Dialoge der Erweiterung wurden ebenfalls an einigen Stellen verbessert.
Schließlich kam es sogar dazu, dass Firefox 1.5 rauskam (November 2005) und es immer noch keine dazu kompatible Version von Adblock gab. Hier musste Michael McDonald wieder einschreiten und Adblock kompatibel machen. Das offizielle Update kam über einen Monat später.
Und wieder ich
Das fehlende Update für Firefox 1.5 hat mich gezwungen, mir wieder Adblock anzuschauen. Da Adblock 0.5 anscheinend nicht mehr weiterentwickelt wurde (alle arbeiteten an dem mystischen Adblock 0.6) habe ich rue angeboten, Adblock 0.5 umzuschreiben und dessen zahlreiche Fehler zu beseitigen. Als ich das jedoch gemacht habe, fand ich mich in eine gewohnte nutzlose Diskussion verwickelt. Es wurde darüber gesprochen, Teile meiner Version herauszupicken, das furchtbare Benutzerinterface aber unverändert zu lassen. Ich habe meine Lektion aus der Vergangenheit gelernt und konnte dem nicht nochmal zustimmen.
Ich habe Michael McDonald kontaktiert, der meine Version interessant fand. Er hatte keine Pläne für eine Weiterentwicklung von Adblock Plus, und so haben wir vereinbart, dass das Projekt zu mir übergeht. Meine umgeschriebene Adblock-Version wurde zur nächsten Version von Adblock Plus, und seitdem ist Adblock Plus auch eine unabhängige Erweiterung anstatt nur eine erweiterte Version von Adblock. Sie wurde im Januar 2006 als Adblock Plus 0.6 freigegeben.
Wie geht es nun weiter?
Jetzt sind vorerst drei verschiedene Varianten von Adblock in Benutzung. Eine ist Adblock 0.5, an der plötzlich wieder gearbeitet wurde, um einige Funktionen von Adblock Plus 0.5 zu übernehmen. Michael McDonald hat zum Adblock-Projekt übergewechselt, vielleicht kann er dort die Sachen in die richtige Richtung bewegen.
Die andere ist mein Adblock Plus 0.6, das einen Schwerpunkt auf Benutzerfreundlichkeit hat. Die Idee ist es, nicht einfach eine leistungsfähige Erweiterung anzubieten, sondern dessen Funktionen auf eine Art einzubinden, dass sie möglichst selbsterklärend und einfach zu benutzen sind.
Und dann gibt es noch Adblock Plus 0.5, das von Leuten benutzt wird, die die radikalen Änderungen in Adblock Plus 0.6 nicht mochten. Michael McDonald versprach, weiterhin Kompatibilitäts- und Sicherheitsupdates dafür anzubieten, es wird jedoch nicht weiterentwickelt.
Update (28.09.2006): Etwas Zeit ist vergangen, seitdem ich das geschrieben habe, und anscheinend war dieser Ausblick zu optimistisch. Adblock Plus hat Fortschritte gemacht und ist mittlerweile bei Version 0.7.1.2 angelangt. Allerdings haben die Entwickler von Adblock ihr Projekt wieder einmal aufgegeben. Die Liste der herrenlosen Projekte auf MozDev.org zeigt, dass die letzten Änderungen an diesem Projekt einen Tag vor der Erscheinung von Adblock Plus 0.6 gemacht wurden. Der einzige Adblock-Entwickler, der seit Februar gesehen wurde, ist Michael McDonald, und er wurde nur nominell ins Entwicklungsteam aufgenommen — er hat keinen Zugriff auf irgendwas bekommen. Selbst als ich im Mai eine Sicherheitslücke in Adblock entdeckte, war kein Adblock-Entwickler erreichbar, und addons.mozilla.org musste Michael McDonald Upload-Rechte geben, damit er das Problem behebt. Ja, richtig gehört — der derzeit verfügbare Adblock 0.5.3.043 ist keine offizielle Version, die Adblock-Webseite bietet in der Tat immer noch Adblock 0.5.3.042 an, die Version mit der Sicherheitslücke.
Wladimir Palant
