Recently I was looking at an open source project to contribute to however after going through the ugly code base (which seems to break quite a bit) and reading some things about the current maintainer I decided it would be a good fit for me.

Right now my thinking is to just start a new project with the same goal but using a different set of technologies that I think fit the problem better, the only reason stopping me is avoiding second system effect given the fact the system is live and works.

I could contribute to the other project and in doing so avoid essentially creating two different solutions to the same problem or I could solve the problem the way I think it should be solved and then see which system gets more traction. Is there some prior art to these circumstances that I should be aware of when considering this decision?

  • Why are you wanting to contribute, why start from scratch? If its for learning, great go ahead. If however you think a different tech stack and starting from scratch will make a better product, I suggest some reading up on "Things not to do" and "Legacy Code Issues" before diving in. (Hint - Every programmer things the code he is looking at is unreliable crap and that he can do much better using a different/new technology stack.)
    – mattnz
    Commented Feb 19, 2013 at 22:07

1 Answer 1


Have the best of both worlds. Fork the project. As long as you're not wanting to switch to a more permissive license(such as GPL to BSD), it's all legal. This is what open source is all about!

By forking:

  1. You'll have the existing project as a starting point
  2. You have complete control over the project
  3. You can "contribute back" your changes to the existing project if they'll accep tthem
  4. You can brand it the way you want
  • 1
    Thanks for the response, a couple of points : Basically I would pick a different technology stack so contributing back would be impossible. Essentially it's more about starting a new project to solve an existing problem solved poorly or trying to make the existing solution better.
    – ahjmorton
    Commented Feb 19, 2013 at 19:23
  • 1
    @ahjmorton well, it depends on how bad the existing solution sucks and how much time you have to get a new solution to a similar state of "working" then. No one can answer this for you
    – Earlz
    Commented Feb 19, 2013 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.