WordPress eklentilerini değiştirme
Bir WordPress eklentisinde değişiklik yapmakla ilgili muhtemelen çok basit bir sorum var. Açık kaynak kodlu ve eklenti geliştirmede yeni olabilecek kodla çalışma konusunda çok yeni olduğum için sorumun basitliği için özür dilerim.
Üzerinde çalıştığım bir proje için iyi bir çözüm sağlayan bir eklenti buldum. Ancak, ihtiyaçlarım için daha iyi çalışmasını sağlamak için kodu değiştirdim. Eklenti dayalı bir "sonradan GPLv2 veya" lisans vardır bu eklenti bu modifikasyonlar kadar uzun not gibi herhangi yaptığım değiştirir ve ben "Daha sonra GPLv2 veya" altında eklentiyi yayımlamak olduğunu, gayet söylemek gibi görünüyor lisans da.
Eklentide yaptığım değişiklikler nedeniyle, onu istemci çalışmasının bir parçası olarak başkalarına sağlayabilmek istiyorum. Ancak ilerlemenin en iyi yolunun ne olduğundan emin değilim.
Eklentiyi bir "GPLv2 veya sonraki" lisansıyla yayınlamak ve kendim güncellemek daha mı iyi olur (eklentide çok küçük değişiklikler yaptım )?
Veya işbirliği yapmak ve değişikliklerimi önermek için eklentinin orijinal sahibiyle iletişime geçmem daha mı iyi olur? Orijinal sahip değişikliklerimi kabul etmezse, seçeneklerim nelerdir?
@ Wrydere'nin sorularını yanıtlamak için:
- Eklenti ücretsizdir, şu anda ücretli yükseltmeler sunmuyor veya herhangi bir kâr sağlamıyor.
- Eklentinin kendi sürümümü sürdürmek için kesinlikle zamanım yok. Müşteriler için yapabilsem güzel olurdu, ama bunun gerçekçi bir şekilde olduğunu görmüyorum. Bununla birlikte, eklentinin kendi çatalını tutacak olsaydım, orijinal sahibi güncellemeleri zorlarsa, bu güncellemeleri (kendi değişikliklerimle birlikte) kabul etmem, WordPress panosundan sürekli olarak eklentiyi güncellememi istemesini ister (çünkü kod yok "eşleşmiyor")? Temel olarak, güncellemeler her basıldığında sahibinden gelen güncellemeleri kabul edebilmek ve WordPress eklentiyi "güncellemem" gerektiğini bana bildirmeden değişikliklerimi korumaya devam etmek istiyorum.
- Şimdilik hayır, davranışın ikincil bir eklentide gerçekleştirilmesi gerektiğini düşünmüyorum. Olabilir mi? Muhtemelen. Ancak işin zor kısmının çoğu bu eklenti ile zaten yapıldı, bu nedenle yeni bir tane oluşturmak tekerleği yeniden oluşturmak olacaktır.
Yanıtlar
Açık kaynak yazılım ruhu içinde, kesinlikle orijinal geliştiriciyle iletişime geçerek başlayacağım. Değişiklikleriniz kod tabanında bir iyileştirmeyse ve eklentinin işlevselliğini yeni bir yöne almazsa, işbirliği memnuniyetle karşılanabilir.
Değişiklikleriniz orijinal geliştirici tarafından reddedilirse, ilerlemeden önce dikkate almanız gereken başka şeyler vardır:
Başlangıçta kurduğunuz eklenti ücretsiz bir eklenti mi yoksa ücretli mi? Yoksa ücretsiz mi ama ücretli yükseltmeler mi sunuyor (ücretsiz)? Herhangi bir şekilde gelir getiriyorsa, onu ayrıştırmak ve küçük değişikliklerle yeniden piyasaya sürmek ahlaki açıdan sorgulanabilir.
Orijinal eklentinin yeni, çatallı bir sürümünü sürdürmek için zamanınız ve bant genişliğiniz var ve arzunuz var mı? Değilse, muhtemelen çok küçük değişikliklerinizi başkalarının eline geçirmek için onu halka açıklamak istemezsiniz. Kendi projeleriniz için eklentinin kendi çatalını korumaktan daha iyi olabilirsiniz.
Davranıştaki değişiklikler ikincil bir eklentide gerçekleştirilebilir mi? Diğer eklentileri gerektiren / değiştiren / inşa eden epeyce eklenti örneği var. Bu yol, hem WP çekirdeğinde hem de ilk eklentide yapılan güncellemelerden haberdar olmayı gerektirir, bu bir baş ağrısı olabilir, ancak değişikliklerinizi kancalar, eylemler ve (güvenli ve mantıklı) orijinal eklentiden işlevlerin geçersiz kılınması yoluyla yapmak mümkünse, bu, keşfetmek için bir rota olabilir.
Kesin bir cevap vermediğim için üzgünüm, ancak durum birçok olası sonuca işaret edebilir.