Add-ons veröffentlichen und pflegen
Stores und Prüfprozesse, Versionsnummern und Changelog, Lizenzen und Bezahlmodelle: was nach dem letzten Commit kommt und warum ein Add-on nie ganz fertig ist.
Ein Add-on, das nur auf dem eigenen Rechner läuft, ist ein Werkzeug. Ein veröffentlichtes Add-on ist ein Produkt, auch wenn es kostenlos ist. Andere verlassen sich darauf, installieren Updates automatisch und erwarten, dass es nach dem nächsten Browser- oder WordPress-Update noch funktioniert. Dieser Bereich behandelt den Weg in die Stores und das, was danach kommt.
Die Stores im Überblick
| Plattform | Store oder Verzeichnis | Konto | Prüfung |
|---|---|---|---|
| Chrome | Chrome Web Store | Entwicklerkonto mit einmaliger Registrierungsgebühr | automatisch und manuell |
| Firefox | addons.mozilla.org | kostenloses Konto | automatische Signierung, Stichproben und manuelle Prüfung |
| Edge | Microsoft Edge Add-ons | Partner-Center-Konto | manuell |
| Safari | App Store | Apple Developer Program | App-Review |
| WordPress | Plugin-Verzeichnis auf wordpress.org | kostenloses Konto | manuelle Erstprüfung, danach SVN-Zugang |
| VS Code | Visual Studio Marketplace, Open VSX | Publisher-Konto | automatische Prüfung |
| JetBrains | JetBrains Marketplace | JetBrains-Konto | manuelle Prüfung |
| Office | Microsoft-Marktplatz für Add-ins | Partner-Center-Konto | Validierung durch Microsoft |
| Google Workspace | Google Workspace Marketplace | Google-Cloud-Projekt | App-Prüfung, gegebenenfalls OAuth-Überprüfung |
Gebühren, Prüfdauer und Detailregeln ändern sich. Maßgeblich sind die aktuellen Richtlinien des jeweiligen Stores.
Vor der Einreichung
- Funktion klar beschreiben. Ein Satz, der sagt, was das Add-on tut. Prüfer lehnen Einreichungen ab, deren Zweck unklar ist oder die mehrere unzusammenhängende Funktionen bündeln.
- Berechtigungen begründen. Jede Berechtigung muss zur beschriebenen Funktion passen. Viele Stores fragen ausdrücklich nach der Begründung.
- Datenschutz offenlegen. Wer Daten erhebt oder überträgt, braucht eine Datenschutzerklärung und muss die Angaben im Store wahrheitsgemäß ausfüllen.
- Lesbaren Code einreichen. Minifizierter Code ist meist erlaubt, verschleierter Code nicht. Manche Stores verlangen bei gebündeltem Code den Quellcode und eine Bauanleitung.
- Gute Screenshots. Sie entscheiden darüber, ob jemand installiert. Zeigen Sie das Add-on im Einsatz, nicht nur das Symbol.
Versionsnummern und Changelog
Die meisten Plattformen erwarten eine Versionsnummer, die bei jedem Update steigt. Bewährt hat sich Semantic Versioning mit drei Stellen: MAJOR.MINOR.PATCH. Die erste Zahl steigt bei Änderungen, die bestehende Nutzung brechen, die zweite bei neuen Funktionen, die dritte bei Fehlerkorrekturen. Aus 1.4.2 wird nach einem Bugfix also 1.4.3, nach einer neuen Funktion 1.5.0.
Ein Changelog listet zu jeder Version, was sich geändert hat. Er hilft Nutzern zu verstehen, warum ein Update kommt, und Ihnen selbst, wenn später ein Fehler auftaucht. Besonders wichtig: Neue Berechtigungen gehören ausdrücklich in den Changelog, denn der Browser fragt Nutzer dann erneut um Zustimmung oder deaktiviert die Erweiterung bis dahin.
Die richtige Lizenz
Ohne Lizenz darf niemand Ihren Code rechtssicher nutzen, verändern oder weitergeben. Die drei häufigsten Open-Source-Lizenzen für Add-ons:
- GPL verpflichtet dazu, abgeleitete Werke ebenfalls unter der GPL zu veröffentlichen. Im WordPress-Umfeld ist sie Standard, weil WordPress selbst unter der GPL steht.
- MIT erlaubt nahezu jede Nutzung, solange der Lizenzhinweis erhalten bleibt. Sie ist kurz, verständlich und im JavaScript-Ökosystem weit verbreitet.
- Apache 2.0 ist ähnlich freizügig wie MIT, enthält aber zusätzlich Regelungen zu Patenten.
Daneben können Sie Ihr Add-on proprietär lizenzieren, sofern die Plattform das zulässt. Prüfen Sie in jedem Fall, ob die Lizenzen Ihrer Abhängigkeiten zu Ihrer Wahl passen.
Geld verdienen mit Add-ons
Viele Add-ons sind kostenlos und bleiben es. Wer mit seiner Arbeit Einnahmen erzielen möchte, hat mehrere Möglichkeiten:
- Freemium: Die Grundfunktion ist kostenlos, eine erweiterte Version kostet. Im WordPress-Verzeichnis muss die kostenlose Version eigenständig funktionieren, die Pro-Version wird außerhalb verkauft.
- Lizenzschlüssel und Abonnements: Ein Schlüssel schaltet Funktionen frei oder ermöglicht Updates. Das erfordert einen Server zur Prüfung und eine Zahlungsabwicklung.
- Spenden und Sponsoring: Über Spendenplattformen oder Sponsoring-Programme der Code-Hoster.
Manche Stores verbieten bestimmte Bezahlmodelle oder verlangen, dass Zahlungen über ihr eigenes System laufen. Werbung, die in fremde Webseiten eingefügt wird, oder das Sammeln von Nutzungsdaten zu Werbezwecken ist in Browser-Stores in aller Regel unzulässig.
Pflege nach dem Start
Die Host-Anwendung entwickelt sich weiter, und mit ihr Ihr Add-on. Abonnieren Sie die Entwickler-Blogs und Ankündigungen der Plattform, testen Sie mit Beta-Versionen und reagieren Sie auf Deprecation-Hinweise, bevor alte Schnittstellen abgeschaltet werden. Beantworten Sie Fehlermeldungen im Support-Forum des Stores, auch wenn es nur eine kurze Rückmeldung ist. Und wenn Sie aufhören möchten, beenden Sie das Projekt geordnet, statt es einfach liegen zu lassen. Verwaiste Add-ons mit vielen Installationen sind ein Sicherheitsrisiko, wie der Bereich Sicherheit zeigt.
Anleitungen zu Veröffentlichen
- Chrome Web Store
Was das Entwicklerkonto kostet, wie lange die Prüfung dauert, warum Erweiterungen abgelehnt werden und was Sie vor der Einreichung prüfen sollten.
- Plugin-Verzeichnis
Von der Vorbereitung bis zum ersten Update: welche Regeln gelten, wie die readme.txt aussieht, was bei der Prüfung passiert und wie Versionen per SVN ausgeliefert werden.
- Lizenz für Plugins wählen
GPL, MIT und Apache 2.0 im Vergleich: was die Lizenzen erlauben und verlangen, welche Plattform welche Lizenz voraussetzt und wie Sie eine Lizenz sauber im Projekt hinterlegen.
- Add-ons monetarisieren
Welche Bezahlmodelle für Plugins und Erweiterungen funktionieren, was Chrome Web Store, WordPress-Verzeichnis, AMO und JetBrains Marketplace erlauben und wie eine Lizenzprüfung aufgebaut ist.
Fragen und Antworten
- Wie lange dauert die Prüfung im Store?
- Das schwankt stark zwischen Stores und auch innerhalb eines Stores. Kleine Updates ohne neue Berechtigungen gehen oft schnell durch, Ersteinreichungen und Erweiterungen mit weitreichenden Rechten werden gründlicher geprüft. Planen Sie Puffer ein und veröffentlichen Sie dringende Korrekturen nicht in letzter Minute.
- Darf ich ein Add-on unter einer anderen Lizenz als die Host-Anwendung veröffentlichen?
- Das hängt von der Plattform ab. Für das WordPress-Plugin-Verzeichnis ist eine GPL-kompatible Lizenz Pflicht. Browser-Erweiterungen und VS-Code-Extensions können Sie dagegen frei lizenzieren, auch proprietär. Klären Sie zudem die Lizenzen aller Bibliotheken, die Sie mitliefern.
- Was passiert, wenn ich ein Add-on nicht mehr pflegen möchte?
- Kündigen Sie das im Store und im Repository an. Sie können das Projekt an eine vertrauenswürdige Person übergeben oder es einstellen. Seien Sie vorsichtig bei Kaufangeboten für Erweiterungen mit vielen Nutzern: Übernahmen durch Unbekannte sind ein bekannter Weg, Schadcode in beliebte Add-ons einzuschleusen.
Weiterlesen
- Sicherheit
Welche Berechtigungen heikel sind, woran Sie bösartige Erweiterungen erkennen, warum Updates und Übernahmen ein Risiko sind und was im Ernstfall zu tun ist.
- WordPress-Plugins
Vom Plugin-Header über Actions und Filter bis zu Gutenberg-Blöcken: wie ein sauberes WordPress-Plugin aufgebaut ist und worauf das Plugin-Verzeichnis achtet.
- VS Code & IDEs
Wie Erweiterungen für Visual Studio Code aufgebaut sind, warum das Language Server Protocol Editoren verbindet und wie Plugins für JetBrains-IDEs entstehen.