¿Una licencia de código abierto que no permite a los usuarios compilar la aplicación a menos que la hayan comprado? [cerrado]

StackOverflow https://stackoverflow.com/questions/179764

  •  05-07-2019
  •  | 
  •  

Pregunta

He estado desarrollando software GPL durante años, pero ahora necesito una licencia más restrictiva.

Esto es para una aplicación comercial, y quiero compartir mi código fuente con todo el mundo, sin importar si me compraron la aplicación o no. También quiero permitir que las personas produzcan trabajos derivados, pero quiero prohibir la distribución binaria de mi trabajo original y el de cualquier trabajo derivado.

Básicamente, si alguien ya ha comprado el trabajo original, él / ella puede compilar y usar el código fuente original, o cualquier trabajo derivado. De lo contrario, solo pueden estudiar mi código fuente o el de un trabajo derivado.

¿Alguien sabe una licencia que se ajuste a mis necesidades, o necesito escribir la mía?

Gracias,

ACTUALIZAR:

En primer lugar, gracias a todos por las respuestas.

Déjame aclarar algunas cosas:

  1. Esta aplicación aún no se ha lanzado. Así que no estoy adoptando una nueva licencia como XFree86, estoy tratando de elegir una licencia para una nueva aplicación.

  2. Normalmente utilizo el término " software libre " En lugar de código abierto, por eso usé el término código abierto aquí. La fuente será " abierta " de hecho, simplemente no de la manera en que lo define la OSI.

  3. Estoy a favor de la GPL, y casi todo el software que he escrito antes se lanzó bajo la GNU GPL v2. Pero esta tiene que ser una excepción.

  4. Realmente no me importa si las personas violan la licencia. No soñaría con demandar a nadie por eso, a menos que vendan mi software.

Ahora no estoy sugiriendo que haya escrito una pieza de software muy especial, pero simplemente no quiero que la gente gane dinero robando mi código. Pero también quiero que los usuarios expertos en tecnología puedan modificar el software de cualquier manera que consideren adecuado.

Ah, y finalmente, la aplicación está escrita en un lenguaje compilado (Objective-C, para ser preciso * tos * iPhone * tos *).

¿Fue útil?

Solución

eso no es OS , suena como una fuente compartida. Específicamente, se parece mucho a Ms-RSL.

De WikiPedia :

  

Licencia de origen de referencia de Microsoft (Ms-RSL)

     

Este es el más restrictivo de las licencias de Microsoft Shared Source. El código fuente está disponible solo para fines de referencia. [14] Los desarrolladores no pueden distribuir o modificar el código con fines comerciales o no comerciales.

Otros consejos

Por cierto, será completamente imposible evitar que las personas mantengan la última versión de GPL que lanzaron. Si hay suficientes personas que quieran usar su software, debe participar en esta empresa con la expectativa de que una comunidad se construya detrás de la versión GPL, sus nuevos mantenedores coincidirán con su característica por característica, y se lo considerará un paria. en esos círculos.

No quiero decir esto como una amenaza, sino como el patrón que he visto desarrollarse alrededor de estas acciones en el pasado. XFree86 adoptó una licencia más restrictiva, muchos contribuyentes la integraron en X.org, y XFree86 ahora es poco más que una sombra de su antiguo yo. cdrecord engendró cdrtools. SSH engendró OpenSSH. Básicamente, el historial de cambio de software libre a una licencia restrictiva está lleno de proyectos comerciales muertos. ¿Estás seguro de que esto es lo que quieres?

Alternativas: permite a los usuarios comprar las funciones solicitadas y lanzarlas bajo la GPL. Proporcionar servicio de instalación y configuración. Vender contratos de soporte. Vender entrenamiento. Cualquiera de estos es mucho más probable que tenga éxito que lo que está proponiendo.

Eso no sería una licencia de código abierto. Sin embargo, ciertamente puede tener una licencia de propietario que dice exactamente lo que desea. Muchos equipos que venden componentes hacen exactamente lo que estás diciendo, con la excepción de que generalmente no proporcionan una fuente hasta que hayas pagado.

No hay nada que le impida hacerlo, pero creo que la realidad de la situación es que una vez que su fuente esté disponible, alguien la compilará (probablemente mucha gente). ¿Qué tan fácil será prevenir la redistribución de binarios ... ???

No puede enviar el código con una licencia y luego decirle a las personas que no hará cumplir la licencia. Eso es pedirles que tomen un riesgo legal inaceptable. ¿Qué te impide cambiar de opinión? Debe estar al tanto de los términos bajo los cuales está licenciando el código.

El problema es que una vez que dejas que el código fuente salga por la puerta, es muy difícil hacer un seguimiento de dónde aterriza. No importa cómo lo licencia, las personas sin escrúpulos no pueden hacer con lo que prefieres.

Un enfoque es proporcionar la mayoría , pero no todo el código bajo una licencia compatible con OSI (consulte opensource.org para obtener una lista de las licencias actuales aprobadas por OSI). Alguna biblioteca o núcleo de bajo nivel que usted entrega en forma de código de objeto y lo vende o lo que sea Sin el núcleo compilado el código no se ejecutará. Los usuarios aún pueden ver las partes interesantes del código, pueden modificarlo si lo desean. Incluso podrían redistribuirlo, pero no funcionaría sin el núcleo compilado de bajo nivel. El riesgo es que alguien pueda aplicar ingeniería inversa a su núcleo, pero con un poco de inteligencia puede hacerlo difícil. También puede entregar el kernel con un EULA que prohíba la ingeniería inversa. Por lo tanto, puede emprender acciones legales contra alguien que hace esto. Creo que esto le proporciona lo que está buscando: la capacidad de compartir código, pero no permite que otros lo conviertan en un producto para la venta.

Para tu información: IANAL, estos son solo mis pensamientos personales al respecto.

No creo que esto califique como un " código abierto " licencia bajo la Definición de código abierto .

Sin embargo, en general, debería poder mostrar su fuente a las personas sin que se les permita compilarlas automáticamente. Siempre que deje en claro que todavía se reserva todos los derechos, la versión compilada probablemente se considerará un "trabajo derivado".

Si es un gran programa, la gente probablemente lo robará. Hay poco que puedas hacer al respecto, excepto demandarlos más tarde (si lo atrapas). En general, mostrar su fuente sin publicarla como fuente abierta no parece una buena idea.

Otros ya te han dicho que lo que estás describiendo no es " código abierto " como se suele entender. No hay nada que prohíba distribuir la fuente con una licencia comercial.

De hecho (y como otro ejemplo), atlassian , creadores de jira, confluencia y otras gemas, proporcionan su código fuente una vez que haya comprado una licencia de sus productos comerciales. Se le permite cambiar, parchear y usar esto, pero no redistribuir.

(No estoy asociado con atlassian que no sea un usuario de algunos de sus productos)

IANAL, pero sugeriría escribir tu propia licencia para este tipo de cosas. Nunca he encontrado una licencia específica para la compilación, como usted menciona. Eche un vistazo a algunas licencias como punto de partida que puede usar como plantilla. Si está realmente interesado en tener algo que pueda presentarse en el tribunal, necesitará algún consejo legal antes de publicar.

Una licencia de código abierto (por definición) no se ajustaría a sus requisitos.

Pero puede consultar la Licencia de fuente de referencia de Microsoft: permite ver el código fuente pero prohibir la distribución: http://www.microsoft.com/resources/sharedsource/referencesourcelicensing.mspx

Es un error, pero lo he visto hecho: distribuye tu código como una serie de capturas de pantalla.

Está 'publicado', pero no es compilable.

Pero para llegar al corazón de su pregunta, distribuir la fuente sin permitir que la gente la compile es claramente NO FLOSS-y.

Tenga en cuenta que una versión ejecutable de su código fuente podría verse como trabajo derivado .

Las diferencias entre el código fuente y la versión ejecutable incluso se desvanecen, si escribe su aplicación en un idioma como Perl, Ruby, Python, etc.

Sin embargo, la licencia que busca no es una licencia de código abierto y me parece que desea compartir algoritmos y sugerencias de implementación en lugar del código fuente completo de un producto. En ese caso, solo hágalo y publique los algoritmos junto con un código fuente de ejemplo.

De esta manera, nadie puede volver a compilar su producto sin su permiso (es decir, una copia de la fuente completa) y los desarrolladores interesados ??aún pueden usar sus algoritmos y desarrollarlos.

Podría implementar algún proceso de compilación de propiedad, por lo tanto, incluso si tienen la fuente, no se puede compilar sin el 'constructor' de propiedad.

  

Ahora no estoy sugiriendo que he escrito   Una pieza de software muy especial, pero   Simplemente no quiero que la gente gane dinero   robando mi codigo Pero tambien quiero   Los usuarios expertos en tecnología para poder   Modificar el software de cualquier manera que vean.   encajar.

¿Entonces quiere permitir cambios, pero no quiere permitir el uso comercial?

¿Quizás está buscando algo como un Creative Commons NonCommercial y quizás una licencia de NoDerivs?

En una edición posterior, escribió:

  

Realmente no me importa si las personas violan la licencia. No soñaría con demandar a nadie por eso, a menos que estén vendiendo mi software.

Si no le importa si las personas violan las restricciones en la licencia, evidentemente eso significa que su nueva restricción no es relevante. La GNU GPL no modificada debe ser tan buena para sus propósitos como lo fue anteriormente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top