Benim deneyimim, ulaşılması gereken bir denge olduğu.
Şu anda, yazdığım kodu kullanan çok heyecan verici bir FOSS projesi gibi görünen bir üretici üreten bir geliştiriciyle çalışıyorum (soruları yanıtlamak ve geliştirme önerileri sağlamak için herhangi bir kod görmeden) çalışıyorum. Kamuya açıklanması, projeyi uzun vadede daha iyi hale getirecek, ancak zaten yazılmış ve zaten “çalışmakta olan” önemli kod yeniden yazmalarını gerektiren tasarım değişikliklerinin gerçekleşmesiyle defalarca ertelendi. Benim görüşüme göre, çalışacak ancak kusurlu bir yayın yapıldığı zaman, göstermeye çalışan bir şey olduğu taktirde, değişiklikler için (ve gerçek yamalar) fikirleri bu projeyle ilgilenen daha geniş bir topluluktan gelip ilerlemekten ziyade daha geniş bir topluluktan gelebilirdi. Sorunlar yavaş yavaş, her seferinde bir geliştirici bunları düşünür ve kendimden ve topluluğun diğer ilgili üyelerinden tasarım geribildirimi ister. Bu yüzden, bu açıdan, "erken bırakma, sık sık bırakma" konusunda bir savunucuyum.
Öte yandan, düşük kaliteli sürümler yeni bir projeyi yerden bile önce kötü görünmesine neden olabilir. Gördüğüm bazı tuzaklar şunlardır:
- Arayüz tanımlarına sahip iskelet ağaçları ancak kod yok.
- Geliştiriciden başka hiç kimse için başarıyla derlenmeyen kod.
- Programın nasıl oluşturulacağı / çalıştırılacağı hakkında talimat yok.
- Hangi yönlerin işe yarayacağına dair hiçbir belge yok.
- Programın ne yaptığını ya da ne yapacağını net olarak bilmiyoruz.
- Yararlılık göstergesinin olmaması.
Son nokta için, şöyle şeyler düşünüyorum:
- Merhaba dünya tipi bir programı bile derleyemeyen / çalıştıramayan derleyici / tercüman.
- En azından bir çeşit örnek program çalıştıramayan ya da başka bir şey yaptığını gösteremeyen emülatör.
- Hiçbir şey yapamayan görüntü işleme aracı, değiştirilmemiş görüntüyü yükleyip yeniden kaydeder.
- Başlık ekranı dışında hiçbir şey olmayan oyun.
Bu tür sorunlar, başlangıçta çalışma kodunun eksikliği konusunda çok açık olmadıkça, titremesi zor bir "buharlı yazılım" imajına neden olur.
Son olarak, sürüm numaralarınızı anlamlı hale getirin. Projenizi "1.0" olarak adlandırmayın, kullanıcılar çökmesini beklemeden ne beklerse onu yapmayın. İlk kamuoyunu serbest bırakmak için "0.5" civarında sürüm numaralarını kullanma ve oradan gitme konusunda her zaman şansım oldu, ama aynı zamanda "0.1" veya "0.10" gibi şeyler de mantıklı geldi.