Interwoven Patents Code Versioning
webengr writes "It seems like the USPO is pretty lenient when it comes to awarding software patents. CVS has been around for a long time, but now Interwoven has been awarded a new patent covering version control of web assets. The claims include, 'The use of a hierarchical file system and an object repository for representing and hosting content and its structure,' and '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.'"
I'm just wondering if the patent being granted is someone hinged on Interwoven's claim to be the first to do version control for 'web assets' (ie, HTML, images) as opposed to source code.
The fact that there's no technical difference between version control on an HTML file and version control on a 'C' file seems to be the sort of thing that's lost on the patent office.
I think I shall patent "a means of using a patent to create ownership of an obvious method of using existing devices or methods so as to stifle innovation and help lawyers buy new cars"
Terrycloth Lobster
Heh, I knew my slackerly habits would pay off eventually!
Send us your Linux Sysadmin articles
Geeky modern art T-shirts
Nobody at the US Patent office must version control their documents. Maybe thats how patents get awarded so easily?
And in our next story, Microsoft is now widely perceived to be the playground bully of computer software.
There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
"It seems like the USPO is pretty lenient when it comes to awarding software patents." no kidding. the USPO appears, in some cases, to not only be lenient, but to be completely oblivious to the purpose of having patents, as well as having wild interpretations of patent law. software patents, the way that they are currently handled, is incorrect, with regards to the original means that was set out by even Thomas Jefferson himself. to be able to patent compiled binary code, without regards to the source, or ENTIRE details of the mechanism that the software is implying is insane, and will continue to destroy the legal ability to innovate based on derivative work.
I just patented the process of "using organic photoreceptors to relay electronic signals via sheathed sodium channels to a core carbon based processing unit to elicit saturation of iron-rich fluids in nether regions of humanoid body, and further organic electrical manipulation of calcium mechanics to stimulate fluid-engorged region." I'm willing to settle for $20,000 per license violation.
I also reply below your current threshold.
Regardless of what Interwoven's site says, here are the 13 actual claims that define the scope of their exclusive rights. Pick the braodest among these and see if prior art exists that discloses each and every limitation. If so, great.
The point to remember, gentle reader, is to put zero stock in the company-paraphrased/sweeping language on their website. To quote (or at least paraphrase) a famous patent law scholar and judge, "The name of the game is the claim." IAAL, a patent one at that.
1. A system for file management for files containing website content comprising:
a work area configured to allow a user to create and maintain web content to be displayed on a website, the work area being a file system having read and write operations to enable a user to edit virtual representations of files having web content that is located in the work area; and
a staging area adapted to receive and integrate the web content submitted from the work area when the web content of the work area does not conflict with other web content submitted to the staging area and configured to retain versions of web content submitted from the work area.
2. The system of claim 1, further comprising a plurality of work areas configured to allow different users to create and maintain web content to be displayed on a website, wherein the staging area is adapted to receive web content changes of files modified in the work areas and is configured to check for conflicts in web content received from two or more work areas.
3. In a system having a plurality of file systems containing web content, for use in a system for developing virtual copies of web content to be displayed on a website, a method for maintaining the history and ancestry of the web content of an item in each of the file systems in which the item is included, the method comprising:
associating a history object with a first item containing information related to the revision history of the item web content;
associating information related to the ancestry of the item web content; and
maintaining an entry in the history object for each file system in which the item is included that identifies the web content associated with the first item in that file system so that conflicts with other items and their associated web content may be ascertained.
4. The method of claim 3, further comprising:
associating new web content in one of the plurality of file systems with the item;
modifying an entry in the history object corresponding to that file system to indicate that the item is associated with the new web content; and
adding a reference to the previous web content in the new web content.
5. The method of claim 4, further comprising:
determining whether a second item is in conflict with the first item by determining whether web content in the second item are previous web content of the first item.
6. A method for developing a website by resolving potential conflicts in web content submitted to a web content staging area by a work area where virtual copies of web content are developed, comprising:
modifying data associated with a selected object in a work area that is related to web content to be published on a website;
determining whether other web content is in conflict with web content developed by the work area;
resolving the any conflicts among the different web content; and
submitting web Content from the work area to the staging area where web content is staged before being published on a website.
7. A system for developing a website comprising:
a work area defined within a memory location and configured to enable a user to edit virtual copies of web content by editing files containing web content within the work area and to submit web content to be staged for publication on a website; and
a staging area defined within a memory location and configured to receive web content submitted by a work area, to determine whether conflicts exist between web content submitted by any one work area and other content to be staged in the staging area, and to integrate web content submitted from a work area when the web content of the work area does not conflict with other content submitted to the staging area and to maintain versions of web content sent from a work area.
8. A system according to claim 7, wherein the work area may be characterized as a file system stored within memory and having read and write operations to enable a user to edit files containing web content in the work area; and
wherein the staging area may be characterized as a file system for staging web content developed in a plurality of work areas and stored within memory and capable of receiving web content from a work area, the staging area including a versioning mechanism configured to maintain versions of web content received from a work area and an integration mechanism configured to integrate web content received from a plurality of work areas when the web content does not have conflicts.
9. A method for modifying website content, wherein the method is configured for use in a web content modification system having at least one. work area for modifying virtual copies of web content and a staging area for integrating web content submitted by one or more work areas, the method comprising:
modifying virtual copies of web content of a selected object in a work area;
analyzing the web content of the work area to determine whether it is in conflict with other web content submitted to the sting area; and
in response to said other web content not being in conflict with the web content of the work area, submitting the web content modified in the work area to the staging area; and
in response to said other web content being in conflict with the web content submitted by the work area, not submitting the web content to the staging area.
10. The method of claim 9, further comprising, in response to said other web content submitted to the staging area being in conflict with the web content of the work area, rejecting the web content from being submitted to the staging area.
11. The method of claim 9, further comprising, in response to the other web content submitted to the staging area being in conflict with the web content submitted to the staging area by the work area, refraining from submitting the web content of the working area to the staging area for integration with other web content.
12. The method of claim 9, wherein analyzing the web content of the work area to determine whether it is in conflict with other web content submitted to the staging area further includes analyzing the web content of the work area to determine whether the web content of the work area shares a common ancestry with other web content submitted to the staging area by a work area, wherein if the web content of the work area shares a common ancestry with the other web content, no conflict exists, and wherein if the web content of the work area does not share a common ancestry with the other web content, a conflict exists.
13. The method of claim wherein analyzing the content of the work area to determine whether it is in conflict with other content submitted to the staging area further includes:
analyzing the content of the work area to determine whether it is the same content as and whether the content of the work area shares a common ancestry with other content submitted to the staging area;
if the web content of the work area is not the same as the other web content submitted to the staging area, a conflict exists and the web content from the work area may not be submitted to the staging area;
if the web content of the work area is the same as the other web content submitted to the staging area, a conflict does not exist and the web content from the work area may be submitted to the staging area;
if web the content of the work area does not share a common ancestry with other web content submitted to the staging area, a conflict exists and the web content from the work area may not be submitted to the staging area; and
if the web content of the work area shares a common ancestry with other web content submitted to the staging area, a conflict does not exist and the web content from the work area may be submitted to the staging area.
Comment removed based on user account deletion
Here is a link to the actual patent.
The problem is that in the time between the dumb patent being granted, and the courts sorting it out, severe damage can be done to people's freedom to innovate.
Recall that over the past 100 years (and beyond), significant advances in technology have almost always been despite IP laws, not because of them*
*Some examples:
2) Over 90% of the serving members of the 3 branches of government were lawyers. Lawyers and old-money own the government(now more than ever). Do you think they will regulate themselves?
Where did that come from? Even *appointed* officials aren't 90% lawyers, and rank and file government employees sure as hell even aren't *mostly* lawyers. It's a tiny, tiny fraction of the total government work force.
USPTO sucks, but let's not get carried away here.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
The GPL embraces the concept of intellectual property law and uses it to forward the philosophical point of view that the *code* ( not the coder) should always be free.
If the GPL rejected the concept of intellectual property it would called "public domain."
The GPL is very much *not* the same as the public domain, since it forces contractual obligations. It can only do this because the code is *someone's intellectual property.* You use the code under license. Not right.
This is why we have BSD/GPL/Aritistic license religious wars.
The power of the GPL ( whether you think it's good or bad is up to you. Please note I'm only bringing up facts here, not making value judgements) is that with no concept of intellectual property you would have *no* rights to obtain source code. The GPL uses intellectual property law to force the code "free."
KFG
(I am not AL, nor am I ANAL)
:p), submission and workflow associated with the content, embeded webserver, etc. These are features which parallel Interwoven's offerings (albeit at a smaller scale).
First off, read the actual patent, not the press release.
The patent does indeed include version control elements, but further defines exactly what their product does. See section 2, for example:
"The system of claim 1, further comprising a plurality of work areas configured to allow different users to create and maintain web content to be displayed on a website, wherein the staging area is adapted to receive web content changes of files modified in the work areas and is configured to check for conflicts in web content received from two or more work areas. "
There are very many products out there that do version control. But, there are very few that provide robust Content Management, which includes version control, but also includes a system to quickly and directly retrieve content for a web site/application and other such ammenities described in the patent. You would never do such a thing with CVS, unless you're insane.
What this does endanger is projects like Zope with it's CMS framework, which does alot of what is described in this patent. Versioning, browsable "file system" (html browsable, not unix mountable
So, having said all this, I don't see why everyone is freaking out. The patent obviously addresses a complex Content Management system, not a simple version control system. I'm sure a simple-minded judge would be able to tell the difference once given the facts.
I've used TeamSite for years.. and checked out the patent. everyone needs to settle down. Interwoven uses some clever tricks in the caching and indexing in their management system that go above and beyond what something like CVS does.
This is what they're pantenting. TeamSite was actually built on top of CVS when the project started, but the standard content manageement scheme is not what's being patented here..
Violate propriety
If you're going to make this assertion, you should say exactly what is "so much more" about this patent. I read Interwoven's press release. They say that the patent contains 13 claims.
I read all 13 claims of the patent (go to the Patent and trademark office and do a "Quick Search" for patent #6505212, and saw an exact description of all the features CVS and Clear Case users have enjoyed for years. Six years ago I built a system using PVCS to manage source code and a 7 platform build system, and three years ago I adapted it to CVS for management of a website managed by 45 writers and programmers. It included a staging area, individual or team work areas, and the ability to search versions by content.
Following the 13 claims are the details of the patent; there is nothing there that cannot be done with CVS and some perl or python scripts. The "virtualization module" is similar to perl I wrote to run the site. The user typed in the URL with the CVS label and they would get the site in their browser as it appeared when labeled. Clear Case did the same thing with a file system view.
Nothing personal against Interwoven; if their product works it's worth the money, but it does not deserve a patent.