Contribution
From Makers Local 256
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
- There are no snapshots. There are only patches.
- Anybody can commit patches, even anonymously.
- No real distinction between "official" and "unofficial" patches.
- Patches can be signed so that users can "endorse" them.
- In the working copies, users can select which patches they do and do not want to apply at any given time. This can be manual or automatic with filters.
- Each patch carries its own licensing information. This would allow contributors to unambiguously copyright their own work and control the permissions they grant as they please without concern over what the rest of the project grants.
- The VCS allows users to filter out patches which do not grant the rights they desire, resulting in versions of projects which are legal to use under various scenarios.