PDA

Bekijk Volledige Versie : Hoe gratis is MySQL nou werkelijk?



jhoogvliet
28/02/11, 14:49
Beste,

Bij een klant van ons hebben ze aan het begin van een traject ooit gekozen voor het gebruik maken van een Postgresql database.
Echter moet ik zelf toegeven dat ik niet zo erg fan ben van Postgresql aangezien de HA nog vrij jong is van dit pakket. Ook hebben we met een test een aanzienlijk betere performance in mysql dan in postgresql.

Nu zijn wij al bijna de hele ontwikkeling (circa 2 jaar) betrokken bij het ontwikkelen van het nieuwe software pakket, alleen is de keus voor postgresql mij niet helemaal duidelijk.

Nu werd mij hier verteld dat wanneer je een pakket verkoopt welke gebruik maakt van MySQL (commercieel dus) dat je ook licentiekosten van MySQL moet gaan betalen. Ik heb wat rondgestruind op site van MySQL alleen vind het een beetje onduidelijk.

Wanneer moet je betalen voor MySQL en wanneer niet? En moeten hosters niet ook betalen als ze hosting aanbieden met MySQL?

pierce
28/02/11, 15:03
MySQL Community Edition is the freely downloadable version of the world's most popular open source database. It is available under the GPL license and is supported by a huge and active community of open source developers.


http://www.mysql.com/products/community/

flash
28/02/11, 15:05
MySQL Community Server (de versie die 99% vd wereld gebruikt) is gewoon Open source met de GPLv2 licentie.

Ook qua ontwikkelen op MySQL hebben ze rekening gehouden dat je dit gewoon zonder zorgen kan doen. Door middel van verschillende connectors die je geen restrictie opleggen in de licentie van achterliggende code. Je hoeft dus echt nergens voor te betalen op de community edition en er zitten geen gebruik beperkingen in.

Wil je echter meer (support, extra tools) dan moet je andere editities nemen, die kosten wel geld.

jhoogvliet
28/02/11, 15:07
MySQL Community Server (de versie die 99% vd wereld gebruikt) is gewoon Open source met de GPLv2 licentie.

Ook qua ontwikkelen op MySQL hebben ze rekening gehouden dat je dit gewoon zonder zorgen kan doen. Door middel van verschillende connectors die je geen restrictie opleggen in de licentie van achterliggende code. Je hoeft dus echt nergens voor te betalen op de community edition en er zitten geen gebruik beperkingen in.

Wil je echter meer (support, extra tools) dan moet je andere editities nemen, die kosten wel geld.

Oke duidelijk! Dit leek mij ook alleen ik vond het een beetje onduidelijk. Want aangezien normaliter GPL betekend dat je het ook als opensource moet aanbieden. Maar aangezien je eigenlijk gewoon het pakket levert exclusief de mysql host, leek me dit weer niet van toepassing.

flash
28/02/11, 15:15
Je mag zelfs het pakket inclusief MySQL leveren. alleen dan moet je wel ook de MySQL source beschikbaar maken (via je website of anderzijds) van de versie die je mee levert.

Database
28/02/11, 16:03
Beste,

Bij een klant van ons hebben ze aan het begin van een traject ooit gekozen voor het gebruik maken van een Postgresql database.
Echter moet ik zelf toegeven dat ik niet zo erg fan ben van Postgresql aangezien de HA nog vrij jong is van dit pakket.

Wat is "vrij jong"? En WAL archiving bestaat al een eeuwigheid, evenals Slony. Dus wat is dan "vrij jong" ?



Ook hebben we met een test een aanzienlijk betere performance in mysql dan in postgresql.

Dat zegt wellicht meer over jouw test dan over welke database dan ook. Kun je hier meer van laten zien? Wat heb je getest en hoe heb je getest? Configuratie is ook interessant.

Default configuraties zijn onbruikbaar voor performance, dat mag duidelijk zijn. Verder is het gebruik van transacties iets wat PostgreSQL sneller maakt maar MySQL juist langzamer maakt.

Wanneer je een query wilt hebben die MySQL direct over zijn nek laat gaan (query te complex), laat maar even weten, dan schrijf ik er even eentje. PostgreSQL zal er geen enkele moeite mee hebben. Met dat resultaat kun je dan direct aantonen dat PostgreSQL een aanzienlijk betere performance levert dan MySQL.



Nu zijn wij al bijna de hele ontwikkeling (circa 2 jaar) betrokken bij het ontwikkelen van het nieuwe software pakket, alleen is de keus voor postgresql mij niet helemaal duidelijk.Na twee jaar ontwikkelingen even overstappen op een andere database, dat lijkt mij een kostbare zaak, maar het kan. Hou wel in de gaten dat MySQL veel beperkter is en bv. geen transactionele DDL kent en slecht uit de voeten kan met subqueries en joins. De betrouwbaarheid van je systeem neemt dus ook af.



Nu werd mij hier verteld dat wanneer je een pakket verkoopt welke gebruik maakt van MySQL (commercieel dus) dat je ook licentiekosten van MySQL moet gaan betalen. Ik heb wat rondgestruind op site van MySQL alleen vind het een beetje onduidelijk.

Wanneer moet je betalen voor MySQL en wanneer niet? En moeten hosters niet ook betalen als ze hosting aanbieden met MySQL?
Wanneer jij niks verandert aan de broncode, is er niks aan de hand. Mocht je "zekerheid" willen hebben, huur dan een jurist in, die weet er meer van dan een stel techneuten die doen alsof. (en dan heb ik het ook over mezelf)

flash
01/03/11, 12:14
Wanneer jij niks verandert aan de broncode, is er niks aan de hand. Mocht je "zekerheid" willen hebben, huur dan een jurist in, die weet er meer van dan een stel techneuten die doen alsof. (en dan heb ik het ook over mezelf)

Hoezo, "doen alsof" vind het een beetje vervelend dat je zo'n opmerking moet maken over je mede wht'ers aan het einde van je beraad, welke nog niet eens helemaal klopt maar dat erbuiten.

De GPLv2 licentie is gewoon duidelijk in wat wel en wat niet mag, daar heb ik geen jurist voor nodig om iemand te vertellen of hij het gratis mag gebruiken.

pdu
02/03/11, 01:04
1) Lees altijd ALLE policies voordat je iets gebruikt, er is altijd een kans aanwezig dat je BSA op bezoek krijgt en ze doodleuk de licensies + boete alsnog incasseren. (zeker nu ze de boete delen met aangever)

Met Oracle als eigenaar dien je op dit moment PDO te gebruiken zodat je straks MYSQL kun verwisselen zonder in database of code te hoeven rommelen.

2) Integenstelling tot wat hier staat is MySQL al sinds verkoop van SUN niet gratis, ja het is opensource maar dat wil niet zeggen dat het gratis is. (GPL gaat niet over of iets gratis is, maar over dat iets open is en open moet blijven en dat je bij wijzigingen/verbeteringen verplicht bent de code te publiceren etc..)

3) Er is een exceptie dat heet FOSS in het kort komt het er op neer dat in een LAMP opstelling waarbij de PHP code open is geen licentie hoeft te nemen.
zie: http://www.mysql.com/about/legal/licensing/foss-exception/

4) Iedereen die Mysql mee levert met een gesloten oplossing moet gewoon PER server een licentie afnemen zie voor meer informatie:
http://www.mysql.com/about/legal/licensing/oem/

Gratis is alleen de zonsop- en ondergang.

ps: een ondernemer heeft de wettelijke verplichting om zelf uit te zoeken waaraan hij moet conformeren, het hier vragen bied geen enkele garantie.

Freakingme
02/03/11, 02:37
1) Het is niet zo dat PDO interoperabiliteit garandeert, met een DAL kan je prima ook mysqli of zelfs de mysql extension gebruiken.

Daarnaast zegt 't feit dat oracle tegenwoordig Mysql bezit ook niet alles, je kan nog altijd gewoon een fork pakken. Bijvoorbeeld MariaDB, dit is 100% backwards compatible met Mysql, maar biedt wel extra functionaliteit.

2) Ik download mysql regelmatig, en heb nog geen factuur ontvangen. Dus,
free as in beer: check
licentie = gpl, free as in freedom of speech: check
free + free = free

3) Let op: dit gaat om de /client libraries/. Het klopt dat je niet zomaar de standaard mysql connectors kan gebruiken (in een non-FOSS app). Bij bijvoorbeeld Mariadb heeft men wel plannen om een BSD C connector te schrijven, maar hier zijn nog niet genoeg resources voor. Let wel, tegenwoordig is er mysqlnd voor PHP, deze valt onder de BSD licentie, en is dus wel gewoon royalty free te gebruiken. Twee jaar geleden bestond deze echter nog niet (wat dus wel relevant kan zijn geweest voor TS).

4) Zie punt 3, die OEM license gaat om de client libs.

maxnet
03/03/11, 11:11
Let wel, tegenwoordig is er mysqlnd voor PHP, deze valt onder de BSD licentie, en is dus wel gewoon royalty free te gebruiken.

Alleen is Mysqlnd pas vanaf PHP 5.3 beschikbaar en hebben veel hosters nog systemen met PHP 5.2 in gebruik, die nog wel van de client libraries gebruik maakt.
Interessante vraag is dan of je als hoster dan geen licentiekosten verschuldigd bent op het moment dat je de MySQL + (closed source) Ioncube PHP modules op je servers aan hebt staan.

Freakingme
03/03/11, 16:22
Interessante vraag is dan of je als hoster dan geen licentiekosten verschuldigd bent op het moment dat je de MySQL + (closed source) Ioncube PHP modules op je servers aan hebt staan.

Zolang je die niet distribueert (lees: verkoopt of ter download beschikbaar stelt) is er niets aan de hand. Daarnaast lijkt het me dat een solution waar TS het over had niet op een standaard shared webhosting platform draait, en zo nieuw is php5.3 nou ook weer niet...

xaban
03/03/11, 16:29
1)2) Integenstelling tot wat hier staat is MySQL al sinds verkoop van SUN niet gratis, ja het is opensource maar dat wil niet zeggen dat het gratis is. (GPL gaat niet over of iets gratis is, maar over dat iets open is en open moet blijven en dat je bij wijzigingen/verbeteringen verplicht bent de code te publiceren etc..)


Google maakt ook gebruik van MySQL zo ver ik weet, met eigen aanpassingen. Zij zijn dus verplicht het te publiceren?

Freakingme
03/03/11, 18:21
Google maakt(e) inderdaad gebruik van mysql, maar dat zegt niet dat ze ook de client libraries gebruikten. Zolang ze gewoon het server product wel aanpassen maar niet verspreiden doen ze niets verkeerds (getuige de gpl licentie).

maxnet
03/03/11, 19:10
Zolang je die niet distribueert (lees: verkoopt of ter download beschikbaar stelt) is er niets aan de hand.

Je hebt het nu over de gecodeerde PHP code.

Maar denk ook aan de Ioncube PHP module zelf.
Die is closed source, wordt gedistribueerd, en wordt door de hoster in dezelfde address space als PHP en de Mysql client libraries geladen.

Freakingme
03/03/11, 19:20
Ja, maar die verspreidt dat dan toch niet verder? Met gpl mag je vrijwel alles met een applicatie doen zolang je 't niet verder verspreidt.

Stefan Mensink
04/03/11, 00:29
Je mag zelfs het pakket inclusief MySQL leveren. alleen dan moet je wel ook de MySQL source beschikbaar maken (via je website of anderzijds) van de versie die je mee levert.
Niet correct. De code hoef je alleen mee te leveren als je er iets op aanpast. De originele code kan immers ook gewoon bij de originele aanbieder worden verkregen.

Bij libraries is dat weer ietsje anders. Gebruik je een GPL'ed library, dan loop je de kans dat de broncode van je eigen software ook automatisch onder deze licentie gaat vallen. Daarvoor is dan weer LGPL uitgevonden, want daarbij mag je de LGPL-library (ongemodificeerd) in je eigen software opnemen. Pas je de library zelf aan, dan moet je die aanpassingen aan de library wel weer opensourcen.

Zoals in de thread inderdaad ook al aangegeven, houd rekening met alle bepalingen en beperkingen. GPL- of LGPL-code betekent niet altijd gratis in alle omstandigheden. Er zijn diverse producten die voor non-profitgebruik in (L)GPL-vorm beschikbaar zijn, maar voor commerciële producten moeten worden aangeschaft.

In het geval van MySQL is er nu geen probleem. Je kan als leverancier niet zomaar licentievoorwaarden intrekken; dat kan alleen voor nieuwere versies. Mocht je twijfels hebben over de toekomst, houd ook het MariaDB-project in de gaten.

maxnet
04/03/11, 13:53
Bij libraries is dat weer ietsje anders. Gebruik je een GPL'ed library, dan loop je de kans dat de broncode van je eigen software ook automatisch onder deze licentie gaat vallen.

Da's dus het probleem waar ik op doel.
Binnen hetzelfde programma (php) combineren veel hosters 3 libraries:

- PHP
- PHP ioncube loader module (=closed source)
- libmysqlclient (=dual license. of GPL/FOSS of dokken voor een commerciele licentie)


Volgens mij is de gedachte van de GPL dat iedereen die in het bezit van de binaries is, ook toegang tot de broncode moet hebben.
En komt daar ook het "als je niets distribueert is er niets aan de hand" verhaal vandaan.
In de zin dat als het alleen om je eigen code zou gaan, je deze alleen intern gebruikt, en niet verspreid het niet zo'n probleem is.
Iedereen die de binaries heeft (alleen je eigen organisatie) heeft immers ook de source.

Dat is hier echter niet het geval. Jij hebt als hoster de Ioncube loader source niet.

Freakingme
04/03/11, 16:55
"Volgens mij is de gedachte van de GPL dat iedereen die in het bezit van de binaries is, ook toegang tot de broncode moet hebben."

Dat klopt. Maar, de ioncube loader valt niet onder de GPL licentie, dus dat gaat gewoon goed ;)

maxnet
04/03/11, 17:30
Dat klopt. Maar, de ioncube loader valt niet onder de GPL licentie

Dus mag je ook libmysqlclient niet meer onder de GPL licentie gebruiken (als je de Ioncube module in php.ini aan hebt staan).

Zoals Stefan ook al aangaf is de GPL besmettelijk. Wil je een GPL'd library in je programma (de php binary) gebruiken, dan moet de rest van het programma (alle modules inclusief) ook GPL zijn.

Freakingme
04/03/11, 17:49
Zoals Stefan ook al aangaf is de GPL besmettelijk. Wil je een GPL'd library in je programma (de php binary) gebruiken, dan moet de rest van het programma (alle modules inclusief) ook GPL zijn.

FOUT.

Fixed it for you:


oals Stefan ook al aangaf is de GPL besmettelijk. Wil je een GPL'd library in je programma (de php binary) verspreiden, dan moet de rest van het programma (alle modules inclusief) ook GPL zijn.

Mark17
04/03/11, 20:46
PHP gebruikt geen GPL licenties als ik het zo gauw goed zie. Zie ook http://nl.php.net/license/ verder zie ik zo op http://nl.php.net/mysql/ (en subpagina's) ook geen afwijkende licentie staan.

maxnet
04/03/11, 21:05
FOUT.

Fixed it for you:


Hmm, dan zou dus elke commerciele software leverancier de GPL licentie van libraries kunnen omzeilen door de eindgebruiker van zijn closed source product zelf de benodigde library te laten installeren?



PHP gebruikt geen GPL licenties als ik het zo gauw goed zie. Zie ook http://nl.php.net/license/ verder zie ik zo op http://nl.php.net/mysql/ (en subpagina's) ook geen afwijkende licentie staan.

MySQL heeft voor de PHP licentie een extra uitzondering gemaakt: http://www.mysql.com/about/legal/licensing/foss-exception/
Net zoals veel andere GPL programma's dat hebben voor bijv. het linken aan OpenSSL.

Freakingme
04/03/11, 21:54
Hmm, dan zou dus elke commerciele software leverancier de GPL licentie van libraries kunnen omzeilen door de eindgebruiker van zijn closed source product zelf de benodigde library te laten installeren?

Tjah, da's de vraag van de dag. Sterker nog, daar zijn de juristen nog niet helemaal over uit (http://en.wikipedia.org/wiki/GNU_General_Public_License#Libraries).

dJeez
27/04/11, 16:44
Misschien iets of wat laat maar here goes. Lees eerst even het volgende door : http://searchsystemschannel.techtarget.com/feature/MySQL-licensing.

Het addertje onder het gras is dus ten eerste de iet of wat onduidelijke scheiding tussen GPL/commercial, de uitzonderingen die expliciet werden vermeld en daarenboven de gewijzigde licenties op bepaalde connectoren (die sedert MySQL 4 ook onder GPL vallen en niet langer onder LGPL, wat serieuze implicaties heeft naar commerciële software toe). In een notedop : als je applicatie geen webapp is, je ze niet vrijgeeft onder GPL licentie èn ze toegespitst is op enkel en alleen MySQL als DB, dan ga je bijna steeds een commercial license moeten aanschaffen. Of je dan een licentie aanschaft voor de DB zelf of enkel voor een specifieke MySQL connector, moet je zelf maar uitmaken...

mitedo
28/04/11, 19:18
Gewoon MS SQL Express

Altijd gratis :-)

The-BosS
28/04/11, 20:16
Gewoon MS SQL Express

Altijd gratis :-)

Ja en nee, windows is niet gratis en daar moet MS SQL Express dan weer op draaien. Wat dus wil zeggen dat je geen multiplatform programma kunt maken.

mitedo
28/04/11, 20:37
windows is niet gratis, nee.
Zo kunnen we nog wel even doorgaan... Hardware is niet gratis, elektriciteit is ook niet gratis, datacentrum locatie is niet gratis.
Dus eigenlijk is geen enkel softwarepakket gratis, volledige bullsh*t dus.

Je kunt heel gemakkelijk een database server neerknallen met een oude windows versie, die je nog ergens thuis hebt liggen, want SQL server hoeft niet op een windows server te draaien, maar kan ook op bijv. XP Home Basic draaien.

The-BosS
28/04/11, 22:32
windows is niet gratis, nee.
Zo kunnen we nog wel even doorgaan... Hardware is niet gratis, elektriciteit is ook niet gratis, datacentrum locatie is niet gratis.
Dus eigenlijk is geen enkel softwarepakket gratis, volledige bullsh*t dus.

Je kunt heel gemakkelijk een database server neerknallen met een oude windows versie, die je nog ergens thuis hebt liggen, want SQL server hoeft niet op een windows server te draaien, maar kan ook op bijv. XP Home Basic draaien.

Lees even de OP zou ik zeggen, het gaat over software integratie met SQL en niet enkel over een SQL Server. Ik weet ook wel dat je MS SQL Express op iedere windows pc kunt laten draaien. Maar wat doe je dan als de klant vraagt maak even een software programma en oja we hebben 90% macOS en 10% linux. Bij mijn weten draaid MySQL op eender welk platform en MS Sql (Express) niet. Dus zelf al zou je de software dan op netwerk level maken moet het bedrijf toch weer investeren in nieuwe server met windows, kortom kost dus extra geld. Lukt het niet op netwerk level dan zou je dus iedere client moeten vervangen, kost ook weer geld. Dan blijft dus de vraag wat is er goedkoper een nieuwe server op windows kopen, nieuwe client pc's kopen of gewoon een mysql server licentie (mysql connector licentie) aanschaffen. Om dan nog maar te zwijgen over de beperkingen die een MS Sql Express versie met zich mee brengt kwa user connections en db grote.

Snap trouwens ook niet wat je opmerking ivm hardware, stroom en datacenter te maken hebben bij software.