Bendera peringatan apa yang harus saya perhatikan ketika memilih perangkat lunak sumber terbuka? [Tutup]


13

Ketika membandingkan proyek sumber terbuka dengan perangkat lunak komersial, atau bahkan proyek sumber terbuka lainnya, situasi apa yang menimbulkan tanda bahaya dan menyebabkan Anda menekan tombol eject dan mencari di tempat lain?

Jawaban:


17

Sumber Terbuka

Lihatlah situs web proyek

  • Lihatlah dokumentasinya
  • Lihatlah arsip milis
  • Lihatlah SCM (svn, git, hg, dll)

Dengan demikian, ambil pada poin berikut ...

  • Seberapa matang perangkat lunaknya
  • Berapa ukuran basis pengguna (banyak orang? 3 orang?)
  • Siapa orang-orang di basis pengguna (perusahaan, pengguna rumahan, usaha kecil, dll)
  • Apakah pengembangan aktif? Sudah berapa lama aktif?
  • Arsip milis juga membocorkan banyak informasi tentang "semangat tim" di antara para pengembang, di antaranya. Apakah terlihat sehat, bermusuhan, bosan dll?
  • Apakah dokumentasinya layak?
  • Apakah paket / proyek telah diterima di semua Distro seperti Fedora, Debian, RHEL, SLES, Ubuntu dll? Jika demikian - itu hal yang baik - setidaknya lebih dari satu orang di luar sana memiliki keyakinan pada proyek tersebut.
  • Apakah situs memiliki sistem tiket yang tepat? Jika demikian - Berapa banyak tiket yang dibuka sejak 5 tahun yang lalu? Ini adalah indikasi lain tentang bagaimana "hidup" proyek itu.

Juga, pastikan Anda mencatat Lisensi tempat perangkat lunak didistribusikan. Beberapa mungkin tidak cocok untuk kebutuhan Anda.

Perangkat Lunak Perusahaan

Saya tidak punya banyak bicara di sini selain ...

  • Pastikan (jangan bertanya kepada petugas penjualan - dia hanya akan berbohong) bahwa aplikasi tidak berjalan sepertiroot . Khususnya jika akan mendengarkan pada port TCP / IP. * Melihat reputasi vendor
  • Pastikan bahwa vendor menyadari bahwa orang yang mengelola produk ini (yaitu tidak akan diberi rootakses, sehingga produk harus mendukung sudo . Siapa pun yang berpendapat bahwa sudotidak didukung umumnya hanya pikun, tetapi mereka vendor, dan mereka akan menjadi orang-orang yang harus mendukung Anda - Anda tidak ingin membeli produk dan kemudian minta mereka mengatakan "Tidak, Anda tidak dapat menggunakan sudo, Anda harus su untuk root".
  • Tidak pernah membeli perangkat lunak keamanan sumber tertutup - selamanya
  • (subyektif): ... dan tidak pernah mempercayai apa pun yang dikatakan oleh seorang tenaga penjualan - mereka semua pembohong dan ular, tanpa pengecualian.

Bagaimana Anda menentukan jatuh tempo suatu program? Ini tidak seperti nomor versi berarti apa-apa, dan banyak proyek duduk di nomor versi aneh selama bertahun-tahun digunakan secara luas. (Saya sedang melihat Anda NetworkManager). Apa yang akan menjadi bendera merah ketidakdewasaan?
jldugger

Benar, sementara itu adalah mungkin untuk nomor versi untuk memiliki beberapa khusus yang berarti untuk para pengembang, yang merupakan hal internal - yang dunia luar itu hanyalah indikasi terbaik - yang perusahaan perangkat lunak tampaknya mencoba dan mengeksploitasi dengan nomor versi konyol melompat . Untuk mendapatkan gambaran kedewasaan, Anda dapat melihat di beberapa tempat, khususnya sistem tiket - banyak tanda centang adalah hal yang baik - khususnya jika Anda dapat melihat pengembang telah melakukan upaya nyata dalam memperbaiki dan menutupnya. Di sisi lain jika Anda tidak memiliki tiket, atau terburuk, tidak ada sistem tiket, yah itu bukan awal yang baik.
Xerxes

7
  • Kurangnya aktivitas. Jika proyek belum merilis kode baru, tampilkan banyak bug tidak tertutup (atau bug yang sangat sangat tua tanpa bug baru), atau ada forum pengguna yang memiliki rasio spam-ke-posting yang sangat tinggi, itu bau yang pasti dari basis kode membusuk. Proyek aktif memiliki rilis reguler, bug-churn yang menunjukkan bahwa yang baru dibuka tidak melebihi yang lama ditutup, dan forum pengguna dengan aktivitas harian. Ketiga hal ini sangat penting untuk menjaga kode tetap hidup dan baik - rilis, feeback, dan debugging / refactoring, membentuk loop lengkap.

  • Aktivitas sebanding dengan ukuran, kompleksitas, dan kematangan basis kode. Semakin besar program / proyek, semakin jarang titik-rilis, tetapi harus ada aliran rilis titik yang konsisten. Untuk proyek seperti Samba, dengan basis kode kompleks yang besar, harapkan rilis poin setelah sekitar satu bulan. Untuk proyek seperti gcc, yang merupakan basis kode yang matang dengan tujuan desain yang lebih konservatif, rilis titik lebih lama di antara keduanya, tetapi lebih besar. Target yang bergerak cepat pada jumlah kode yang sangat kecil juga menunjukkan potensi masalah - bisa jadi para pengembang masih melawan bug atau belum memiliki semua tujuan / fitur yang dikodekan.

  • Kode sumber harus mudah diakses. Point blank, jika benar open source, seharusnya tidak ada jabat tangan ajaib, persembahan voodoo, atau mantra yang terlibat untuk melihat kode sumber. Tidak masalah apakah itu dapat diakses melalui CVS, SVN, Git, Mercurial, atau bahkan merpati pos, asalkan Anda dapat mencapainya tanpa perjanjian lisensi klik-bungkus. Jika Anda menandatangani pengabaian, NDA, atau menyetujui skema lisensi yang tidak terdengar, Anda tidak berurusan dengan open source, Anda berhadapan dengan vendor komersial yang telah setuju untuk membuka sumber mereka untuk Anda - dengan harga tertentu .


++ untuk persyaratan kegiatan.
sh-beta

6

Ada banyak, sungguh.

Licensing Licensing - Terlalu banyak solusi yang mencoba untuk nikel dan uang receh saya sampai mati. Biaya paket X, tetapi jika Anda ingin opsi yang diiklankan 1, 2, dan 3, itu akan menjadi $ 500-1500 lebih per pilihan. Tidak terima kasih.

Tidak ada yang menggunakannya - Atau setidaknya, Google tidak dapat menemukan orang membicarakannya. Baik merek baru (dalam hal ini, Anda adalah kelinci percobaan) atau sangat buruk sehingga semua orang tahu lebih baik

Ini adalah akar dari beberapa garpu - Jika sesuatu telah bercabang berkali-kali, mungkin ada alasan yang baik untuk itu, dan salah satu garpu mungkin telah memecahkan masalah lebih baik daripada sumbernya. Selidiki itu sebagai gantinya.

Desain antarmuka yang buruk secara konsisten - Saya tidak hanya bermaksud GUI. Bendera atau opsi CLI yang gila, tidak dikenal, atau salah memberi label membuat saya gila

Ini tidak bekerja - atau berpura-pura bahwa situasi bahwa kebutuhan untuk dipecahkan tidak seharusnya (atau tidak) ada, dan karena itu tidak membahas itu


1

Saya juga akan menambahkan bahwa kode churn rate konsisten dan dilakukan oleh banyak orang, bukan hanya beberapa. Anda tidak ingin satu orang mengeluarkan kode paruh waktu ketika dia bersemangat tentang proyeknya kemudian bosan dan membiarkannya bagi masyarakat untuk terus mendukung. Drupal dan Joomla adalah dua contoh yang bagus.


1

Jika Anda melihat perangkat lunak untuk perusahaan Anda, untuk menjualnya, mengubahnya, dll. Aspek yang paling penting adalah lisensi. Melihat dimasukkannya busybox pada router WLAN dan mengikuti tindakan hukum, perusahaan berpikir "open source = melakukan apa pun yang Anda suka".

Beberapa hal lain: Saya juga mencari tanggal terakhir diperbarui dan komunitas yang aktif, jadi forum, mungkin halaman lain yang memiliki perangkat lunak sebagai topik.


1

Di Linux, saya akan memeriksa untuk melihat perangkat lunak apa yang dikemas oleh distro Anda. Perangkat lunak terpaket tidak terbatas hanya pada opensource / GPL - Ubuntu, Gentoo dan SLES minimal menyertakan perangkat lunak berpemilik dalam daftar paket mereka. Meskipun tidak ada jaminan bahwa paket-paket ini akan bekerja seefektif perangkat lunak inti di distro - seseorang telah menginvestasikan waktu dan upaya untuk menyiapkan paket.


1

Saya terutama akan melihat kedewasaan dan aktivitas. Jika tampaknya cukup matang dan tampaknya ada sejumlah kegiatan yang layak (misalnya forum atau aktivitas wiki) maka saya bisa merasa cukup nyaman. Lalu saya tahu bahwa ada kemungkinan bug akan terpecahkan dan saya bisa mendapatkan bantuan dengan masalah yang muncul. Saya akan memilih proyek aktif yang tidak sesuai dengan kebutuhan saya dengan sempurna, lebih dari proyek yang tampaknya cocok tetapi tampak mati, setiap hari dalam seminggu.

Ketika datang ke jatuh tempo itu cukup banyak tergantung pada tujuan penggunaan. Jika itu adalah sesuatu yang saya butuhkan untuk diluncurkan secara instan dan yang tidak dapat dibiarkan gagal atau menyebabkan masalah, kedewasaan jelas akan menjadi faktor yang cukup penting. Jika saya bisa hidup dengan beberapa keanehan dan itu tidak kritis dengan downtime, maka saya lebih suka melihat prospek masa depan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.