Monday, December 1, 2008

MySQL - Advantages and Disadvantages of Open-Source Software in Business

Open-source generally refers to any program whose source code is made available for use or modification as users or other developers see fit. Usually, open-source software is developed as a public collaboration and made freely available to everybody (searchenterpriselinux.techtarget.com). More detailed information on the rules of distribution concerning open-source software is available at www.opensource.org/docs/definition.php. MySQL is a database software built using the open-source concept which has actually become the world's most popular open source database (www.msql.com). It has also made a real impact in the overall database market, competing with closed-source software produced by huge companies such as Microsoft, IBM and Oracle. Businesses can adopt a strategy of using only open-source software, only closed-source software or a combination of both. This is a major business decision which has to be assessed by weighing up the numerous advantages and disadvantages of using open-source software in business.

The most obvious advantage of using open-source software is cost. Many start-up companies see cost as a major factor (www.tamingthebeast.net) and want to use a fully open-source solution to run dynamic web sites or servers. ‘LAMP’ is a software stack where the L refers to Linux (operating system), the A stands for Apache (web server), M is for MySQL (database server) and the P refers to PHP (Perl/Python programming languages). This presents an extremely low-cost solution for companies which is often too good to refuse, particularly for smaller companies. Examples of companies which have benefitted from this include Google, Yahoo!, and Travelocity who have now become very successful and profitable (Case Study). Using open-source software in a business also allows employees to work from home as the software is freely available. This may be important to a company and it was to MySQL, who in June 2006 had 320 employees of which 70% worked from home (Case Study).

Another advantage is that the software can be developed by anybody. Many internet-enabled start-up companies value the ability to modify parts of the software to differentiate themselves in their own markets. As companies are free to modify the code to suit their own needs and it can also be developed collaboratively by the public, this allows for rapid implementation of new features and security fixes. Using open-source software also has the benefit of not being tied to a single software vendor. Being reliant on one company means that you are dependent on them to solve your problems and maintain the software which can be expensive. With open-source software, the communities of programmers can act as an invaluable resource for providing support and suggesting enhancements (www.tamingthebeast.net). However there are no guarantees with the support that the public can give and it may not always be a reliable resource. MySQL realised that not everybody would need comprehensive technical support but some would and this is the reason why they introduced the ‘MySQL Network’ in early 2005. This is a subscription service that provides updates, alerts, notifications, knowledge base and production level support (Case Study). Out of all the advantages, cost-saving is probably seen as the most obvious advantage, but a survey conducted by Computer Economics shows that this is not the case and in fact less dependence on vendors was the top advantage with 44% of the votes (www.computereconomics.com).

Despite these advantages, there are also a number of drawbacks with open-source software. In fact, in the survey conducted by Computer Economics 14% of voters actually believe there is no real advantage of open-source. One of the reasons why businesses may prefer closed-source software is that they are usually more feature-full and more powerful. In comparison to the huge corporations such as Microsoft and Oracle who can bring in revenues in the region of $15 billion, MySQL are tiny as they only generate revenues of around $30-40 million. With less financial support, it may be difficult to create a software package which can do everything that the commercial software can do. In some cases, a weakness of open-source software is that it sometimes suffers from not having the reputations or brand names that closed-source solutions have. Most of the time, open-source programs are only advertised on the internet as they have no substantial finance to undertake marketing campaigns. However this cannot be said of MySQL as despite their small size and small marketing budget, they are extremely well-known – a household name (Case Study).

Another issue is the level of support that open-source software gives. Although MySQL got round this problem by setting up ‘MySQL Network’, support is generally quite poor for their programs. Nobody is responsible for dealing with issues as all the software is free and therefore, there is no guarantee that problems can be fixed. Finding solutions is also sometimes tedious and requires reading through lengthy online discussions in order to find what you need.

As open-source companies are usually very small, they are easy targets for their larger closed-source competitors to ‘attack’. For example, In October 2005, Oracle announced the acquisition of Innobase – a company which exclusively provided a key input component called the transactional engine for MySQL. Major enterprise customers like Travelocity needed this component and in fact 30-40% of MySQL’s users required this component. In February 2006, Oracle pulled off another similar stunt when buying over the embedded database maker Sleepycat, who were expected to make a replacement component for MySQL. It was even reported that Oracle has tried to acquire MySQL but they declined the offer (Case Study). If a business uses open-source software, there is always the fear of open-source companies being bought over which would result in no further updates and also no support. The consequences could be fairly disastrous for a business relying on that particular software to make their business function.

In conclusion, for small companies with a low budget, the best and perhaps only solution is to use open-source solutions but for companies with more capital, the better solution is probably to use a commercial solution as they often provide better support. I believe that open-source is the significantly cheaper but higher risk option while closed-source is the expensive but reliable solution. It is vital that businesses asses all of their needs before making the choice on using open or closed-source software. For example, they should weigh up whether they value reliability and support over cost-savings as this could ultimately be a deciding factor. Every business is different; it is not always the case that one option is better than the other.

References:

MySQL Open Source Database in 2006 (B), Case Study, Stanford Graduate School of Business

http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci212709,00.html

http://www.opensource.org/docs/definition.php

http://www.mysql.com/why-mysql/

http://www.tamingthebeast.net/articles5/open-source-software.htm

http://www.computereconomics.com/article.cfm?id=1043

No comments: