Usas mi código para ganar dinero, tú eres responsable de sus errores y vulnerabilidades
Uno de los grandes problemas en el código abierto y del cual ya se ha hablado aquí en el blog, es el tema de la compensación o renumeracion por el trabajo realizado, debido a que es un tema bástate complejo por las diferentes cuestiones que implica.
Y es que dejando de lado el tema del “dinero”, otro de los factores que molesta o por llamarlo de otra forma «es el punto rojo» de los desarrolladores de código abierto, es el tema del trabajo, esfuerzo y tiempo adicional que requiere el mantenimiento de «su trabajo» que otros aprovechan para crear productos comerciales.
En su momento hablamos sobre un artículo de Thomas Stringer, el cual aborda todos estos temas, lo cual menciona que desalienta cada vez más a los desarrolladores y más por la cuestión de cómo las corporaciones se aprovechan de los ecosistemas de código abierto sin pagar adecuadamente a los desarrolladores por su tiempo.
Thomas Stringer menciona que los desarrolladores deberían recibir una compensación y/o que el proyecto reciba la adecuada colaboración por parte de las empresas/proyectos beneficiada(o)s y aquí es donde entra la propuesta de James Bottomley ingeniero de IBM, en la cual plantea básicamente hacer a aquellos que con sus productos o proyectos que generen una renumeración, sean responsables de los errores y/o vulnerabilidades del código que están usando del trabajo de otro desarrollador.
Como tal, la propuesta no está mal, ya que como mencionamos una de las principales molestias que genera a muchos desarrolladores de código abierto, es esa cuestión, de que otros utilizan el código de sus proyectos, para sus productos, que les genera una ganancia y no son capaces de compensar al desarrollo del proyecto original o al menos destinar un recurso ya sea monetario o fuerza de trabajo (desarrolladores) para ayudar al desarrollo.
La propuesta de James Bottomley de trasladar la responsabilidad legal por errores en el código fuente de desarrolladores de proyectos de código abierto a los proveedores de productos comerciales finales podría marcar un cambio significativo en la dinámica de apoyo a proyectos de código abierto. Este enfoque podría ser un impulso importante para muchos desarrolladores de código abierto, ya que busca «obligar» de alguna manera al respaldo directo o indirecto de los proyectos.
El objetivo de lo anterior no es decir si esta influencia comercial es buena o mala, sino que el surgimiento de las Fundaciones ha cambiado la percepción pública del Código Abierto. El código abierto ya no es visto como el hogar de voluntarios luchadores que luchan por la innovación tecnológica contra intereses comerciales arraigados, ahora el código abierto es visto como una herramienta de desarrollo más de la industria tecnológica.
Bajo esta propuesta, si una empresa utiliza el código de terceros en su producto y un error o vulnerabilidad en este código provoca daños al usuario, la responsabilidad y la carga de compensar el daño recaerían en el fabricante del producto de software comercial, y no en el desarrollador de la biblioteca de código abierto.
La propuesta sugiere implementar esta transferencia de responsabilidad mediante la inclusión de una cláusula en la licencia, estableciendo un acuerdo para indemnizar y proteger a los participantes en el desarrollo de cualquier reclamo legal que surja del uso total o parcial del código fuente proporcionado bajo esa licencia, ya sea como componente o producto. Esta cláusula se aplicaría especialmente en jurisdicciones que imponen obligaciones adicionales para mantener productos de software. En esencia, esta propuesta busca alinear los incentivos y garantizar que aquellos que se benefician comercialmente de proyectos de código abierto asuman la responsabilidad legal asociada con su implementación, promoviendo así un mayor compromiso y apoyo a la sostenibilidad de estos proyectos.
En la práctica actual, la gestión de riesgos legales en el ámbito del código abierto se simplificado a menudo mediante la inclusión de una cláusula en la licencia. Esta advertencia establece que el desarrollador no asume responsabilidad por posibles errores, no garantiza la funcionalidad del código y no se compromete a resolver problemas. En este escenario, el usuario acepta utilizar el código bajo su propio riesgo. La ausencia de garantías por parte de los desarrolladores ha fomentado el surgimiento de un modelo de negocio basado en soporte técnico remunerado, que inicialmente dominó el desarrollo del ecosistema de código abierto.
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.