Sun Buys MySQL 588
Krow alerted me that MySQL has been bought by Sun. Right now there is only a brief announcement but it discusses what the acquisition will mean for the core developers, community etc.
"The vast majority of successful major crimes against property are perpetrated by individuals abusing positions of trust." -- Lawrence Dalzell
I wonder (Score:5, Interesting)
Re:I wonder (Score:5, Interesting)
Homo homini lupus
Re:I wonder (Score:5, Funny)
Comment removed (Score:5, Funny)
Re:I wonder (Score:5, Insightful)
Re:I wonder (Score:4, Funny)
Yeah, I used to have a similar problem until I figured out the perfect solution.
First of all, create a directory for each file on the Desktop. Next, open all of the files until you find your checking account register, right-button drag the file to your newly created "checking account register" directory and select "Create shortcut here" from the menu that appears when you drop the file.
It will take a little bit of time to start with, but it's certainly worth it. For example, to open your checking file register, all you have to do is open "checking account register" on the desktop and the open "Shortcut to New Document (6).txt"!
Don't thank me. The knowledge that my small insight has helped another human being is all the thanks I need.
Re:I wonder (Score:5, Insightful)
Who needs meaningful filenames and directories when you have grep?
Actually, he has a point.
One of the best features, to my taste, of gmail is that I can quickly find an email with a specific content regardless of the subject. Same thing with files if they are full content indexed.
And that is the way that humans naturally work: "I know what I am looking for, I just don't know where I put it (nor I care where it was)". The folders and file names paradigm is an emulation of the paper archival model. Classes are tough on how to create a mantain one (bookeeping, library, secretaries).
You see, this "order" force us to keep to pieces of information in our head: What is it and where is it. And to use one to get the other.
Of course anyone can create a simple filing system, but it requires some level of self disipline to keep it.
And is not intuitive.
I know what I want... just fetch it!
Re:I wonder (Score:5, Informative)
Re: (Score:3, Informative)
But you can email a copy to coworkers (Score:5, Funny)
Sheesh, doesn't EVERYONE do it this way?
Re:I wonder (Score:5, Insightful)
Excel generates graphs very quickly, has quite a powerful set of numerical analysis functions and just works.
Databases aren't the answer when you want fast results.
Re: (Score:3, Interesting)
Well, there's nothing fundamentally wrong with that. A spreadsheet is effectively just a less structured database, and given that you're talking about freeform data... and in any case those kind of lists aren't going to have enough data that a s
Re:I wonder (Score:5, Interesting)
Now, fast forward a year. People from 3 other departments need access to an always updated copy of this list. One of them is off-site on a different network. Some people aren't supposed to see parts of the list. Others can see all of the list but they are only supposed to be able to change parts of it.
Now, as you can see, what this has evolved into is essentially a multi-user database app. A very basic one, but still more than a spreadsheet can handle (because a spreadsheet is meant for calculating, not data storage). If they had just come to us in the beginning we could have gotten something working setup from the start, rather than having to worry about going back and recreating it and importing data.
That's my problem with the whole "a spreadsheet is fine" outlook. You can hammer in a nail with a crescent wrench too, but if you do so with a hammer sitting right there in the toolbox I'm gonna consider you an idiot
Comment removed (Score:5, Insightful)
Re:I wonder (Score:5, Insightful)
Re:I wonder (Score:4, Insightful)
The last people anyone wants to talk to about ad-hoc projects is IT. An employee has a need, they fill it with a reasonable tool. Per the GP post, the initial requirements were simple and the solution sufficient. No IT department needed. As the utility of the system increased, so did the requirements, and so must the solution space expand requiring IT assistance. IT should then be eager to help and congratulatory on the success of the solution to date.
It's impossible to divine the future requirements of any system, or even it's success. That's why we iterate.
Re:I wonder (Score:5, Insightful)
Re: (Score:3, Funny)
Re: (Score:3, Insightful)
Actually, from my experience as a programmer I'd much rather have someone come with a spreadsheet he worked with for a year, and very specific requirements such as "we want some people to be able to see these fields, some people to be able to edit these columns" and so... than to have someone with a vague notion of what he needs and then turning that into a relational database. Even if spreadsheets seem awful, a year's user experience with a fast prototyping tool (i.e. the spreadsheet) is priceless.
I totally agree, as far as your post goes.
OTOH, fast prototyping can just as easily cause a lot problems. By the time you reach the natural limits of the prototype, who pays to extract the data into a preservation format? Did anybody even ask before the "fast" prototype was slapped together whether the data being captured will ultimately require preservation in a properly thought through archival structure? And if so, was this conversion budgeted ahead of time, or does it just show up as a problem furth
Re:I wonder (Score:5, Interesting)
Well, as long as we are on the subject, how about the overuse of SQL databases for non-relational information? MySQL is no beast, but in my company, there is a SQL Server on almost every box and many of them are storing stuff that is non-relational and could be accessed more quickly in a direct access file.
Spreadsheet/Database (Score:5, Interesting)
Re:I wonder (Score:4, Informative)
Granted, I'm not using SQLite to do anything complicated - mostly just as dumb storage for non-huge cross-linked lists but it still seems remarkably capable, very fast and very low on resources, with the GUI providing a nice interface for a quick gander at the data structure.
There's also a Ruby/GTK gizmo here http://rsqlitegui.rubyforge.org/ [rubyforge.org]
Re: (Score:3, Insightful)
Be realistic. The path MySQL is going down now would involve configuration and editing through countless sets of webservers, various inaptly layers ending on the word 'bean', 200 xml configuratio
Re:I wonder (Score:5, Funny)
One can only hope that they will be using this to replace the database that comes in Open Office.
I figured MS was paying them to include the current one to make Access look good by comparison.
Re:I wonder (Score:5, Informative)
SQLite Gui_ (Score:3, Insightful)
Re: (Score:3, Insightful)
I would question whether it is even possible to make a GUI for any database that a) is easy to use, b) provides enough options to make a wide variety of applications, and c) requires no knowledge of SQL or database design. This is one of those "pick two" situations. Even Access requires a fair amount of skill to use properly... far more than Word or Excel. And even with a modicum of skill, databases produced in MS Access tend to be horrible abominations
Re: (Score:3, Interesting)
The answer is Yes. But of course the answer depends on what you mean by "effectively". My mom uses access effectively for her needs. She can start a database with one of the wizards and then modify it a bit using the GUI. She has a *very very* small knowledge of keys and tables and overal database structure (which I taught her). Overall, she knows whatever is necessary to know to acomplish her tasks.
The idea of a GUI is to make it easy and intuitive to e
Re: (Score:3, Informative)
1. Completely free for embedding (the embedded version of MySQL has license fees, AFAIK).
2. Easier to move databases between machines (they're endian-neutral, monolithic files).
3. Supports more of SQL92.
4. Far lighter in terms of resource consumption.
I'm sure there's plenty of other reasons, but for a certain subset of problem domains, SQLite is an *excellent* solution, IMHO.
'course, that's not to say it's perfect. It has a quirky typing system, and it's locking is extremely rudi
Re:I wonder (Score:5, Informative)
You can already use MySQL as the database engine for Open Office.
The development environment in OOo (Base) is a database client, not a database engine. Base does bundle the HSQLDB database engine, but even that is just XML tables, and shouldn't be used for anything serious.
As far as the quality of Base, yep it's rough, but it's also brand new for OOo v2. It's being actively developed, and there are plans [openoffice.org]to use it to allow users to share data from several FOSS packages within the suite.
* Btw, I know you were just trolling, but I thought this was worth an answer, since desktop databases are a badly misunderstood class of software.
Re: (Score:3, Interesting)
Will they try and make it more Solaris-oriented, or what? It's not like they had to buy MySQL to improve its ability to run on Solaris.
How will this affect MySQL's upcoming Falcon engine? How is this going to impact Oracle?
They used to be all about PostgreSQL, putting it in Solaris by default if memory serves. PostgreSQL's BSD license would have let them fork and develop it as they pleased, so why would they want
Re: (Score:3, Funny)
Sure. (Score:5, Interesting)
Consider the columns (a,b) and the value (a = X, b is null). If (a,b) is part of the primary key, the value (X,NULL) cannot occur in a table. But the idea of "uniqueness" is not as well defined in relational theory. Can the values (X,NULL) occur if (a,b) is constrained to be unique? Well, probably. Can it occur more than once? Now that turns out to be a very interesting question.
Let's consider a single column (s), where s is defined to be unique, but is allowed to be null. (s) cannot be part of the primary key of course, but can null occur more than once in the table? The answer is, yes, for both practical and theoretical reasons. The practical reason is that this turns out to be a quite useful behavior. Suppose s represents a social security number on a person record. In some cases that person has declined to provide is SSN, in which case we must put a null in that column. So two or more people can provide null for their social security number, thus many rows can have null there; but if two people provide the SAME SSN, that's an error.
The theoretical justification for nulls behavior in unique constraints comes from that fact that the expression (null == null) should evaluate to false. The expression (s = null) is ALWAYS false, even if the column s happens to contain null. That is because null as a value has special meanings; it can mean "doesn't apply" or "don't know". If s is the SSN, and record a and record b both have null in them, then how do we interpret the expression (a.s = b.s)? If it means do the records for a and b have the same value in column s, you'd want it to be true. If it means does person a have the same ssn as person b, you'd want it to be an error. If it means is person a known to have the same ssn as person b, you'd want the answer to be no. Each of these interpretations has its justifications, but the last one is the one that is ultimately the most practical. If we want to test whether a column is null, we must use the "is" operator, not the equality operator.
So, the apparently minor distinction between key candidacy and uniqueness is quite large if any of the columns involved are allowed to contain nulls.
Now, for the practical consequences of getting this wrong. If you use Access' GUI tools to build queries against tables in an external database, Access when running that query does not allow the external database to optimize the query. You need to do a pass through for that. Instead, Access attempts to optimize the query itself, particularly I/O over the database link, which is presumably expensive.
So lets say table p is people and table r is region, and both tables are held on an Oracle database. I want to do a query which joins person to region to make a table of names and the regions they live in. Now it happens that Alice (person #25) and Bob (person #82) live in the same region, "North". The query correctly spits out ("Alice","North"), then continues on to Bob's record. Now it turns out that both Alice and Bob have refused to supply the SSN, so they both have null in column s.
What happens next is pretty mysterious, but I think we can infer two things. First, Access gets the issue of (null = null) wrong; at least some parts of Access do some of the time. Second, Access may be attempting to reduce external I/O, but it somehow tracks by what it thinks is the primary key. Whatever the cause, one often gets the sequence:
("Alice","North")
("Alice","North")
instead of:
("Alice","North")
("Bob","North")
which would be the correct one.
Oops.
I'd give you more information on reproducing this, but I don't use Access much. Like I said, I have talked to other da
Normalization has practical limitations (Score:3, Interesting)
Im a sun employee (Score:3, Interesting)
So now I'm a Sun employee. Interesting. No more BK at MySQL.
What all this means, I'm sure I'll be learning the hard way very soon.
Re:Im a sun employee (Score:4, Funny)
Re:Im a sun employee (Score:4, Funny)
They stand to make a lot of money off this acquisition.
Re: (Score:3, Informative)
Re:Im a sun employee (Score:5, Informative)
We added triggers, stored procedures, and views in 5.0. Today there are publicly several transactional engines (supported by companies like Oracle, IBM, Solid, and yes ourselves). There are many other non-public transactional engines.
Cheers,
-Brian
Licenses (Score:5, Interesting)
Re:Licenses (Score:5, Funny)
Re:Licenses (Score:5, Insightful)
Re:Licenses (Score:5, Interesting)
Mod parent insightful, please!
I recall reading that MySQL AB really didn't stand a chance to force the GPL (and therefore, move to their proprietary license) on programs that connected to the database because that was "dynamically linking". Dude, WTF? Using protocols to communicate to a program or service is NOT linking! I got so angry when I read the news on the License change, that I wanted to tag the story "greedybastards".
But if MySQL AB told the truth, then nobody would buy their ultra-expensive license.
On the other hand, Sun and their promotion of Open Office (and open formats) is a proper example of Free software.
Let's hope things change for the good (for example, re-releasing the MySQL client software to LGPL or GPL+linking exception).
Re: (Score:3, Informative)
Almost all software uses implementation of this protocol from libmysqlclient. Linking to this library. Hence, GPL.
Re:Licenses (Score:5, Informative)
I understand where you're coming from, which is why I moved to Postgres for all my new applications last year. However, as it stands now, I think MySQL is within their rights to use the GPL for the client. As far as I know, there is no way to communicate with a MySQL server without linking to their client library (i.e., libmysqlclient.a). At one time there was an attempt to maintain a fork of the old LGPL MySQL 3, but it never took off. Now, merely linking to the client library doesn't automatically create a derived worked (see Linus's explanation [lkml.org]), however, in the absence of some other compatible library you could have linked with instead, it's pretty much impossible to say your linked program is independent of MySQL. And since independence is a requirement to have a non-derived work (i.e. the ability for a program to live a separate life, do something useful without the linked library), the program ends up being derived from the MySQL client, and has to abide by the GPL.
There is still plenty of argument around this topic, but again, it can be avoided by using Postgres, which IMHO is a better database anyway.
Re: (Score:3, Insightful)
I agree about PostgreSQL being a better option for so many reasons (and this new Sun thing is just yet another on the list). The only thing PostgreSQL really needs is some kind of asynch multimaster replication. That's one place where you can get "forced" to use MySQL because Pg can't do what you need. MySQL's implementation of asynch multimaster replication sucks anyways, I'm sure the Pg community can do it better eventually.
Back to the topic at hand though, one way around the libmysqlclient GPL thing i
Not a rash move (Score:5, Informative)
http://www.news.com/2100-7344_3-5562799.html [news.com]
Re:Not a rash move (Score:4, Interesting)
Re:Not a rash move (Score:5, Interesting)
But I think most people thought Sun might push PostgreSQL [sun.com] which is a nice database. Not sure why Sun would purchase MySQL, seems like an expensive PR move. I for one have seen Sun's product support deteriorate over the years, and hope they keep support for MySQL independent of the main line support. Or maybe this plays into Oracle as Oracle had or has an alliance with Sun. Is this alliance strained?
Re: (Score:3, Insightful)
While Sun didn't buy any of the PostgreSQL companies, they do provide support and developers - the same as the others.
I doubt their support of PostgreSQL will lessen any.
The two database communities are not comparable.
MySQL is run by a central company.
PostgreSQL is run by the community, with companies growing up around it offering additional features and support (of which Sun is one of them).
What will happen is MySQL, the company, is shut down?
Thi
Wow! (Score:4, Funny)
I hear they paid an astronomical amount for MySQL. In fairness though, the code is stellar. The developers must be beaming with pride. If I were a shareholder, it would certainly brighten up my day.
PS: Sorry.
Here is the PR (Score:5, Informative)
"As part of the transaction, Sun will pay approximately $800 million in cash in exchange for all MySQL stock and assume approximately $200 million in options."
Re:Here is the PR (Score:5, Interesting)
Re:Here is the PR (Score:5, Interesting)
Perhaps Sun will be playing around with open sourcing some more of their hardware as a pseudo way of moving away from hardware, without actually losing all their hardware aquisitions.
But it is interesting to see how open source as a business model is evolving by allowing competitors to leverage off each other and still compete. Maybe what we are looking at is the "horizontalisation" of the market, I note that with speculation about an open sourcing of DB2 and Oracle databases, Microsoft's position in the market looks more and more isolated every day.
Re:Here is the PR (Score:4, Insightful)
Yes! (Score:4, Funny)
Only one question (Score:4, Insightful)
Not that I distrust Sun's motives when it comes to free software. I mean they did a stellar job on OpenOffice.org, didn't they?
Great news!! (Score:3, Interesting)
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
First, because it will make easier for developers to put more application logic in the database.
Second, because a native compiled stored procedure (native, that is, to the DBMS) would be faster
But mostly, because free hosting which maintains something based on Java it's like.. not there.
And you have to admit that free hosting w/ MySQL is one of the reasons LAMP developers are so many, and LAMP is successful
Sure you can use only CRUD operations and do
Why did they buy it? (Score:5, Funny)
What happens now with Oracle and PostgtreSQL? (Score:5, Interesting)
I think this is a move to sell support to their customers, like asking: "Do you need an Oracle Database?"
- If the answer is "YES", then we will sell you our servers and OS support
- If the answer is "NO", then we will sell you our servers and OS support AND MySQL / PostgreSQL support
There is a very good entry on a Sun blog about the cost of propietary databases and the "commodization" of this market:
http://blogs.sun.com/jkshah/entry/cost_of_proprietary_database [sun.com]
So why would SUN buy MYSQL - discussion! (Score:5, Interesting)
I thought SUN was currently bundling postgresql guess that wasn't good enough...
So up for discussion why buy mysql?
* Well you can't buy postgresql.....(Who to buy?)
* Wanting to hurt redhat
* You get ownership of the code (Since mysql has)
The "hurting redhat" is more for journalists "lets find a conflict thinking"
What else are the reasons?
Re:So why would SUN buy MYSQL - discussion! (Score:4, Informative)
From the official blog [sun.com]:
So why is this important for the internet? Until now, no platform vendor has assembled all the core elements of a completely open source operating system for the internet. No company has been able to deliver a comprehensive alternative to the leading proprietary OS. With this acquisition, we will have done just that - positioned Sun at the center of the web, as the definitive provider of high performance platforms for the web economy. For startups and web 2.0 companies, to government agencies and traditional enterprises. This creates enormous potential for Sun, for the global free software community, and for our partners and customers across the globe. There's opportunity everywhere.
Jonathan Schwartz's Blog (Score:5, Informative)
http://blogs.sun.com/jonathan/ [sun.com]
The Dot in .com (Score:3, Insightful)
It would make MySQL easier to deploy... (Score:5, Insightful)
Re: (Score:3, Insightful)
Re:It would make MySQL easier to deploy... (Score:4, Interesting)
A good CTO or engineer can research and understand the risks and benefits of using specific technology. A better CTO puts in place risk mitigation, i.e. grow internal talent to handle the new technology.
Having been in the CTO position, and basically following my own advice, I saved my DotCom startup almost $1M dollars on license fees and support contracts. Yes, we went out of business because the business model was flawed, but our technology was on target, did much more than it was expected to, and worked fantastically and because of these steps, we had an extra year that we wouldn't have had otherwise.
This is why small companies are the most innovative.
OpenOffice (Score:3, Informative)
Enter MySQL - combine it with OpenOffice and you finally have a real, integrated database that MS Office can't match. All we need now is a RAD front end for the consumer...
Dificult to say... (Score:5, Interesting)
Sun owns Java. Sun will soon own MySQL. If you have a Tomcat/J2EE environment running open source, you will soon be having to deal with a single vendor with control over your environment, because most systems only give lip service to PostgreSQL but fully support MySQL. Expect the support bills to go up.
On to RedHat and IBM, I think it is time for them to start funding the PostgreSQL project for real. Setup a more corporate entity to guide it and REALLY compensate the guys like Tom, Bruce, et. al. for so much hard work, which IMHO is above and beyond a standard pay check.
Re: (Score:3, Interesting)
Re:Dificult to say... (Score:4, Insightful)
There are a lot of important open source projects for which at least one of the above requirements is not true.
Re:Dificult to say... (Score:5, Informative)
-Brian
Oracle in Java (Score:5, Interesting)
Licensing (Score:3, Insightful)
Another sale this morning - BEA to Oracle (Score:4, Insightful)
Great news (Score:5, Funny)
Re: (Score:3, Funny)
This is *good* news. (Score:4, Informative)
Sun can't possibly screw around more than MySQL AB has been doing ever since they went IPO. Just the other day I looked for MySQL Workbench - expecting it to be delayed yet another 2 years. Only to discover something worse: A beta is out and they've written in in DOt-f*cking-NET! Can you believe it? They've rewritten MySQLs core selling argument to many people in a prorpietary plattform that is owned by MS. MySQLs core design tool only runs on MS 2k SP4 and above! Unbelievable.
Suns marketing is just as shoddy as that of MySQL, so that's a perfect fit. But I sure do hope Sun will bring back some technical oper-source superiority to MySQL, which it once shared with many mature OSS projects.
What is Sun up to? (Score:3, Interesting)
Sun has been going open source lately. To make money in F/OSS you sell services, not products. Sun has also announced that sun will be outsourcing their data centers. I think Sun means to expand their data centers a lot, and wants to save money.
A lot of major companies already contract with Sun to run database apps on Sun servers. Those servers are located in Sun's buildings. Sun then contracts with EDS to do the hands-on administration of servers. EDS often contracts with other companies, including a lot of off-shore companies. The datacenters do not have to be offshore, just the people who monitor the systems, and do all the admin work that does not have to be hands-on.
I think Sun may be targeting smaller company, not just banks and the like.
So let's say I want to start a SaaS company to offer hotel management software. Since I don't have a lot money, and I don't want to pay for a lot of computer resources, to get started, I decide to use PHP and MySQL to develop my product. Since this is a commercial offering, I will need to have a commercial version of MySQL, this is where Sun will have me covered. Sun itself will do very little, Sun will contract with other companies to provide back-end support. Sun will hold the licenses to the OS, and the database, and maybe the language - if you decide to use Java. Sun will be the middle-man, the deal maker. Sun will change it's focus from selling hw/sw, to contracting for sevices, and those services will be provided by others.
Or something along those lines, is what I'm guessing.
Re:Sun? (Score:4, Interesting)
sun hires older workers (disc: I work at sun). when I interviewed at google, though, I was the oldest 'grey hair' in the whole cafeteria
then, see the brian reid story to confirm all this evilness about google.
please think twice about parotting the 'google is not evil' mantra, because I assure you - if you are over mid 30's, they will either not hire you OR fire you before you are about to vest. quite evil.
so I'm glad its not going into the hands of google. they have enough power and are corrupt enough, already.
(really, go search on brian reid - it may turn your view around about 'the beloved google'). sad to say, but it is true.
Re:Sun? (Score:5, Funny)
Re:Sun? (Score:5, Funny)
And I even baked them a cake shaped like the internet!
Re:Yes they all work like slaves (Score:5, Insightful)
but what good are they if you are bound and 'forced' to work until 9pm each nite? or made to feel guilty if you DON'T stay for dinner and work a few hours after that.
all for the SAME PAY.
yes, its a slave life. you'll understand that when you get older (no insult intended; I didn't realize this until I hit over 40, myself.)
Re:Yes they all work like slaves (Score:5, Insightful)
Re: (Score:3, Interesting)
Working unpaid overtime is agreed in the contract at the start, at least here in the UK - whether legal or not in EU laws, you accept it. Some jobs I've accepted that as I've enjoyed the job enough to choose to do overtime for my enjoyment, knowing that the project wouldn't even get off the ground if it weren't for more-time-invested-than-is-money-in-the-pot. This type of work especially applies to advertising where the client doesn't have the funds
Brian Reid - time bomb in Scribe (Score:3, Informative)
<sarcasm>What a guy!</sarcasm>
Re:Sun? (Score:5, Interesting)
Re: (Score:3, Interesting)
Re:Sun? (Score:5, Insightful)
Google just makes beta applications.
Regards,
Re:Great news (Score:4, Interesting)
Re:Great news (Score:5, Informative)
Re: (Score:3, Informative)
Re: (Score:3, Informative)
I am using QT4/C++ with PostgreSQL/Oracle. The source uses compiler defines to select the relevant database and to make appropriate changes in syntax for things like nested CODE/DECODE, etc. It can compile unchanged on either Linux or Windows and runs the same way on both, with identical look & feel. I use MS VS 2003 on Windows and QDevelop or Kate on Linux.
IMO, for all light to medium (and some heavy) app
Re:Rewrite in Java (Score:5, Informative)
Sun already has an embeddable db engine written in Java called Derby [apache.org]. It has pretty impressive features and performance [apache.org].
Re:Rewrite in Java (Score:4, Funny)
Re:Hopefully (Score:4, Insightful)
It's disheartening to see these kinds of posts get modded as insightful in 2008. Aren't we supposed to be dynamic, informed folks?
Re:Hopefully (Score:4, Informative)
Its support of subqueries has severely poor performance when multiple rows are returned in the inner SELECT(s), as I found (again) yesterday.
Re: (Score:3, Insightful)
Read up [mysql.com]. Disable autocommits, issue a BEGIN TRANSACTION, and make sure you check the success of all queries before you perform that COMMIT.