Birim testlerini lisanslamak mantıklı mı?


12

Çoğunlukla birim testlerden oluşan test koduna lisans koymanın (değil) faydaları / riskleri olup olmadığını merak ediyorum. Ne düşünüyorsun?

Özellikle (L) GPL, Apache, MIT ve BSD altında lisans almakla ilgileniyorum.

DÜZENLEME : Varsayım, test dışı kodun zaten bir lisans altında yayınlanmış, ancak test kodu yayınlanmamıştır, bu nedenle soru, yayınlanıp yayınlanmayacağı ve aynı lisansın üzerine koyulup koyulmayacağıdır.


Testler, ilk etapta telif hakkı veya lisanslamaya tabi olmayan gerçekler / veriler olarak değerlendirilmez mi? Bu var bir API kopyalamak için yasal ve bunu uygulama doğru olduğunu doğrulamak için de aynı testlerin kullanılacağı yasal tahmin ediyorum?
endolit

Yanıtlar:


10

Kimsenin bundan daha önce bahsetmediğine şaşırdım, ancak kodunuza ürün veya test kodu olsun, bir lisans eklemezseniz, başkalarının kod üzerinde hakları yoktur .

Lisans kodu başkalarına normalde sahip olmayacakları haklar vermekle ilgilidir. Açıkça bir telif hakkı bildirimi eklemeseniz bile, test kodunuz otomatik olarak telif hakkı kapsamındadır (dünyanın birçok ülkesinde). Telif hakkıyla korunan diğer kişiler bu kodu kullanamaz, dağıtamaz veya türetemezler.

Test kodunuza bir lisans ekleyerek, kullanıcılara bu kodu lisans koşullarına uygun olarak kullanma, dağıtma ve / veya değiştirme hakkı verirsiniz.

Test kodunuzu aynı lisans altında ürün kodunuzla dağıtmanızı tavsiye ederim. Bu herkes için en basit olanıdır. Ayrıca, insanlar size yama göndermek istiyorsa, size bir yama göndermeden önce birim testlerinizi gerçekleştirebilir, bu da bir şeyleri kıran yamaları ayıklamanıza yardımcı olur.


15

Ticari dünyada, çoğu şirket sadece temel ürün için değil, aynı zamanda destek için de ücret almaktadır. Çoğu zaman destek, ürünü kullanılabilir hale getirmek veya ürünle ilgili herhangi bir sorunu çözmek için araç veya kişisel yardım yoluyla herhangi bir yardım biçimini içerir .

Bu jetonla, ürünü test etme kodu eşit olarak bir destek aracını nitelendirir ve kendi başına bir fikri mülkiyettir. Yani kendi ruhsatını hak ediyor.


9

Kodu ve testi neden ayırıyorsunuz?

Bir kod ve test paketini tercih ederim. Ve bu paket aynı lisansı almalıdır.

Birisi iki kez para almak istiyorsa, her biri lisanslı iki paket yapabilirsiniz. Özgür yazılım için, iki paket için bir neden göremiyorum (boyut problemi olmadıkça).


6

Test kodunun çok değeri vardır, çünkü kullanıcının çözümünüzün belirli bir ortamda çalışıp çalışmadığını kontrol etmesine izin verir. İşimde (gömülü yazılım) test takımı sözleşmenin bir parçası. Aynı lisansla yayınlamalısınız, çünkü kullanım benzerdir:

  • Birisi sadece kodunuzu kullanırsa, testleri gerçekleştirir

  • Birisi kodu değiştirmek isterse, muhtemelen bazı testleri de değiştirmek zorunda kalacaktır.


2

Ancak IANAL:

  1. Kodunuzu GPL altında lisanslıyorsanız, fiili olarak birim testleriniz de ana kod olmadan oldukça yararsız oldukları için GPL'dir
  2. Apache / BSD kullanıyorsanız, 'KENDİ RİSKİNİZDE KULLANIN' hükmü. Tüm projeyle birlikte bir lisans dosyasını tokatlar ve kullanıcının kod veya test kodu için olup olmadığını anlamasına izin veririm.
  3. Ticari lisans kullanıyorsanız ve koda erişimi sınırlandırırsanız, neden testlerinizi ilk etapta yayınlıyorsunuz? Emin olmak istiyorsanız, 'TEST KODUNU OKUYUN, GÖZLERİNİZİ YÖNETMEK İÇİN BURADA KABUL EDERSİNİZ' lisansını koyun ve hazırsınız.

1

GCC derleyicisi (çoğunlukla GPLv3 lisanslı) kaynak kodu ile dağıtılan oldukça geniş test takımı vardır. (belki bazı test dosyaları kamu malıdır, kişisel yasal durumlarını gerçekten bilmiyorum).

Test paketinizi neden ürününüzden ayrı olarak dağıtmak istiyorsunuz?


0

Olası bir iş modeli olabilir, bu yüzden bir programı özgür yazılım (GPL veya başka bir şey) olarak yayınlayın, ancak ilgili birim ticari bir lisans altında test eder. Bu şekilde, birisi yazılımınızın gelişmiş bir sürümünü (örneğin, bir cihaza gömülü olarak) yayınlamak istiyorsa, daha hızlı ve daha güvenli geliştirme için birim test lisansını satın almaya motive olabilir.


0

Birim testleriniz iyi yapılmışsa, yazılımınızı yeniden oluşturmak için bir taslaktır. Bunları koda eşdeğer şekilde lisanslamazsanız, birini gelip yaptığınız şeyi yeniden uygulamaya davet edersiniz. Eğer bu konuda iyiyseniz, onları lisanslamak için rahatsız etmeyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.