Kernl va oferi actualizări de pluginuri private găzduite și teme

Publicat: 2016-01-27

kernl

Jack Slingerland a început să pirateze WordPress în 2008, dar recent cariera sa l-a dus puțin mai departe decât și-ar dori. Ziua este inginer de software senior la CA Technologies din Raleigh, lucrând în React/Redux, Node, ElasticSearch, Grails și Groovy. Însă noaptea este ocupat să construiască Kernl, un serviciu care oferă pluginuri private și actualizări de teme pentru WordPress.

Odată ce un plugin a fost adăugat la serviciu, actualizările livrate de Kernl vor arăta exact ca actualizările de la WordPress.org.

„Caracteristica de bază a Kernl este furnizarea de actualizări private de pluginuri și teme pentru dezvoltatorii WordPress. Cu toate acestea, trăsăturile noastre de diferențiere sunt cele care mă entuziasmează”, a spus Slingerland. „Avem validarea codului de achiziție (deci numai utilizatorii autorizați pot descărca actualizări) și suport pentru integrare continuă (CI).

„Lucrurile CI sunt cu adevărat îngrijite, deoarece le permite dezvoltatorilor WP să-și introducă codul în GitHub sau BitBucket și apoi să îl împacheteze și să fie implementat automat clienților lor. În mod tradițional, CI a fost greu de făcut pe WordPress, deoarece mediul tău de „producție” este adesea ceva pe care nu îl controlezi”, a spus el. „Kernl rezolvă această problemă.”

Ideea pentru Kernl a venit în Slingerland după ce anii precedenți s-au străduit prin munca clienților.

„Un lucru care m-a deranjat în mod constant a fost cât de greu a fost să obțin clienților mei remedieri de erori sau actualizări de caracteristici”, a spus el. „De multe ori nu le gestionam site-urile, așa că obținerea actualizărilor a implicat o mulțime de e-mailuri și de comunicare.

„Inițial am avut ideea pentru Kernl în 2011, dar nu am executat-o ​​până anul trecut”, a spus Slingerland. „Speram că pot ajuta alți oameni să rezolve aceeași problemă pe care am avut-o eu.”

Kernl s-a lansat în alpha privată în mai 2015 cu ~65 de utilizatori alpha. În noiembrie, l-a deschis pentru beta publică, iar serviciul are acum aproximativ 100 de utilizatori beta. În prezent, testerii pun Kernl în treabă:

  • Kernl găzduiește 73 de plugin-uri și 43 de teme (117 în total)
  • Serviciul a procesat 4,07 milioane de verificări de actualizare din luna mai
  • Kernl procesează aproximativ ~2 verificări ale stării actualizării/secundă
  • 14.100 de actualizări au fost descărcate de la Kernl

Cum se compară Kernl cu WP Pusher?

L-am întrebat pe Slingerland despre cum se raportează Kernl la WP Pusher, care permite dezvoltatorilor să implementeze teme și pluginuri WordPress din GitHub și Bitbucket.

„Kernl nu necesită ca utilizatorul final să instaleze nimic în afară de plugin-ul/tema”, a spus Slinglerland. „Dacă înțeleg WP Pusher corect, mai întâi instalați WP Pusher, apoi îi spuneți lui WP Pusher să gestioneze actualizările pentru un anumit plugin/temă prin intermediul depozitului de control al versiunilor. Dar acest lucru trebuie să se întâmple la fiecare instalare de utilizator final și ar putea fi complicat pentru utilizatorii non-tehnici.

„Kernl funcționează perfect cu pluginul/tema dvs., la fel ca cele care sunt instalate din depozitul WordPress.org. Acest lucru face ca instalarea și actualizarea să se simtă familiare și să se integreze perfect”, a spus el.

„Avem și validarea codului de achiziție, care va primi un pic de dragoste și un API după ce vom lansa. Kernl acceptă, de asemenea, versiunea pluginului/temei dvs., astfel încât comiterile intermediare nu sunt trimise aleatoriu clienților dvs..”

Importanța integrării continue

Unul dintre motivele pentru care Slingerland a construit Kernl este că dorește să ajute mai mulți dezvoltatori WordPress să adauge integrare continuă fluxurilor lor de lucru. Acest aspect particular al aplicației (funcția „push to build”) a reprezentat cea mai mare provocare tehnică, dar a fost una dintre cele mai importante probleme de rezolvat de Kernl.

„Există o mulțime de cazuri marginale pe care nu le-am prevăzut, mai ales odată ce am început să mă integrez atât cu BitBucket, cât și cu GitHub”, a spus Slingerland. „În aceste cazuri, testerii beta au fost de neprețuit în a ajuta la depistarea bug-urilor.

„A avea un flux de lucru solid și continuu de integrare și implementare schimbă cu adevărat modul în care te gândești la dezvoltare”, a spus el. „În loc să ai „big bang” o dată pe trimestru lansări de caracteristici, devine mai ușor să iterați ideea dvs. Eșuează rapid, validează-ți ideile/modificările și repetă din nou. Este un mare facilitator al metodologiei de dezvoltare Agile și cred că comunității de plugin/teme WordPress îi lipsea oarecum asta. Încurajează și testarea bună, care este aproape necesară dacă implementați continuu.”

Slingerland vizează Kernl către dezvoltatorii care creează pluginuri și teme WordPress care nu sunt găzduite pe WordPress.org. Câțiva dintre utilizatorii săi beta au folosit chiar serviciul pentru a distribui actualizări pentru propriii testeri beta înainte de a publica o versiune oficială pe WordPress.org.

Kernl va găzdui orice plugin sau temă gratuit, atâta timp cât este atât open source, cât și disponibil gratuit. Prețurile pentru pluginuri și teme comerciale vor varia între 5 USD și 25 USD/lună. Serviciul poate fi utilizat gratuit în perioada beta, care este planificată să fie încheiată la jumătatea lunii februarie.

Kernl nu va asigura licențele pentru produse

După o anchetă suplimentară cu privire la poziția Kernl cu privire la acordarea de licențe pentru produsele pe care le găzduiește, Slingerland afirmă că nu va controla licențele clienților săi. Aceasta înseamnă că autorii de teme și pluginuri non-GPL ar fi bineveniți să-și distribuie software-ul prin intermediul platformei sale. Deoarece temele și pluginurile sunt lucrări derivate ale WordPress, acestea trebuie să fie licențiate conform GPL.

Lipsa Slingerland de a controla software-ul non-GPL are potențialul de a face din Kernl un stup pentru produsele care încalcă licența WordPress. Serviciul facilitează distribuirea de software non-GPL care se mascadă în administrator ca plugin-uri/teme obișnuite când vine vorba de actualizări.

Distribuirea de software non-GPL poate fi un detaliu pentru dezvoltatorii WordPress care au un sentiment ferm față de GPL. GPL protejează libertatea utilizatorilor de a utiliza și modifica software-ul în orice scop, iar mulți dezvoltatori și-au construit afacerile și reputația pe baza acestei libertăți.

Software-ul găzduit de Kernl poate sau nu să respecte licențele GPL, iar utilizatorul poate să nu știe niciodată. Acest lucru lasă utilizatorul vulnerabil într-un mod în care actualizările oficiale de la WordPress.org nu o fac. Dezvoltatorii care nu doresc să sprijine o platformă care are potențialul de a distribui software non-GPL ar putea dori să caute o alternativă.