Berikut daftar periksa saya tentang kematangan proyek:
Sudahkah proyek mencapai tonggak awal?
Saya akan menghindari menambahkan kode apa pun jika belum mencapai tonggak awal yang dijelaskan sendiri. Saya tidak menyarankan Anda untuk selalu mempercayai pengembang yang mengklaim bahwa proyeknya siap produksi dan selalu mencoba mengevaluasi klaim semacam itu, tetapi Anda harus percaya padanya ketika dia memberi tahu Anda tidak, yaitu memberi label perangkat lunak sebagai versi 0.x, alpha, beta, rilis kandidat dan sebagainya.
Apakah ada dokumentasi yang memadai?
Proyek yang sempurna akan menawarkan:
- Panduan pengguna lengkap dengan contoh
- Panduan integrasi / ekstensi jika itu perpustakaan
- Dokumentasi API
- Kode sumber sepenuhnya didokumentasikan
- Pelacak masalah publik
Apakah pengembang masih berkomitmen pada proyek?
Anda tidak akan pernah tahu apakah pengembang akan tetap berkomitmen di masa depan, kecuali tentu saja itu adalah proyek yang didukung oleh yayasan / perusahaan. Tetapi Anda hampir selalu dapat mengetahui apakah mereka berkomitmen sekarang, dengan memeriksa untuk:
- Aktivitas komit terbaru
- Fitur terbaru (bukan hanya perbaikan bug)
- Kegiatan dokumentasi terbaru (pembaruan dokumen, posting blog, dll)
Indikator kematangan proyek yang baik adalah pengembang generasi kedua, pengembang aktif yang terlibat setelah tonggak awal.
Apakah pengembang dapat dijangkau?
- Apakah mereka merespons bug?
- Apakah mereka menyediakan cara kontak lain, selain dari pelacak masalah generik? Ini adalah item minor pada daftar periksa, tetapi untuk proyek pengembang tunggal, sarana kontak alternatif dapat membantu dalam kasus seperti "kasus pengembang yang hilang" .
Sekarang, untuk pertanyaan Anda yang lebih spesifik:
Kecepatan
Dalam sebuah proyek dengan pelacak isu publik saya pasti akan memeriksa untuk melihat berapa banyak waktu yang dibutuhkan untuk masalah untuk ditutup. Tentu saja kecepatan tidak selalu berarti kualitas, jadi saya mungkin akan melalui masalah tertutup, memilih beberapa yang saya anggap penting dan mengevaluasi waktu dan kualitas respons pengembang.
Kompatibilitas lisensi
Mengenai masalah hukum, jangan pernah mengintegrasikan proyek sumber terbuka dalam basis kode Anda jika Anda tidak 100% yakin bahwa penggunaannya kompatibel dengan lisensi. Jika ragu, Anda selalu dapat bertanya kepada pengembang proyek, atau bahkan bertanya di sini.
Hype komunitas
Anda harus selalu mengevaluasi sensasi. Rekomendasi dari sesama pengembang hampir selalu merupakan indikator yang cukup baik untuk kematangan proyek.
Setiap item pada daftar periksa adalah opsional, kecuali kompatibilitas lisensi. Saya telah mengintegrasikan banyak proyek mati dan atau tidak terdokumentasi dalam kode saya, selalu tergantung pada apa kebutuhan spesifik Anda dan bagaimana Anda melihat kode Anda sendiri berkembang.