Açık Kaynak projesi ne zaman üretime hazırdır?


16

Yeni bir açık kaynak kitaplığı / projesi bulduğunuzda, kaynak tabanınıza eklemeden önce hangi ölçütlere bakarsınız?

  • Cevaplamanız gereken yasal sorular var mı?

  • Belli bir gelişme hızı mı arıyorsunuz?

  • Topluluk vızıltı yeterince iyi bir sebep midir?

  • Proje hattında sizseniz kararınız değişiyor mu?

  • Alanın veya kodun karmaşıklığı, bu alandaki düşünme şeklinizi değiştiriyor mu?

Yanıtlar:


19

İşte proje olgunluğuna ilişkin kontrol listem:

Proje ilk dönüm noktasına ulaştı mı?

Kendi tarif edilen ilk kilometre taşına ulaşmamışsa herhangi bir kod eklemekten kaçınırım. Her zaman projesinin üretime hazır olduğunu iddia eden bir geliştiriciye güvenmenizi ve her zaman bu iddiaları değerlendirmeye çalışmanızı önermem, ancak size söylemediğinde kesinlikle ona güvenmelisiniz, yani yazılımı 0.x olarak etiketlemelisiniz, alfa, beta, sürüm adayı vb.

Yeterli dokümantasyon var mı?

Mükemmel bir proje şunları sunar:

  • Örneklerle dolu kullanım kılavuzu
  • Bir kütüphane ise bir entegrasyon / uzantı kılavuzu
  • API belgeleri
  • Tamamen belgelenmiş kaynak kodu
  • Genel bir sorun izleyici

Geliştiriciler hala projeye bağlı mı?

Tabii ki bir vakıf / şirket destekli proje olmadıkça geliştiricilerin gelecekte de kararlı kalacağını asla anlayamazsınız. Ancak hemen hemen her zaman şu anda taahhütte olup olmadıklarını kontrol ederek şunları kontrol edebilirsiniz:

  • Son taahhüt faaliyeti
  • Son özellikler (sadece hata düzeltmeleri değil)
  • Son dokümantasyon etkinliği (doküman güncellemeleri, blog gönderileri vb.)

Ayrıca, proje olgunluğunun iyi bir göstergesi, ilk kilometre taşlarından sonra dahil olan ikinci nesil geliştiriciler, aktif geliştiricilerdir.

Geliştiricilere ulaşılabilir mi?

  • Hatalara cevap veriyorlar mı?
  • Genel bir sorun izleyici dışında başka iletişim yolları sağlıyorlar mı? Bu, kontrol listesindeki küçük bir öğedir, ancak tek geliştirici projeleri için "eksik geliştiricinin durumu" gibi durumlarda alternatif iletişim yöntemleri yardımcı olabilir .

Şimdi, daha spesifik sorularınız için:

hız

Genel sorun izleyiciye sahip bir projede, sorunların kapanması için ne kadar zaman geçtiğini kesinlikle kontrol ederim. Tabii ki hız her zaman kalite anlamına gelmez, bu yüzden muhtemelen kapalı konulardan geçirdim, önemli olduğunu düşündüğüm birkaç tane seçtim ve geliştiricilerin yanıt süresini ve kalitesini değerlendirdim.

Lisans uyumluluğu

Yasal konulara gelince, açık bir projeyi asla kod tabanınıza entegre etmeyin, eğer onu kullanımınızın lisansıyla uyumlu olduğundan% 100 emin değilseniz. Şüpheniz varsa, projenin geliştiricilerine her zaman sorabilir, hatta burada isteyebilirsiniz.

Topluluk hype

Her zaman hype değerlendirmelisiniz. Diğer geliştiricilerin önerileri neredeyse her zaman proje olgunluğunun yeterince iyi bir göstergesidir.

Kontrol listesindeki her öğe, lisans uyumluluğu dışında isteğe bağlıdır. Kodumda çok sayıda ölü veya belgesiz proje entegre ettim, her zaman özel ihtiyaçlarınızın ne olduğuna ve kendi kodunuzun nasıl geliştiğini nasıl gördüğünüze bağlıdır.


3

Yannis Rizos'un verdiği cevaba ek olarak, kısa bir denemede veya mümkünse test projesinde deneyeceğim. Bu, herhangi bir önemli tehlikeye girmeden önce bir ürünün tuhaflıklarına aşina olmanızı sağlayacaktır. Proje çok küçük olmamalıdır, çünkü bu kod tabanının çok fazla keşfedilmeyecektir. Çok fazla güçlük çekmeden ondan istediğinizi yapıp yapamayacağınızı görmek için bir dönüş yapın. Temel bilgileri dokümantasyon ve proje topluluğuna bir veya iki soru yardımıyla kendi başınıza çalıştıramazsanız, daha uygun şekilde desteklenen bir kod tabanına bakmayı düşünebilirsiniz. İlk test sizin için işe yarıyorsa, gerçek için kullanmaya başlayabilirsiniz. Geçmişte bu sorunla uğraşmak zorunda kaldım ve ilk iki kez, üretime başlamadan önce yeni şeyleri test etmeyi kendim için bir kural haline getirdim,

BP akıllıca: yeni şeyler tanıtmak, bir tür hazırlık / öğrenme aşaması olmadan asla yapılmamalıdır.

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.