Ver Mensaje Individual
  #9  
Antiguo 13-08-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Reputación: 22
Mick Va por buen camino
Cita:
Empezado por Crandel
no es asi, la licencia de MySQL te lo impide, ya sea que distribuyas junsto con tu sistema o si el usurio que lo compre lo instala, en ambos casos se debe adquirir una licencia comercial.
En parte tienes razon, pero el tema es mucho mas complicado. Intentare clarificarlo un poco mas a pesar de la confusion que genera la propia faq de la propietaria de mysql: Mysql AB. Aunque va a ser un tocho, porque el tema tiene tela.

La Licencia que tiene el servidor de mysql es la GPL, luego lo que importa es el siguiente link.

http://dev.mysql.com/doc/mysql/en/gpl-license.html

El link inicial que se ha dado, son una serie de clarificaciones por parte de la propietaria de mysql que mas que clarificar estan para oscurecer el tema.
Digo oscurecer porque algunas de las afirmaciones van en contra de las clausulas de la propia licencia GPL que le han dado a su producto.
Es decir en las clarificaciones vienen a decir que si distribuyes mysql junto con cualquier otro codigo este otro codigo tiene que ser licenciado como GPL, cuando esto no es completamente cierto.
Esto es debido a que MySQL esta haciendo una interpretacion distinta en varios puntos de la licencia GPL, a la interpretacion que le da la FSF que es quien ha redactado la licencia.
Ha habido muchos reproches por parte de la comunidad opensource por este intento de interpretar la GPL de forma distinta a la normal y por el cambio de licencia.
Es decir MySQL AB plantea una interpretacion diferente de la licencia para que el usuario tenga dudas, de modo que ante la duda compres siempre las licencias comerciales aun cuando no fuese necesario.
Luego mi opinion (y la de bastante gente) es que a efectos legales, habra que tener en cuenta las clausulas de la licencia real, que es el link que he dado mas arriba, porque ese es el "contrato real" entre mysql ab y cualquier usuario.

Ahora vamos por partes. MySQL se compone de dos partes el servidor de MySql propiamente dicho, y el cliente (la dll que permite conectar al servidor).
El problema que hay es con el uso de la DLL cliente no con el servidor propiamente dicho.
MySQL AB no aclara esto porque no le interesa demasiado, pero el uso del servidor en si no plantea ningun problema, porque nadie en su sano juicio consideraria que el hecho de que un programa conecte por la red con un servidor de base de datos lo convierte en un programa derivado del servidor de base de datos y por lo tanto le afecta la propia licencia GPL del servidor.
Considerar esto asi seria una barbaridad ya que siguiendo este razonamiento , por ejemplo el propio programa telnet de windows, podria considerarse un trabajo derivado y deberia tener licencia GPL ya que con el se puede conectar a una base de datos mysql.

Si usamos una version de MySQL inferior a la version 4, noy ha problema porque:

Mysql Version < 4
Servidor: Licencia GPL
Cliente: Licencia LGPL.

Con cualquier version inferior a la 4, la licencia del cliente es LGPL no GPL la licencia LGPL permite linkar programas privativos o con cualquier otra licencia con la DLL cliente de mysql (al contrario que la GPL). Asi que no hay problema alguno. Cualquier programa tenga la licencia que tenga puede usar la DLL cliente de mysql sin ninguna restriccion.
En definitiva basta entregar dos discos uno con el cliente y servidor de mysql y otro con tu programa. En la realidad se pueden juntar en el mismo disco no hay problema, pero ante la duda se entregan separados y listo.

Mysql Version >= 4
Servidor: Licencia GPL.
Cliente: Licencia GPL.

Vemos que a partir de la version 4 la licencia del cliente ha pasado de LGPL a GPL eso significa, que un programa que se linke y llame a las funciones de la dll cliente de mysql, debe ser redistribuido con esa misma licencia (la GPL).

El problema esta aqui, en que un programa haga llamadas a las funciones de la DLL cliente de mysql que es la que ha cambiado de licencia.

En resumen se puede utilizar el servidor de mysql sin problemas, su licencia es GPL y muy parecida a la del servidor de firebird por ejemplo.

Para el driver cliente es donde habria que plantear otras posibilidades:

* Seguir utilizando el servidor de mysql, pero como cliente usar una dll de otro fabricante, hay varios drivers clientes de conexion a mysql de terceras partes que se podrian utilizar.

* Comprar licencias de mysql pero SOLO de la dll cliente (Esto anda sobre 50 dolares por equipo).

* En nuestro programa deberiamos utilizar dbexpress o cualquier otro motor de base de datos que sea generico, o que utilize los drivers genericos de windows via odbc/oledb, etc.
Utilizando una gestion de bases de datos genericas como dbexpress, etc, nuestro programa nunca se podra considerar un trabajo derivado de la libreria cliente de mysql. Simplemente es un programa que permite conexiones genericas a base de datos y esta puede ser cualquiera, sea interbase, sqlserver, mysql, etc.
Haciendo esto nadie podra exigirnos el codigo fuente del software que desarrollemos. Si esto no fuese asi, el mismo delphi tendria que ser GPL ya que el propio IDE permite conexiones con el servidor de base de datos MySQL, pero que yo sepa MySQL AB no le ha exigido a borland que cambie la licencia de delphi a GPL por tener la capacidad de conectar a MySQL.

En definitiva con esto ultimo protegemos nuestro codigo fuente, pero el problema es que pasamos la pelota del lado del usuario al que le vendemos el software.
Es decir serian nuestros clientes los que tendrian la responsabilidad de comprar una licencia cliente de MySQL si quisiesen estar "legales".
Pero el hecho de que no tengan la licencia del cliente de mysql legalmente comprada no afecta a licencia de nuestro software, simplemente se trataria de un uso no autorizado de la libreria de mysql por parte del usuario por no haber comprado la licencia.

Saludos
Responder Con Cita