He pasado algún tiempo leyendo las licencias de software permisivas y copyleft comunes. ¿Existe una licencia que permita al creador de una aplicación o algoritmo especificar ampliamente quién puede usar / distribuir el producto en función de sus propios prejuicios personales?
Entiendo que las personas usan licencias duales para obligar a las entidades comerciales a pagar la licencia permisiva o se ven obligadas a distribuir código fuente para sus proyectos, pero estaba pensando en algo más como, por ejemplo, "Este código se puede usar libremente, modificado y distribuido por cualquier entidad que no participe en Industry x [que he considerado indigno del uso de mi software libre] ".
No he podido encontrar tales licencias o plantillas de licencias, y habría pensado que al menos algunos programadores estarían preocupados por las implicaciones éticas de sus productos. ¿Es posible crear un algoritmo de búsqueda de ruta de IA y garantizar que no termine guiando un dron armado, o un modelo de témpano de hielo ártico y garantizar que no termine siendo utilizado para la perforación de petróleo en alta mar, mientras sigue utilizando una licencia de estilo permisivo?
Respuestas:
Esta pregunta surge con bastante frecuencia en la comunidad de software libre y esto es comprensible. Las personas que escriben software libre (a menudo en su tiempo libre) y lo donan al público normalmente lo hacen porque quieren hacer una diferencia para mejor, no para peor. Por lo tanto, tratar de garantizar que su oficio no se use de una manera que considere poco ética es algo natural en lo que debe pensar.
Sin embargo, la Free Software Foundation se opone claramente a los intentos de usar la licencia de software para limitar las formas en que las personas pueden usar el software. Richard Stallman escribió un artículo "Por qué los programas no deben limitar la libertad de ejecutarlos" donde explica por qué está convencido de que el uso de licencias de software para restringir el uso de un software a aplicaciones éticas está condenado al fracaso y solo dañaría la interoperabilidad y limitaría La utilidad para los usuarios legítimos. Su artículo me parece muy convincente y, por supuesto, le recomiendo que lea el original, pero estoy parafraseando (con comentarios míos) lo que creo que son sus principales argumentos aquí.
No permitir que el software se use para actividades ilegales no tiene sentido en el mejor de los casos. Esas actividades siempre son ilegales, sin importar lo que diga la licencia. Una licencia solo puede otorgar a los usuarios de los derechos de software que tiene el titular de los derechos de autor. No está escrito explícitamente en su artículo, pero concluyo y acepto que tendría más sentido hacer una campaña política para que las actividades inmorales se vuelvan ilegales.
No permitir que el software sea utilizado por los estados para actividades inmorales (RMS menciona la tortura como ejemplo) probablemente no será efectivo porque la mayoría de los estados tienen una legislación especial que les permite hacer lo que quieran, siempre que sea de su interés. de seguridad nacional. Si bien creo que esto es algo exagerado, es cierto que tales exenciones legales para uso militar existen en muchos estados o podrían aprobarse si los poderes legislativos las consideran deseables. Lo que probablemente sea más relevante es que le resultaría difícil demostrar que su trabajo se utiliza sin acceso a información clasificada y, aunque muchos jugadores exigen la ley de derechos de autor para justificar cosas escandalosas, yo ' No soy consciente de que "obtener acceso a información clasificada para que pueda demandar al estado" es algo que la ley de derechos de autor le otorga en cualquier estado del mundo. Ciertamente no tendrá éxito en demandar a un estado extranjero autocrático que podría usar su software para las cosas más horribles.
No está claro si tales restricciones serían incluso aplicables a través de los derechos de autor y si lo harían, si eso sería beneficioso. Solo puedo hablar de Alemania, pero estoy bastante seguro de que dichos términos de licencia serían nulos en los procedimientos judiciales alemanes. Creo que esto es algo bueno. La ley de derechos de autor ya es demasiado poderosa en lo que otras personas pueden imponerle. Lo último que necesitamos es aún más restricciones.
Si las licencias de software restringieran el uso del software a "fines éticos", se produciría un terrible desastre y el software no sería compatible. Si bien esto podría suceder, no veo por qué no podría surgir una "licencia pública ética" estándar de facto publicada por una organización creíble y utilizada por muchos proyectos, como es el caso de la GPL en la actualidad. Lo que sí veo es que para que una licencia tan general sea ampliamente aceptada y utilizada, es muy probable que tenga que reducirse para definir como poco ético lo que ya se acordó como poco ético y, por lo tanto, prohibido por la legislación pública en las democracias, por lo que No proporcionaría mucho. Lo que es más importante, dado que hoy en día no existe dicha licencia, tendría que rodar la suya, lo que siempre es una mala idea.
fuente
Existen proyectos de software que usan una licencia como esta. Sin embargo, la definición OSI no consideraría licencias libres.
Más importante aún, la exigibilidad de estas licencias ha sido fuertemente cuestionada cada vez que las he visto mencionadas, y nunca han sido probadas en la corte, que yo sepa. Es poco probable que el uso de dicha licencia tenga más que un valor simbólico.
Parte del problema aquí es que dichos términos son increíblemente vagos, como señala Ixrec en su comentario. Supongamos que desarrolla un algoritmo que guía los automóviles sin conductor. ¿Ético? Probablemente. Luego, este algoritmo se utiliza para construir camiones que conducen solos. Sigue siendo ético. Y ahora estos camiones se utilizan para reabastecer campamentos militares o transportar drogas; ¿dirá entonces que esto no está permitido porque su código se usa allí? Tal vez incluso se usan en el tráfico de personas, lo que definitivamente no es ético, pero ¿cómo controlarías eso? ¿Requiere que los fabricantes de camiones también pongan una licencia en sus camiones?
Finalmente, su compañía militar o petrolera promedio tiene suficiente dinero para tomar su idea y volver a implementarla, por lo que si es su algoritmo que no desea usar, no tendrá suerte de todos modos. Y dado que el código militar (como un software de guía de cohetes o drones) generalmente se clasifica de todos modos, ¿cómo podría saber que se usó su código?
fuente
Cuando observa el mercado actual, ya hay licencias que tienen estipulaciones sobre para qué podría usarse el software.
Probablemente hay una serie de otras licencias que tienen cláusulas igualmente extrañas. Entonces, una licencia que discrimina por motivos éticos no sería la primera vez que una licencia tiene una estipulación extraña.
fuente
Puede escribir cualquier licencia que desee y demandar a cualquier persona que use su código en contra de los términos de la licencia por infracción de derechos de autor.
Sus términos "no debe ser utilizado por la industria X" hacen que la licencia sea incompatible con la licencia GPL, por ejemplo. No puedo incluir su software en el código GPL que quiero distribuir (o que puede distribuirse accidentalmente, lo que sucede). No pude incluir su código en el código fuente cerrado de mi compañía, porque el departamento legal me mataría (significa que si alguien nos ofreciera millones por nuestro código fuente, es posible que no podamos venderlo debido a sus restricciones). Como mínimo, nuestro departamento legal diría "nos costará $ 5,000 verificar la licencia. ¿Cuánto le cuesta escribir el código usted mismo?"
fuente
Si le preocupa la ética de la industria X, en lugar de crear una licencia que discrimine a la industria X, puede abordarlo de manera diferente; podría utilizar el enfoque de doble licencia y crear una versión gratuita y comercial. Luego haga donaciones a alguna organización anti industria X, ya sea en forma de una versión comercial completa o algún recorte de los beneficios de la versión comercial.
Esto es completamente legal y respalda un ideal en el que usted cree. También es mucho mejor el "marketing de buena voluntad". Incluso la gente de la industria X profesional te respetará porque al menos estás apoyando algo en lo que crees. Siempre es mejor ser visto apoyando un ideal en lugar de atacar su contra ideal.
fuente
Trabajo para una empresa con el mandato de desarrollar productos de software para organizaciones benéficas progresivas. Creamos algunas bibliotecas que queríamos de código abierto y, como el OP, no estábamos satisfechos con las licencias que pudimos encontrar.
Creamos la licencia de Just World para que, al menos, nuestro código no sea utilizado por aquellos que trabajan en contra de los objetivos de las organizaciones benéficas que apoyamos. (Aquí hay un artículo que explica nuestros motivos)
A continuación, abordaré algunas de las objeciones a las licencias éticas planteadas en comentarios y respuestas. Al hacerlo, haré una comparación con la GPL porque también es un ejemplo de una licencia que se extrae desde un punto de vista ideológico fuerte y, por lo tanto, es instructivo sobre cómo una licencia es más que un documento legal y los aspectos de la misma. Hemos llegado a aceptar.
¿Por qué (no) ético?
Muchas de las objeciones que he leído están relacionadas con la aplicabilidad de dicha licencia, pero diría que el propósito de una licencia ética no es hacerla cumplir en un tribunal. De hecho, la mayoría de los documentos legales que realmente no quieres probar en el tribunal son caros y dolorosos. Sí, debe dejarlos claros y sin ambigüedades, pero la mayoría de las personas no redactan documentos legales con el objetivo principal de llevar a la otra parte a los tribunales.
Como la gente ha señalado (con razón), si una gran empresa quiere usar su software a pesar de las restricciones, es probable que tenga los recursos para enterrarlo en el papeleo legal.
Pero, esto no es diferente de la GPL, y la GPL tampoco fue escrita para que los desarrolladores de FOSS pudieran llevar a las grandes compañías a los tribunales por mal uso del código fuente abierto. Sí, es legalmente específico y posible de aplicar, pero ese no era el propósito principal que los autores tenían en mente para ello. Crearon la GPL para difundir una idea: la idea de que el software y su fuente deberían compartirse libremente.
Del mismo modo, al crear una licencia ética, queremos difundir una idea: que nuestro software debe usarse para mejorar el mundo, y que nosotros, como desarrolladores, podemos asumir la responsabilidad de cómo se usa nuestro software.
Exigibilidad
Dicho esto, también argumentaría que se puede hacer cumplir una licencia ética. Incluso con los términos de licencia extremadamente vagos de JSLint, IBM estaba lo suficientemente preocupada por la aplicación como para pedirle al autor permiso expreso para usar JSLint para el mal .
Sí, el tabaco grande podría usar nuestro código y guardar silencio al respecto, pero el miedo a ser descubierto o denunciado y la posibilidad de aplicación es suficiente para que la mayoría de las empresas, incluso las que hacen cosas malas, decidan que no vale la pena el riesgo y ve y busca otro código.
Restringir el uso de cosas ilegales no tiene sentido
Convenido.
Al escribir una licencia ética, decidimos no excluir los actos ilegales por este motivo, y también porque algunos países tienen leyes realmente malas que restringen las libertades de las personas de manera horrible. Si los activistas que trabajan en contra de esas cosas quieren usar nuestro software, tienen suficiente de qué preocuparse sin preocuparse de que podamos aparecer y agregar un cese y desistir de sus problemas.
Si es malo, hay leyes para detenerlo
<inserte un video obligatorio de los legisladores preguntando a Mark Zuckerberg sobre el envío de un correo electrónico a través de WhatsApp>
Desafortunadamente, nuestros legisladores se encuentran entre los más lentos en moverse cuando se trata de responder a las cambiantes normas sociales, y mucho menos a la tecnología. Para empezar, es 2018 y todavía hay productos en los estantes hechos por esclavos reales .
Ético no se puede definir
El mundo no es tan gris como a menudo se cree que es.
Nuestra licencia evitaría que las personas usen nuestro software para (entre otras cosas) tomar medidas que se sabe que arruinan el estado del planeta para las generaciones futuras, explotan el trabajo esclavo, promueven el racismo o piratean la psicología del comportamiento para hacer que las personas desperdicien su vida. haciendo clic en anuncios.
Estos no son exactamente el problema del carro .
La ética es subjetiva.
Sí, pero esto no es malo.
Algunas de nuestras decisiones más esenciales son subjetivas. Si está interesado, hay algunas historias realmente interesantes de personas que sufrieron daños en sus centros emocionales en un accidente y ya no pueden funcionar a pesar de que su razón y objetividad están completamente intactas.
Menos filosóficamente La noción de que está mal tomar el software FOSS y mejorarlo sin publicar los cambios también es una posición subjetiva. Este es un punto de vista subjetivo que forma una parte clave de la GPL y no todos en el mundo del desarrollo de software pueden estar de acuerdo en que es algo bueno, pero esta diferencia de opinión aún no ha derribado a la comunidad de FOSS ;-)
Seria inconveniente
Bueno, ese es el punto. Si una compañía está escribiendo software para actos éticamente dudosos, entonces una licencia ética debe ser un inconveniente.
Lo mismo podría decirse de algunas licencias de software libre. Algunas compañías hoy en día utilizan herramientas como el verificador de licencias porque no quieren el código GPL en sus productos.
Si cada autor presentara su propia definición de ética y tuviéramos un montón de licencias éticas no estándar, esto se volvería muy arduo e inconveniente, pero si, como lo hacemos ahora para el código abierto general, podríamos acordar un puñado de licencias estándar no hay razón para que sea menos conveniente.
Las malas compañías simplemente escribirán sus propias
Bueno. Permítales desperdiciar sus recursos si quieren beneficiarse de dañar a las personas y nuestro futuro.
No voy a engañarme a mí mismo de que colocar las pequeñas bibliotecas que he liberado limitará materialmente las grandes corporaciones malvadas, pero ¿y si los proyectos más grandes lo hicieran?
Por ejemplo, las compañías de petróleo y gas utilizan el Hadoop de Apache para ayudarlas a operar de manera más rentable en un momento en que deberían cerrar sus puertas para evitar un desastre climático.
Si la Fundación Apache determinó que tales usos no entraban dentro del beneficio público que su misión prevé para sus recursos y decidió codificar eso en su licencia, las compañías tendrían que recurrir a otra cosa, tal vez una solución propietaria costosa. Este arrastre en el resultado final de una empresa que perjudica nuestro futuro sería algo bueno.
Es una idea nueva
Dicho todo esto, la licencia de Just World es una idea nueva. Creemos que tiene patas, y agradeceremos cualquier comentario o solicitud de solicitudes para mejorarlo.
fuente
Hay algunas licencias que prohíben específicamente el uso militar.
http://mindprod.com/contact/nonmil.html
Licencias de "código abierto" que prohíben explícitamente las aplicaciones militares
El problema con ese tipo de cosas es que se vuelven incompatibles con otras licencias, como la GPL. Por lo tanto, en la superficie pueden parecer "razonables", pero pueden afectar el uso.
La licencia de CryEngine solo permite el desarrollo de 'Juegos' y específicamente prohíbe lo siguiente:
Juegos serios:
Por supuesto, es probable que sea por razones comerciales más que por razones éticas, ya que podrían obtener más dinero de un contratista militar, por ejemplo, y solo tendrían que obtener una licencia diferente. También es un poco horrible que los juegos educativos no estén permitidos.
fuente
Cualquier licencia que restrinja el uso del software para ciertos fines no es, por definición, una licencia de Software Libre . Es una violación de lo primero de lo que GNU considera las cuatro libertades esenciales :
Puede encontrar varios en la lista de licencias de software no libre de GNU , pero, francamente, el mundo está repleto de licenciatarios de software no libre. Un buen ejemplo es la licencia JSON , que incluye esto:
Tenga en cuenta que dicha licencia es incompatible con GPL y LGPL. Eso significa que si alguien trata de usar el software que usa esa licencia con el software GPL o LPGL, el trabajo resultante no puede distribuirse legalmente a nadie.
En general, realmente, realmente odio tener que estudiar detenidamente la licencia de software casero de alguien para ver si puedo usar su software. Tengo mejores cosas que hacer con mi tiempo. Descubrí que hay 3 licencias que se pueden usar para cualquier propósito que publique públicamente software:
Si usas algo más, ya estoy un poco molesto contigo. Si es lo suficientemente oscuro como para no estar en la lista de licencias de GNU , así que tengo que analizarlo yo mismo, estoy triplemente molesto. Por lo general, es más fácil encontrar otro software con una licencia mejor.
Tenga en cuenta que cualquiera que vaya a usar su software para "maldad" probablemente tampoco se preocupará mucho por las restricciones de uso en su licencia.
fuente