This is why the state of software patenting really, really, give me the shits. As it does many other Slashdot readers.
Interwoven's press release regarding their patent states the following 6 claims (of 13 claims). I have quoted each claim as described in their press release, and then shown how CVS can be used to show prior-art over the claim.
(And it only took me half an hour and a little googling to work all this out...)
A system for asset management comprised of multiple workareas, each configured to maintain a virtual copy of content as it would appear when published;
This is easy to do in CVS. You can add an entry into
loginfo as described in
of the CVS manual.
The example in the manual is fairly trivial, but it is easy to hack up a script that can do far more sophisticated things, like having a checkout for each and every branch, etc.
A staging area to which content is submitted from multiple work areas and where any conflicts between content can be resolved;
Okay, conflicts occur because of two reasons; 1) someone has checked in a change on your branch, and you need to integrate their changes before you can check in, or 2) you are merging branches.
As for 2), this actually describes the only real process for
merging branches in CVS anyway. You have to checkout one branch into
a work area and then
update -j the sucker. You end up
with a workspace in which to resolve the conflicts;
where the conflicts are submitted from multiple work areas
are good to read for this process.)
Branches and sub-branches (for different projects or initiatives) that contain individual workareas, staging areas, and editions which allows for massively parallel development on a single platform;
This is just saying that Interwoven has branches to begin with, right? CVS has branches too.
The use of a hierarchical file system and an object repository for representing and hosting content and its structure;
CVS has a
filesystem. CVS is a repository for any type of file or object (including
"content" such as HTML and graphic images); it can store meta-data
about the objects
and the module database);
it stores these object hierarchically; and has query mechanisms for
accessing these objects (
cvs checkout -D etc.).
Hell, even IIS's use of NTFS qualifies as "the use of a hierarchical file system and an object repository for representing and hosting content and its structure".
Virtualization of all content regardless of location as well as Web and application servers -- this allows contributors to make changes "in context" of the entire site;
This just means
The combined concepts of file history, versioning, comparison, and merging as it relates to content, provide an archive of all individual changes as well as collections of changes so they can be versioned and audited.
Oh my. They took a version control system (something that has file history, versioning, comparison and merging). They put content in this marvellous version control system. I wonder if anyone else had thought of that before.
I don't want to have to do the USPTO's job for them, but we all may have to.