Difference between revisions of "Contribution"

From Makers Local 256
Jump to: navigation, search
(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:
Jake McArthur
Status:
Stalled
Born On:
16 March 2007
Last Updated:
22 July 2009

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.