Which MySQL Provider.

F

Frank Rizzo

I've been given a project to work with which involves connecting to
MySQL from .NET 2.0 app. I've googled looked and there is a metric ton
of different MySQL ADO.NET providers from different people.

Is there a consensus on which one is the most stable, more or less
supported and has good support for the standard MySQL features (e.g.
stored procs)?

Regards.
 
F

Frans Bouma [C# MVP]

Frank said:
I've been given a project to work with which involves connecting to
MySQL from .NET 2.0 app. I've googled looked and there is a metric
ton of different MySQL ADO.NET providers from different people.

Is there a consensus on which one is the most stable, more or less
supported and has good support for the standard MySQL features (e.g.
stored procs)?

MySql's own: it's GPL-ed (free) though you then also have to GPL your
own software. OR you have to pay 250$+ per developer for a commercial
license.

Core Lab's: it's commercial, but very inexpensive. They had their
problems in the past but it works fairly well.

Unless you're willing to making your own code GPL licensed, i'd go for
core lab's.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
P

Peter Bradley

Please contact MySQL at:

http://www.mysql.com/company/contact/?topic=licensing

before assuming that using connector/net means that your software has to be
GPL

Please note that if you are using MySQL in a "commercial product" then you
need a commercial license anyway.

However I *think* that they mean if you are distributing your product,
rather than using it in-house. If you are just developing an in-house
system using MySQL and connector/.net I don't *think* you need a commercial
license or to publish your code.

If you are producing an in-house product and you are not distributing it,
the GPL places no burden on you whatsoever (i.e. you do not have to make
your code available). The GPL only insists you make your source code
available if you distribute your product (which to most of us mean, "Sell
it" in all practical terms) - and if this were the case, you'd need a
commercial license for MySQL anyway.

Please check this with MySQL. Unless one of MySQL AB's lawyers is posting
here, none of us is qualified to give you an answer vis-a-vis licensing of
MySQL or connector/.net

HTH


Peter
 
F

Frank Rizzo

For a supposedly free database, they are certainly very expensive. I
understand charging for the database, but why charge for the driver?
 
F

Frans Bouma [C# MVP]

Peter said:
Please contact MySQL at:

http://www.mysql.com/company/contact/?topic=licensing

before assuming that using connector/net means that your software has
to be GPL

err... it's very simple:
if you reference/link/use a GPL-ed piece of code in your own code, your
code HAS TO BE licensed under the GPL as well. Read the GPL, it's very
simple.

You can get away by not doing that IF you don't distribute your
application. However, as soon as you distribute your application to
whatever (that is: even another machine!), you ARE violating the
license.
Please note that if you are using MySQL in a "commercial product"
then you need a commercial license anyway.

I don't know the MySql license through and through, but the GPL is
pretty clear: if you create a commercial application, you can still use
the GPL-ed software, as long as you GPL your own software as well.
However I think that they mean if you are distributing your product,
rather than using it in-house. If you are just developing an
in-house system using MySQL and connector/.net I don't think you need
a commercial license or to publish your code.

With licensing issues, 'I think' is not enough. You have to be sure.
GPL is a distribution license, as many others.
This means that if developer A writes a piece of code and uses a
GPL-ed ADO.NET provider, and the software is never distributed by A to
whatever other system (that also includes a co-workers box, that's also
distribution), then A doesn't have to GPL his software. As soon as A
does distribute the code, he will have to license his own code as GPL,
that's the license he has to obey to to be able to USE the gpl-ed
ado.net provider.
If you are producing an in-house product and you are not distributing
it, the GPL places no burden on you whatsoever (i.e. you do not have
to make your code available). The GPL only insists you make your
source code available if you distribute your product (which to most
of us mean, "Sell it" in all practical terms) - and if this were the
case, you'd need a commercial license for MySQL anyway.

in-house distribution is also distribution. Distribution from your
laptop to the server of your customer who uses it in-house is also
distribtion.
Please check this with MySQL. Unless one of MySQL AB's lawyers is
posting here, none of us is qualified to give you an answer vis-a-vis
licensing of MySQL or connector/.net

I can tell you, Mysql's lawyers are very keen on this. So stay on the
safe side: either use a commercial provider or use another database.

FB
HTH


Peter


--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Peter said:
Please contact MySQL at:

http://www.mysql.com/company/contact/?topic=licensing

before assuming that using connector/net means that your software has to be
GPL

The GPL is very clear: linking to GPL makes everything GPL.

The question is: what is linking.

From a common sense perspective I would say that use of
MySQL classes in the code is linking and use of a configuration
file, reflection and interfaces is not linking.

The last one I would ask about if that is true is MySQL.
Please note that if you are using MySQL in a "commercial product" then you
need a commercial license anyway.

Wrong.

GPL does not care about what you use the software for.
However I *think* that they mean if you are distributing your product,
rather than using it in-house. If you are just developing an in-house
system using MySQL and connector/.net I don't *think* you need a commercial
license or to publish your code.

All the GPL requirements only applies to distributing.
Please check this with MySQL. Unless one of MySQL AB's lawyers is posting
here, none of us is qualified to give you an answer vis-a-vis licensing of
MySQL or connector/.net

I would suggest checking with ones own lawyer.

MySQL has a rather direct interest in telling people to pay.

Arne
 
S

Steven Cheng[MSFT]

Hi Frank,

Most of the commerial database drivers or components won't be free of
charge. Anyway, you can still look for some over open source sites such as
sourceforge:

#ADO.Net drivers for MySql and PostgreSql
http://sourceforge.net/projects/mysqlnet/

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Steven said:
Most of the commerial database drivers or components won't be free of
charge. Anyway, you can still look for some over open source sites such as
sourceforge:

#ADO.Net drivers for MySql and PostgreSql
http://sourceforge.net/projects/mysqlnet/

You know that is the code MySQL Connector for .NET
was based on and that this version has not been
updated since MySQL tookover ByteFX in 2004 ?

Arne
 
F

Frank Rizzo

Frans said:
I can tell you, Mysql's lawyers are very keen on this. So stay on the
safe side: either use a commercial provider or use another database.

They certainly are. I was contacted by one today.

Regards
 
T

Thomas T. Veldhouse

Frans Bouma said:
err... it's very simple:
if you reference/link/use a GPL-ed piece of code in your own code, your
code HAS TO BE licensed under the GPL as well. Read the GPL, it's very
simple.

Read though here: http://www.gnu.org/licenses/gpl.txt

It seems to me that if the GNU licensed .NET provider is distributed unaltered
and in binary form, and reference to the license is made, it can be used BY a
commercial product without issue. Consider putting the provider into a
component install package, such as might be the case for a one-click
application. Install binaries only and the commercial application simply
utilitizes them.

It is very clear in the license that any modifications or extensions must be
distributed with source code and also under the GPL. However, USE by a
commercial application does NOT constitute a modification or extension.

As always, consult legal advice, as nobody [especially me] here is qualified
to offer it.
I don't know the MySql license through and through, but the GPL is
pretty clear: if you create a commercial application, you can still use
the GPL-ed software, as long as you GPL your own software as well.

Use? No. Modify or extend, yes.
 
T

Thomas T. Veldhouse

Frank Rizzo said:
They certainly are. I was contacted by one today.

How did they get hold of you? Seems (e-mail address removed) wouldn't lead directly to
you ;-)
 
F

Frans Bouma [C# MVP]

Thomas said:

I have, you're wrong.
It seems to me that if the GNU licensed .NET provider is distributed
unaltered and in binary form, and reference to the license is made,
it can be used BY a commercial product without issue.

Nonsense, it's released under the GPL, which is simple: IF you use it,
your software has to be GPL-ed as well. IF they would have used the
LGPL, it would be different. Though that's not the case.

That they distribute it in binary form isn't important, they also
distribute it in sourcecode form if you want to, that's what GPL means
as well: if you distribute a GPL-ed licensed product, you have to
provide the sourcecode if asked.
Consider
putting the provider into a component install package, such as might
be the case for a one-click application. Install binaries only and
the commercial application simply utilitizes them.

that's what linking means in the license. You link to the binary
compiled form, and then the license also is in effect.
It is very clear in the license that any modifications or extensions
must be distributed with source code and also under the GPL.
However, USE by a commercial application does NOT constitute a
modification or extension.

WRONG. The GPL isn't different for this particular provider. What you
say here is WRONG, and can hurt people badly if they follow it. Sorry
if I correct you so harshly, but it's best that people who read your
reply know that what you've said is WRONG.
As always, consult legal advice, as nobody [especially me] here is
qualified to offer it.

Well, I've discussed this matter more than enough with MySql AG to
know what I'm talking about. It's even worse than you might imagine,
read on ->

We wanted to target Mysql in our o/r mapper. So we needed to build
against the Mysql provider. We didnt want to make our stuff GPL-ed so
we considered buying a license for the provider so we could compile our
code against the provider.

However, as we provide a middleware layer, our users develop software
with it, and thus also need a provider instance. If they opt for the
GPL-ed version, THEIR software still has to be GPL-ed. MySql AG told me
this without fuzzy words.

Because we said that might be a problem, they answered: "You can
become a VAR".

err... we're not a store to sell MySql stuff, we just provide support
for their database. As the commercial MySql provider license is
expensive (250+ euro per developer), we opted for a much cheaper
variant, the core-lab one.

It's beyond me why on earth a database vendor would ask money for a
connector to their database. Because: no connector, no database usage.
MySql is, to my knowledge, the only one who asks money for their
connector.

So my advice is always: use a different database: firebird, postgresql
etc.. Not only are these databases better than MySql, you also have a
truly free database at hand without hidden costs nor GPL mess.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Frans said:
You can get away by not doing that IF you don't distribute your
application. However, as soon as you distribute your application to
whatever (that is: even another machine!), you ARE violating the
license.
With licensing issues, 'I think' is not enough. You have to be sure.
GPL is a distribution license, as many others.
This means that if developer A writes a piece of code and uses a
GPL-ed ADO.NET provider, and the software is never distributed by A to
whatever other system (that also includes a co-workers box, that's also
distribution), then A doesn't have to GPL his software. As soon as A
does distribute the code, he will have to license his own code as GPL,
that's the license he has to obey to to be able to USE the gpl-ed
ado.net provider.
in-house distribution is also distribution. Distribution from your
laptop to the server of your customer who uses it in-house is also
distribtion.

Wrong.

http://www.gnu.org/licenses/gpl-faq.html#InternalDistribution

Arne
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Frans said:
Well, I've discussed this matter more than enough with MySql AG to
know what I'm talking about. It's even worse than you might imagine,
read on ->

We wanted to target Mysql in our o/r mapper. So we needed to build
against the Mysql provider. We didnt want to make our stuff GPL-ed so
we considered buying a license for the provider so we could compile our
code against the provider.

The provider is GPL.

If you build against it, then it make sense to call it linking.

If you used a configuration file and Ixxxx all the way, then
I would not consider it linking.

I can not guarantee that MySQL's lawyers would not.
It's beyond me why on earth a database vendor would ask money for a
connector to their database. Because: no connector, no database usage.
MySql is, to my knowledge, the only one who asks money for their
connector.
So my advice is always: use a different database: firebird, postgresql
etc.. Not only are these databases better than MySql, you also have a
truly free database at hand without hidden costs nor GPL mess.

Libraries are usual LGPL for godo reasons.

I think MySQL should drop the dual license crap and bet on making
money on support like Redhat, JBoss etc..

But they decide the license for their code.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top