Kapan proyek Open Source siap diproduksi?

16

Ketika Anda menemukan perpustakaan / proyek open source baru, kriteria apa yang Anda lihat sebelum memasukkannya ke dalam basis sumber Anda.

  • Apakah ada pertanyaan hukum yang perlu Anda jawab?

  • Apakah Anda mencari sejumlah kecepatan pengembangan tertentu?

  • Apakah komunitas buzz alasan yang cukup baik?

  • Apakah keputusan Anda berubah jika Anda yang berada di jalur untuk proyek tersebut?

  • Apakah kompleksitas domain atau kode mengubah cara Anda berpikir tentang hal itu?

memutarkan lagi
sumber

Jawaban:

19

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.

yannis
sumber
3

Selain jawaban yang dinyatakan oleh Yannis Rizos, saya akan mencobanya di sisi pendek atau proyek uji jika memungkinkan. Ini akan memungkinkan Anda untuk terbiasa dengan keanehan suatu produk sebelum hal-hal penting dipertaruhkan. Proyek tidak boleh terlalu kecil, karena ini akan meninggalkan terlalu banyak basis kode yang belum dijelajahi. Ambillah untuk melihat apakah dapat melakukan apa yang Anda inginkan darinya tanpa terlalu banyak kesulitan. Jika Anda tidak dapat membuat dasar-dasarnya bekerja sendiri dengan bantuan dokumentasi dan satu atau dua pertanyaan ke komunitas proyek, Anda mungkin ingin mempertimbangkan mencari basis kode yang lebih sesuai didukung. Jika tes awal berhasil untuk Anda, Anda dapat mulai menggunakannya secara nyata. Saya harus berurusan dengan masalah ini di masa lalu, dan setelah dua kali pertama saya membuat aturan untuk diri sendiri untuk menguji hal-hal baru sebelum membawanya ke produksi,

BP bijak: memperkenalkan hal-hal baru tidak boleh dilakukan tanpa suatu bentuk fase persiapan / pembelajaran.

Onno
sumber