Fog Creek Software
Discussion Board




Easy VS. Good, and the user experiance!

I just posted the follwing as response in the subject of MySql Adds Sub-selects.  While many of you might not be interesting in MySql,  I think the follwing has a real good lesson as to why MySql is doing so well right now.

Some one suggested to use the PostGresSQL database engine. My reponse is repeated below:

--------------------------------------------------------

I have often considered using PostGres.

One the reasons for MySql’s incredible popularly over PostGress is the ease with which each version is made available to the public.

In other words, Microsoft has always realized make it not only easy, but also available.

Easy + available is much better then Technically better and not as available!

Hence, from a market point of view:

(Easy + available) >=  (Technically better + not as available).

When I go to the MySql site, I have NO problem finding what I need. Lets see, a graphical GUI (table manager), ODBC drriver, and Mysql database engine. All are easy to find downloads, and this is especially so for windows users. I want the versions that will run on my notebook running win98/ME.

They even supply a small little graphical database utility to start, and stop the database engine (it runs in the system tray, again a very nice touch).

Microsoft and Macdonald’s did not always have the best product. However, in some areas they are really good. Microsoft did good job with Excel, and Macdonald’s did a good job with their fries.

So, Macdonald’s will cut back on quality, and spend their time opening 5 locations compared to a higher quality burger place that only opens one spot. Who will win in the end?

All of the MySql downloads were a walk in the park. The install programs were also very easy.  From start to finish, the whole process is real easy, and quick. Remember, in retail, location is king. In the web, that translates into making things easy to find.

For PostGress, I am not really sure where to start. I mean, what version I can download to run on my windows 9x notebook?.  Anyway, I want to run, test, and setup a database engine. MySql was unbelievably easy to find, install and run.

The very first time I launched Excel, and fired up the built-query builder in Excel, I was able to grab data from MySql. It just worked right out of the box.

Right now many people are questioning as why MySql is Soooo much more popular then Prostgress. The popularity of MySql is soaring right now. I can’t say the same for Postgres.

MySql is spending a good deal of time on this issue of making things easy to get MySql. They are spending time on making it easy to install it, and get it up and running.

I have been meaning to try Postgres. I will probably just have to hunt around, and find that nice download site that easily lets me find the 2 or 3 above downloads that are sooo easy with MySql.

Just last night while watching TV and loafing on the couch, I downloaded MySql, MyODBC, and the graphical table manager. The whole process of * F I N D I N G *  and down loading the files took less then 5 minutes (start to finish!). I get good download speeds in the 500-600 kbs range.  Hence, I had the whole thing up and running in just few minutes.  (a 13 meg MySql download is not even a minute for me).

The fact that it is so easy to install and * play * with MySql is really what is helping its popularly here.  MySql has a definite angle towards users. (and that is NOT usually the case of open source software).

It reminds me of first using a palm pilot. Very light weight, fast, simple, and easy. Now I am hooked on the palm. Now that we have all used a palm pilot, we are ready for something more complex.  However, by the time I get a round to moving to a cool windows based pda with a nice mpeg player, the new palm will have most features I want anyway, and I can still keep much of what I have learned already.

This is exactly what is happening with MySql vs Postgres.

Hence, you would think that we all should be ready to jump to Postgress.

The problem is that we are not making the jump from MySql to Postgress because those features we need/want are in the pipe for MySql.

MySql is reaching critical mass right now. Postgres is not.

The MySql folks are doing a much better job of getting the name out, and also a much better job from a ease of use, setup and install. The user experience in installing and trying out MySql is much better then is postGres.

This concept of user experience is CRITICIAL  HERE. Products that are technically inferior often win in the market place. (apple vs MS).

In fact, I actually found that setting up MySql was * EASIER * then was installing the free MDSE engine from Microsoft that is included on every office CD! Imagine that, but my user experience of installing MySql is better then the free MDSE engine on the office CD! (yikes!).

Further, I can’t use the MDSE engine without the Enterprise tools, or creating a ADP project in ms-access.  Problem is right now, is I don’t want to use a ADP project in ms-access. So, where are the tools to setup and manage the MDSE engine? (answer: get you have to get your hands on the enterprise tools)

It am betting it will take more much more then just 5 minutes to find the above 3 tools and downloads for PostGres. In fact, as I type this, I browsed over to the downloads section of the www.postgres.org. That sends me to a ftp site, and at that point it is not quite clear at all which ftp dir I need to browse to for the windows install. In fact, I don’t see where the full pre-built install is at all. It has taken me more then 5 minutes to find a install. That is simply too long. We could very well take that attitude that I need to make more effort here (and I will). However, it is very obvious that getting, finding and installing MySql is breeze.  MySql is eating Postgress for lunch in this area.

The palm caught everyone off guard due it being easy, and available. That is why MySql is growing .

Easy, and simple is good!

Now, the graphical management tools for MySql are very basic. However, again, that GUI installed on my windows notebook no problem, and they are very nicely laid out. I am impressed! They have pre-built installs for windows, and I don’t have to go and hunt down some cgywin tools etc and build anything. Having some GUI tools to create tables/indexes and databases is really nice. I did start out using MySql via the command line. However, right on the MySql downloads page was a download for a GUI manager. I tried it out, and boy, very nice. Why use a command line prompt when everything else I have is GUI? Heck, they even copied icons for the query builder from ms-access! Gee, these guys are really smart!! This shows that the MySql people understand the fundamentals of software marketing. You go with what works! You go with what is familiar. Lifting the icons from ms-access to be brilliant!

Create tables, create indexes, and a query builder. A nice easy treeview control was used to browse and select the database and tables. Not much to go on is it?

However, the above fact also makes it incredibly easy to setup and run MySql. The dumb thing just works, and it is easy and simple just like my Palm.

Of course the new palms pilots are also really getting loaded up with new features, and so is MySql. If they add a ER tool to that MySql GUI, then they have a killer product.

MySql creates a very positive experience out of the box.  They are on a roll!

Hence, get the product out, even if you don’t have all the features. However, what you DO HAVE better be easy. Also, you want the users to have some positive feedback right away. Human brains LOVE feedback. Hey, this thing is cool, hey, this thing is useful! Just seeing the familiar ms-access icons in the MySql query builder was a hoot!  These guys are not scared to take, or use ideas from anywhere. And what is familiar is good!

Software MUST create a positive experience out of the box. Call it fluff, call it eye candy, call it a very sad day, but it is the truth that a positive experience wins the customer.

I remember many years ago when in my teens we got a Apple II computer. One of my friends got a Atari 800. Both Apple and Atari had a 6502 processor, but the Atari was MUCH BETTER from a technical stand point (better sound, and it even had graphic sprites). However, the Apple II came with a few cassettes and some neat games. I could rummage around the house and find a cassette recorder and plug it in to the apple II. Next thing you know we are playing the game lemonade. It was a really cool experience. There was also a few other neat games (breakout, and a few more). Next day I ran out and purchased Sargon II chess (again, on cassette).  It was amazing to see a computer play chess!  It was also in hi-res graphics.

The Atrai 800 was a much better PC, but it had no software, and no neat games included in the box. The user experience when we went over to my friends house who had just bought the Atari 800 was very poor. In fact, after playing around with my Apple, the Atari was a complete let down. A few days later, my friend returned the Atari, and got a Apple II. Just one year later, virtually NO one bought and used the Atari 800. By that time, we were out buying floppy disk drives for our AppleII’s  at $800 a pop. By then, we were having parties in the neighborhood to swap Apple games. We would also stay up late to crack  protected apple games too. Hey, I learned 6502 assembler!. Heck, it had a mini assembler built right in! The Atari was a much better PC, but the INITIAL user experience was poor due to no good initial software being packaged.

Now, I am eager to try Postgress.  I just need to find that nice download site that gets me what I need to try it on my notebook computer.

If Postgress can create a positive experience like my Palm Pilot, The Apple II, and Macdonald’s French fries, then I will give it a try.  MySql sure did create a positive experience for me.

In reading the above, I just realized a number of things I will do for my own software. I have a demo coming up this week. Hum, with a bunch of good test data, I will certainly make a good impression.

#1 will be to ensure that the user can try/test useful things RIGHT AWAY.  Any kind of pre-configuring and pre-data entry will hurt this experience. I will actually phone them and get some of the products/price lists and pre-enter them into the computer BEFORE I bring him a demo.

I now realize how important that first impression of ease of use is!

I have to start thinking like a customer more often!

When I try and use MySql, or Postgres…I am in effect still a customer, even if it is open source and free.

You see, the above will also help me pick what product is going to be a winner in the marketplace. Choosing a database can be large investment in time. I am going to pick the winner because that is one that is most valuable. My clients will have heard about MySql…and if they have not…they will soon…


Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com

Albert D. Kallal
Monday, January 27, 2003

Albert - I may be missing the boat here completely, but you're saying 'MySQL'. Do you by chance mean 'MS SQL'?

anonQAguy
Monday, January 27, 2003

NO, I meant MySql, the free open souce database...

Albert D. Kallal
Monday, January 27, 2003

No, I think he means MySQL.

We're putting the last touches on the MySQL version of FogBUGZ, which will save our customers who don't already own MS-SQL a lot of money, and, hopefully, make FogBUGZ an all-around better deal, thus, hopefully, improving our sales. The "commoditize your complements" strategy...

Joel Spolsky
Monday, January 27, 2003

> Do you by chance mean 'MS SQL'?

This is why open source will never succeed.

Patrik
Monday, January 27, 2003

For example, take a look at the two screen shots.

The first screen shot is ms-acces. (use right click to open the below links, so you can have both on the screen at the same time).

ms-access:
  http://www.attcanada.net/~kallal.msn/test/access1.gif

MySql:

  http://www.attcanada.net/~kallal.msn/test/mysql.gif

Note how they used the same icons!

Albert D. Kallal
Monday, January 27, 2003

>> Do you by chance mean 'MS SQL'?

> This is why open source will never succeed.

Garbage.

John Moore
Monday, January 27, 2003

I get your point; I agree PostgreSQL is more difficult to get going. 

Actually, though, I think the main problem for PostgreSQL is that PostgreSQL is not Windows-friendly at all.  In fact, there is no native Win32 version.  Instead, you have to install the Cygnus Cygwin environment and run PostgreSQL within that if you want to run it on Windows.  And I've heard reports that that approach is unstable from people who broke down and got a Linux server for their PostgresSQL instead.

Another open-source database that may be approaching critical mass is Firebird, the open-source version of Borland's Interbase.  It includes Windows among its supported platforms, and you should be able to meet your "find and install in 15 minutes" requirement by going to http://firebird.sourceforge.net/index.php and clicking on the 'Download' link. 

Only problem will be getting a GUI manager and finding the driver you want for the database.

There are some extremely high quality GUI Managers (I know users who think some are better than Microsoft's SQL Server Enterprise Manager:  IBExpert (http://www.ibexpert.com/download.php) , IBManager (http://www.ems-hitech.com/ibmanager/index.phtml) , Interbase Workbench (http://www.upscene.com/) , Marathon (http://sourceforge.net/projects/gmarathon ).  IBAccess (http://www.ibaccess.org/)  Of those, Marathon and IBAccess are open-source, the others have trial versions or freebie stripped-down editions, but are commercial products.

Then you're going to need a driver for Firebird.  There are several OLEDB drivers available, as well as drivers for use with PHP, etc. 

Here are links to two inexpensive OLEDB drivers:
http://www.sibprovider.com/en_us/faqs.asp
http://ibp.lcpi.lipetsk.ru/eng/news/011200.html

By the way, I'm not sure what you mean when you say you have no way to use MSDE outside of Access without having the "Enterprise tools".  What's wrong with ODBC or OLEDB?  I can't think of any environment you're programming in where you wouldn't be able to make easy use of those to access MSDE.

Herbert Sitz
Monday, January 27, 2003

OK- MySql it is. thanks for the clarification. sorry if I was being unusually dense (we're almost out of coffee in the office and I've been going easy on it until we get a resupply, so the concentration of blood in my caffein is getting a bit high ;-).

anonQAguy
Monday, January 27, 2003

>Garbage.

Yeah, I guess so.  But then again people will not choose open source over what they have misheard on the breakfast meeting.

Im not saying that open source is a bad thing, I use it all the time. Its often even of a higher class then commercial software.

But then again, its not the most "technically advanced" music that tops the "10 best sellers of the week"-list either, ... its the same with software.

Technologically superior open software will loose, because of lack of knowledge outside the "geek crowd" (myself included).

PS. You are free to prove me wrong. Im the first to admit that Im wrong.

Patrik
Monday, January 27, 2003

Albert --

I just noticed that regarding MSDE you were only saying that there is no standalone GUI management tool, not that you couldn't use it at all.

I guess I don't understand what you have against using an Access ADP as your "management tool" for MSDE. You don't have to build your MSDE app as an Access project.  Just fire up an Access Project and consider that to be your standalone GUI management tool.  What's so bad about that? 

My main problem with MSDE I would have is that it's not really freely available for any purpose you want to use it for.  Many people do treat it that way, but that's not allowed by EULA and I'd be very hesitant to use it for a client in a situation that's a technical violation of the EULA.

Herbert Sitz
Monday, January 27, 2003

>> I'm not sure what you mean when you say you have no way to use MSDE outside of Access without having the "Enterprise tools".  What's wrong with ODBC or OLEDB? 
-----------------
The problem is that I don't want to use sql-DDL commands to create my databases. I want a nice tool that gives me a table manager. I had one with FoxPro, I had one with ms-access. I wrote my own for d3/pick.  I am no stranger to using SQL-create table commands. However, it simply is much easier to use a nice GUI tool. Microsoft wants all of us to use the free MDSE database engine. However, the failure of MS not to package a nice set of tools to manage the MDSE (out side of ms-access) is turning out to be a huge mistake.  Most developers with visual studio will have the enterprise tools. However, a lot of people will NOT! Ms-access ate FoxPro because it was easy, and avaialble.

Thus, the main failure of the MDSE right now is not including the enterprise manger. (MS is really dumb here..the Enterprise manager by it self is worth nothing!!!). However, to be fair, perhaps MS is ONLY targeting the MDSE towards developers with the Visual Studio anyway).

My whole point here is not really that I am adopting MySql (I am, and that is a cool story). The real point here is how easy it was to get me going. The Atari 800 was better then the Apple II, but the intial package was missing some critical pieces to make the whole thing sing. Those small mistakes killed the Atari 800.

The MDSE is missing those pieces. This issue is all about adoption rates and getting me to use the product.
MySql has got the right mix now.

I am not one bit surprised that Joel is starting to use MySql also.  It makes sense to do so, and my experience tells me so.

Albert D. Kallal
Monday, January 27, 2003

this is a weird thread. of course easy to install is a good thing. but don't forget larry ellison became a billionaire hawking what must be one of the most complicated to install and configure database systems ever created.


Also, I don't know anyone who has actually ever paid for a msql license, but isn't it the case that mysql is technically GPL'd, and to include it in a commercal app means that you have to pay for it? It is a lot cheaper than SQL server, but it isn't _free_ like postgresql is.

http://www.mysql.com/products/pricing.html

choppy
Monday, January 27, 2003

Choppy,

Just don't distribute MySQL with your app.  My guess is, if your app requires MySQL, you (or a consultant) will do the install.  Go to the customer site with a CD of your new software, install it, download mysql from their site - voila.  At least in my mind, you're not distributing anything of MySQL's IP and should avoid having to pay for a 'commercial' license.

-Just a thought...

GiorgioG
Tuesday, January 28, 2003

I don't see why you couldn't use Visual Foxpro as the GUI to any other database, either using ODBC or SQL passthrough.

But then GUI interfaces to table creation I've never found useful for anything other than trivial databases anyway.  I use data modelling to produce the schema and drop a script to create the tables.

I might tweak a little using a GUI but if its anything other than a very small change I'll go back to the modeller and create it.  At this level of development I don't see any advantage in 'Easy and Available', its just differently hard.

Simon Lucy
Tuesday, January 28, 2003

>>>>>At least in my mind, you're not distributing anything of MySQL's IP and should avoid having to pay for a 'commercial' license.<<<<<<<<<<<<

Read the Mysql license. If your application requires MySQL to run properly then you must pay a license for the mysql it uses.

You've just explained to me why that clause is there!

But with the commercial license costing a total of $395 for the professional version on the server it hardly seems worthwhile arguing over. The consultant's fee for installing alone would surely be more than the cost of the license.

Incidentally where can I get hold of MySqlLite. Somebody mentioned this in an earlier thread but a google search through the fogcreek site turns up nothing.

Stephen Jones
Tuesday, January 28, 2003

Read it yourself:

http://www.mysql.com/products/licensing.html
<<
2. Free use for those who never copy, modify or distribute
As long as you never distribute (internally or externally) the MySQL Software in any way, you are free to use it for powering your application, irrespective of whether your application is under GPL or other OSI approved license or not.

....

b) If you include one of the MySQL drivers in your non Open Source application (so that your application can run with MySQL), you need a commercial licence for the driver(s) in question. The MySQL drivers currently include an ODBC driver, a JDBC driver and the C language library.
>>

Download the odbc driver at the client site along with the server.  No, $395 is not a big deal, but then MySQL has lost it's 'free' advantage.  Hence, use Firebird instead.  Which is my choice anyway...

GiorgioG
Tuesday, January 28, 2003

Isn't Firebird also GPL?

Simon Lucy
Tuesday, January 28, 2003

Nope, it's IPL:

http://firebird.sourceforge.net/index.php?op=doc&id=ipl

GiorgioG
Tuesday, January 28, 2003

Here is the part I was referring to: http://www.mysql.com/products/licensing-examples-embedded.html

As you can see it specifically forbids your workaround.

>>>>>>To determine whether or not you need a MySQL license when selling your application, you should ask whether the proper functioning of your application is dependent on the use of MySQL and whether you include the MySQL server or clients with your product. There are several cases to consider:

Does your application require MySQL to function properly?
If your product requires MySQL, you need a license for any machine that runs the mysqld server. For example, if you've designed your application around MySQL, then you've really made a commercial product that requires the engine, so you need a license.
You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution.
It also depends on what you're doing for the client. Do you plan to provide your client with detailed instructions on installing MySQL with your software? Then your product may be contingent on the use of MySQL; if so, you need to buy a license.
If you have any questios on the licensing of MySQL and how the licensing would work in your situation, please contact us. <<<<<<<<


Some things on the site are strange. It talks about client licenses but gives no further info.

Also there is no mention of SQL Lite which I believe you can embed. Possibly they've got rid of it, forcing you to use the MSDE engine when you want a stand alone app.

The $395 is really nothing when you are talking about a client/sever customized application. The problem is not that it is no longer free. It is more that for a client server app you are only paying a few thousand dollars for  an MS SQL single processor license, and that is likely to be a small percentage of the development costs. And of course for a standalone app the price would be exorbitant.

Stephen Jones
Tuesday, January 28, 2003

Ahh you're right. Damn I hate losing ;-)

GiorgioG
Tuesday, January 28, 2003

Cool, IPL is MPL without that horrid nasty dual licencing crap.

Simon Lucy
Tuesday, January 28, 2003

Albert,

I get your point and I want to say that you kick ass with your insights!

After reading your article, I became very dissatisfied with the user experience my own web site creates for those trying to get ahold of my software and started trying to fix it right away

Thanks for straightening me out.

X. J. Scott
Tuesday, January 28, 2003

stephen jones, the SQL lite you mention is not related to mysql at all, it is a completely different project. I've used it as part of a mac os x application, and it is quite good.

www.sqlite.org

choppy
Tuesday, January 28, 2003

So does an application "depend on" MySQL if it can use an alternative database?


Tuesday, January 28, 2003

>> Also there is no mention of SQL Lite which I believe you can embed.


  SQL Lite is another product.  Check http://www.sqlite.org

Ricardo Antunes da Costa
Tuesday, January 28, 2003

"So does an application "depend on" MySQL if it can use an alternative database?"

That's an extremely interesting question -- I think that's why they say "Contact us if you have any questions".  Please ask them and report back to us the answer if you don't mind...

anon
Tuesday, January 28, 2003

>>So does an application "depend on" MySQL if it can use an alternative database?

My understanding is no. Surely if your program uses ODBC to connect, then you can swap it out for anything else.

I would say it depends on MySql when they add stored procedures.

Mike Grace
Tuesday, January 28, 2003

I have come to the conclusion that if you're going to use a product with MySQL, you're paying for MySQL.  The license is too vague (which isn't out of the ordinary) - so...use Firebird =)

GiorgioG
Tuesday, January 28, 2003

WTF?  They say that they're 100% GPL.  Do you have to link against something special to use MySQL?  It seems they're trying to make people think they must license MySQL, when in reality they usually don't have to pay a cent if they write to

Assuming MySQL AB is a good organization, it's a worthwhile purchase, but it seems disingenuous.

anon
Tuesday, January 28, 2003

they are GPL if your software is also GPL. If your software is not GPL, you are supposed to buy a licence. The top of the license page states:

"This is our licensing policy in brief: Our software is 100% GPL, and if yours is also 100% GPL (or OSI compliant), then you never have to pay us for the licences. In all other instances, you are better served by our commercial licence. "

choppy
Tuesday, January 28, 2003


"This is our licensing policy in brief: Our software is 100% GPL, and if yours is also 100% GPL (or OSI compliant), then you never have to pay us for the licences. In all other instances, you are better served by our commercial licence. "

Apparently their software is 99.9999999% GPL and 0.00000001% added B.S. License

I don't think it'd stand in court if it ever came to that, but I wouldn't be willing to risk it....

mmm tastes like...Firebird =)

GiorgioG
Tuesday, January 28, 2003

I suspect the ambiguities are caused by the fact that they are not too sure themselves.

Let's look at the situation.
a) You use the database on your web site, or to store your address book or multi-million company orders - fine it's free.
b) You develop an app for tracking employee productivity and sell it with MySQL server embedded as the database engine. Fine you pay per server.
c) Same as b0 but you give it away for free. -- it's free
d) You develop the same thing as b0 or c) in house but don't want your competitors to see your source code. You pay.
e) You develop an app that doesn't do anything unless you connect it to MySQL, and only MYSQL (maybe as a result of the programs or tools you bundle with it). You pay
f)  You develop an app that requires a database engine, but not necessarily MYSQL and you don't want to GPL it. -- ????? but I would suspect free.

Stephen Jones
Tuesday, January 28, 2003

"This is our licensing policy in brief: Our software is 100% GPL, and if yours is also 100% GPL (or OSI compliant), then you never have to pay us for the licences. In all other instances, you are better served by our commercial licence. "

They're licensed 100% GPL.  They're taking advantage of how people misunderstand the GPL.  I haven't yet seen on their site how they're different.

You're not linking against MySQL when you use it.  You're using it in well-documented ways that anyone expects from a database.  It's like having to license Linux because you make OS calls.

anon
Tuesday, January 28, 2003

I must admit that I don't understand the GPL. I thought if you included GPL'd software in your own software, your software must also be GPL'd.  I guess it doesn't matter if your product doesn't actually embed MySQL, it just runs on top of it. But does that mean Joel is asking users to install MySQL before installing citydesk?  That seems kind of lame.

Then again, it is bug tracking software, so presumably sales are primarily to places who know how to install MySQL. ;-)  I guess I'm the lame one.

I will also apologize for starting a GPL discussion; I personally find free software licensing issues about as interesting and cool as tax accounting, or reviewing car insurance policies.

choppy
Tuesday, January 28, 2003

Well, the GPL is one of those things that need to be read carefully.  Near the end of §2 (http://www.fsf.org/licenses/gpl.html), if your app depends on the GPLed work, and you distribute the two together, then you'll need to license.  I can see where it's easy for people to trip up.  Maybe I just go a little overboard when it comes to GPL discussions.

anon
Tuesday, January 28, 2003

Just remember that if you didn't modify your copy of the GPLed program, §2 does not apply.

This does not contitute legal advice, especially since I'm just a programmer.

anon
Tuesday, January 28, 2003

One quick note:

>>>Here is the part I was referring to: http://www.mysql.com/products/licensing-examples-embedded.html

That is referring to the "embedded" version of MySql, which implies it going to be included with your product. It also implies that imbedded means it is PART OF your product. Those example terms do NOT apply to the normal, non embedded version of MySql. The normal MySql product is NOT an embedded product. (note that link is "licensing examples", and examples for the embedded product).

Of course if you are using a embedded version of MySql, then you really do have to GPL, or buy a commercial licensee.

However, that example has nothing to do with the a non embed version of the product. As far as I can tell, this still means I am free to produce some software that works with MySql.

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com

Albert D. Kallal
Tuesday, January 28, 2003

in the dead horse, beating, department:

there is no "embedded" version of mysql.  having "embedded" in the URL is misleading. the page referenced clearly states:

"If your product requires MySQL, you need a license for any machine that runs the mysqld server. For example, if you've designed your application around MySQL, then you've really made a commercial product that requires the engine, so you need a license.  "

"You need a license if you sell a product designed specifically for use with MySQL or that requires the MySQL server to function at all. This is true whether or not you provide MySQL for your client as part of your product distribution.  "

thus it seems to be the case that if you write an application that uses mySQL, you are supposed to pay. again, i have never heard of anyone paying for mysql, so you are probably in the clear no matter what. however, someone must be paying for it, because how else would it continue to exist?

choppy
Tuesday, January 28, 2003

Thanks Choppy, I welcome be corrected on this issue.

It seems that the MySql site is most certainly allowing a great deal of confusion on this issue.

The following web page on their site states:

http://www.mysql.com/products/licensing.html

<quote>

2. Free use for those who never copy, modify or distribute
As long as you never distribute (internally or externally) the MySQL Software in any way, you are free to use it for powering your application, irrespective of whether your application is under GPL or other OSI approved license or not.

</quote>

So, there is defiantly a good deal of confusion here.

I will do some hunting here, as I am now confused.

Albert D. Kallal
Edmonton, Alberta Canada
Kallal@msn.com

Albert D. Kallal
Wednesday, January 29, 2003

Have you written them to ask them about your specific case? That'd seem to be the fastest method to solving your problem...

jeff
Wednesday, January 29, 2003

So as long as you write software that nobody uses, or only include MySQL "just for fun", it is free. If your program is used (even in house), or actually uses MySQL (why would one ever include it if it is not used?), you pay?

Just me (Sir to you)
Wednesday, January 29, 2003

Joel,

as you know I am not a FogBUGZ customer. However, since I assume the DBMS for FogBUGZ is purely infrastructure (embedded), and you already run on SQL Server, why not MSDE? I assume that most of the typical "heavy usage" scenarios where Jet would  o longer be appropriate could be handeled by MSDE quite well.
Is it a licencing issue? I always assumed using MSDE in these type of settings would be free.
As a side point, did you have to get a commercial licence for MySQL? Does this not undermine the commoditization strategy?

Just me (Sir to you)
Wednesday, January 29, 2003

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

The general rule about the GPL is You can use it without there being a licensing issue.  If You link to it, you must deal with licensing.

However, since you talk to MySQL via SQL, which is a standard, but only via that portion of SQL which is supported by MySQL, there may be some room for ambiguity.

Say you talk to MySQL via the JDBC driver.  The driver is not linked to your code, it is registered with the machine.  The rest of the protocol is based on Java licensing agreements.  So the MySQL license still holds.

So I am not sure that their argument holds any water.  From the  GPL FAQ:

In what cases is the output of a GPL program covered by the GPL too?
Only when the program copies part of itself into the output.

So you don't have to worry about the response to your queries.  As to the queries themselves:

The remainder of this post is also from the GPL FAQ:  I interpret MySQL to be a SQL interpreter, and they don't own the Copyright on SQL itself.


If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses?
    When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free software license like the GPL, based on copyright law, cannot limit what data you use the interpreter on. You can run it on any data (interpreted program), any way you like, and there are no requirements about licensing that data to anyone.

    However, when the interpreter is extended to provide "bindings" to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way. The JNI or Java Native Interface is an example of such a facility; libraries that are accessed in this way are linked dynamically with the Java programs that call them.

    Another similar and very common case is to provide libraries with the interpreter which are themselves interpreted. For instance, Perl comes with many Perl modules, and a Java implementation comes with many Java classes. These libraries and the programs that call them are always dynamically linked together.

A consequence is that if you choose to use GPL'd Perl modules or Java classes in your program, you must release the program in a GPL-compatible way, regardless of the license used in the Perl or Java interpreter that the combined Perl or Java program will run on.

Adam Young
Wednesday, January 29, 2003

http://sql-info.de/mysql/gotchas  -- more than enough reason NOT to use mysql  -- there are others -- just spend a little time on google

none
Sunday, March 28, 2004

One area that I have expierenced as maybe a bit lacking is to try upgrading mysql on a redhat9 box. Not trivial at all.

Gerhardus Geldenhuis
Tuesday, March 30, 2004

*  Recent Topics

*  Fog Creek Home