2009-09-15 19 views
7

Estoy evaluando la posibilidad de desarrollar una aplicación web comercial de Java usando Hibernate como marco ORM. Esta aplicación se instalaría en el servidor de un cliente y sería utilizada por un pequeño número de usuarios. Además, no deseo liberar mi código fuente ya que la aplicación es crítica para la misión y podría poner en peligro la seguridad de la aplicación.Licencia de MySQL en una aplicación web comercial usando Hibernate

Diseñé la aplicación así que si el cliente tiene una licencia de base de datos empresarial ya configuraría Hibernate para usar esa base de datos. De lo contrario, idealmente me gustaría proporcionar/recomendar una base de datos para ellos. De acuerdo con mi experiencia actual, preferiría usar MySQL, que tiene doble licencia comercial y está bajo GPL.

Aparte de la configuración del dialecto de Hibernate, no planeo tener ningún código o SQL específico de MySQL en mi aplicación. Basado en la información del sitio web de MySQL y en muchos de los mensajes conflictivos que he leído en línea, parecería que si quiero distribuir la aplicación de esta manera, necesitaría comprar una licencia comercial de MySQL. El costo de una licencia comercial ($ 600 + por año por lo que entiendo) haría que el software sea demasiado caro. Considero que debe haber otras aplicaciones web comerciales que permitan una funcionalidad similar y que no estén incluidas en una base de datos.

Eso me lleva a estas dos preguntas:

1.) ¿Hay circunstancias conocidas donde se puede utilizar MySQL Community Edition con una aplicación de código cerrado comercial sin tener que pagar una tarifa de licencia? Si es así, ¿sabe de alguna aplicación comercial o empresa que legalmente haga esto?

2.) Idealmente, me gustaría usar el controlador J de conector MySQL, que creo que también tiene doble licencia. Si no incluyo este frasco en mi código y en su lugar indico al usuario que descargue el conector y descargue e instale el servidor MySQL directamente desde el sitio web de MySQL, ¿esto es permisible bajo la GPL?

Ya hay un par de mensajes útiles en Stack Overflow (como MySQL licensing and GPL) pero estoy buscando una respuesta más específica para mi caso. Me doy cuenta de que la mayoría de nosotros no somos abogados, pero cualquier orientación sería útil para poder superar los problemas legales y comenzar con la codificación real. Gracias.

+0

"si quiere una opinión legal relevante para usted, pregunte a un abogado. ¿Es eso irrazonable? Las opiniones de los abogados difieren, es solo un asunto sobre el consejo que está satisfecho con su situación particular. Al final, solo son opiniones sin embargo, no juicios definitivos. En un caso judicial, cualquier interpretación u opinión es irrelevante, el fallo del tribunal sería importante. Todo lo que puedo decir es que MySQL AB no es una compañía liviana. Producimos software, no casos judiciales ". - Arjen Lentz, Director @ Open Query http://openquery.com Servicios excepcionales para MySQL http://forums.mysql.com/read.php?4,1988,142029#msg-142029 – blak3r

+4

I ' Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de licencias o asuntos legales, no de programación en sí misma. [Consulte aquí] (http://meta.stackoverflow.com/q/274963/369450) para obtener más información, y [help center] (http://stackoverflow.com/help/on -topic) para obtener más información. – cpburnz

Respuesta

6

No tome decisiones comerciales en función del asesoramiento legal que obtenga en Internet, incluido el mío.

Tengo entendido que si le dice a su cliente que es responsable de descargar e instalar MySQL y el conector JDBC, puede evitar los términos de la licencia GPL.

Si distribuye el software GPL con su aplicación, su software también utiliza implícitamente esa licencia. Usted estaría obligado a permitir que su cliente acceda a su código fuente. incluyendo los derechos para modificarlo y distribuirlo ellos mismos.

se podía elegir como predeterminado RDBMS otro popular RDBMS de código abierto con una licencia más permisiva, tales como:

  • PostgreSQL (licencia BSD)
  • SQLite (dominio público)
  • Firebird (InterBase Public License, basada en la Mozilla Public License)

Re su pregunta en co mment: Confluence en realidad no es de código abierto, es un producto comercial.Hacen que la fuente esté disponible para los titulares de licencias comerciales, pero esto no califica como de código abierto según la definición OSI.

Confluence utiliza JDBC, una API no específica de RDBMS definida por Sun Microsystems. Confluence se distribuye con una base de datos liviana de Java llamada HSQL o HypersonicHSQL, que usa una licencia como la Nueva Licencia BSD. Si el cliente desea usar Confluence con MySQL, tiene que instalarlo él mismo.

Consulte http://confluence.atlassian.com/display/DOC/Database+Setup+For+MySQL donde la documentación de instalación le dice que vaya a descargar e instalar MySQL y MySQL Connector/J.

La clave de por qué esto funciona para un producto de código abierto como no Confluencia es que su producto no necesariamente necesitará utilizar MySQL, se puede utilizar un controlador JDBC diferente (y de hecho lo hace, por defecto). Como no hay dependencia en el uso de MySQL específicamente, Confluence no necesita cumplir con los términos de GPL.

Si tiene otras preguntas sobre GPL, las preguntas frecuentes de GPL son probablemente el mejor lugar para comenzar, en lugar de StackOverflow. Ver http://www.gnu.org/licenses/gpl-faq.html

+0

@Bill Karwin - ¿Conoces alguna aplicación comercial que adopte ese enfoque? El asesoramiento legal es costoso y me gustaría encontrar tantos precedentes como sea posible. Las únicas aplicaciones que conozco son Bugzilla y Confluence, ambas de código abierto. – blak3r

+1

+1. Concuerdo completamente. Simplemente no puede redistribuir MySQL usted mismo. Muchas empresas resuelven esto haciendo la instalación para sus clientes, por lo que cobran por el servicio (acto) de descarga e instalación de MySQL en lugar del propio mysql. Sin embargo, si realmente está yendo desde la base, le sugiero que busque Firebird o Postgres (considero que SQLite también es "lite" y limitado). –

0

Además de las opciones de DBMS mencionadas, también sugeriría la base de datos CUBRID que está licenciada bajo GPL pero no requiere que las aplicaciones cliente, que aprovechan el servidor de base de datos, sean GPL, tan segura. Puede encontrar más información en CUBRID Licensing Policy en su sitio oficial. Aunque esto no responde directamente a sus preguntas, espero poder darle alguna pista directiva.

Cuestiones relacionadas