Previous month:
May 2007
Next month:
July 2007

GPL3 Released

The Free Software Foundation today announced the finalized version of the long awaited GPL3 open software license.  This was pretty long in the making, more than 16 years since the prior release, but the process, led in large part by Eben Moglen, was deliberate with input from a broad range of users, vendors, developers and lawyers.  Pretty much anyone who wanted to comment on the GPL was able to.  MySQL participated in the process, both through David Axmark's early discussions and feedback as well as Kaj Arno's chairing of a subcommittee.  I'm also glad that the FSF took the extra time to address issues (or some might call loopholes) that came up around patent licensing, such as is found in the controversial Novell / Microsoft agreement.

While I'm no expert on open source licensing, I do believe that the GPL (both GPL2 and the new GPL3) are the best licenses for open source developers and for building a business.  MySQL adopted the GPL2 a number of years ago when it became the easiest way to get inclusion in Linux distros.  It was just too much trouble to explain why our license was better when it was just different from what people were used to.  So it helped accelerate our growth by using a more standard license.  I also think the GPL's reciprocal nature is good; it helps expand the market for open source by providing a better business model.  And I think that's one of the reasons the GPL is the most popular license.  I view the GPL as embodying a "quid pro quo" philosophy; if you want to use MySQL under an open source license, your software should be similarly licensed.  But if you don't want to use the GPL, then MySQL can provide a standard commercial license. 

I understand why some folks prefer the more permissive BSD or Apache style license, since it's more liberal and therefore ensures the widest possible usage.  But I think the downside of permissive licenses is that it does nothing to help ensure fair use of the software.  So if you don't care who uses your software, how they use it, whether they build closed source products off your work, then a permissive license may be appropriate.

For now, MySQL is going to continue to use GPL2 (the "classic GPL", if you will) but we'll be looking at the GPL3 to see if it would be beneficial to us or our users going forward.

With some of the new provisions in GPL3, such as Apache compatibility, and better patent protection, I am sure many companies with one-off open source licenses, especially those that are not OSI-approved, are likely to take another look at the GPL.  The GPL3 license is not as radical a change as many people expected from earlier drafts, but I think that's as it should be.  Why mess with a good thing?

Congrats to Eben Moglen, rms, and all the contributors on the release of GPL3!


Hyperspeed Scale-Out

Ilike_scale

Here's an interesting problem to have.  What happens when your company starts scaling out in a matter of hours or days to traffic levels that would have normally taken years?  That's the situation that music site www.iLike.com (formerly GarageBand) faced after they launched May 23. They started getting tens of thousands of new users hourly through Facebook and eventually went from a million users to over 6 million in and the space of a few weeks, begging and borrowing more servers from VCs to keep things going.  They reached an audience size in weeks that it took Rhapsody years to achieve.  Now that's a fast pace of scale out!  They announced on June 11 that they are now the fastest growing music website. Heck, its probably worth making iLike our honorary 13th example in our 12 Days of Scale-Out feature on our web site.

The company President is ex-Microsoft VP Hadi Partovi who was previously General Manager of the MSN portal.  However, like most new web-based startups, iLike is built on the open source LAMP stack.  While it's possible that a Microsoft-only stack might have been able to scale, I would think the cost would be prohibitive.  Even if you just assume a nominal fee like $5k per server times 150 servers, that's $750,000, which is not chump change --even to ex-Microsoft millionaires.   

.


CIO Corner

One of the challenges we sometimes have at MySQL is that our audience is very broad.  We get hundreds of thousands of page views every day and the interests span a wide range.  That's one of the reasons we created the Developer Zone http://www.dev.mysql.com so that it would be easy for developers to find downloads, documentation and technical articles.  In effect, people who are alergic to buzzwords like ROI, TCO and CIO could bypass the home page and just stick to the technical content on the dev zone. 

Earlier this week, we launched a PR campaign called the 12 Days of Scale Out on our web site in order to highlight some examples of customers who have built very large applications or web sites using MySQL, such as Booking.com, Alcatel, Wikipedia, Zimbra, etc.  The content was targeted towards business readers, CIOs, and IT managers who might not be aware of where MySQL is being used, rather than for developers.  And quite rightly some folks have pointed out that there's not much technical meat in these short write ups and offered some suggestions on how we can improve.  It's always good to get feedback from our users, and we should have clarified who the content is for. Zak Greant also pointed out that we should consider having a separate area for non-developers.  That's a good observation also.  We recently launched (without much fanfare) a new section on the web site called the CIO Corner.  It's still very early on and there are just a couple of items up there, but in the coming weeks and months, we'll try to add some more content for CIOs, while also continuing to have good technical articles on the developer zone. (In fact, I'm thrilled that Kaj Arno and the community team are going to focus on adding more articles and interviews to the dev zone.)  I've also encouraged a few of our more technical bloggers to add some meat on the topic of scale-out; so hopefully you'll see more details behind the scale-out examples in the coming days. 

Most importantly, we won't be watering down the technical content on the developer zone.  I hope that we'll be able to add in-depth content both for developers and for IT managers. 


Zimbra's Scale Out Architecture

Zimbra_arch

Zimbra is today's featured scale out example as part of our 12 days of scale out series.  I've always had a soft spot for Zimbra since I first met CEO Satish Dharmaraj a couple of years back at the first Red Hat Summit in New Orleans. Their ambition is significant: they offer a plug-in replacement for Microsoft exchange that is open-source, cross-platform and more scalable. Zimbra Collaboration suite can handle multiple hundreds of thousands of email accounts on a single PC server. They support all of the standards so you can use any email client and Zimbra also has their own very slick AJAX web-based desktop application. I also think its cool that Zimbra uses MySQL as its meta-data repository for storing contacts, schedules and folder information. It made sense for Zimbra to leverage MySQL as an embedded database to provide fast and efficient searching of meta data. They're able to improve cache efficiency by combining multiple updates into a single disk write. 

Like a lot of apps, the Zimbra team evolved their design as they learned more about the performance characteristics of the application under real-world load. Real use case scenarios sometimes perform differently than theoretical benchmark tests. And Zimbra was able to tune their schemas and use of MySQL in order to achieve several orders of magnitude in increased scale over their original goals.  That in turn has enabled them to meet the demands of customers like Comcast with more than 12 million potential users. You can read more about the Zimbra architecture and benchmarks in the PDF links below.


Scale Out in China

Sina

With our current focus on the "12 Days of Scale Out" I thought I'd mention some observations from a recent visit to China.  I was there mostly on vacation, but I was able to spend a couple of days on the front end in some meetings with customers and press in Beijing through our partner there, Great Open Source.

The highlight of my visit was meetings with Sina.com (the largest portal in China) and Baidu.com (the largest search engine company).  Both are large scale users of MySQL with literally hundreds of MySQL servers at the core of their operations.

These companies have to deal with the same challenges as their US or European counterparts, but with some added complexity due to handling of chinese characters.  While the MySQL documentation is available in Chinese, there's still a need for more technical training, consulting and local best practices.  And I was thrilled that we had so many attendees from China at our users conference back in May.  That's a long trip to make for a conference!   Hopefully we can start to do more local activities through our partner to help expand the market in China.

This was my first trip to China and I was really struck by the enormity of the scale of things.  China has one fourth of the world's population and already is the #1 market for cell phones and the #2 market for PCs, behind the US. There are about 144 million internet users in China and that number is growing rapidly.  There are more than 20 cities with a population of 5 million and there are mega cities like Beijing with more than 15 million or Shanghai with more than 18 million.

The IT industry is growing rapidly as a result, and I was impressed to see so many young people working hard.  Indeed, things at Baidu.com and Sina.com were not so different from the early stages of Google or Yahoo.  And indeed, both companies appear to be beating their US counterparts in the local market, though revenues are still small by US standards.  (And interesting to note that Google has now teamed up with Sina.com.)

There is also a huge talent pool of engineers in China.  Beijing has a dozen universities and colleges including top-notch computer science programs.  Xian, the location where the Terracotta warriers were discovered back in the 1970s is home to more than 40 universities and colleges.  China graduates more students in computer science than any other country in the world.  So if you want my advice, make sure your kids are learning Mandarin.  It may come in handy...


Scale-Out Extravaganza

Scaleout_diagram

One of the things MySQL is best known for his helping organizations scale out their architecture.  At this point, probably everyone knows that the largest Web companies use MySQL including the likes of Google, Yahoo, Travelocity and literally hundreds of others.  Let's face it, if you're going to scale to huge traffic and transaction levels an open source architecture can be a heckuva lot more scalable,  It's also more cost effective than paying a "success penalty" (e.g. License fees)  every time you need to add more capacity.  Instead, just keep adding x86 servers running a LAMP stack to scale out rather than having to do a big forklift upgrade.  There are MySQL users that have literally thousands of servers working together.

For the next few days, we'll have a new feature on a scale of on our website. We call this the 12 days of scale out and will feature different customers and examples of what we mean by a scale out architecture to help give people ideas of how they can apply scale out in their own organization.  While I can't say that MySQL invented scale out, we have helped make it accessible for many organizations around the world.  Many customers start using replication in order to achieve a basic level of performance and fail over to provide high availability, and depending on their workload.  They may move up to a solution based on DRBD for four nines or MySQL cluster for five nines availability. 

Today's example is booking.com, which is one of the largest and most successful online hotel reservation systems in the world and part of the Priceline.com organization.  Financially, they've been kicking butt, in part due to their great performance and low-cost architecture.  We had a developer meeting in Amsterdam a couple of months back, and and had a visit from Bert, one of their key development managers, which was fascinating.  (That's actually something quite cool about MySQL -- -- you can travel anywhere in the world and meet happy users.)

Bert_from_booking_dot_com1

Booking.com serves over a million visitors and processes tens of thousands of reservations per day.  And of course the challenges it's always growing.  It's a dynamic system in a competitive market, and they can never just stand still.  That's the beauty of open source; it's an architecture that won't get in their way and let some continue to do business and grow rapidly.  They also use the MySQL Enterprise Monitoring & Advisory Service to help them monitor performance and ensure they are using best practices to scale out.

Take a look at the booking.com scale out story and check back on our website to learn more about other companies over the next 12 days.  And there will also be a Web seminar later this month.  Maybe you have your own scale out story that you'd like to share...


Best Freeware Utilities

Trophy

Again, this post is slightly off topic since I'm on vacation, but I wanted to point out a source for good freeware utilities for Windows.  I was looking for a good Windows outliner program and not having much luck and my Java Flex guru buddy Bruce Eckel pointed this site out to me.  If you're looking for a bit torrent client, a photo organizer, HTML editor, registry editor or any of a few dozen other items, this site will spare you the tedious research. The recommended outliner, Keynote, is available under an open source license, but it's no longer in active development.


Open Source Hiring

Help

Just about every open source company I know of is hiring right now.  There appear to be tons of open jobs at MySQL, SugarCRM, Alfresco, SnapLogic, Hyperic, Zend and elsewhere.  This is a good time to be an open source developer.  Also many companies are flexible about location and have openings across many departments including product management, sales, support, training etc.  Tell 'em Zack sent you...


PC Decrapifier

Stuffed

This is not strictly speaking about open source, but for anyone running a new Windows machine, it's a big issue.  PC Decrapifier is a free software which helps remove all the "craplets" (crippleware applications) that are installed when you buy a new PC.  Kudos to Walt Mossberg from the Wall Street Journal for helping to fight the fight against crapware.

"The problem is a lack of respect for the consumer. The manufacturers don’t act as if the computer belongs to you. They act as if it is a billboard for restricted trial versions of software and ads for Web sites and services that they can sell to third-party companies who want you to buy these products."

One more argument for moving to Linux or Macintosh...