Contribution

From Makers Local 256
Revision as of 13:30, 26 March 2007 by Jmcarthur (Talk | contribs)

Jump to: navigation, search

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.