Forking is possible because of the licence under which the code is released; anyone who thinks he/she or a collective can do a better job or wants to introduce customisations that the mainline project is unable or unwilling to, can take a copy of the code and run with it.
When the number one FOSS office suite, OpenOffice.org, was inherited by Oracle as part of its purchase of Sun Microsystems, interested coders and those who had been involved prior to the purchase waited for a while before they realised that things were going nowhere.
While Oracle does have many good qualities, it has shown a marked reluctance to put any effort to continue developing the open source properties it obtained from Sun - unless there was a clear chance of making money off them. OpenSolaris died some time ago.
Thus it came about that in September last year, a body called The Document Foundation was set up and OpenOffice.org was forked. The new group called their project LibreOffice and less than a year after they kicked off proceedings, there are indications that this child is going to be much better than the parent.
LibreOffice is up to version 3.3.2 and is much faster, slicker and feels less heavy - to use words that a layman would - when compared to OpenOffice.org. There is a lot of interest from the hackers who worked on the parent project and that, perhaps, is the difference. Corporates are not the best entities to run open source projects.
Michael Meeks of Novell, one of the chief hackers at the new project, says: "In all fairness Sun/Oracle did some good work to speed up the start-up so we can't take all the credit here. They chopped out an horribly unpleasant binary database of components in favour of a simple flat XML one which I think helped quite a bit.
"We did chunks of work on top of that though, starting LibreOffice pulls out a lot of stops, eg. we always used to force page-in all our required libraries - which helps first time linking get fast. We also used a factory process to make second-start faster: so just send the arguments to the existing process. Unfortunately, previously we used to force page-in all our (nicely demand paged out) libraries, and then send the command-line arguments. I spent a while fixing this and some other performance sillies around splash rendering in 3.4.0 and (I hope) the effect is rather slicker and quicker."