Saya bertanya-tanya apakah ada manfaat / risiko dari (tidak) meletakkan lisensi pada kode uji yang sebagian besar terdiri dari tes unit. Bagaimana menurut anda?
Saya sangat tertarik pada lisensi di bawah (L) GPL, Apache, MIT dan BSD.
EDIT : Asumsinya adalah bahwa kode non-tes sudah diterbitkan di bawah beberapa lisensi, tetapi kode tes tidak, jadi pertanyaannya adalah apakah akan menerbitkannya dan jika demikian apakah akan meletakkan lisensi yang sama di atasnya.
Jawaban:
Saya terkejut bahwa belum ada yang menyebutkan ini, tetapi jika Anda tidak melampirkan lisensi ke kode Anda, apakah itu produk atau kode pengujian, maka orang lain tidak memiliki hak atas kode tersebut .
Kode lisensi adalah tentang memberikan hak kepada orang lain yang biasanya tidak mereka miliki. Kode pengujian Anda secara otomatis dilindungi oleh hak cipta (di sebagian besar negara di seluruh dunia) bahkan jika Anda tidak secara eksplisit melampirkan pemberitahuan hak cipta. Menjadi hak cipta, orang lain tidak dapat menggunakan, mendistribusikan, atau memperoleh dari kode itu.
Dengan melampirkan lisensi ke kode pengujian Anda, Anda memberi orang hak untuk menggunakan, mendistribusikan, dan / atau memodifikasi kode itu sesuai dengan ketentuan lisensi.
Saya akan merekomendasikan Anda mendistribusikan kode pengujian Anda dengan kode produk Anda, di bawah lisensi yang sama. Ini paling sederhana untuk semua orang. Ini juga berarti bahwa jika orang ingin mengirimkan tambalan kepada Anda, maka mereka dapat menjalankan tes unit Anda sebelum mengirim tambalan kepada Anda, yang seharusnya membantu menyingkirkan tambalan yang merusak barang.
sumber
Dalam dunia komersial, sebagian besar perusahaan mengenakan biaya tidak hanya untuk produk inti tetapi juga untuk dukungan. Paling sering dukungan melibatkan segala bentuk bantuan dengan alat atau bantuan pribadi, untuk dapat membuat produk dapat digunakan atau menyelesaikan masalah yang terkait dengan produk.
Dengan token ini, kode untuk menguji produk sama-sama memenuhi syarat sebagai alat pendukung dan merupakan properti intelektual dalam haknya sendiri. Jadi memang layak mendapatkan lisensi itu sendiri.
sumber
Mengapa Anda memisahkan kode dan pengujian?
Saya lebih suka seikat kode dan tes. Dan bundel ini harus mendapatkan lisensi yang sama.
Jika seseorang ingin mendapatkan dua kali uang, maka Anda dapat membuat dua paket - masing-masing dengan lisensi. Untuk perangkat lunak gratis, saya tidak melihat alasan untuk dua paket (kecuali itu adalah masalah ukuran).
sumber
Kode pengujian memiliki banyak nilai, karena memungkinkan pengguna untuk memeriksa apakah solusi Anda bekerja di lingkungan yang diberikan. Dalam pekerjaan saya (perangkat lunak tertanam) test suite adalah bagian dari kontrak. Anda harus menerbitkannya dengan lisensi yang sama, karena penggunaannya serupa:
jika seseorang hanya menggunakan kode Anda, maka ia akan menjalankan tes
jika seseorang ingin memodifikasi kode, dia mungkin harus memodifikasi beberapa tes juga
sumber
Namun, IANAL:
sumber
The GCC compiler (kebanyakan GPLv3 berlisensi) memiliki test suite yang cukup luas, yang didistribusikan dengan kode sumber. (mungkin beberapa file uji berada dalam domain publik, saya benar-benar tidak tahu status hukum masing-masing).
Mengapa Anda ingin mendistribusikan test suite Anda secara terpisah dari produk Anda?
sumber
Ini mungkin model bisnis yang mungkin jadi lepaskan sebuah program sebagai perangkat lunak bebas (GPL atau apa pun), tetapi unit appertaining akan diuji di bawah lisensi komersial. Dengan begitu, jika seseorang ingin merilis versi yang lebih baik dari perangkat lunak Anda (misalnya tertanam dalam perangkat), ia mungkin termotivasi untuk membeli lisensi uji unit untuk pengembangan yang lebih cepat dan lebih aman.
sumber
Jika pengujian unit Anda dilakukan dengan baik maka itu adalah cetak biru untuk mereproduksi perangkat lunak Anda. Jika Anda tidak melisensikannya secara setara dengan kode, Anda mengundang seseorang untuk datang dan menerapkan kembali apa pun yang Anda lakukan. Jika Anda baik-baik saja dengan itu maka jangan repot-repot melisensikan mereka.
sumber