Difference between revisions of "Contribution"
From Makers Local 256
(added a short overview for my Contribution project) |
(added some motivations and a short feature list for Contribution) |
||
Line 1: | Line 1: | ||
== Overview == | == 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. | ||
+ | * 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. | ||
+ | * 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. | ||
+ | |||
+ | 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. |
Revision as of 13:30, 26 March 2007
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.