Not even complicated to implement.
See couchDB for how to handle "what if two people are editing a file at once".