- Çerçeve için, genellikle sadece önceden yazılmış modüllerin ve büyük topluluğun bulunduğu büyük ve olgun bir çerçeveyle giderim. Genel olarak, bir çerçeveyi diğeri üzerinden seçmek, kendi kodunuzda harcamanız gereken iş miktarını çok fazla azaltmaz, bazı çerçeve daha güzel bir kodu teşvik edebilir, diğerleri belirli işlemleri kolaylaştırabilir, ancak genellikle çok toplam geliştirme çabası arasında çok az fark vardır. Bununla birlikte, popüler çerçevelerde kaldırabileceğiniz daha önceden yazılmış modüller bulunur ve bu şekilde genellikle daha fazla zaman ve çabadan tasarruf edebilirsiniz.
- Küçük çerçevesiz kütüphane için, gerekirse çok fazla sorun yaşamadan kendiniz değişiklik yapabilirsiniz, bu yüzden genellikle topluluğa ek bir bonus olarak sahip olmayı düşünürüm. Çoğu küçük kütüphane yalnızca tek bir kişi tarafından yönetilir, ancak yine de kendinizi inşa etmekten daha iyidir. Ancak büyük kütüphaneler için olgun, aktif bir topluluğa ve belgelere sahip olmak çok önemlidir, çünkü kendinizi kolayca değiştirebilmeniz mümkün değildir.
- Lisans şarttır. Tek kişilik kütüphaneler için, kütüphanede değişiklikler yapmanız gerekecektir, bu nedenle lisanslarının kabul ettiğiniz şartlar altında bunu yapmanıza izin vermesi önemlidir.
Küçük kütüphaneler için, her zaman çatallanmanız gerektiğini ve projenin zaten terk edildiğini varsaymalısınız. Bu, özellikle proje Github veya BitBucket'te barındırılıyorsa, genellikle bir sorun değildir, çünkü diğer insanların projelerini aptalca kolaylaştırırlar. Küçük kütüphaneler için, orijinal bakıcı gitmişse veya proje yönünü gitmek istemediğiniz yerlere götürmeyi planlıyorsa, projenin bakımını her zaman kendiniz üstlenebilirsiniz.
Proje faaliyeti ile daha az ilgileniyorum, "mükemmeliyet" duygusunu elde eden olgun kütüphane genellikle hata düzeltmeleri yapmak zorundaydı, bu yüzden aktiviteleri yavaşladı. Proje etkinliği, yalnızca kütüphane aktif olarak gelişen bir hedef içeriyorsa önemlidir, örneğin, harici hizmet geliştikçe harici hizmet için bir paketin sürekli olarak güncellenmesi gerekir, bu nedenle aktif geliştirme gereklidir, ancak bir matematik kütüphanesi çok fazla ihtiyaç duymaz ihtiyaç duyduğu tüm özelliklere sahip olduğunda yeni gelişme.
Daha büyük kütüphaneler için işler daha da zorlaşır. Devralma çok daha karmaşıktır, neyse ki daha büyük kütüphaneler genellikle daha olgun oldukları için hızlı hareket etmezler.
@Sam'ın cevabında söylediği gibi, açık kaynak kütüphanesini değerlendirmedeki en önemli şeyin gereksiniminize ne kadar uyduğunu kabul ediyorum. Herhangi bir lisans sorunu çözüldükten sonra, bir açık kaynak kitaplığı kullanmak nadiren bir hatadır, çünkü işler güneye giderse her zaman çatallayabilirsiniz.