Según la ley actual de los EE. UU., Cuando escribe algo, usted tiene derechos de autor automáticamente, incluso si no hace nada especial. Eso significa que nadie más puede usarlo sin su permiso. Hay una excepción: si escribe algo como parte de su trabajo, su empleador tiene los derechos de autor; presumiblemente este no es el caso en su situación. Como señaló un comentarista, esta ley entró en vigencia en 1989 para ser compatible con el Convenio internacional de Berna, por lo que debería ser cierto para la mayoría de los países.
Sin embargo, aún se recomienda que coloque un aviso de copyright al comienzo de cada archivo fuente. Esto hace que el titular de los derechos de autor sea explícito y dificulta que alguien afirme que copió su código sin darse cuenta de que está protegido por derechos de autor.
Este enfoque tiene varias limitaciones:
- ¿Por qué un buen artista puede convertirse en un buen desarrollador de software?
- ¿Qué sucede si su empresa no cree en actualizar a la última versión de Visual Studio?
- ¿Cuál es el mejor libro para aprender Java y J2EE como estudiante de primer año obteniendo una Licenciatura en Ingeniería en informática?
- ¿Qué debe hacer uno como desarrollador web para programar de una manera que aproveche los procesadores de núcleo múltiple? Sigo leyendo que PHP, Ruby y Python se volverán obsoletos porque no tratan con la concurrencia.
- ¿Los desarrolladores de software inteligente cometen errores en sus primeros días?
- Si el código es corto, alguien podría argumentar que es tan obvio que no puede tener derechos de autor.
- Si su código se copia o se deriva del código de otra persona, puede verse afectado por su estado de copyright existente. En particular, si se lanzó bajo muchas licencias de código abierto, esto puede prohibirle específicamente el derecho de autor.
- Si alguien lo copia, sus posibilidades de descubrirlo son muy bajas.
- Si va a demandar a alguien, primero deberá registrar los derechos de autor.
Eso es para el código fuente. Si desea evitar que las personas copien sus ejecutables, necesita una forma de vincular el código a una máquina en particular, o al menos evitar que se ejecute en más de una computadora a la vez. Hay algunas formas que ya no se usan, como distribuirlo en un disquete que tiene un agujero quemado con un láser y requerir que el disco esté en la unidad mientras se ejecuta el programa. Algunas técnicas aún se utilizan:
- Durante la instalación, el programa busca algo único para esa computadora, como su dirección MAC Ethernet o un número de serie de procesador o placa base. Puede que tenga que combinar esto con el siguiente.
- Mantener un servidor de licencias. Cada vez (o cada N veces) que se ejecuta el programa (o durante la instalación), se pone en contacto con el servidor de licencias y comprueba que se trata de una copia legal.
- Ofrezca algo adicional a quienes se registren, como un manual impreso, acceso anticipado a actualizaciones o mejor soporte técnico.
La gran pregunta es: ¿Por qué quieres hacer esto? Si está escribiendo un programa muy especializado, puede haber solo unas pocas personas que quieran ejecutarlo de todos modos, y es posible que no se conozcan entre sí. Si escribe un programa muy general y muy popular, alguien seguramente encontrará una manera de vencer su protección anticopia. Por lo tanto, es posible que tenga que hacer esto: haga que el programa sea tan bueno que todos lo deseen y haga que el precio sea lo suficientemente bajo como para que la gente esté dispuesta a pagarlo. Entonces espero que el porcentaje de personas honestas sea lo suficientemente alto.