Açık kaynak kodlu bir projenin güzel bir şekilde oluşturulması


27

Zamanı geldi.

Vizyonunuzu, sevdiğiniz, üzerinde çalıştığınız, tartıştığınız ve tahmin edilemez miktarlarda kod ve kavrayışa katkıda bulunduğunuz açık kaynak projesine eklemek için uzun ve çok çalıştınız.

Ancak, mevcut geliştiricilerle çalışmaz.

Sonunda kodu doldurmanız gerekiyor.

Bunu nasıl yapıyorsunuz ve mevcut proje ile mümkün olan en iyi koşullarda kalıyor musunuz? Nasıl demiyorsun, " Ah evet? Seni çatal! "

Çapraz-polinasyon mekaniğinin yanı sıra çatallanma nedeninin sağlam, mantıklı ve kabul edilebilir olduğunu varsayarak, hangi meseleler ortaya çıkıyor?

Rekabet? Kaynak atıyor mu? Kullanıcı kaçakçılığı mı?

Artık sorun olarak görülmeyecek kadar çeşitlendirilinceye kadar bu tartışmalı zor ve uzun süreçten nasıl geçiyorsunuz?

Kararın arkasındaki gerekçeyi tartışmak yerine, lütfen kodun onaylanmasının en iyi genel çözüm olduğuna ve şimdiki meselenin mümkün olan en iyi şekilde ilerlemek olduğuna ikna olduğunuzu varsayalım.

-Adam

Yanıtlar:


20

Kodun kendi çatalında mı çalışmak istiyorsun, yoksa topluluğu parçalamak mı istiyorsun?

Dahili olarak birkaç projeden bahsettik. Bir değişiklik yapar, mal sahiplerine gönderirdik, "teşekkür yok" derlerdi ve omuzlarımızı silip içsel olarak getirirdik ve kendimizi korurduk.

Zihin, bunlar muazzam projeler değildi, ama aynen böyle yürüyor. Hiçbir şey yayınlamadık, bir siteye ev sahipliği yaptık veya her neyse. Sadece kaynak tabanının geri kalanıyla müşterilerimize kaynak aşağı doğru itiyoruz.

Yaptığımız değişiklikleri kamuya açık bir şekilde herhangi bir kamusal alanda "e-posta" listesine sokmamıza hiç gerek yoktu.

Orijinalle eşliği korumak istiyorsanız, o zaman yama yönetimi, birleştirme ve her neyse agresif olmanız gerekir.

Rahatsız etmek istemiyorsan, yapma ... Genel amaçlı olmadıkça, halka açık bir şey yapmanıza gerek yok, yalnızca kendi projeleriniz için çatallı bir sürüme ihtiyaç duymak yerine.

Kaynak kullanılacaktır, o yüzden kullanın.


8

Açık kaynak kodlu projelerin çoğunda, "çatal" kelimesi çoğu zaman sıcak algılanmıyor, kişisel olarak, belirli bir dizi özellik geliştirmek için bir "konu dalı" üzerinde çalışmayı isteme deneyimini çok daha fazla memnuniyetle karşıladım.

Ve bu sadece anlamlıdır: "çatallar" doğası gereği rakiplerdir, oysa "konu dalları" en azından tasarımdan söz eder - nihayetinde projeye katılır / katkıda bulunurlar.


5

Öncelikle sadece deneysel yeniden yapılandırma yapmak istediğinizi söyleyin. Bilirsin, oynamak istediğin bazı fikirler. Ancak bu değişiklikler, projenin ana şubesiyle geriye dönük uyumluluktan vazgeçmeyi gerektirebilir, bu yüzden oradaki değişiklikleri yapmak istemezsiniz.

O zaman çatalını yarat. Elbette siz sorumlu bir geliştiricisiniz, bu nedenle tüm kodu revizyon kontrolü altına alın. Launchpad veya SourceForge veya Google Code veya her neyse kullanın.

Bir süre alçaktan yat ve kendin üzerinde çalış. Ardından, yarattığınız şeye "göz atmak" için güvendiğiniz birini edinin. Sonra başka biri. Bundan bir süre sonra, kaynağınızı tuttuğunuz her yerde basit bir proje web sitesi yapın.

O zamana kadar, asıl proje üzerinde çalışmadığını düşündüğünüz millet muhtemelen harekete geçecek, bu yüzden rahatsız edilecek kimse kalmayacak. Yeni projeniz takipçileri kazandıkça, orijinal proje faaliyette düşecektir.


Codelogic adlı kullanıcının yorumu:

Sağ; OP'nin geride bırakmak istediği kişilerin projeyi kendi başlarına sürdürme kabiliyetleri olmadığını varsayıyordum.

"Örgütler hayatta, insanlar yaşamıyor" dediğini duydum. Diğer bir deyişle, hiç kimse o proje için kritik öneme sahip değildir, geri kalan takım o kişinin ayrılışı tarafından bırakılan boşluğu telafi edemez.

Ancak, açık kaynakta, bazen kimsenin kurucusuz bir projeyi yürütme isteğine, yeteneğine ve zamanına sahip olmadığı doğrudur .


IMHO, cevabınızın son kısmı çok küstahça. Popüler bir projenin bir çataldan dolayı faal olarak azalması yaygın değildir.

Tabii ki, söz konusu projenin öncelikli olarak istila etmeye karar veren tek geliştiricinin işi olmadığını farz etmek.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.