ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

Forking in Open Source Projects - Debate

(1/4) > >>

Dare we say that the Coding Horror blog has been a little weak lately.. But today's blog essay was on a subject that I have been thinking about recently.  I was talking to DC member Gothi[c] about collaborating on an open source project, and i raised the possibility of using a custom license that would discourage or disallow forking.  I'm not a big fan of forking for a variety of reasons.

So I thought we might use this as a jumping off point to talk about the issue of "forking":

Forking is incredibly difficult to pull off. It is a painful, but necessary part of the evolution of open source software. Just as in real evolution, I suspect that most forks die in vast, nameless numbers, before they become strong enough to engender any forked progeny of their own. Forking is the absolute bedrock of open source software -- but it is also not a path to be chosen lightly.

--- End quote ---

So you quoted Coding Horror's opinion but neglected to explain your own. Let's hear what you have to say about it, mouser.

Well my life experience has led me to be skeptical about *totally* decentralized community projects.  I think that most of the time you need some kind of loose hierarchy, someone responsible for making ultimate decisions, or riding heard, or just making sure deadlines are met and quality control is reasonable, etc.

I'm also an extremely non-competitive person, and i hate the idea of different groups working on the same project but at cross-purposes and on incompatible solutions.  I understand the motivation for forking off a project, but in practice it seems to me like an absolute last resort -- much better that the people find a way to come together and team up and pool their efforts.  To me forking seems like an admission of failure and discord, and promises to split apart teams and developers.

Maybe if you have an abundance of developers and want to take the product in two completely different directions it would make a little more sense, but it just breaks my heart a little to think of the loss of productivity that would have been gained if the teams could have worked together on a common project.

The other issue i have has to do with giving due credit and control to the founders of a project.  The original issue of forking came up when i was telling gothi[c] about an idea i was playing around with about me doing more open source software for DC, and thinking about ways that could be done while still encouraging (or at least not discouraging donations).  One issue that troubles me with open source is that idea that someone could spent 10 years on a project, pour their heart into it, and then have some greedy person come by and add a new logo to it and fork off a new project and try to capture the user base with marketing money, etc.

So i was thinking about the possibility of an open source license that gave more control to the original coder(s). Like letting anyone modify the code for their own personal use, but giving the original coder(s) final say whether a given fork was allowed, final say about whether other distribution methods were allowed, etc., and various other things that would just in general give the author more control over the *public* evolution of the software.

Mouser I can see where you are coming from but I think you should be careful using the term open source because the extra restrictions you're suggesting very much go against the spirit of open source software. If others cannot redistribute freely then it isn't really open source.

That said I suppose I take the stance that if you are going down the open source road then go there properly and BSD/MIT your code. I don't even like GPL. LGPL is ok though :)

you're right, i suppose the restrictions i was/am considering are not compliant with the Open Source Initiative definition.


[0] Message Index

[#] Next page

Go to full version