Last week we ended the first Monty Program Ab company meeting in Mallorca, Spain. Even if many of us have met before, there are a couple who had not met everyone before and it was great to be together. Even for myself, since I was in the Sales org at MySQL and Sun, I wasn't that close with all the oldtime developers, so it was great to finally spend several days with them.
Since it was the first meeting both for the company and MariaDB project, we spent a lot of time on the "vision, strategy" excercises. Btw, for future MariaDB meetings we will in the future always invite all the Maria Captains and other community members, it is not intended to be a meeting of one company at all. For this meeting, we had 3 non-employees present and they gave valuable input, so it already works, even if we will do more of it in the future.
In the groupwork on Monty Program's own vision, we clearly saw that everyone subscribes to the Hacking Business Model and want to work in a company that follows it.
The other thing that was seen as important was to preserve and save the MySQL Ab culture. We noted with Monty and Patrik that this was a good thing to explicitly say. Looking at our recent blogging efforts (Monty, Igor, Kurt) one might almost get the image we only have bad things to say about Sun/MySQL... it became very clear that the vision of Monty Program Ab is actually based on very warm feelings towards our roots.
Since we strive for transparency, most of the things created can be found on the public AskMonty.org wiki.
We started with working on a general vision for MariaDB, including asking ourselves where the database industry is going in general. The results of these discussions can be found on MariaDB_vision_Majorca2009 page. Since MariaDB is not as a project owned by Monty Program, everyone should be welcome to contribute and discuss the vision either on the wiki or on the maria-discuss mailing list. (I mean it: the document is just a summary of what was done as groupwork in Mallorca, it's not like it's set in stone or complete or anything.)
The most important things that we produced were certainly
Definitive list of features and fixes going into MariaDB 5.1 release and More general list of tasks related to the release
Of special note:
1) Ken Jacobs always complains that the community is developing enhancements to InnoDB as Linux only, then complains that Innobase Oy is slow to integrate them into official InnoDB releases. Well I have to give Ken one point here, turns out XtraDB is not compiling on Windows. Obviously that will have to change before we release MariaDB as RC!
2) Merging in MySQL, XtraDB and PBXT will take several days, so we are likely to miss our target of month-end feature freeze.
3) Building installer packages for various platforms is a huge task. Even if we will start with supporting only a limited set of platforms. (Volunteer packagers are more than welcome!)
Update: As mentioned on the wiki, OurDelta is preparing to build MariaDB 5.1 packages for Linux using their build scripts for 5.0. Turns out they also have a Sparc box and could look into that, yay! Arjen also has contacts with another company who could possibly do the Windows installer (which for MySQL is not GPL, is this true?). In summary: if you want to give a helping hand, contact Arjen directly to see what is still needed.
4) Wonder if some company producing Sparc servers is willing to donate a server to the MariaDB project? We don't currently know how we would support Sparc.
A "small and safe" MariaDB 5.2
We have several things almost ready, and it seems like we could actually quickly update 5.1 to 5.2. during the winter. Of course, first we have to release 5.1.
Something everybody is talking to us about is replication, and we definitively intend to address that after 5.1/5.2.
If you have input on how replication should be done, or something else should be done, go ahead, it's a wiki.
One more important thing we clarified when talking about MariaDB development, was that we will generally contribute any bug fixes we do back to MySQL. MySQL engineers at Sun had already been asking for some fixes we've done, and of course we'll do that, it just hadn't been discussed how to do it. I also admire one developer who made it clear that even if we are an engineering services company and we generally do whatever we get paid to do, there is a lot of code in MySQL he has written and feels morally responsible for, especially in cases where possibly nobody else than him knows the code well enough. That was yet another moment when I admired the spirit our team has about the product they work on!
The last day of our visit was spent cruising on the Mediterranean, swimming, jumping from the boat into the water, looking at fish and just being together, which is different on a boat than on IRC and important to do once a year.
- Log in to post comments
- 16192 views
windows
Maybe breaking things for windows is a bad thing, but there is nothing wrong with only providing optimizations for Linux/Unix. Things appear in MySQL/MariaDB when the community contributes them or users pay for them. There are approximately zero contributors using windows. Thus we get no performance patches or benchmark results for windows. This is solved by getting MySQL/MariaDB users who care about windows to finance that effort. But why is this a problem. Isn't POSIX on windows performant?
who needs to run MySQL on Windows?
This is no rhetoric question. For Linux developers supporting Windows is an additional burden, some features available on one platform are not available on another. It all adds to development costs.
It keeps me puzzled why would anybody need to run a dedicated MySQL installation on Windows? I'm not saying that Windows is not up to the task, it has its merits and in some cases may be indispensable.
But why would anybody need to run MySQL specifically on Windows, except maybe an occasional DB developer who happened to have only windows box? What is there in Windows that people absolutely need to run MySQL with? Why supporting Windows is such a high priority?
MariaDB and Windows
Mark: There is obviously nothing wrong with it. I guess the point that Ken was making and that we now realized is that things don't work on Windows by accident unless someone actually makes them to work. For instance we have lots of Buildbots running all the time... but apparently it wasn't running on Windows.
Alex: According to Sun - based on user surveys and such - Windows apparently is still the leading platform for developers using MySQL. We certainly want to support that audience with MariaDB. Sure, maybe you don't need the newest optimizations (or maybe you do?), but at least it has to compile and work. Personally I strongly believe that a top reason MySQL became so popular was that it was available both for Linux and Windows.
Yes, there is an enormous
Yes, there is an enormous Windows user base and I can imagine bean counters at Oracle going crazy being unable to harvest from that crowd. But getting back to Mark's point, while there are developers among them, they are not PAYING CUSTOMERS. Paying customers run MySQL on Linux/BSD/Solaris. And actually Ken's complains just prove that. There's no money in Windows for MySQL/MariaDB.
So, why support Windows?
For a Windows developer running MySQL under Linux is just a matter of firing up another VMware instance on his Windows laptop. For me supporting Windows is a matter of hiring a whole new software developer, a Windows expert, who would maintain the portability layer and solve all sorts of problems. And worse, no sane person will run MySQL cluster on windows boxes, yet I'll have to create a new test environment just to check that my changes don't ruin a single instance on Windows.
Perhaps when it all was just starting, Windows support was crucial to gain the popularity. Nowadays things have changed and MySQL is no longer a curious toy for casual entertainment on your desktop PC. It does not seem very likely that lack of Windows support will cause anybody to suddenly start looking for an alternative. "Does it run under Windows?" - has it ever been a matter in business decisions related to MySQL?
So I guess the question to ask here is "will investment into Windows support pay back and how?" (And it would be interesting to hear Ken's answer and rationale)
OS choice and administrators
Not everyone can (or wants to) administer linux servers.
At the company I work for there are some people who can do that (including me), but these tend to be good developers also... All the administrators are definitely windows only, some of them don't know how to start command line programs. If there's something wrong with a critical server, you need people to be able to fix it. If you already have Windows on the workstations, you don't need other people to administer the servers. Thus the company policy is "windows only"; this may be one of the reasons for the lack of linux knowledge of course. I can use open source and propagate it, but everything has to stick to this operating system policy (which is a real problem, we have to develop around MySQL on Windows deficiencies like open_files_limit <= 2048 all of the time and convince the administrators that the on access virus scanner doesn't need to scan database files). -- Even computer illiterates (and most of them don't know that good linux distros are easier to maintain than windows, especially when it comes to installing free software which is prepackaged) should be able to use MySQL (and learn that free software is useful). This way you only have to teach them SQL.
Without a (supported for pay) version it would be impossible for us to use a free database in critical projects at all and without the community version we couldn't have distributed MySQL as a 'hidden' backend for the replacement of an outgrown Access application to the internal users -- they have all the data that was on a centralized server before on their desktop and can run database heavy reports without having to ask anyone and they are lucky and have learned something about free software as well.
Thanks for an example of the
Thanks for an example of the company which actually needs to run MySQL on Windows. In my blissful ignorance I thought that nowadays all sysadmins are rather "bilingual". But here we have a company policy and I'm not about to question it. They need it. Customer is always right.
But let's get back to the roots: is this company really a paying customer? Apparently not. According to your post:
1) They don't want to hire decent sysadmins.
2) They don't want to pay for support when using MySQL in critical projects.
3) They don't want to pay licensing fees (and I guess that's the only reason they are using MySQL and not MS SQL)
4) And I'm sure that if you asked them to maintain MariaDB Windows compatibility (which would circumvent the 3 problems above) they'd graciously decline.
Again, I'm far from questioning their business decisions. Clearly they have it rather convenient right now. But does MariaDB miss anything because that company can't use it on Windows?
paying
1) yes, "decent" in the meaning as you and I understand it
2) don't know if "want", but how as I said we are paying for the critical servers. Not for the instances distributed as backends to other software, but this is like most users of GPL software do this. Are you speaking about free software or for pay software?
3) There's a company wide Oracle license, that's paid of course. And paid MySQL support, because we just like MySQL. Are you saying we sould go with Oracle instead because it's more expensive and better shows our willingness to be a good customer?
4) what do you mean by that? Most application developers don't have resources to also maintain the middleware. We file bugs instead, even if we found a work around in our own code and wouldn't need the fix.
My bad
Sorry, I misread a number of points in your initial post. That pretty much disqualifies my arguments. They ARE paying.
Thanks for clarification - you have opened my eyes to a possible Windows market for MySQL/MariaDB. This is far more convincing than "Windows apparently is still the leading platform for developers using MySQL". Finally we have customers.
Update on binaries
Note, added update to text on binaries: Short version, ping Arjen from OurDelta if you want to help out with binaries for any particular platform.
Personally, I run MySQL under
Personally, I run MySQL under Windows only for the development, so I don't need any optimization. The only thing I'd love, is to have MariaDB running under Windows, and being able to compile it easily with VS2008 Express, like we can already do with MySQL and the InnoDB engine.
If you don't run production
If you don't run production server under Windows, why then do you need to compile it under Windows? Would not prebuilt binary suffice? Why does it have to be VS2008 compiler and not GNU toolchain?
@Alex -- my secret plan was
@Alex -- my secret plan was to build high-performance server software for the Windows market. Maybe you are discouraging me :(, but maybe you are discouraging my competition :P. Charging more for server software on windows seems reasonable, as the other software in use there also costs more. But I won't enter this market for a few years.
But Mark, isn't it like with
But Mark, isn't it like with Oracle - the customer pays for production systems. No? And when you run a production system, it is a separate box. You don't browse the internet, watch Blu-Ray movies, play 3D games, run your Microsoft Office or Visual Studio on it. You don't do anything what Windows is supposedly exceptionally good at and what made it so omnipresent. So why run production server on Windows? (And it seems that pretty much nobody does it.) Am I missing something here?
And if my reasoning is correct, then it makes way more sense that Oracle supports its DBMS on Linux than for MySQL/MariaDB to support Windows.
In fact I don't want to discourage anybody. I just want to understand the "vital" need to support Windows. It'll make it much easier for me to make required concessions - or to save money and time ;)
(Frankly, since we develop a replication library, we can just protect our code with #ifdef's. But storage engine developers - they must suffer)
administration
having just one machine different from all the others is a problem for administrators. this being the most important machine, with the most complicated storage hardware, is an even bigger problem. you not only have click-only-administrators, they have to get used to the system. having to re-learn a system after you didn't have to touch it for months is bad if you have to fix it or recover data and everyone's looking over you shoulder.
also there are performance reasons for loading and exporting big data sets locally, data protection issues (data must not leave the server), organization reasons (project work where you can't just mix resources and buy one big machine per project/customer instead of two smaller ones), notebooks (you can't run a 1 week job on your workstation if you need to carry it away), etc.
people just don't like to be forced to use some operating system. if i had the opportunity to choose, i would run even the 'office' programs under linux, which excludes all the vendors withour linux offering. other people want to run even the database under windows. if you force them to use other dbs you lose them forever, they can't just switch their application back to mysql if they gain insight that linux is better.. they could port the application from (oracle/mssql/postgresql) to mysql but then the application developers will ask the same question you are asking now.
also if you develop under windows, all your loader scripts, managements scripts and your application runs under windows and you gained windows experience. it's easier to run the production system under windows than developing portable code.
Where do we get this drivel from?
"But getting back to Mark's point, while there are developers among them, they are not PAYING CUSTOMERS. Paying customers run MySQL on Linux/BSD/Solaris. And actually Ken's complains just prove that. There's no money in Windows for MySQL/MariaDB."
I'd like to know how you can state that. I work in MySQL Support, and can state quite frankly that you are very far from right.
Plenty of *Paying Customers* use Windows, and open support issues based on Windows..
At one point, the largest database that I knew of in our customer base was running on Windows.
Please don't state "facts" when you have no idea of them.
Where do we get this drivel from?
"But getting back to Mark's point, while there are developers among them, they are not PAYING CUSTOMERS. Paying customers run MySQL on Linux/BSD/Solaris. And actually Ken's complains just prove that. There's no money in Windows for MySQL/MariaDB."
I'd like to know how you can state that. I work in MySQL Support, and can state quite frankly that you are very far from right.
Plenty of *Paying Customers* use Windows, and open support issues based on Windows..
At one point, the largest database that I knew of in our customer base was running on Windows.
Please don't state "facts" when you have no idea of them.
I was just drawing
I was just drawing conclusions from the facts available to me. And I'm happy to stand corrected.
Granted that you have a better picture than me, what would be your estimate of the ratio of Windows customers to Linux/Unix customers (by customers I mean those who purchased support)?
"Many"
I'm not really at liberty to say, however it's "significant" when you look at it.. Certainly to the point of us not being able to ignore it, even if we wanted to..