I've written a little server for sharing text in Erlang. One person is allowed to modify at a time and there is an explicit "I'm taking over modification" message.|
It comes with an Emacs client that uses it to share an Emacs buffer between many people on the network. It works okay over high latency because all updates are asynchronous (with undo if somebody else "takes over" write access before your updates arrive).
Code is here if anyone is interested. I've been meaning to make a peer-to-peer Emacs version now that GNU Emacs has been extended to accept incoming TCP connections. But, so many hacks, so little time.