¿Cómo puede un desarrollador de software independiente proteger su trabajo?

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:

  • 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.

Espero que esté hablando de proteger de copiar o gravar de alguna manera (como un cliente que insiste en que ‘trabajó por encargo’ y que ya no posee su código).

Sin embargo, me gustaría abordar algo que quizás no haya considerado. Si su código se borra o destruye de alguna manera, o si hay problemas con la procedencia, tendría un problema. La cura segura para ese problema es publicarlo en Internet. No estoy seguro de si esto es apócrifo, pero:

“Los hombres de verdad no usan copias de seguridad, publican sus cosas en un servidor ftp público y dejan que el resto del mundo haga copias”. – Linus Torvalds

Casi todo lo que uso es de código abierto y es mi intención escribir código fuente abierto de forma predeterminada a partir de ahora.

Puedo pensar en muchas cosas que puede hacer en términos de cifrado, claves de licencia, etc., pero no quisiera ser parte en el bloqueo de nada que no lo necesite.

Si su trabajo es bueno, la mejor manera de proteger sus propios intereses es utilizar su trabajo como un anuncio para sus habilidades y publicarlo como código abierto.

Si tienes suerte y has hecho un buen trabajo, mucha gente lo copiará, te entablará conversaciones e incluso te contratará para que trabajes aún más. También te ayudarán a extender el trabajo de formas que nunca habrías soñado;

Emule a Richard Stallman https://stallman.org/ o

Linus Torvalds Linus Torvalds explica cómo Linux todavía lo sorprende y lo motiva

¡No escondas tu luz! Deja que brille para todos. Mateo 5:15

More Interesting

¿Cuál es la mejor computadora portátil para desarrolladores que aloja VMS y admite múltiples monitores externos?

¿Qué ciudad o estado es el mejor para conseguir un trabajo como desarrollador de software en Canadá? ¿Cuál será el paquete promedio para una persona con 6 años de experiencia?

¿Los desarrolladores de software alguna vez / a menudo usan generadores de algoritmos de fuerza bruta / aleatoria para crear soluciones cuando se conocen entradas y salidas?

¿Cuáles son algunas prácticas básicas de administración de bases de datos relacionales que un desarrollador de software debe adoptar desde el principio?

¿Cuál es la diferencia entre el desarrollador de Java y el desarrollador de software?

¿Puedo convertirme en desarrollador de software si me siento muy incómodo cuando la gente lee y critica mi código fuente?

¿Por qué a los diseñadores de productos generalmente se les da la responsabilidad de la gestión del producto y no a los desarrolladores de software?

¿Es el Reino Unido un buen lugar para comenzar una carrera como desarrollador de software?

¿En qué proyecto simple puedo trabajar para tener una experiencia práctica en Docker?

¿Por qué los desarrolladores de aplicaciones usan Apache Hadoop?

¿Cuál es su mayor problema cuando desarrolla una nueva idea de software?

¿Qué proceso de desarrollo de software no es adecuado para un inicio de software?

¿Puedo escribir una aplicación de servidor / cliente que use sockets en dos idiomas diferentes? Por ejemplo, ¿un servidor en C o C ++ y un cliente en Java o Python?

¿Por qué es probable que el software desarrollado con modelos evolutivos sea difícil de mantener?

¿Cuáles son las oportunidades de empleo en el desarrollo de software para alguien con antecedentes penales?