Sehr geehrte Kunden oder die die es werden möchten,

 

Ein paar Worte vorweg: Was ist schon kostenlos?

Das Gross der durch mich realisierten Projekte basiert auf dem OpenSource Content-Management-System Joomla. Dieses CMS ist ein sehr leistungsfähiges und umfangreich ausgestattetes Framework, um eine moderne HomePage zu erstellen und zu betreiben. Es macht es dem Seitenbetreiber einfach über eine Webseite (auch genannt Backend) selbst Inhalte aktuell zu pflegen. Auch für mich als Programmierer und Designer ermöglicht es schnell komplexe Aufgabenstellungen meiner Auftraggeber umzusetzen. In diesem Framwork/CMS sind schon viele Funtionen umfassend programmiert, die sonst bei kundenbezogener Programmierung viel, viel Arbeit bedeuten würden. Was Joomla selbst nicht kann, kann durch Erweiterungen (auch Extensions genannt) in das Joomla integriert werden. Spätestens damit sind dann schon fast alle Wünsche erfüllt, ohne programmiert haben zu müssen.

 

Das klingt sicher alles ganz fantastisch und man könnte meinen, alle Arbeit ist schnell getan. Jedoch sei hier auf drei Dinge hingewiesen:

  1. Wir möchten uns bedanken bei der großen Gemeinde von Entwicklern die durch fleißige Arbeit dieses CMS und auch die vielen Erweiterungen geschaffen haben. Sowohl das Joomla als auch viele Erweiterungen, die oft selbst wieder kleine Wunderwerke sind (nicht alle!), sind sogar kostenlos (nicht alle)! Würde man das alles selbst machen wollen, entstünde Aufwand und Kosten die das 10fache und mehr übersteigen würden, als das was jetzt für die Projektrealisierung auf der Rechnung steht. Spätestens wenn man eine darauf basierende gewerbliche HomePage betreibt, sollte man sich darüber bewusst sein, dass diese Entwickler auch irgendwovon leben müssen. Deshalb ist es angebracht, hin und wieder einen kleinen Beitrag zu spenden - besonders für intensiv genutzte und fantastisch gelungene Erweiterungen. Ich werde Sie darauf hin ansprechen :)

  2. Auch wenn ich für Sie das Joomla und Erweiterungen schnell installiert habe, entsteht trotzdem Aufwand, der meine Arbeit ausmacht. Dazu hier mal ein paar Sachverhalte:
    • Joomla wird ständig weiterentwickelt. Regelmäßig erscheinen Updates. Dies muss ich beobachten, bewerten und somit auf dem Laufenden sein. Diese Updates werden genauso regelmäßig in Ihre Projekte eingespielt, oft ohne dass Sie etwas davon merken. Nur so kann auch die Sicherheit Ihrer HomePage gewährleistet werden (s.u.). Das Gleiche trifft zu für jede einzelne Erweiterung die in Ihrem Projekt ihre Arbeit tut.

    • Bevor überhaupt eine Erweiterung den Weg in Ihr Joomla-Projekt findet, muss ich mir die vielen, zum Glück existierenden Alternativen anschauen. D.h. wenn Sie z.B. eine SlideShow in Ihre HomePage integriert haben wollen, dann gibt es davon mal eben 20 oder mehr verschiedene Slideshow-Komponenten. Jede hat ihre Vor- und Nachteile, ist ausgereift, über- oder unterdimensioniert, oder doch nicht das Richtige. Dies erfährt man im Detail erst durch eine "Probefahrt". Also installieren, durchkonfigurieren, durchtesten, evtl. verwerfen, nächste, probieren ... Da gehen schnell mal mehrere Stunden ins Land. Dieser Aufwand muss berechnet werden, erst recht wenn diese Komponenten nicht auch durch andere Kunden von mir genutzt werden, sondern nur in Ihrem Projekt.

    • Es gibt Komponenten die einfach so gut sind, dass ich diese in jedem Kundenprojekt installiert habe (z.B. die Backupkomponenten Akeeba oder die Sitemap-Komponente Xmap). Hieraus entsteht ein großer Vorteil. Mit dieser fremden Software bin ich tief vertraut und kann auch entspr. schnell und effektiv Ergebnisse liefern - zu Ihrem Vorteil. Deshalb beschränke ich mich also auf möglichst wenige Komponenten.

    • Aufwand bei Erweiterungen entsteht auch dadurch, dass die Komponenten-Templates, also das Erscheinungsbild dessen was die Komponente so als Inhalte in die Seite einspeisen, an das HomePage-Design angepasst werden müssen. Anderenfalls sähen diese Inhalte etwas fremd in Ihrer HomePage aus und stören den Gesamteindruck (dazu unten mehr). Üblicherweise kümmert sich die Komponentenprogrammierer darum nicht, das bleibt Aufgabe des projektbetreuenden Webdesigners.

  3. Aus oben bereits beschriebenen und nachfolgenden Sachverhalten ergibt sich verständlicherweise eine Abgrenzung dessen, was Sie von mir erwarten können, wenn ich diese Software in Ihrem Projekt zum Einsatz bringe. Darauf möchte ich hier ausdrücklich hinweisen. Ich kann nicht dafür garantieren oder haften:
    • dass diese Software fehlerfrei funktioniert und alle Ihre Ansprüche erfüllt wird, weder zum Zeitpunkt der Projekterstellung noch für die Zukunft.
    • dass Joomla-Erweiterungen durch deren Entwickler regelmäßig und zukünftig weiterentwickelt und z.B. für zukünftige Joomla-Versionen verfügbar gemacht werden.
    • dass eine zum Zeitpunkt der Erstinstallation genutzte kostenlose Joomla-Erweiterung auch zukünfig kostenlos verfügbar ist bzw. deren Lizenzmodell für Folgeversionen unverändert bleibt.
    • dass jede gewünschte Anpassung einfach durch Administration oder Konfiguration von Parametern gelingen wird. Design-Anpassungen sind oft durch Modif. von Style-Dateien schenll erledigt. Layouts können häufig durch Template-Anpassung optimal per "Overrids" erreicht werden, wenn Erweiterungen sich an die moderne MVC-Architektur halten. Manchmal lassen sich sogar selbsterstellte Plugins einbinden. Ganz selten sind Anforderungen nur zu erreichen, wenn dazu Kern-Scripte der Erweiterungen modifiziert werden. Diese sind kritisch, weil dadurch i.d.R. die Updatefähigkeit von Erweiterungen verloren geht, mit den damit verbundenen Nachteilen. Darauf werde ich im konkreten Fall hinweisen.

 

Was bedeutet OpenSource

OpenSource ist ein freundliches Softwarkonzept, welches interessierten Nutzer nicht nur die Nutzung der Software erlaubt, sondern auch die Quellscripte dazu offen legt, so dass man diese zu seinen Zwecken anpassen kann. Das ist jetzt eine ganz stark verallgemeinerte Definitition. Genauer findet man es z.B. in Wikipedia oder in Kurzform auf techfacts.de (typische Beispiele: Linux, OpenOffice, Mozilla FireFox).

OpenSource bedeutet nicht, dass diese Software kostenlos ist, sondern per Definition zunächst nur, dass man diese Softwar als offenen Programmcode (Quellcode) bekommt und somit auch die Möglichkeit bekommt diese Quelltext zu prüfen und zu modifizieren. OpenSource kann durch die Entwickler unter verschiedene Lizenzmodelle gestellt und verbreitet werden. Häufig ist es im Joomla-Umfeld das GNU GPL - Lizenzmodell. Für Joomla und Erweiterungen kann sich das beispielsweise so auswirken:

  • Manche Erweiterungen wie auch Joomla selbst kosten nichts. Es kann frei heruntergeladen, modifiziert und genutzt werden. Trotzem sollte man (s.o.) hin und wieder einen Spendenbetrag überweisen, für's gute Gewissen. (Sie können dies auch durch mich veranlassen, es erscheint dann einfach mit auf der nächsten Rechnung. Benennen Sie einen Betrag ich werden diesen ggf. auf verschiedene Entwickler, je nach den genutzen Komponenten, aufteilen.)
  • Einige Erweiterungen sind zwar ansich kostenlos, aber der Download ist gebunden an einen Support-Vertrag. Hierüber kann man dann z.B. kostenlos Fragen an die Entwickler richten.
  • Andere Erweiterungen kosten eine Lizenzgebühr. Diese kann z.B. den Download von neuen Versionen für z.B. 1 Jahr einschließen, oder ist auf einzelne Projekte/Domains begrenzt.
  • Gerne wird durch Entwickler bei einer kostenlosen Nutzung als Gegenleistung ein sogenannter Backlink vereinbart. D.h. solange man keine Lizenzgebühr bezahlt hat, erzeugt die Erweiterung einen auf der HomePage sichbaren Link (evtl. mit Logo) der auf die Entwicklerhomepage verweist.
  • Sehr häufig gibt es auch sogenannte Starter- oder Basis-Versionen von Erweiterungen gepaart mit Pro(fessional)-Versionen. Erste sind oft kostenlos als Einstieg und zum Testen gedacht. Wer mehr Funktionen oder Support will, muss dann zu den kostenpflichtigen Pro-Versionen wechseln.

Nicht selten beobachtet man einen Trend, dass Erweiterungen anfänglich kostenlos sind und plötzlich mit einer neuen Version nur noch entgeltlich zu haben sind. Das ist ein Agreement bei OpenSource, häufig dann, wenn die Entwicklung in der Hand weniger Programmierer liegt. Gerade bei sehr neuen Komponenten dient in der Entwicklungsphase der Nutzer als Tester, dafür kostet die Nutzung eben nichts. Wenn die Software dann stabil und ausgereift ist (mitunter so nach 1-3 Jahren), fällt dieses Angebot. Das wiederum passiert nicht von heute auf morgen. Sondern oft mit neuen Versionssprüngen oder mit neuen Hauptversionen von Joomla.

In der Lizenz- oder Nutzungsvereinbarung wird man auch darüber informiert, welche Erwartungen man an die Nutzung der Erweiterung stellen kann. Oft steht formuliert, dass die Nutzung auf eigenes Risiko erfolgt und an den Entwickler keine Ansprüche für Schäden, Ausfälle etc. geltend gemacht werden können - im Übrigen auch nicht auf eine kontinuierliche Weiterentwicklung (dazu unten mehr).

 

Was bedeutet das für Ihre Projekte

Nachfolgend mal ein paar Informationen wie sich dies nun auf Ihre Projekte auswirkt.

Erwerb von projektbezogenen Lizenzen

Für manche Erweiterungen habe ich eine General-Lizenz-Gebühr bezahlt und kann so mehrere Kunden in den Genuss deren Nutzung bringen - wenn es das Lizenzmodell für diese Erweiterung zulässt. Sollten Lizenzgebühren speziell für Ihr Projekt anfallen, informiere ich Sie darüber im Angebot oder im Gespräch. I.d.R. führe ich die Kaufabwicklung für Sie durch. Der Betrag erscheint dann auf einer der folgenden Rechnungen. Ein Großteil von Joomla-Erweiterungen werden außerhalb Deutschlands entwickelt. Sie müssen sich so nicht mit den Geldtransfers und den in englisch fomulierten Lizenzvereinbarungen beschäftigen.

Unentgeltlich auf Lebenzeit?

Wenn ich bei der Projekterstellung z.B. eine Komponente empfehle oder anbiete, welche kostenlos ist, muss dass nicht auf ewig so bleiben. Dazu steht im nachfolgenden Text einiges zu möglichen Ursache und Gründen. Hierfür kann ich also nicht garantieren, es liegt außerhalb meiner Macht.

 

Weiterentwicklung von Joomla und Erweiterungen - Projektaktualisierungen

Sie kennen das von Ihrem Windows-Betriebssystem: Alle Jahre gibt es ein neues Windows und auch zwischen diesen neuen Hauptversionen aktualisiert sich Ihr Betriebssystem kontinuiertlich über das Internet. Das ist auch mit Ihrem CMS Joomla so. Hierbei unterscheiden wir in sogenannte Updates und Upgrades.

Updates

Der wichtigste Grund für Updates sind das Schließen von bekannt gewordenen Sicherheitslücken und/oder die nachträgliche Beseitigung von Programmfehler (bugs). Aktualisierungen aus diesen beiden genannten Gründe werden i.d.R. durch sogenante Updates vorgenommen. Hin und wieder sind auch kleinere neue Funktionen/Features integriert worden. Updates sind meist(!) sehr einfach und gefahrlos zu installieren. Ihr Joomla überwacht viele Komponenten auf die Verfügbarkeit neuer Versionen und schlägt die Aktualisierung per Knopfdruck vor, was auch fast(!) immer problemlos gelingt.

Typisch für Updates ist, dass diese in kleinen Versionssprüngen (Releases) erfolgen, so von 2.5.14 auf 2.5.15. Hierbei werden selten größere Dinge gemacht, wie z.B. der Umbau von Datenstrukturen in den Datenbanktabellen oder vollständig veränderte Parametrierungen der Komponenten. Eine Kompatibilität zwischen diesen Versionen ist deshalb gesichert. Es fallen auf Grund von Updates fast keine damit verbundenen Arbeiten an.

Auch wenn die Aktualisierung unproblemantisch ist, sollten Sie das mir überlassen aus folgenden Gründen:

  • Vor jedem Update sollte das Projekt gesichert werden. Das mache ich vorher.
  • Ich habe Testprojekte in der jedes Update einer Erweiterung oder von Joomla selbst durch mich einen Probelauf machen muss. So sehe ich sofort Konflikte bei der Installation oder der Nutzung auch im Zusammenwirken mit anderen Erweiterungen.
  • Nicht alle Updates laufen gleich ab. Manchen erfolgenen durch o.g. Autoupdate-Button, andere Erweiterungen kommen mit eigenen Installern, andere sind besser manuell dateiweise z.B. per FTP zu übertagen (sogenannte Patches). Auf Grund meiner Erfahrungen weiss ich welche Erweiterung am bestsen über welche Methode zu updaten ist. Bei Updates werden Ihre Projektdaten üblich nicht angerührt, vertut man sich aber bei der Updateausführung kann es schon mal zu Datenverlusten kommen.
  • Ich bin bemüht für alle meine Projekte die Erweiterungen und Joomla-Versionen auf einem gleichen Level zu haben. Das erleichert für mich den Support - und es verringert auch den Aufwand für das Updaten an sich, weil ich z.B. mehrere Projekte in einem Ruck aktualisieren kann.
  • Sollte es doch mal zu Fehlern kommen, weiss ich genau was getan wurde und bin besser in der Lage Ursache und Zusammenhänge zu erkennen und Fehler zu korrigieren. Schließlich kann ich in diesem Crashfall auch schneller reagieren, weil ich quasi schon an Ihrem Projekt zugange bin - die Zeit für Störungen auf Ihrer Website hält sich so in kleinen Zeiträumen.

Hinweis: Für komplexere Erweiterungen ist nach einem Update immer auch eine umfassende Funktionsprüfung der Website erforderlich. Das kann zeitaufwändig sein. In diesem Fall wird ein anstehendes Update vorher mit Ihnen abgestimmt und vereinbart wer den anschließenden Funktionstest durchführt. Üblicherweise trifft das Sie, weil Sie sich mit der Funktionalität Ihrer Website besser auskennen als ich.

Upgrades und die Notwendigkeit von Migrationen

Eine andere Art der Aktualisierung sind sogenannte Upgrades zwischen markanten Versionssprüngen wie Sie diese auch von von Ihrem Betriebssystem (XP, Vista, 7, 8 ...) kennen. Diese sind nicht nur an einen Neukauf gebunden sondern bedürfen einer aufwändigen Installation. Gründe für diese Versionssprünge sind umfangreiche Umbauten die meist wesentliche Kernbestandteile und deren Architektur betreffen.

Für Joomla gab es schon mehrere Grundversionen. Für diese Grundverversionen ist typisch, dass dies nicht einfach nur über einfaches Updaten wie oben beschrieben funktioniert. Wir sprechen hier von Upgrades, weil

  1. Der Aufwand zur Installation umfangreicher und größer ist, manchmal nicht automatisch erfolgen kann.
  2. Die Kompatibität zwischen den Versionen nur eingeschränkt gegeben ist.
  3. Mitunter eine teilweise Datenportierung notwendig ist.

Praktisch kann sich das u.a. so auswirken:

  • Komponten die für die eine Joomla-Version entwickelt wurden laufen nicht autom. auch in einer neuen Joomla-Version. Das ist abhängig von den Entwicklern. Man muss dann also genau schauen, welche Komponenten oder deren Versionen für welche J!-Version geeignet ist.
    • Es gibt Komponenten die sind so programmiert, dass diese autom. die J!-Version erkennen und entsprechend kompatibel funktionieren.
    • Andere nutzen einen J!-Versionsprung gleichzeit für einen eigenen kompletten Relaunch ihrer Kompontente mit grundlegend anderer Architektur (s. z.B. VirtueMart 1.x und 2.x.). Das kann soweit führen, dass auch die Daten zw. der alten und neuen Version nicht ohne erheblichen Aufwand herübergerettet werden können.
    • Es gibt Komponenten für die für neuere J!-Vers. keine Nachfolger mehr erstellt werden. Die Programmierer haben die Weiterentwicklung eingestellt. Ein Grund könnte sein, dass die erhofften Spenden zu gering ausfielen. Manchmal werden diese Erweiterungen durch neue Entwickler übernommen und "wiederbelebt" evtl. zum Vorteil für die Qualität dieser Komp. und manchmal auch zum Nachteil.
    • Wie oben schon erwähnt, gibt es vorher kostenlose Komponenten in der neuen Version evtl. nur noch kostenpflichtig, eben weil eine kontinuierliche Weiterentwicklung nun mal viel Aufwand bedeuten kann.
    • Manche Komponten sind zwar zwischen Ihren Versionen nicht kompatible, aber Sie liefern kleine Tools mit, die die Daten zwischen den Versionen teilweise oder zuverlässig vollständig portieren können. Es gibt derlei Tools die sogar Daten aus fremden Wettbewerbskomponente importieren können.
  • Templates für das Erscheinungsbild Ihres Joomla-Projektes sind oft nicht übertragbar. Sie müssen neu erstellt werden, was aber neben dem bedauerlichen Aufwand oft auch ein Vorteil ist. Die neuen Templates sind zeitgemäßer, entsprechen neusten Standards und dem Stand der Technik und sind sehr viel leistungsfähiger.
  • Es wurden auch schon Spezialkomponenten für Joomla bereitgestellt, die eine Migration von Daten zw. den J!-Versionen vornehmen. Damit kann man sich manchmal viel Arbeit sparen.

Sie erkennen, hier gibts a) viele Unsicherheitsfaktoren und b) eine Menge zu tun, speziell beim Übertragen der eigenen Daten in das aktualisierte Projekt. Je aufwändiger die hier notwendigen Maßnahmen sind, sprechen wir nicht mehr nur von einem Upgrade sondern von Migration/Portierung.

 

Wann sind Updates und Upgrades notwendig?

Notwendigkeit von zeitnahen Updates

Kleine Versionsschritte durch Updates sind, wie wir oben erfahren haben, unproblematisch und mit wenig Aufwand verbunden aber enorm wichtig!

Die Wichtigkeit resultiert aus der Spezifik von OpenSource, da diese eben "quelloffen" ist. D.h. jeder Hacker kennt die komplette Struktur Ihrer HomePage und fast alle dort befindlichen Scripte im Detail, weil er die QuelleScripte genauso vorliegen hat. Ist eine Sicherheitslücke bekannt, findet er schnell Websites auf denen er diese ausnutzen kann. Deshalb ist es extrem wichtig zeitnah speziell sicherheitsrelevante Updates von Komponenten und Joomla einzuspielen und diese Lücken zu schließen.

 

Fälligkeit von Upgrades

Viel entspannter ist es mit der Notwendigkeit von Upgrades, da diese ansich keine Sicherheitslücken oder Bugs beseitigen. Deren Notwendigkeit resultiert aus der Tatsache, dass durch die Entwickler speziell von Joomla bestimmte Hauptversionen nur für begrenzte Zeiträume überhaupt gepflegt werden. Hierbei wird unterschieden zwischen sogenannte Long-Term-Support-Versionen (Langzeitversionen) und Short-Term-Support-Versionen (Kurzzeitversion). Mit dieser Lebenszeit-Strategie wird angegeben für wie lange für eine Hauptversion der Support unterstützt wird.

D.h.: Wir haben mitunter mehrere Hauptversionen von Joomla aktuell "im Umlauf". Die eine gilt als stabil/ausgereift (stable) aber abgeschlossen und in ihrer Archetektur als technologisch ausgereizt. Sie wird nicht mehr weiterentwickelt. Trotzdem wird aber über den Tag ihres Entwicklungsstopps hinaus für eine Nachlaufzeit Sicherheitslücken beseitigt und folglich Updates bereitgestellt. Zeitgleich kann schon eine Folgeversion im Umlauf sein, an der aktuell kontinuierlich weiterentwickelt wird. Der wesentliche Grund für einen solchen Nachfolger ist, dass eine modernere Grundarchitektur eingeführt wird, die mit einer einfachen Weiterentwicklung des Vorgängers nicht balastfrei vereinbar wäre. Ein wenig ist es wie ein Befreiungsschlag und Neuanfang.

Zwischen oder oberhalb dieser beiden genannten Versionen kann es mitunter weitere geben, die oben genannten STS-Versionen. Die haben in der Regel für Sie keine Bedeutung. Sie richten sich an Entwickler und stellen sogenannte Übergangsversionen da, z.B. um schon Erweiterungen für eine neu folgende LTS-Version vorzubereiten oder darauf basierende neue LTS schon mal vorab testen zu lassen. Deren Nutzung ist deshalb nur mit Vorbehalte möglich und nicht zu empfehlen für den Einsatz in sogenannten produktiven Systemen.

Fazit: Man muss hier nicht jeden Versionssprung mitmachen, sollte aber genau beobachten ab wann eine Stable-Version nicht mehr supportet wird, denn ab da riskieren Sie die Sicherheit Ihrer Website und können sich damit schaden.

 

Was kann bei versäumten Updates/Upgrade passieren

Das Hauptproblem wie oben beschrieben resultiert aus Sicherheitslücken. Diese ausnutzend können Hacker Ihre Seite "lahmlegen", was aber selten der Fall ist. Eher ist davon auszugehen, dass Ihre Seite in einer Weise modifiziert wird, die nicht sofort offensichtlich wird und bewusst im Hintergrund passiert. Dieser Schaden ist meist sehr viel größer. Ihre Seite kann missbraucht werden um Spam ins Internet zu verteilen, oder um rechtswidrige Seiteninhalte zu veröffentlichen für deren Verbreitung Sie als Seitenbetreiber dann veranwortlich sind. Gern werden Viren und Trojan hierüber eingeschleust, die Ihre Seitenbesucher wiederum auszuspähen oder zu schädigen. Eine Folge ist dann oft, dass Suchmaschinen wie Google weit schneller als Sie erkennen, dass Ihre Seite kompomittiert wurde. Zum Schutz anderer Internetnutzer sperren die Suchmaschinen dann Ihre Seite vollständig. Ihre Seite ist über Suchverzeichnisse nicht mehr findbar, wird zusätzlich als gefährlich gekennzeichnet - der Imageschaden ist nicht wieder gut zu machen und der Aufwand zur Bereinigung/Wiederheitstellung Ihrer Website - zumal unter großem Zeitdruck - ist ganz erheblich. Also besser vorher und regelmäßig das System aktualisieren.