Voice of the Masses: Is there too much forking in FOSS?
|We’re no strangers to forks in the Free Software world. Sometimes they’re vital to spur on development activity (like when X.org forked off from XFree86), and sometimes they just lead to further arguments. A bunch of “veteran Unix admins”, mightily miffed by Debian’s upcoming adoption of systemd, have set up www.debianfork.org (which has already been parodied at forkfedora.org).
So for our next podcast recording, we want to hear from you: is there too much forking in the GNU, Linux and FOSS communities? Are too many forks simply the result of knee-jerk reactions when developers don’t get their way? Or are forks intrinsic to the health of Free Software, and should be encouraged as a “survival of the fittest” approach? Let us know your musings in the comments below!
I don’t think there can be too much forking, if you excuse the possible double entendre.
If a project gets forked, it creates another projuct that can learn from it’s predecessor and create something new and wonderful that everyone wants to use, or something crap that will just die. And in rare occasions, the fork can rejoin the original project and bring together the best of both worlds.
In general, I don’t think there is too much forking, but there are a few examples of forks which I think have been bad for the community and FOSS in general. LibreOffice/OpenOffice springs to mind – one huge complex piece of software has become two equally large pieces of software with no real benefit to users and a lot of confusion, especially when distributions switched from one to the other. In such cases it would be better if one project folded and handed over all its development effort to the other to prevent duplication (especially bad when projects have slightly different licences which mean one cannot import code from another).
After a few volatile years in the GNU/Linux world, where would we be without the ability to fork? OpenOffice got taken over by a suspect company and we got LibreOffice. Gnome decided to ditch the very popular Desktop Environment and we got MATE. If it wasn’t for the ability to fork we would inhabit a very restrictive world and open to the whims of those who think theirs is the only way.
Forking is a fantastic part of the FOSS ecosystem, without it much of the software we love would not be available.
The problems people associate with forking are normally the result of developers not getting along or other technical issues like incompatible licences. The best forks are the ones who take over dead projects or breathe life into existing ones.
Forking is fundamental to the FLOSS model. Any attempt to force self-directed hackers to only work on the one true repository is doomed to failure anyway.
While from the outside it might look like there is loads of wasted effort in multiple implementation you are actually watching the real time mutation of source trees. In true Darwinian fashion most will fail while occasionally one will show it’s much better suited to the job in hand. Thus FLOSS evolves and takes another bite out of the propriety worlds market share 😉
Forking is like natural selection in the evolution of the natural world. It may be messy but more is always better in the long arc of time.
I think forking is generally necessary. Some forks are stupid, but they die off and leave the original project thinking hard about what they can improve.
I’m not sure what “too much” forking would mean. There are certainly many forks, most of which go nowhere, but since these tend to garner little attention they have little if any impact on the health of Free Software as a whole (and provides a valuable mechanism for learning).
If you’re asking whether people are overly inclined to forking, rather than helping with the original project, and thereby wasting resources, I think generally not. Most important forks are headed up by people who know what they’re doing and are forking with good reason.
Broadly, I think the system works exactly as it should.
It works. Open Office was stuck in a rut. Libre Office works better and has proved popular with most Linux distros. Open Office now has a different interface derived from IBM Symphony, and can if its devs chose import improved code from Libre Office. It is confusing to people using FOSS on non-free OS who aren’t used to this sort of behaviour, but they’ll get over it.
Forking Debian?!… Is that Ubuntu, isn’t it? 😉
There is nothing wrong with forking as long as the forks offer something completely different to the original. Sometimes we get forks of software and there’s only really a name change, maybe a colour change too. What exactly is the point in that? Most of the time we get forks of software and there is a massive difference for both the fork and the origin. The fork can go it’s own way, improve itself in ways that wouldn’t be possible under the original trunk, and the original piece of software can stay true to what it believes in.
That said, I don’t want Debian to fork just because of systemd. Just cut systemd out and we’ll say no more about it 🙂
Moderation in all things
Is the level of forking in FOSS too much, about right, or too little?
My gut feel is that it is about right. We fork only when absolutely necessary, because the cost of a fork of a big project is enormous, change the name, rebuild a community, build environment, website, wiki, mailing lists, and endless hours justifying what you have done for years afterwords.
You can never have too much of the right sort of forking, i.e. that which leads to something better. The problem is the other sort, which just leads to division of effort and a number of poor quality pieces of software, rather than a couple of really good ones that represent useful choice.
Well, you forked your own Linux magazine improving it where you didn’t agree with the old publisher anymore. I don’t think that forks in Open-Source are a problem at all. There is a problem with re-inventing the wheel over and over again. Undoubtedly it also happens in closed source but there it’s more a necessity because of prohibitive licences.
Forking is bad when it is other people doing something you don’t agree with. For instance, clearly Linux Mint creating the Cinnamon DE was an evil fork of Ubuntu and should have been stopped. And if you can show me a majority who agree with that, I will think that there is too much forking.
Too much? Or not enough?
I love the forking. Hell it’s people’s distaste for gnome 3 that create Cinnamon the desktop I’m now most comfortable with.
I think it’s one of the biggest upsides of open source. If you don’t like it then fork it, and the chances are what you fork it from may even use your fork if they see it in action with enough people praising it.
No!!!
Best code will survive, bad code will die …
Let the “nature” follow its way
ESR states that “Forking is considered a Bad Thing — not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction.” I agree with this statement that forking is a Bad Thing. However, this does not mean that it is the Wrong Thing. For example if not for people doing the Right Thing by forking OpenOffice we would not now have the excellent LibreOffice even though this has resulted in duplicated effort which is a Bad Thing
Forking isn’t the problem, it’s what leads up to the necessity of the fork and the acrimony that can often follow.
You can take an existing project in a direction that its original authors don’t agree with or wish to pursue, and that can happen harmoniously and without much fanfare. Sometimes the forks even supplant the original.
You can also do that with a lot of light and noise, which can be generated by one or both sides of the debate.
In summary I think this is a social phenomenon, and to fix the negative aspects we should be working on the social conflicts that kick it off, not focusing on a technical consequence of them.
As I understand it, it’s enshrined in the FSF’s definition of Free Software; that’s to say that [one of the conditions is that] ‘you have the freedom to modify the program to suit your needs…’.
This will invariably lead to forking which helps to expand the FOSS ecosystem. Good forks will thrive, bad forks will perish eventually.
Could it be that Richard Stallman has encouraged Darwinian Evolution into the realms of computer software?
I’m tempted to fork this discussion, maybe we can crowd fund it and make a new magazine….. Oh wait a minute 😉
I don’t think there can be too much forking, the model seems to have more advantages than disadvantages. Often a successful fork can really renew interest in a piece of stagnant software, see Neovim, Libreoffice…
Other times it might seem like a waste of resources, but at the end of the day people are going to hack on what they want to hack on, and when politics get in the way a fork can actually save time and waste less resources. Other than the occasional stupid name forking is a win-win for FOSS.
Firstly, it is true that forking is inherent to free software, and that therefore people and projects are entitled to fork a programme if that is what they think is the best thing for them to do.
That doesn’t mean that it is always the best idea.
Generally, a fork is productive when it leads to good software being created that otherwise wouldn’t have come about or been maintained.
And it would certainly be good to leverage the advantages of open code to avoid duplication of effort by colloborating with projects working on a similar codebase and not breaking compatibility needlessly.
It seems to me that many commenters didn’t really address the question asked. The question wasn’t if forking as such is a good thing, but if there is *too much* forking. And to that, I believe that yes, there is too much. As an outsider it looks to me that too many forks happen because of ego or some academical point, which leads to unnecessary recreation of the same solutions by different people. So yes, imho there’s too much forking.
I’m an average computer user newish and not highly dedicated to Linux, but very supportive of FOSS generally. This is of course my opinion, ignorant as it may be.
I think there is too much forking. When there are forks that offer little real difference to the ‘original’ and it diverts resources away from the original AND fails – then by definition that is one fork too many. If there is one fork too many, then there are too many forks 😛 🙂 There’s lots of examples of it. The flipside is there are often forks for a good reason – like Mint from Ubuntu and Libre Office from Open Office (though I would like to see OO fold now) and Clementine from Amarok (yes? don’t recall).
I suspect most forks come about from differences of opinion in the direction of a project. One can ‘blame’ the original project or the forked project. It could be the original project is quite democratic and the forker can’t work to the majority rule because he/she knows best. Or it could be a dictatorial project and the forker wants to democratise it.. or be their own dictator 🙂
I know next to nothing about the SystemD debate, but it appears it could have gone either way (the vote). Though I hate to use the word ‘mandate’ it makes it a hard case to press in either direction when the vote difference is 1. Maybe they should have stayed put and voted again in 12 months.
Too often people confuse FOSS with ‘choice’. It is not about choice – it is about freedom. Freedom can bring with it choice, but choice is not what it is about. Choice is a by-product of freedom. There can be too much choice. All these forks lead to “the paradox of choice” (check out the Wiki page, in particular perhaps to the “why we suffer” section).
I just wish people would get along and agree on everything (as long as it’s what I think) 🙂