Most software developers are familiar with versioning systems such as CVS, Subversion or Mercurial. You maintain previous versions, you fork, you merge. What I'm thinking about and want to bring to the table is having this concept for any large project including documents and multimedia files. And it should be easy to use.