¿Tiene sentido licenciar pruebas unitarias?


12

Me pregunto si hay algún beneficio / riesgo de (no) poner una licencia en el código de prueba que consiste principalmente en pruebas unitarias. ¿Qué piensas?

Estoy particularmente interesado en licenciar bajo (L) GPL, Apache, MIT y BSD.

EDITAR : la suposición es que el código que no es de prueba ya está publicado bajo alguna licencia, pero el código de prueba no lo está, por lo que la pregunta es si publicarlo y si es así si ponerle la misma licencia.


¿No se considerarían las pruebas hechos / datos, que no están sujetos a derechos de autor o licencias en primer lugar? Es legal copiar una API , y supongo que también es legal usar las mismas pruebas para verificar que la implementación sea correcta.
endolito

Respuestas:


10

Me sorprende que nadie ya haya mencionado esto, pero si no adjunta una licencia a su código, ya sea producto o código de prueba, otros no tienen derechos sobre el código .

El código de licencia se trata de otorgar derechos a otros que normalmente no tendrían. Su código de prueba está automáticamente cubierto por derechos de autor (en la mayoría de los países del mundo) incluso si no adjunta explícitamente un aviso de derechos de autor. Al tener derechos de autor, otras personas no pueden usar, distribuir o derivar de ese código.

Al adjuntar una licencia a su código de prueba, le da a las personas el derecho de usar, distribuir y / o modificar ese código de acuerdo con los términos de la licencia.

Le recomendaría que distribuya su código de prueba con su código de producto, bajo la misma licencia. Esto es más simple para todos. También significa que si las personas desean enviarle parches, entonces pueden ejecutar sus pruebas unitarias antes de enviarle un parche, lo que debería ayudar a eliminar los parches que rompen las cosas.


15

En el mundo comercial, la mayoría de las empresas cobran no solo por el producto principal sino también por el soporte. La mayoría de las veces, el soporte implica cualquier forma de ayuda por medio de herramientas o asistencia personal, para poder hacer que el producto sea utilizable o resolver cualquier problema relacionado con el producto.

Con este token, el código para probar el producto califica igualmente una herramienta de soporte y es una propiedad intelectual por derecho propio. Por lo tanto, merece una licencia propia.


9

¿Por qué separas código y pruebas?

Prefiero un paquete de código y prueba. Y este paquete debería obtener la misma licencia.

Si a alguien le gustaría obtener el doble de dinero, entonces puede hacer dos paquetes, cada uno con una licencia. Para el software libre, no veo ninguna razón para dos paquetes (a menos que sea un problema de tamaño).


6

El código de prueba tiene mucho valor, ya que permite al usuario verificar si su solución funciona en un entorno determinado. En mi trabajo (software incorporado), el conjunto de pruebas forma parte del contrato. Debe publicarlo con la misma licencia, porque el uso es similar:

  • si alguien solo usa tu código, entonces ejecutará las pruebas

  • si alguien quiere modificar el código, probablemente también tendrá que modificar algunas pruebas


2

IANAL, sin embargo:

  1. Si está licenciando su código bajo GPL, entonces las pruebas unitarias de facto también son GPL ya que son bastante inútiles sin el código principal
  2. Si está utilizando Apache / BSD, la disposición "USAR BAJO SU PROPIO RIESGO". Colocaría un archivo de licencia con todo el proyecto y dejaría que el usuario descubriera si es por el código o el código de prueba.
  3. Si usa una licencia comercial y limita el acceso al código, ¿por qué publicaría sus pruebas en primer lugar? Si quiere estar seguro, coloque un "AL LEER EL CÓDIGO DE PRUEBA, USTED ACEPTA AGREGAR LA LICENCIA DE SUS OJOS" y está listo para comenzar.

1

El compilador GCC (en su mayoría con licencia GPLv3) tiene un conjunto de pruebas bastante extenso, que se distribuye con el código fuente. (tal vez algunos archivos de prueba son de dominio público, realmente no sé su estado legal individual).

¿Por qué desearía distribuir su conjunto de pruebas por separado de su producto?


0

Puede ser un posible modelo de negocio, por lo tanto, lance un programa como software libre (GPL o lo que sea), pero la unidad correspondiente se prueba bajo una licencia comercial. De esa manera, si alguien quiere lanzar una versión mejorada de su software (por ejemplo, incrustado en un dispositivo), podría estar motivado para comprar la licencia de prueba unitaria para un desarrollo más rápido y seguro.


0

Si sus pruebas unitarias están bien hechas, entonces son un plan para reproducir su software. Si no los licencia de manera equivalente al código, está invitando a alguien a que solo venga y vuelva a implementar lo que haya hecho. Si está de acuerdo con eso, no se moleste en otorgarles la licencia.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.