Difference between revisions of "Contribution"
From Makers Local 256
(added some motivations and a short feature list for Contribution) |
m (added project stats sidebar) |
||
Line 1: | Line 1: | ||
+ | {{Project|Creator=Jake McArthur | ||
+ | |Status=<onlyinclude>Stalled</onlyinclude><!--LEAVE ONLYINCLUDES FOR STATUS HACK--> | ||
+ | |Born On=16 March 2007<!--DO NOT EDIT --> | ||
+ | |Last Updated={{#time: d F Y| {{REVISIONTIMESTAMP}} }}<!--DO NOT EDIT --> | ||
+ | }} | ||
+ | |||
== Overview == | == Overview == | ||
Revision as of 23:14, 22 July 2009
Creator: |
Overview
Open source projects are great because they allow anybody to modify the code to suit their needs. However, this has a few major drawbacks:
- It's difficult to keep your version in sync with the official version.
- You could try to get your changes patched into the official version.
- The project maintainers may not want your changes.
- You may disagree with the overall direction of the project either now or in the future.
- You could try to get your changes patched into the official version.
- It's difficult for others to benefit from your changes.
- Again, you could try getting into the official project.
- Same problems as above.
- You could start a new project around your code.
- This causes a lot of duplicated effort.
- Project maintainance is sometimes complex.
- Again, you could try getting into the official project.
- It's difficult for others to contribute to your version.
- Once more, getting your changes into the official project may be possible.
- Still suffers from the same problems.
- Again, you can make a new project.
- Suffers from the same problems as above.
- Doesn't even completely solve the problem since contributors and/or their patches have to be validated/verified and added to the project manually anyway.
- Once more, getting your changes into the official project may be possible.
Contribution is an attempt to make collaboration simpler by keeping track of every modification to a project, even the "unofficial" ones.
Features
- Every commit is a branch.
- Anybody can commit patches, even anonymously.
- No real distinction between "official" and "unofficial" branches.
- Multiple branches may be merged into a new revision.
- Each revision may be signed by the author.
- Repository browsing clearly shows the multiple paths of development without clutter through creative use of filters.