Everything should be a game, especially serious things, because thats where people are most creative and efficient. Problem is most games dont do anything useful, but that can be changed. This is the gameful movement.https://www.ted.com/talks/jane_mcgonigal_gaming_can_make_a_better_world
I agree push requests are needed, but I do it at the immutable binary forest level instead of files, a very simple datastruct I've created but am working on the many ways to use it.
There can be no admin accounts, no code or person with authority over another, because as you said someone would enforce cheating on others. It can only work through democracy or indidividual choice of what parts of the game to combine at that moment, especially with the help of AI to do it fast and automatically by what it predicts we want. These AIs that help us through the many openended choices would themselves be part of the choices in what we together build the computing game into.
Stateful design is dangerous to such a system. Immutable objects and functional programming are stateless so we would only have to handle gametheory of agreeing on the tops (or any node not a dependency of another known) in the forest, since each immutable node is made of 0 or more other immutable nodes (in a forest shape) and you must include such dependencies (shared by many things in the forest) if you include something which needs them. If you cant include such a dependency, you cant include what needs them.
To keep it as simple as possible, I'm using immutable binary forest nodes which have no data in each node except which 2 childs, and they all lead to the same leaf. You can try an early prototype of this in http://sourceforge.net/projects/humanainet
version 0.8 where I've created a very simple type system, lists, key/value events, strings, object oriented properties, event listeners, and a stack that takes an average of 2 node changes per push or pop and log time for random access reading, all as shapes of the immutable binary forest nodes. All of these things are a complete snapshot of the system at every change, similar to diffs.
On my 1.6 ghz (and 1 of 4 cpus) laptop, this runs 2.5 million object creations or lookups per second with dedup, 20 million without dedup, and 130 million reuse of combinations of the same 64k objects.This should allow many people and AIs to play and work together without destroying eachothers data and at gaming speed.
8pla.net - "I don't want to program someone else's program." Meaning, I want to directly program a computer, not a virtual machine which in theory is just going to covertly capture my programming talent, and render it worthless.
Thats why its got to be opensource. When you take only the relevant parts of the best opensource code you see around and do your own thing, it becomes your code even though many people are working together that way. If you cant fork it, its not opensource. If you cant fork it in realtime, its not a multiplayer computer. The computer part is important, instead of being a specific system at the core, so it can become anything groups or individuals want, in whatever ways they want to work together or fork, hopefully more together as it becomes a massively multiplayer game and AI experience.