Tuesday, August 28, 2007

New blog site

I've moved my open source blogging over to two sites:

This blogger site is no longer active.

Tuesday, July 26, 2005

Release 1.0: Open Source Community



Release 1.0, the newsletter of software industry pundit Esther Dyson, has published a very lucid report called "Open Source Community: How to win friends and influence developers." Consistent with the whole open source model, the report, ah, requires registration. Ok, well, at least it's available online free. Not everything in the report is 100% correct, but author David Rosenberg has done his homework, and he provides a good overview of the value of community and the different models for working with an open source community. If you're thinking of starting an open source company, working for one, or investing in one, then this report is worth reading.

It's safe to say that companies like MySQL would not exist today if it were not for the hard work of the community. While MySQL has always been a commercial company as founded by Monty Widenius and David Axmark ten years ago (and they are still very much involved in guiding the direction) the company has always been focused on doing the right thing for our community. That means not giving in to short term thinking, even if it would give us a short term gain, in order to ensure long term success. Sometimes that's a challenge. For example, it has meant a longer development cycle for MySQL 5.0 as we've added important features and need to make sure that we have the absolute highest quality. While customers will forgive us if we are not that good at predicting dates, no one will forgive us if sacrifice quality. (Sybase System 10 anyone?)

What isn't said in the report, is that if MySQL in particular, and open source in general, is revolutionary it is because of the community. Who really cares if there's another DBMS on the market? What makes MySQL interesting is that because it is open source it has more than 6 million active installations with somewhere around 50,000 new downloads per day. So there are a lot of people using MySQL who would never have been able to afford an Oracle or a Microsoft SQL Server. So whether MySQL is powering Wikipedia, Slashdot, Technorati, Yahoo, Google or some hot new startup, it is empowering more people access information more easily and at a lower cost. To me, that's the promise of open source. What new avenues to information can be opened if we lower the cost?

At any rate, check out the report, it's well worth the registration effort. There's also a somewhat fluffy video interview from PC Forum earlier this year with Mitchell Baker and Kim Polese.

Thursday, July 21, 2005

AlwaysOn: Open Source Panel


Today's AlwaysOn conference included a panel session on called "Is the World Going Open Source?" The panel was led by former Oracle COO turned VC Ray Lane and included panelists Jonathan Schwartz (Sun), Marten Mickos (MySQL), Kim Polese (SpikeSource), Rod Smith (IBM) and lawyer Rahul Kapoor (Morgan, Lewis, Dewey, Screwem and Howe LLP). I think the answer is an obvious "yes" in the sense that not only is software increasingly open source, but startups are building on open source, we are seeing more and more open, collaborative technologies, and there's a raft of open and participative systems emerging, whether it's blogs, podcasting, peer-to-peer VOIP, social networking and so on. Many of the old models of maintaining proprietary closed systems, whether they are enterprise software or communications systems, in my view will face increasingly tough propositions in the wake of the rapid growth of open source.

As with all the sessions at the AlwaysOn conference, and consistent with Tony Perkins' view of "open media" the session is broadcast live over the internet open to all. And there is also a running live chat projected live during the session. (Sometimes the chat is actually more interesting than the presentation, especially when they call "BS" on the speaker. Example: "Hey Ray, give it a rest!")

There were a few good points raised around the security and stability of open source and the notion of the whole open source stack, but the moderator spent too much time giving his perspective and wouldn't let the panelists do their job, which would have been more insightful. The reality is that open source is being widely adopted and the growth continues to accelerate. Linux is the fastest growing server platform, Apache is the dominant web server, Eclipse is the fastest growing IDE, MySQL is the fastest growing database, JBoss is the fastest growing application server, and so on. To me, the panel didn't get to the heart of the most interesting issues on open source: why its being adopted, business models that make sense, how to tap into the power of open source, and where this whole open model is extending beyond software to media, community, communications etc. It was just a bit too old school and biased towards Ray's view as an investor in SpikeSource. Here's another perspective on the panel session from Jeff Nolan of SAP Ventures.

Streaming videos of the all of the talks are available on the AlwaysOn web site. You can also check out Jonathan Schwartz's keynote presentation, which if you haven't seen at other conferences is a good high-level perspective on commoditization and participation, bundled with the expected commercial for Sun.

Wednesday, July 20, 2005

AlwaysOn: Skype Interview



At Tony Perkins' AlwaysOn-Network conference today in Palo Alto there was a video interview with Skype CEO Niklas Zennström and their lead VC investor Tim Draper. The interview is live over Skype's forthcoming video service. If you haven't tried Skype and you need to call overseas, you should drop everythign, go to http://www.skype.com/, download it and try it out. Skype is an extremely highly scalable Voice Over IP solution that makes phone calls on the network free (or nearly so). Like most hot startups, Skype is built on a completely open source infrastructure. (That seems to be a common thread here at the AlwaysOn Conference.)

I got sick of Cingular's roaming charges of $1 - $2 a minute and $500 cellular phone bills form overseas calls. So I downloaded Skype, bought a $20 headset and $10 SkypeOut account. I can call other MySQLers who have SKype for free and the quality is incredible. I can call Kaj in Sweden or Robin in Louisville and it sounds like they're in the room next door. The communications is richer and it feels more connected. For a company like MySQL which has employees in more than 20 countries this is one way to scale our communications without spending a fortune.

If I need to call a regular land line or cell phone it costs pennies per minute. Skype isn't perfect (it occasionally has glitches if there's a reduction in bandwidth) but it sure beats the heck out of the alternatives. Its simple to download, no configuration is required and runs on most popular platforms including Windows, Mac, Linux even PocketPC.

Monday, July 18, 2005

EUObserver: The Net Said No to Patents



The European patent directive and software patents in particular has now been laid to rest, at least for a few years. One of the key people behind the fight against software patents has been Florian Mueller, a programmer and technical author in Germany. Mueller became, in effect, an accidental lobbyist. His conviction drove him to put his current programming project on hold in order to fight for what he believed in. Mueller created the nosoftwarepatents.com campaign, worked closely with companies such as MySQL, RedHat and others to generate awareness and then enlisted the help of the FFII in Europe to get even broader support.

Mueller wrote an interesting post-mortem editorial for the EU Observer, to provide a behind the scenes look at how the campaign worked. Read the full article here:

EUObserver: The Net said No to Patent Directive

Tuesday, July 12, 2005

Open Benchmarks?


Even though MySQL is an open source company, there are some areas where we could do a better job being even more open. One of these is more regular publication of database benchmarks. Oddly enough, it's an area where MySQL shines.

When I joined MySQL in 2003, one of the reasons that attracted me was that even without a lot of marketing, it was clear what the major advantages of our products were: performance, reliability and ease of use. And of course, MySQL is open source. Those product characteristics were reinforced whenever I spoke to customers, partners and employees about MySQL. There were also some good outside proofpoints such as a benchmark by eWeek that provided credible third-party validation. We weren't just drinking our own Kool-Aid, so to speak.

But that was a while ago, and the eWeek benchmarks, while great, were getting bit old. We'd released MySQL 4.1 which had a lot of new capabilities, we'd done some ongoing performance tuning and so we needed to do some updates to the benchmarks.

At MySQL we have a small benchmarking team, which has some of our best performance tuning engineers. They do amazing things for customers. They can show up for a couple of days and double the performance of huge, complex systems. I don't know how they do it, maybe it's some special Russian brew they drink, but the customers are always blown away. And they routinely help companies like Intel, Sun, HP improve the accuracy of the benchmarks they run with MySQL.

Lies, Damn Lies and Benchmarks

But the downside of having such a technically skilled team is that they don't want to publish benchmarks unless they are perfect. There's a common view among engineers that everyone knows benchmarks are not realistic. (Ok, what they actually say is "Benchmarks are BS".) Some tests, like TPC, are more a measure of your hardware budget than of database performance. So in many engineers' minds, instead of running theoretical benchmarks we should just tell people to run their own tests that more accurately reflect how they intend to use MySQL. (Of course, this could also be solved if we just added "two more guys", the common refrain on any project suggested at MySQL.)

In the ideal world, everyone would run their own benchmarks and the results would always be completely representative of the application scenario under consideration. But in the real world, customers and prospects continue to ask us for benchmarks. They want to have some base level for assessing performance and comparing scalability on different platforms or architectures. While no benchmark is perfect, most of our customers are savvy enough to take the results with a grain of salt. But as one customer put it, "We want a starting point to know how we're doing with our own tests."

So a few months back we published a white paper that gathers some of the various benchmark results, tests done by Sun, SGI, BEA, eWeek, and others and put that on our web site. It includes links to the various tests and results. Since engineers do not trust benchmarks, you can download the source code and benchmark your own system to your heart's content. If you do, I hope you'll blog about the results, whether they are good or bad.

Will our benchmarks reveal areas where our code isn't quite perfect? Sure. But the good news is, then we can fix it. MySQL has always benefited from openness, whether it's finding bugs or fixing "gotchas" that don't quite work as expected. And I think benchmarks fall into that same area. We may as well be open about it because then we can work together to improve things.

An Open Benchmark Challenge

Although we're open with our benchmark results, that's not the traditional policy in the database industry. Traditionally, closed source database licenses including those of Oracle, Microsoft and DB2 prohibit the publication of benchmarks without permission. (This is known as the "Dewitt clause" named after the author of one of the first major public benchmark papers published at the 1983 ACM Conference on Very Large Databases (VLDB)). I challenge Oracle, Microsoft and IBM to give their customers the freedom to publish any benchmarks they choose. After all, shouldn't they trust their customers enough to know how to properly run these tests?

In the coming months, we'll put publish more benchmark results that demonstrate the performance of MySQL 5.0 under a variety of different configurations and application scenarios. But benchmarks are like statistics; they give you a slice of data and its up to you to draw the right conclusions. And keep in mind what business professor Aaron Levenstein once said of statistics: "Statistics are like a bikini. What they reveal is suggestive, but what they conceal is vital."

And please let me know your thoughts on what benchmarks you think MySQL should publish. What do you do in the real world for benchmarks?