Example: 2 of our top 3 users are working in almost equivalent projects (I don't know them in depth, maybe I'm wrong):
Jokes about Jon Skeet apart, and dreaming with an prideless ideal world (sorry guys, I am not accusing you of being arrogant, is a fact that every programmer must defend his own code), wouldn't it be a great opportunity to join efforts?
I am not saying that the community should decide what an individual must do, I just want you to raise pro and cons of merging projects, and what projects must have to be subject of such analysis.
-
Starting a new project without a thorough research of the available solutions and without taking into serious consideration the possibility to join an existing project, is something that the community should frown upon more emphatically. Maybe a programmer's education should include some discussion on the cost of effort duplication.
Having said that, experimenting with different approaches to solve the same problem is healthy, and once a programmer has some toy code, we should thank him for making it available to the public regardless of the existence of similar projects.
I think that the authors should seriously consider a merge if:
- one design has proven clearly superior to the other
- one community is being more active than the other
- both projects share the same ideas on future directions
- the work required to merge the two codebases is feasible
-
Merging should happen when it is overall beneficial. For example, if either or both of the projects:
- Are too weak to survive on their own (not enough active development to keep up with technology changes); or...
- Could provide good synergy through overlapping (i.e. not fully identical) functionalities.
However, there isn't anything wrong with having two strong projects that both do the same thing - it can help to encourage innovation as they try to be better than each other.
0 comments:
Post a Comment