2008-11-11 10 views
7

Estoy trabajando en un proyecto y tratando de determinar qué plataforma usar. En este momento, mi primera opción sería usar ASP.Net MVC con una base de datos MySql. Mi preocupación con esto es que los controladores MySql tienen una licencia GPL. Estoy creando esto para una empresa y, por lo tanto, no puede ser un proyecto de código abierto. Aquí están las preguntas que tengo:Uso de MySql desde .Net - Concesiones de licencia

  1. Si uso los controladores MySql que tienen una licencia GPL, ¿tengo que hacer toda la aplicación de código abierto?
  2. ¿Alguien sabe de algún otro controlador MySql que tenga una licencia menos restrictiva?
  3. PostgreSql tiene una licencia LGPL que creo que debería estar bien pero no puedo encontrar ningún sitio de alojamiento que tenga ASP.Net y PostgreSql. ¿Alguien sabe de algún plan de alojamiento barato ($ 10- $ 20/mes preferiblemente) que ofrecen ambos?

Respuesta

7

El uso de las bibliotecas MySQL hará que su código base sea GPL.

Si escribe el código para varios clientes, estará obligado a liberar el código fuente de su sistema a ESOS clientes. No tiene ninguna obligación bajo la GPL de abrir el código fuente para el público en general, simplemente no puede evitar que otra persona lo haga.

Permítame repetir eso, ya que la gente no tiene muy claro acerca de este punto.La GPL lo obliga a usted como la entidad que distribuye el software a liberar el código fuente solo a aquellas entidades a las que realmente ha lanzado un binario del software. Si tiene una relación conmigo, y yo obtengo una copia de su software (y lo ideal es que lo haya compensado por ello), y luego Frank aparece solicitando el software, NO tiene la obligación de dar (ni vender, ni nada) el software para Frank. No es algo de "gato fuera de serie".

Frank podría venir a mí, y puedo darle (venderlo, comercializarlo) a él, y no puede evitar que lo haga, pero no tiene el compromiso de distribuir el software usted mismo ni apoyar a Frank. Como es muy posible que esté en el negocio de Tire, la distribución de software realmente no es mi problema, por lo que es poco probable que publique código en algún archivo público.

Si el proyecto es para un solo cliente, pueden tener derecho al código fuente de todos modos, por lo que la GPL en este caso probablemente no sea un problema.

Siempre que tenga derechos de autor del código, siempre puede cambiar la licencia para una versión futura. Por lo tanto, si elige dejar de utilizar MySQL más adelante, puede "un-GPL" el próximo lanzamiento y usar alguna otra licencia, sin embargo, no puede "un-GPL" liberar ningún software.

Para software vertical personalizado, la GPL no es un problema ya que la mayoría de las empresas simplemente no están en el negocio de distribución de software, y como proveedor no está obligado a apoyar a nadie más que a sus clientes reales, en lugar de cualquiera podría haber dado el código fuente también. La principal preocupación es sobre secretos comerciales, etc.

El software de mercado masivo es un problema diferente, por supuesto.

+0

Sin embargo una corrección: el uso de los controladores MySQL de libre disponibilidad (GPL) hará que su código base sea GPL. Usar los comerciales no. No estoy seguro de las mecánicas si entrega software y se solicita al cliente que proporcione un controlador de base de datos, que básicamente puede ser cualquier proveedor y cualquier licencia –

+0

Esta interpretación de la GPL es incorrecta. El uso de un controlador GPL no tiene su propia base de código GPL. Según esta lógica, hospedar aplicaciones web en Apache o ejecutar su aplicación en Linux también lo obligaría a utilizar GPL. La GPL simplemente evita que las personas tomen los controladores MySQL, los mejoren y luego no pongan las mejoras a su disposición. – krohrbaugh

+2

Estás equivocado. Apache no es GPL en absoluto, por lo que no se aplica. Linux depende de las bibliotecas LGPL C, y eso tampoco se aplica. Vincular el código GPL a su base de código crea un trabajo derivado y GPL todo el asunto. De lo contrario, no necesitaríamos algo como la LGPL. –

2

No soy abogado, pero MySQL al principio es un motor de base de datos. Por lo tanto, no necesita liberar su proyecto OpenSource porque pone datos en él.

Si fueras a actualizar el controlador según tu necesidad, entonces necesitarías poner esa modificación bajo licencia GPL.

1

No se puede usar la biblioteca del cliente MySQL GPL para un producto comercial, solo se puede usar para proyectos de código abierto. MySQL ofrece la misma biblioteca cliente bajo una licencia comercial por una tarifa razonable que puede usar para sus propósitos. Puede obtener más información sobre la licencia comercial here.

3

¿Hay razones técnicas/políticas para utilizar MySQL o PostgreSQL? La razón por la que pregunto es que hay hosts ASP.NET disponibles en su rango de precio objetivo que proporcionan acceso a la base de datos de SQL Server. Server Intellect tiene un plan de $ 15/mes que incluye 250 MB de espacio de base de datos SQL (nota: mientras uso Server Intellect como proveedor de hosting, no tengo ninguna otra relación con ellos y no obtengo ningún beneficio al elegir usarlos).

Leí a través del GPL (2.0) link en la página MySQL .NET Connector y no tengo completamente claro qué impacto tendría al usarlo tal cual (sin modificaciones) en una aplicación web. La Sección 2 parece aplicarse solo si está modificando el controlador ... La Sección 3 parece indicar que puede usar ("distribuir o publicar") el binario tal como está, siempre que también lo haga (y la fuente) disponible.

Si tiene que ir a la ruta MySQL, sería aconsejable consultar a un experto/abogado de GPL.

0

@ Jeff-Donnici: Definitivamente no he descartado el uso de SQL Server. Las dos razones por las que me inclino por MySql es que 1) si alguna vez se vuelve demasiado grande para un proveedor de hosting compartido, esa sería una opción mucho más barata y 2) necesitaré ser capaz de crear múltiples bases de datos y de lo que he visto de los proveedores de alojamiento compartido, SQL Server está limitado a 1 o 2 bases de datos, mientras que permiten bastantes bases de datos MySql.

2

Por lo que entiendo, si no cambia, modifica o altera las librerías GPL, y solo las está usando como lo que son, el resto de su base de código no estará bajo la GPL. Ahora, si distribuye la aplicación, tendrá que proporcionar acceso a la licencia para las bibliotecas y acceder a la fuente de las bibliotecas que ha utilizado. Pero todo lo demás es tuyo y licencia como quieras.