You know, it just occurred to me: if instead of pull <i>requests</i>, they just accepted all pushes... that'd sort of make this the programmatic equivalent of a wiki, wouldn't it? A site anyone could edit, in a more literal sense: not just the content, but the features.<p>Oddly enough, you wouldn't necessarily require people to use the command-line for this, but nor would you need to build any editing UI; instead, the site could just, say, provide a context menu that contains links to the GitHub code-editor view of all the source files, <i>and</i> content files, that were used to render that particular element.<p>If you really wanted to do this, to be practical, you'd need a pretty good continuous integration server to block the deployed build from failing, but for the codebase <i>itself</i>, I think it'd be a fun experiment to just let people do whatever they like.<p>---<p>...<i>or</i>, on a different tangent, you could have something like a CI server that evaluates and accepts/rejects pull requests based on arbitrary criteria. This'd basically be a black box (not part of the editable codebase) serving the same purpose that the site administration currently does.<p>This process could have <i>very</i> specific rules, like, say, that not only does every test have to pass, but that the commit can't delete any code <i>from</i> a test. So features can be added to a codebase through this black box, but not removed.<p>Attaching such a black-box-evaluator + automatic CI deployment process to the public web would almost be like throwing a genetic algorithm at your codebase: it would "evolve" roughly according to the constraints of the algorithm, even though people are doing the work.