Kernl zaoferuje hostowane prywatne aktualizacje wtyczek i motywów
Opublikowany: 2016-01-27
Jack Slingerland zaczął hakować WordPressa w 2008 roku, ale ostatnio jego kariera zaprowadziła go nieco dalej, niż by sobie tego życzył. Na co dzień jest starszym inżynierem oprogramowania w CA Technologies w Raleigh, pracuje w React/Redux, Node, ElasticSearch, Grails i Groovy. Ale w nocy jest zajęty tworzeniem Kernl, usługi, która zapewnia prywatne aktualizacje wtyczek i motywów dla WordPressa.
Po dodaniu wtyczki do usługi aktualizacje dostarczane przez Kernl będą wyglądały dokładnie tak, jak aktualizacje z WordPress.org.
„Podstawową funkcją Kernl jest dostarczanie prywatnych aktualizacji wtyczek i motywów dla programistów WordPress. Jednak nasze wyróżniające cechy są tym, co mnie ekscytuje” – powiedział Slingerland. „Mamy weryfikację kodu zakupu (dzięki czemu tylko autoryzowani użytkownicy mogą pobierać aktualizacje) i wsparcie ciągłej integracji (CI).
„Ci jest naprawdę fajne, ponieważ pozwala programistom WP wepchnąć swój kod do GitHub lub BitBucket, a następnie automatycznie spakować go i wdrożyć u swoich klientów. CI jest tradycyjnie trudne do zrobienia na WordPressie, ponieważ twoje środowisko „produkcyjne” jest często czymś, czego nie kontrolujesz” – powiedział. „Kernl rozwiązuje ten problem”.
Pomysł na Kernl pojawił się w Slingerland po ubiegłych latach przedzierania się przez pracę z klientami.
„Jedną rzeczą, która ciągle mnie dręczyła, było to, jak trudno było uzyskać poprawki błędów lub aktualizacje funkcji moim klientom” – powiedział. „Często nie zarządzałem ich witrynami, więc otrzymywanie aktualizacji wiązało się z dużym obciążeniem e-mailem i komunikacją.
„Pierwotnie wpadłem na pomysł Kernla w 2011 roku, ale nigdy nie zrealizowałem go aż do zeszłego roku” – powiedział Slingerland. „Miałem nadzieję, że pomogę innym rozwiązać ten sam problem, który miałem”.
Kernl został uruchomiony w prywatnej wersji alfa w maju 2015 r. z ~65 użytkownikami alfa. W listopadzie otworzył go dla publicznej wersji beta, a serwis ma obecnie około 100 użytkowników beta. Testerzy testują obecnie Kernla:
- Kernl obsługuje 73 wtyczki i 43 motywy (łącznie 117)
- Usługa przetworzyła 4,07 mln sprawdzeń aktualizacji od maja
- Kernl przetwarza około ~2 sprawdzenia stanu aktualizacji na sekundę
- 14 100 aktualizacji zostało pobranych z Kernl
Jak Kernl wypada w porównaniu z WP Pusher?
Zapytałem Slingerlanda o to, jak Kernl mierzy się z WP Pusher, który umożliwia programistom wdrażanie motywów WordPress i wtyczek z GitHub i Bitbucket.
„Kernl nie wymaga od użytkownika końcowego instalowania czegokolwiek poza wtyczką/motywem” — powiedział Slinglerland. „Jeśli dobrze rozumiem WP Pusher, najpierw instalujesz WP Pusher, a następnie mówisz WP Pusher, aby zarządzał aktualizacjami dla danej wtyczki / motywu za pośrednictwem repozytorium kontroli wersji. Ale musi się to zdarzyć przy każdej instalacji użytkownika końcowego i może wydawać się skomplikowane dla użytkowników nietechnicznych.
„Kernl działa bezproblemowo z Twoją wtyczką/motywem, podobnie jak te, które są instalowane z repozytorium WordPress.org. Dzięki temu instalacja i aktualizacja są znajome i płynnie się wtapiają” – powiedział.
„Mamy również weryfikację kodu zakupu, która otrzyma trochę miłości i API po uruchomieniu. Kernl obsługuje również wersjonowanie wtyczki/motywu, dzięki czemu pośrednie zatwierdzenia nie są losowo wysyłane do klientów”.

Znaczenie ciągłej integracji
Jednym z powodów, dla których Slingerland zbudował Kernl, jest chęć pomocy programistom WordPress w dodawaniu ciągłej integracji do swoich przepływów pracy. Ten konkretny aspekt aplikacji (funkcja „push to build”) stanowił największe wyzwanie techniczne, ale był jednym z najważniejszych problemów do rozwiązania przez Kernl.
„Istnieje wiele przypadków brzegowych, których nie przewidziałem, zwłaszcza gdy zacząłem integrować się zarówno z BitBucket, jak i GitHub”, powiedział Slingerland. „W takich przypadkach beta testerzy byli nieocenieni w pomocy w wykrywaniu błędów.
„Posiadanie solidnego przepływu pracy ciągłej integracji i wdrażania naprawdę zmienia sposób myślenia o programowaniu” — powiedział. „Zamiast „wielkiego wybuchu” raz na kwartał wypuszczanych funkcji, łatwiej jest iterować swój pomysł. Porażka szybko, zweryfikuj swoje pomysły/zmiany i powtórz iterację. Jest to duży czynnik umożliwiający rozwój metodologii Agile i wydaje mi się, że społeczności wtyczek/motywów WordPress tego brakowało. Zachęca również do dobrego testowania, co jest prawie wymagane w przypadku ciągłego wdrażania”.
Slingerland kieruje Kernl do programistów, którzy tworzą wtyczki i motywy WordPress, które nie są hostowane na WordPress.org. Kilku jego użytkowników beta korzystało nawet z tej usługi do rozpowszechniania aktualizacji dla swoich własnych beta testerów, zanim opublikują oficjalną wersję na WordPress.org.
Kernl będzie hostować dowolną wtyczkę lub motyw za darmo, o ile jest zarówno open source, jak i bezpłatnie. Ceny komercyjnych wtyczek i motywów wahają się od 5 USD do 25 USD miesięcznie. Z usługi można korzystać bezpłatnie w okresie beta, który ma się zakończyć w połowie lutego.
Kernl nie będzie nadzorował licencjonowania produktów
Po dalszym dochodzeniu w sprawie stanowiska Kernla w sprawie licencjonowania produktów, które obsługuje, Slingerland oświadcza, że nie będzie nadzorował licencjonowania swoich klientów. Oznacza to, że autorzy motywów i wtyczek spoza GPL byliby mile widziani do rozpowszechniania swojego oprogramowania za pośrednictwem jego platformy. Ponieważ motywy i wtyczki są dziełami pochodnymi WordPressa, muszą być objęte licencją GPL.
Brak woli Slingerlanda do nadzorowania oprogramowania nie objętego GPL może sprawić, że Kernl stanie się ula dla produktów, które łamią licencję WordPressa. Usługa ułatwia dystrybucję oprogramowania innego niż GPL, które podszywa się pod administratora jako zwykłe zgodne wtyczki/motywy, jeśli chodzi o aktualizacje.
Dystrybucja oprogramowania nie objętego GPL może być przełomem dla programistów WordPressa, którzy są mocno przekonani o GPL. GPL chroni wolność użytkowników do używania i modyfikowania oprogramowania w dowolnym celu, a wielu programistów zbudowało swoją działalność i reputację na utrzymaniu tej wolności.
Oprogramowanie udostępniane przez Kernl może, ale nie musi być zgodne z licencją GPL, a użytkownik może nigdy się nie dowiedzieć. Naraża to użytkownika na podatność, w przeciwieństwie do oficjalnych aktualizacji WordPress.org. Deweloperzy, którzy nie chcą być zaangażowani we wspieranie platformy, która ma potencjał do rozpowszechniania oprogramowania nie objętego GPL, mogą chcieć poszukać alternatywy.
