Why would you use a commercial database anyway?

Yesterday was the 25th birthday of the Free Software Foundation (FSF).

Over the past 25 years they’ve managed to deeply influence the world of computing and technology. The ideas promoted by the FSF’s foundation and leader, Richard Stallman, have certainly veered on the radical side. However, even if you don’t agree with this group’s ideology, I’d argue that we are afforded a lot more software freedom thanks to their activism.

Free and Open Source software (FOSS) has made our world a better place, and even if we put certain ideologies aside, software that is expandable, adaptable and often (but not necessarily) available for free is certainly a good thing for the end user.

Yet the business world has only partially embraced FOSS, and it’s rare to see an organization that exclusively runs its operations using only Open Source software and web applications that have been released under OSI approved licenses.

There are many reasons why this is the case, but the fundamental one is that software is only a means to an end for most businesses. They’ll use whatever they feel works best, is cheapest, best supported, and that they’re most familiar with. After all, they’re in business to make money, so religiously adhering to software philosophies is not usually at the top of their priority list.

Open Source business models

You’ll notice that for the most part, companies who develop FOSS don’t make their money from that FOSS itself. While they could theoretically sell it, the existence of clauses that allow their customers to redistribute the software for free makes it a less than ideal business model.

As such, better business models had to be invented to workaround the practical (not theoretical) limitations of making money with FOSS. The three most common of which are: dual licenses, Open Core, and support-based (and combinations thereof).

(Note that I’m mostly talking about desktop software here. Open source web apps tend to capitalize on the hosted nature of the service and are easier to monetize even when the software itself becomes freely available.)

Dual license: A commercial license is often used in conjunction with viral Open Source licenses like the GPL. A company setting up a dual license of this kind essentially relies on other companies’ inability to accept the viral license (because they don’t want to give their code away just because they used it in conjunction with your GPL code).

Open Core: The core product is Open Source, but if you want extra features, that are often indispensable to businesses, you’ll have to pay for them (as they’re commercial and proprietary). A company adopting this model is essentially using a freemium model, in which they use Open Source as a gateway to selling you proprietary software (which is the real way they make their money).

Support-based: Finally, there is the support option. Development companies went from basically having a license to print money to a much less scalable business model where they generate revenue based on the support they provide. Incidentally, while support is not the main “vocation” of most people who start software companies, it can be a lucrative avenue nevertheless.

Open Source as a nice to have

My point is that in all three cases, businesses may appreciate the Open Source nature, but it’s not a key factor in their decision making. In fact, in the first case they are buying a commercial license to escape the contractual limitations of an Open Source license; in the second case, they are paying outright for proprietary software; and in the third case, they are paying for the assurance that the software is maintained and that there’s going to be someone who’s accountable and ready to assist if problems arise (this is a real problem with many less popular community-driven Open Source projects).

In short, as long as the software fits the bill, companies will not take an idealistic view when it comes to software, but rather focus on what affects their bottom-line. It’s fairly safe to say that most companies really care about having software that is reliable, saves them time (their most precious resource), and that’s well supported. Open Source is a “nice to have” for most of them.

Why would you use commercial databases?

As an advocate for the DB2 team I often hear people ask, “Why would you use DB2 when MySQL is free and Open Source?”. The truth is that countless companies use DB2 because they know it ends up being cheaper in terms of both time and cost, when compared to Open Source database solutions.

I don’t doubt that many developers who work with Open Source technologies may care about their database being free (as in beer), free (as in speech), and its ability to meet a subset of functionalities available in pretty much any relational databases. In that case, MySQL is fine. But the needs of companies, both large and small, will often differ from that of your typical solo hacker.

IBM has an extensive number of DB2 customers because these companies care about features that don’t exist or are very rough around the edges in many Open Source databases.

Most of our customers care about:

  • Proven reliability and advanced security features;
  • Utmost performance;
  • Ability to natively handle XML documents and data (some industries have to do so as a result of regulations);
  • Vertical and horizontal scalability as their business grow;
  • Advanced and easySQL Replication and High Availability and Disaster Recovery (HADR) tools;
  • Backup compression to save storage costs (it’s not an issue if you have a web app that stores a grand total of 50MB of data, but it’s fundamental when you have 50TB);
  • 24/7 support from a reputable company that will truly stand behind the product they sell;
  • Ease of administration (DB2 offers autonomic features that pretty much self-adjust DB2 automatically based on the workload and usage it’s handed);
  • Overall TCO (which involves a lot more than just looking at the price tag for the software).

DB2 rocks all of these very crucial points. Furthermore, with the DB2 Express-C version, you get to use a production ready version absolutely for free.

Don’t let the name scare you. Oracle has really given the “Express” brand a bad vibe. Oracle XE is full of security holes, hasn’t been updated in 5 years, and is a severely crippled edition. Conversely, DB2 Express-C is regularly updated and impose very little limitations on you.

True, even DB2 Express-C has some limitations when it comes to the kinds of resources that it can use (up to 2GB of RAM and 2 CPU cores). Fear not though, it’s still plenty useful for many startups or small businesses (it’s used in production by many such folks). With DB2 Express-C there are no limits on the number of databases, their sizes, the number of users, connections, etc. It’s the perfect starter edition. The presence of three commercial editions (Express-C FTL or Express, Workgroup, and Advanced Enterprise) guarantees you that as your business flourishes, DB2 will grow with you.

How far can you go with top of the line hardware and the commercial editions? Let’s put it this way: every time you buy something with your VISA, that transaction passes through DB2. Furthermore, DB2 holds the world record for TPC-C benchmarks, with over 10,000,000 transactions per minute.

Let’s make DB2 available to more startups

Today IBM is announcing new pricing to extend the benefits of our support and commercial edition to a greater number of startups and small businesses. You can get the commercial Fixed Term License for about $1,500 per server, per year. (I pay more per year to host this blog.) Aside from 24/7 support, regular fix pack updates, and the clustering option for SQL Replication and HADR, this DB2 Express-C license will also allow you to use up to 4GB of RAM and 4 CPU cores. (There is an Express edition if you’d prefer to pay a one time fee, rather than a yearly one, or if you’d like to pay through other metrics such as per user.)

Commercial databases, particularly innovative ones like DB2, have their place in our industry both today and in the future, even in the face of the indisputable popularity of Open Source options. Businesses should evaluate proprietary and Open Source solutions on technical merits rather than ideological ones. In my opinion, there is space for both of these models to peacefully coexist to better serve the diverse needs of the business world.

DISCLAIMER: These are my controversial opinions on the topic at hand. They do not represent the opinions of IBM or anyone else associated with IBM. In fact, I wrote this post at 2 AM on my own laptop and published it on my personal blog. No executives were consulted (or harmed) in the making of this post. 🙂

Get more stuff like this

Subscribe to my mailing list to receive similar updates about programming.

Thank you for subscribing. Please check your email to confirm your subscription.

Something went wrong.


  1. Nadal October 5, 2010
    • Don McArthur October 5, 2010
    • Brandon K October 5, 2010
      • N/A October 6, 2010
    • Antonio Varela October 7, 2010
      • Antonio Varela October 7, 2010
    • Leon Katsnelson October 11, 2010
  2. Sean October 5, 2010
    • Brandon K October 5, 2010
      • Craig Ringer October 6, 2010
  3. anon October 5, 2010
    • Craig Ringer October 6, 2010
    • Frederik Engelen October 6, 2010
    • Leon Katsnelson October 11, 2010
  4. omar October 5, 2010
  5. Dave October 5, 2010
  6. DRG October 6, 2010
  7. bob the builder October 11, 2010
  8. Rohit Khare November 15, 2010

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.