Kernl, Barındırılan Özel Eklenti ve Tema Güncellemeleri Sunacak

Yayınlanan: 2016-01-27

çekirdek

Jack Slingerland, WordPress'i 2008'de hacklemeye başladı, ancak son zamanlarda kariyeri onu istediğinden biraz daha uzağa götürdü. Gündüzleri Raleigh'deki CA Technologies'de Kıdemli Yazılım Mühendisi olarak çalışıyor ve React/Redux, Node, ElasticSearch, Grails ve Groovy'de çalışıyor. Ancak geceleri, WordPress için özel eklenti ve tema güncellemeleri sağlayan bir hizmet olan Kernl'i oluşturmakla meşgul.

Hizmete bir eklenti eklendiğinde, Kernl'den gelen güncellemeler, WordPress.org'dan gelen güncellemeler gibi görünecektir.

“Kernl'in temel özelliği, WordPress geliştiricileri için özel eklenti ve tema güncellemeleri sağlamaktır. Ancak, beni heyecanlandıran şey farklılaşan özelliklerimiz," dedi Slingerland. “Satın alma kodu doğrulaması (yalnızca yetkili kullanıcılar güncellemeleri indirebilir) ve sürekli entegrasyon (CI) desteğine sahibiz.

"CI öğeleri gerçekten temiz, çünkü WP geliştiricilerinin kodlarını GitHub veya BitBucket'e göndermelerine ve ardından otomatik olarak paketlenip müşterilerine dağıtmalarına olanak tanıyor. CI, WordPress'te geleneksel olarak zordu çünkü 'üretim' ortamınız genellikle kontrol etmediğiniz bir şey” dedi. "Kernl bu sorunu çözüyor."

Kernl fikri, Slingerland'a müşteri çalışmasıyla geçen yılların ardından geldi.

"Beni sürekli rahatsız eden şeylerden biri, müşterilerime herhangi bir hata düzeltmesi veya özellik güncellemesi almanın ne kadar zor olduğuydu" dedi. “Sitelerini genellikle yönetmedim, bu yüzden güncellemeleri almak çok fazla e-posta ve iletişim yükü gerektiriyordu.

Slingerland, "Aslında Kernl fikri 2011'de vardı, ancak geçen yıla kadar hiç uygulamadım" dedi. "Başkalarının benim yaşadığım sorunu çözmesine yardımcı olabileceğimi umuyordum."

Kernl, Mayıs 2015'te ~65 alfa kullanıcısıyla özel alfada kullanıma sunuldu. Kasım ayında herkese açık beta için açtı ve hizmetin şu anda yaklaşık 100 beta kullanıcısı var. Testçiler şu anda Kernl'i adım adım ilerletiyor:

  • Kernl, 73 eklenti ve 43 tema barındırıyor (toplam 117)
  • Hizmet, Mayıs ayından bu yana 4.07 milyon güncelleme kontrolü işledi
  • Kernl ~2 güncelleme durumu kontrolü/saniye civarında işler
  • Kernl'den 14.100 güncelleme indirildi

Kernl, WP Pusher ile nasıl karşılaştırılır?

Slingerland'a, Kernl'in geliştiricilerin GitHub ve Bitbucket'ten WordPress temalarını ve eklentilerini dağıtmasına olanak tanıyan WP Pusher'a nasıl ulaştığını sordum.

Slinglerland, "Kernl, son kullanıcınızın eklentiniz/temanız dışında herhangi bir şey yüklemesini gerektirmez" dedi. “WP Pusher'ı doğru anlarsam, önce WP Pusher'ı yüklersiniz, ardından WP Pusher'a belirli bir eklenti/tema için sürüm kontrol deposu aracılığıyla güncellemeleri yönetmesini söylersiniz. Ancak bu, her son kullanıcı kurulumunda gerçekleşmelidir ve teknik olmayan kullanıcılara karmaşık gelebilir.

“Kernl, tıpkı WordPress.org deposundan yüklenenler gibi, eklentiniz/temanızla sorunsuz bir şekilde çalışır. Bu, yükleme ve güncellemeyi tanıdık hissettiriyor ve sorunsuz bir şekilde uyum sağlıyor” dedi.

"Ayrıca, canlı yayına girdikten sonra biraz sevgi ve bir API alacak olan satın alma kodu doğrulamamız var. Kernl ayrıca eklentinizin/temanızın sürüm oluşturmasını da destekler, böylece aracı taahhütler müşterilerinize rastgele gönderilmez.”

Sürekli Entegrasyonun Önemi

Slingerland'ın Kernl'i oluşturmasının nedenlerinden biri, daha fazla WordPress geliştiricisinin iş akışlarına sürekli entegrasyon eklemesine yardımcı olmak istemesidir. Uygulamanın bu özel yönü ("inşa etmek için bas" özelliği) en büyük teknik zorluğu ortaya çıkardı, ancak Kernl'in çözmesi gereken en önemli sorunlardan biriydi.

Slingerland, "Özellikle hem BitBucket hem de GitHub ile entegrasyona başladığımda, öngörmediğim birçok uç durum var" dedi. "Bu durumlarda, beta test cihazları, hataların ortaya çıkmasına yardımcı olmak için çok değerliydi.

"Sağlam bir sürekli entegrasyon ve dağıtım iş akışına sahip olmak, geliştirme hakkındaki düşüncelerinizi gerçekten değiştiriyor" dedi. “Çeyrekte bir özellik yayınlandığında 'büyük patlama' yaşamak yerine, fikrinizi tekrarlamak daha kolay hale geliyor. Hızlı başarısız olun, fikirlerinizi/değişikliklerinizi doğrulayın ve tekrar tekrarlayın. Çevik geliştirme metodolojisinin büyük bir etkinleştiricisidir ve WordPress eklenti/tema topluluğunun bundan biraz yoksun olduğunu hissediyorum. Sürekli olarak dağıtıyorsanız neredeyse gerekli olan iyi testleri de teşvik eder.”

Slingerland, Kernl'i WordPress.org'da barındırılmayan WordPress eklentileri ve temaları oluşturan geliştiricilere hedefliyor. Birkaç beta kullanıcısı, WordPress.org'da resmi bir sürüm yayınlamadan önce kendi beta test kullanıcıları için güncellemeleri dağıtmak için hizmeti kullanıyor.

Kernl, hem açık kaynak kodlu hem de ücretsiz olarak erişilebilir olduğu sürece herhangi bir eklentiyi veya temayı ücretsiz olarak barındıracaktır. Ticari eklentiler ve temalar için fiyatlandırma ayda 5 – 25 ABD Doları arasında değişecektir. Şubat ayının ortalarında tamamlanması planlanan beta döneminde hizmetin kullanımı ücretsizdir.

Kernl Ürün Lisansını Polise Vermeyecek

Kernl'in barındırdığı ürünlerin lisanslanmasına ilişkin konumuyla ilgili daha fazla araştırma yaptıktan sonra Slingerland, müşterilerinin lisanslarını denetlemeyeceğini belirtti. Bu, GPL olmayan temaların ve eklentilerin yazarlarının yazılımlarını kendi platformu aracılığıyla dağıtabilecekleri anlamına gelir. Temalar ve eklentiler WordPress'in türev çalışmaları olduğundan, GPL kapsamında lisanslanmaları gerekir.

Slingerland'ın GPL olmayan yazılımları denetleme konusundaki isteksizliği, Kernl'i WordPress lisansını bozan ürünler için bir kovan haline getirme potansiyeline sahiptir. Hizmet, güncellemeler söz konusu olduğunda yöneticide normal uyumlu eklentiler/temalar gibi görünen GPL olmayan yazılımların dağıtımını kolaylaştırır.

GPL olmayan yazılımları dağıtmak, GPL hakkında güçlü hisseden WordPress geliştiricileri için bir anlaşma kırıcı olabilir. GPL, kullanıcıların yazılımı herhangi bir amaç için kullanma ve değiştirme özgürlüğünü korur ve birçok geliştirici, işlerini ve itibarlarını bu özgürlüğü desteklemek üzerine inşa etmiştir.

Kernl tarafından barındırılan yazılımlar GPL lisanslamasına uygun olabilir veya olmayabilir ve kullanıcı bunu asla bilemeyebilir. Bu, kullanıcıyı WordPress.org'daki resmi güncellemelerin yapmayacağı şekilde savunmasız bırakır. GPL olmayan yazılımları dağıtma potansiyeline sahip bir platformu desteklemek için paket olmak istemeyen geliştiriciler, bir alternatif aramak isteyebilir.