open-source - son - sw open source
¿Una licencia de código abierto que no permite a los usuarios compilar la aplicación a menos que la hayan comprado? (13)
Es hackish, pero lo he visto hecho: distribuye tu código como una serie de capturas de pantalla.
Está ''publicado'', pero no compilable.
Pero para llegar al corazón de su pregunta, distribuir la fuente sin permitir que la gente la compile claramente NO ES FLORAL.
He estado desarrollando software GPL desde hace 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, independientemente de 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 tanto de mi trabajo original como 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 tengo que escribir la mía?
Gracias,
ACTUALIZAR:
Antes que nada, gracias a todos por las respuestas.
Déjame aclarar algunas cosas:
Esta aplicación aún no ha sido liberada. Así que no estoy adoptando una nueva licencia como XFree86, estoy tratando de elegir una licencia para una nueva aplicación.
Normalmente utilizo el término "software libre" en lugar de código abierto, por eso utilicé el término fuente abierta aquí. La fuente será "abierta" de hecho, simplemente no de la manera en que la OSI la define.
Estoy totalmente de acuerdo con GPL, y casi todo el software que he escrito antes fue publicado bajo el GNU GPL v2. Pero este tiene que ser una excepción.
Realmente no me importa si la gente viola la licencia. No me gustaría demandar a nadie por eso, a menos que vendan mi software.
Ahora no sugiero que haya escrito un software muy especial, pero no quiero que la gente gane dinero robando mi código. Pero también quiero que los usuarios conocedores de la tecnología puedan modificar el software de la forma que mejor les parezca.
Ah, y finalmente, la aplicación está escrita en un lenguaje compilado (Objective-C, para ser precisos * tos * iPhone * tos *).
Esa no sería una licencia de código abierto. Sin embargo, ciertamente puede tener una licencia propietaria que diga exactamente lo que pretende. Muchos equipos que venden componentes hacen exactamente lo que usted dice, con la excepción de que generalmente no brindan una fuente hasta que usted haya pagado.
No hay nada que te impida hacerlo, pero creo que la realidad de la situación es que una vez que tu fuente esté disponible, alguien la compilará (probablemente muchas personas). ¿Qué tan fácil será evitar la redistribución de los binarios ...?
IANAL, pero le sugiero que escriba su 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 realmente te tomas en serio el hecho de tener algo que se pueda poner de pie en la corte, necesitarás algunos consejos legales antes de publicarlo.
No creo que esto calificaría como una licencia de "código abierto" en la definición de código abierto .
Sin embargo, en general, debería poder mostrar su fuente a personas sin que se les permita automáticamente compilarla. Tan pronto como deje en claro que todavía reserva todos los derechos, la versión compilada probablemente se consideraría un "trabajo derivado".
Si es un gran programa, la gente probablemente lo robe. Hay poco que puede hacer al respecto, excepto demandarlos más tarde (si lo atrapa). En general, mostrar su origen sin liberarlo como código abierto no parece una buena idea.
Otros ya le han dicho que lo que está describiendo no es de "código abierto", como generalmente se entiende. No hay nada que prohíba distribuir la fuente con una licencia comercial.
De hecho (y como otro ejemplo), atlassian , fabricantes de jira, confluence y otras gemas, proporcionan su código fuente una vez que haya comprado una licencia de sus productos comerciales. Se le permite cambiar, aplicar parches y usar esto, pero no para redistribuir.
(No estoy asociado con atlassian aparte de ser usuario de algunos de sus productos)
Por cierto, será totalmente imposible evitar que las personas mantengan la última versión de GPL que lanzaste. Si hay suficientes personas que desean usar su software, debe participar en esta empresa con la expectativa de que una comunidad construirá detrás de la versión de GPL, sus nuevos mantenedores coincidirán con su característica por característica, y usted será considerado un paria en esos círculos
No me refiero a esto como una amenaza, sino como el patrón que he visto desarrollar en torno a estas acciones en el pasado. XFree86 adoptó una licencia más restrictiva, muchos contribuyentes lo bifurcaron en X.org, y XFree86 ahora es poco más que una sombra de lo que era. cdrecord begt cdrtools. SSH engendra OpenSSH. Básicamente, el historial de cambio de software libre a una licencia restrictiva está plagado de proyectos comerciales muertos. ¿Estás seguro de que esto es lo que quieres?
Alternativas: permite a los usuarios comprar las características solicitadas y liberarlas bajo la GPL. Proporcionar servicio de instalación y configuración. Vender contratos de soporte. Vender entrenamiento. Cualquiera de estos tiene muchas más probabilidades de tener éxito que lo que está proponiendo.
Tenga en cuenta que una versión ejecutable de su código fuente puede verse como un trabajo derivado .
Las diferencias entre el código fuente y la versión ejecutable incluso desaparecen, si usted escribe su aplicación en un idioma como Perl, Ruby, Python, etc.
Sin embargo, la licencia que está buscando 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 hazlo y publica algoritmos junto con un código fuente de ejemplo.
De esta forma, nadie puede recompilar Su producto sin Su permiso (es decir, una copia de la fuente completa) y los desarrolladores interesados aún pueden usar Sus algoritmos y construir sobre él.
Una licencia de código abierto (por definición) no se ajustaría a sus requisitos.
Pero puede echar un vistazo a la licencia de Microsoft Reference Source: permite ver el código fuente pero prohibir la distribución: http://www.microsoft.com/resources/sharedsource/referencesourcelicensing.mspx
eso no es SO , suena como fuente compartida. Específicamente, se parece mucho a Ms-RSL.
De WikiPedia :
Licencia de fuente de referencia de Microsoft (Ms-RSL)
Esta es la más restrictiva de las licencias de Microsoft Shared Source. El código fuente está disponible para visualizarlo solo como referencia. [14] Los desarrolladores no pueden distribuir o modificar el código para fines comerciales o no comerciales.
Ahora no sugiero que haya escrito un software muy especial, pero no quiero que la gente gane dinero robando mi código. Pero también quiero que los usuarios conocedores de la tecnología puedan modificar el software de la forma que mejor les parezca.
Entonces, ¿desea permitir cambios, pero no desea permitir el uso comercial?
Quizás esté buscando algo como Creative Commons NonCommercial, y tal vez la licencia NoDerivs.
Puede implementar algún proceso de compilación de propiedad, por lo tanto, incluso si tienen la fuente, no se puede compilar sin el ''generador'' de propiedad.
En una edición posterior, escribiste:
Realmente no me importa si la gente viola la licencia. No me gustaría demandar a nadie por eso, a menos que vendan mi software.
Si no le importa si las personas violan las restricciones en la licencia, seguramente eso significa que su nueva restricción es irrelevante; la GPL GNU no modificada debería ser tan buena para sus propósitos como lo era antes.
No puede enviar el código con una licencia y luego decirle a la gente que no aplicará la licencia. Eso es pedirles que asuman un riesgo legal inaceptable. ¿Qué es para evitar que cambies de opinión? Debería estar al tanto con 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 cae. No importa cómo lo licencia, las personas sin escrúpulos pueden no hacer con eso lo que usted prefiera.
Un enfoque es proporcionar la mayoría , pero no todo el código, de una licencia compatible con OSI (consulte opensource.org para obtener una lista de las licencias actuales aprobadas por OSI). Alguna biblioteca o kernel de bajo nivel que entregue en forma de código de objeto y lo venda o lo que sea. Sin el kernel 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 kernel, pero con un poco de astucia puede hacerlo difícil. También puede entregar el kernel con un EULA que prohíbe 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 en venta.
FYI: IANAL, estos son solo mis pensamientos personales sobre el asunto.