
We agree that source code control systems are good at managing files. My experience suggests that, to do this effectively, the file paradigm is not very useful. A document is a collection of a number of interconnected chunks of text that altogether comprise a (possibly) single, long string of characters. But for various purposes we need to slice and dice in a lot of ways that don't relate well to pages (or chapters or paragraphs or whatever other segmentation device you want to use.) And "checking out" something might be a little imprecise for some - to me it suggests sole ownership for some period of time. What is your intended use of the word in this context? In order to track the status of a project over time, one needs to determine cumulatively who has done what to which pieces. It needs to know who performed which tasks on which pieces of a project - whether they change anything or not. It needs to be able to distribute uncompleted units of work that vary based on what the task is from a table to a set of illustrations to a paragraph. And synchronize the text assigned with the images associated with it. It needs to be able to know about users who try to perform the same task on the same text repeatedly - which may or may not be appropriate depending on the task. I'm not sure that I'm ready to agree that it's appropriate to make technology decisions based on an assumption that crowd-sourcing in any form is unworkable and won't be considered. I think I'm as strong an advocate of Agile Development as anyone, but at least the strains of it that I'm familiar with still advocate working from user requirements back into software requirements that determine technology choices. Itchy fingers want to make code, but I'd like to try to keep the focus on the user end so we don't end up letting the system determine what users are required to do, rather than vice versa. OTOH, if we can feed Lee the requirements for a user-side-based API for issuing text-with-images based on a realistic variety of tasks, and accept back the results and incorporate them into a flexible workflow process.using Hg or git or whatever, I'd love to be second in line behind him.