Kernl bietet gehostete private Plugin- und Theme-Updates an

Veröffentlicht: 2016-01-27

Kernl

Jack Slingerland begann 2008 mit dem Hacken von WordPress, aber in letzter Zeit hat ihn seine Karriere etwas weiter davon entfernt, als ihm lieb ist. Tagsüber ist er Senior Software Engineer bei CA Technologies in Raleigh und arbeitet an React/Redux, Node, ElasticSearch, Grails und Groovy. Aber nachts ist er damit beschäftigt, Kernl zu bauen, einen Dienst, der private Plugin- und Theme-Updates für WordPress bereitstellt.

Sobald ein Plugin zum Dienst hinzugefügt wurde, sehen die von Kernl gelieferten Updates genauso aus wie Updates von WordPress.org.

„Die Kernfunktion von Kernl ist die Bereitstellung privater Plugin- und Theme-Updates für WordPress-Entwickler. Was mich jedoch begeistert, sind unsere Unterscheidungsmerkmale“, sagte Slingerland. „Wir haben eine Kaufcode-Validierung (damit nur autorisierte Benutzer Updates herunterladen können) und Support für kontinuierliche Integration (CI).

„Das CI-Zeug ist wirklich toll, weil es WP-Entwicklern ermöglicht, ihren Code in GitHub oder BitBucket zu pushen und ihn dann automatisch zu packen und für ihre Kunden bereitzustellen. CI war bei WordPress traditionell schwer umzusetzen, da Ihre „Produktionsumgebung“ oft etwas ist, das Sie nicht kontrollieren können“, sagte er. „Kernl löst dieses Problem.“

Die Idee für Kernl kam Slingerland, nachdem sie sich in den vergangenen Jahren durch die Kundenarbeit gequält hatte.

„Eine Sache, die ständig an mir nagte, war, wie schwierig es war, meinen Kunden Bugfixes oder Feature-Updates zur Verfügung zu stellen“, sagte er. „Oft habe ich ihre Sites nicht verwaltet, daher war es mit viel E-Mail-Versand und Kommunikationsaufwand verbunden, ihnen Updates zu besorgen.

„Ich hatte ursprünglich die Idee für Kernl im Jahr 2011, habe sie aber bis letztes Jahr nie umgesetzt“, sagte Slingerland. „Ich hatte gehofft, dass ich anderen Menschen helfen könnte, das gleiche Problem zu lösen, das ich hatte.“

Kernl startete im Mai 2015 in privater Alpha mit ~65 Alpha-Benutzern. Im November öffnete er es für die öffentliche Beta und der Dienst hat jetzt ungefähr 100 Beta-Benutzer. Tester testen Kernl derzeit auf Herz und Nieren:

  • Kernl hostet 73 Plugins & 43 Themes (insgesamt 117)
  • Seit Mai verarbeitete der Dienst 4,07 Millionen Update-Checks
  • Kernl verarbeitet etwa 2 Aktualisierungsstatusprüfungen pro Sekunde
  • 14.100 Updates wurden von Kernl heruntergeladen

Wie vergleicht sich Kernl mit WP Pusher?

Ich habe Slingerland gefragt, wie Kernl im Vergleich zu WP Pusher abschneidet, das es Entwicklern ermöglicht, WordPress-Themes und Plugins von GitHub und Bitbucket bereitzustellen.

„Kernl verlangt nicht, dass Ihr Endbenutzer etwas anderes als Ihr Plugin/Thema installiert“, sagte Slinglerland. „Wenn ich WP Pusher richtig verstehe, installieren Sie zuerst WP Pusher und weisen dann WP Pusher an, Updates für ein bestimmtes Plugin/Thema über sein Versionskontroll-Repository zu verwalten. Dies muss jedoch bei jeder Endbenutzerinstallation geschehen und kann sich für technisch nicht versierte Benutzer kompliziert anfühlen.

„Kernl funktioniert nahtlos mit Ihrem Plugin/Theme, genau wie diejenigen, die aus dem WordPress.org-Repository installiert werden. Dadurch fühlen sich Installation und Aktualisierung vertraut an und fügen sich nahtlos ein“, sagte er.

„Wir haben auch eine Kaufcode-Validierung, die nach dem Go-Live etwas Liebe und eine API bekommen wird. Kernl unterstützt auch die Versionierung Ihres Plugins/Themas, sodass zwischengeschaltete Commits nicht zufällig an Ihre Kunden gesendet werden.“

Die Bedeutung der kontinuierlichen Integration

Einer der Gründe, warum Slingerland Kernl entwickelt hat, ist, dass er mehr WordPress-Entwicklern dabei helfen möchte, kontinuierliche Integration in ihre Arbeitsabläufe aufzunehmen. Dieser besondere Aspekt der App (die „Push-to-Build“-Funktion) stellte die größte technische Herausforderung dar, war aber eines der wichtigsten Probleme, die Kernl lösen musste.

„Es gibt viele Grenzfälle, die ich nicht vorhergesehen habe, insbesondere seit ich mit der Integration mit BitBucket und GitHub begonnen habe“, sagte Slingerland. „In diesen Fällen waren die Betatester von unschätzbarem Wert beim Aufspüren von Fehlern.

„Ein solider Continuous-Integration- und Deployment-Workflow verändert wirklich die Art und Weise, wie Sie über Entwicklung denken“, sagte er. „Anstatt einmal im Quartal einen „Big Bang“ zu haben, wird es einfacher, Ihre Idee zu iterieren. Scheitern Sie schnell, validieren Sie Ihre Ideen/Änderungen und iterieren Sie erneut. Es ist ein großer Wegbereiter der Agile-Entwicklungsmethodik, und ich habe das Gefühl, dass der WordPress-Plugin-/Theme-Community das irgendwie gefehlt hat. Es fördert auch gute Tests, was fast erforderlich ist, wenn Sie kontinuierlich bereitstellen.“

Slingerland richtet sich mit Kernl an Entwickler, die WordPress-Plugins und -Themes erstellen, die nicht auf WordPress.org gehostet werden. Eine Handvoll seiner Beta-Benutzer hat den Dienst sogar genutzt, um Updates für ihre eigenen Beta-Tester zu verteilen, bevor sie eine offizielle Version auf WordPress.org veröffentlichen.

Kernl hostet jedes Plugin oder Design kostenlos, solange es sowohl Open Source als auch frei verfügbar ist. Die Preise für kommerzielle Plugins und Themen liegen zwischen 5 und 25 US-Dollar pro Monat. Der Dienst kann während der Beta-Phase, die voraussichtlich Mitte Februar abgeschlossen sein wird, kostenlos genutzt werden.

Kernl überwacht die Produktlizenzierung nicht

Nach weiteren Nachfragen zu Kernls Position zur Lizenzierung der von ihm gehosteten Produkte erklärt Slingerland, dass er die Lizenzierung seiner Kunden nicht überwachen werde. Das bedeutet, dass Autoren von Nicht-GPL-Themen und Plugins ihre Software gerne über seine Plattform verteilen würden. Da Themes und Plugins abgeleitete Werke von WordPress sind, müssen sie unter der GPL lizenziert werden.

Slingerlands mangelnde Bereitschaft, Nicht-GPL-Software zu überwachen, hat das Potenzial, Kernl zu einem Bienenstock für Produkte zu machen, die die Lizenz von WordPress brechen. Der Dienst macht es einfach, Nicht-GPL-Software zu verteilen, die sich im Admin als reguläre konforme Plugins/Themen ausgibt, wenn es um Updates geht.

Die Verbreitung von Nicht-GPL-Software kann ein Deal Breaker für WordPress-Entwickler sein, die sich stark für die GPL interessieren. Die GPL schützt die Freiheit der Benutzer, die Software für jeden Zweck zu verwenden und zu modifizieren, und viele Entwickler haben ihre Geschäfte und ihren Ruf auf die Wahrung dieser Freiheit aufgebaut.

Software, die von Kernl gehostet wird, kann der GPL-Lizenzierung entsprechen oder nicht, und der Benutzer wird es möglicherweise nie erfahren. Dadurch wird der Benutzer auf eine Weise angreifbar, die bei offiziellen Updates von WordPress.org nicht der Fall ist. Entwickler, die nicht darauf angewiesen sein möchten, eine Plattform zu unterstützen, die das Potenzial hat, Nicht-GPL-Software zu verteilen, sollten sich vielleicht nach einer Alternative umsehen.