Skip to navigation
Real World Computing
Forking

Is forking good for open-source software?

Posted on 26 Aug 2009 at 12:07

Simon Brock debates the pros and cons of open-source projects splitting off in different directions

Forking’s been a hot topic of conversation in the open-source community for the past couple of months. It’s the process by which a group of developers choose to take a project in a different direction from the original project.

For example, Ethan Galstad, the author of Nagios, has written a number of articles defending people’s right to fork a project while not being completely happy that it’s happened.

The Icinga project has decided to fork away from Nagios. MySQL seems to have been forked in a number of different ways including MariaDB and Drizzle. MariaDB is interesting because it was founded by Michael “Monty” Widenius, who was one of the original creators of MySQL. Drizzle is also interesting, because it’s about cutting down MySQL into a smaller form – to some extent returning MySQL to its roots on the web and removing some of the “big database” functions it’s picked up over the last few years to make it more attractive to corporate users.

Forking has allowed projects that were stalled to go on to bigger and better things


But who cares? Isn’t this what open source is all about? Isn’t this where some of the best open-source products actually came from? Isn’t it the case that a group of people should be able to go off in their own direction? The answer to all these questions is, of course, yes – but there’s more to it than that.

Forking can be good, and in many cases has allowed projects that were stalled to go on to bigger and better things. In some cases, the new project has actually been eventually folded back into and replaced the original project, the most notable being the GNU C Compiler (gcc), which was forked as the EGCS project and then folded back in.

However, forking can also be a bad thing as it may lead to a dilution of the effort that’s going into a particular project. Suddenly a project that was created for the benefit of “all” no longer does that, and any changes only benefit users of that particular fork of the product. This seems to be the case with Nagios, where the fork could have been established within Nagios rather than outside it. Looking from the outside in, it seems that this didn’t happen, but might happen later.

MySQL split

The MySQL cases are more interesting, and probably more worrying. MySQL hasn’t had an easy few years. First there were rumours that Oracle was trying to buy it, then Oracle went off and bought the companies behind the BDB and InnoDB storage engines instead (InnoDB is a key component of many MySQL installations).

After that Sun did buy MySQL, but it seemed a marriage made very far from heaven. Key people left and when a new release of MySQL did emerge (version 5.1), its quality was criticised both inside and outside MySQL. For our own part, we did upgrade to 5.1, only to discover that some parts didn’t work even though they’d been documented as features for almost two years.

MySQL responded to the criticism and talked about going back to its old policy of releasing quickly and often. It also brought out a fork of its own – the 5.4 release – which was designed for machines with multiple cores using InnoDB. And as the final twist, Oracle has now bought Sun.

Does all this matter to the many users of MySQL? The concern has to be that MySQL may have lost momentum. Many small users of MySQL would probably be happy with the facilities of 4.1 rather than 5.x or even 6.x, and so will continue to use and upgrade as required. However, it’s the other users who are going to worry – they have one eye on the new features because they’ve probably reached some limitation of the existing MySQL.

A key component of MySQL is its storage engine, the choice of which dictates the speed and functionality of database queries. In normal MySQL instances, the MyISAM engine is fast but doesn’t support transactions, while InnoDB is slower but does support transactions.

MariaDB, mentioned earlier, is another storage engine and MySQL 6 was meant to have a new storage engine called Firebird. These choices not only lead to confusion but also to dilution. If you’re a user of, say, MyISAM and already know its performance limitations, you may not want to move database engine but rather want those limitations fixed.

Subscribe to PC Pro magazine. We'll give you 3 issues for £1 plus a free gift - click here

From around the web

User comments

Forking worked for Firefox

I think this is good for open-source software- forking brought us great things like Firefox spin offs Camino and Flock.

By Kid_Spock on 26 Aug 2009

Linux "forked"... and look where that got us... a total mess.

By alan_lj on 8 Sep 2009

Linux fork?

Does alan_lg refer to the multiplicity of distributions. Strictly these are not forks as they all ultimately use the same code base.
The current situation with MySQL and Oracle may be an argument for forks.
There is an issue though about the sheer number of open source projects, it would be relatively east to introduce a trojan app -disguised as a novel distro or forked application, promote it heavily and then exploit it's users.

By milliganp on 10 Sep 2009

Linux fork

Linux forked and it really expanded, not a mess at all.

If Linux had never forked we'd never have got some of the really handy installations of Linux, like the Live CD versions like Puppy, or the Anti-virus Linux rescue CD's all these different diversities all helped Linux increase it's following, as the people who didn't like the original version of Linux or found it too confusing now have easier and far better alternatives that do exactly what they want them to do, without having to include the bits that don't do what they want.

By TheKLF99 on 24 Sep 2009

Trojan fork

Btw as for the Trojan horse fork Milliganp it's highly unlikely to happen in OpenSource. As it's OpenSource people can see and edit the source code, so if you noticed something strange like a Trojan horse in the source code it would very quickly get noticed and removed, or people would very quickly alert other people to the problem, look how quickly people noticed Sony was installing Rootkits on their CD's and that was closed source, the notice rate would be alot more faster on OpenSource.

By TheKLF99 on 24 Sep 2009

Leave a comment

You need to Login or Register to comment.

(optional)

Simon Brock

Simon Brock

Simon runs UK-based Wide Area Communications, the company behind websites such as The Spectator. He's a contributing editor to PC Pro and a fervent believer in open-source technologies..

Read more More by Simon Brock

advertisement

Latest Real World Computing
Latest Blog Posts Subscribe to our RSS Feeds
Latest News Stories Subscribe to our RSS Feeds
Latest ReviewsSubscribe to our RSS Feeds

advertisement

Sponsored Links
 
SEARCH
SIGN UP

Your email:

Your password:

remember me

advertisement


Hitwise Top 10 Website 2010
 
 

PCPro-Computing in the Real World Printed from www.pcpro.co.uk

Register to receive our regular email newsletter at http://www.pcpro.co.uk/registration.

The newsletter contains links to our latest PC news, product reviews, features and how-to guides, plus special offers and competitions.