Welcome!

Web 2.0 Authors: Roger Strukhoff, Liz McMillan, Kevin Benedict, Pat Romanski, Elizabeth White

Related Topics: Linux, Java, XML

Linux: Article

So, Could Microsoft Ever "Own" XML?

Redmond giant granted United States patent 6,687,897 for "XML script automation" - what XML-related patents may be next?

Last month,  Microsoft applied for a patent to cover a word-processing document stored in a single XML file. That was in Europe and New Zealand.

"The present invention," it said in its accompanying Summary submitted to the European Patent Office,  "is directed at providing a word-processing document in a native XML file format that may be understood by an application that understands XML, or to enable another application or service to create a rich document in XML so that the word-processing application can open it as if it was one of its own documents."

At LinuxWorld we speculated whether this was  "either a preemptive move against IBM's plan to migrate to Linux on the desktop, a direct challenge to software vendors who want to interoperate with Word through XML, or just a more general confirmation that it is worried about Open Source." While the XML standard itself remains royalty free, Microsoft seemed intent, we noted, on seeking patent protection for as many specific software implementations that incorporate elements of XML as it could.

But now comes the news that, right here in the United States, Microsoft has been granted US patent 6,687,897 - filed as long ago as December 2000, it should be noted - for "XML script automation." In other words, it involves "systems, methods and data structures for encompassing scripts written in one or more scripting languages in a single file."

"This does not, in any way, change the royalty-free nature of the XML standard itself," a spokesman for the Redmond software giant said yesterday. 

What does this mean for the rest of us?  Well, it is not a patent on XML itself, but on the method of encompassing multiple scripts inside an XML file. The scripts can be all written in the same language or different languages.

One developer comments: "I think this may be used to change the way ASP works. It will allow you to use C# and javascript in one file and depending on the system configuration, it selects the correct script to run."

Another says: "We're all moving to xml for many obvious reasons, and Microsoft has patented one of them. We've all been adding multiple scripts to our HTML files for years, and there have been pain points. One promise of XML is to have more easily parsed data and meta-data due to the ability to define tags and the use of hierarchical tags instead of a fixed list of attributes. Every HTML file I've ever written falls into this classification where XML is desired, and this includes my javascript code. We've all been doing this for years within HTML. What Microsoft has patented is an obvious extension of current industry practices to anyone skilled in the art, and the patent should not have been granted."

Technoskeptics worry that, while Microsoft is not trying to patent XML itself,  it might over time seek to patent many aspects and possible uses of XML that there will be no practical method to use XML in a meaningful way without infringing a Microsoft patent.

We will follow the discussions that will no doubt follow in online communities like XML-DEV, and keep LinuxWorld readers posted on what's being said by those in the know about XML and patents.

More Stories By Jeremy Geelan

Jeremy Geelan is Chairman & CEO of the 21st Century Internet Group, Inc. and an Executive Academy Member of the International Academy of Digital Arts & Sciences. Formerly he was President & COO at Cloud Expo, Inc. and Conference Chair of the worldwide Cloud Expo series. He appears regularly at conferences and trade shows, speaking to technology audiences across six continents. You can follow him on twitter: @jg21.

Comments (17) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
xmlguy 02/23/04 10:56:05 PM EST

Darn, the server removed some of my last post. Let's see if we can get around the HTML formatting. Here's the file format for the macros.dtd again. Replace (in your mind) all the {} with <> (less than and greater than symbols):

{macros}
{macro name="Macro1" key="Alt+A" lang="VBScript"}
{![CDATA[...code here...]]}
{/macro}
{macro name="Macro2" key="Alt+B" lang="VBScript"}
{![CDATA[...code here...]]}
{/macro}
{/macros}

and here's the DTD from XMetaL 3:

{!--
NAME
macros.dtd

DESCRIPTION
XML DTD for XMetaL macro files

HISTORY
1999.03.29 Created by Bruce Sharpe

Copyright (c) 1999 SoftQuad Software Inc.
--}

{!ELEMENT MACROS (MACRO*)}
{!ELEMENT MACRO (#PCDATA)}

{!ATTLIST MACRO
name CDATA #IMPLIED
key CDATA #IMPLIED
lang CDATA #REQUIRED
id CDATA #IMPLIED
desc CDATA #IMPLIED
tooltip CDATA #IMPLIED
hide (true|false) #IMPLIED }

xmlguy 02/23/04 10:53:03 PM EST

Darn, the server removed some of my last post. Let's see if we can get around the HTML formatting. Here's the file format for the macros.dtd again:

<macros>
<macro name="Macro1" key="Alt+A" lang="VBScript">
<![CDATA[...code here...]]>
</macro>
<macro name="Macro2" key="Alt+B" lang="VBScript">
<![CDATA[...code here...]]>
</macro>
</macros>

and here's the DTD from XMetaL 3:

<!--
NAME
macros.dtd

DESCRIPTION
XML DTD for XMetaL macro files

HISTORY
1999.03.29 Created by Bruce Sharpe

Copyright (c) 1999 SoftQuad Software Inc.
-->

<!ELEMENT MACROS (MACRO*)>
<!ELEMENT MACRO (#PCDATA)>

<!ATTLIST MACRO
name CDATA #IMPLIED
key CDATA #IMPLIED
lang CDATA #REQUIRED
id CDATA #IMPLIED
desc CDATA #IMPLIED
tooltip CDATA #IMPLIED
hide (true|false) #IMPLIED >

xmlguy 02/23/04 10:51:28 PM EST

Damn, the server removed some of my last post. Let's see if we can get around the HTML formatting. Here's the file format for the macros.dtd again:

<macros>
<macro name="Macro1" key="Alt+A" lang="VBScript">
<![CDATA[...code here...]]>
</macro>
<macro name="Macro2" key="Alt+B" lang="VBScript">
<![CDATA[...code here...]]>
</macro>
</macros>

and here's the DTD from XMetaL 3:

<!--
NAME
macros.dtd

DESCRIPTION
XML DTD for XMetaL macro files

HISTORY
1999.03.29 Created by Bruce Sharpe

Copyright (c) 1999 SoftQuad Software Inc.
-->

<!ELEMENT MACROS (MACRO*)>
<!ELEMENT MACRO (#PCDATA)>

<!ATTLIST MACRO
name CDATA #IMPLIED
key CDATA #IMPLIED
lang CDATA #REQUIRED
id CDATA #IMPLIED
desc CDATA #IMPLIED
tooltip CDATA #IMPLIED
hide (true|false) #IMPLIED >

xmlguy 02/23/04 10:39:51 PM EST

This patent should be anulled (or whatever you call it in legalese). There are at least two cases of "prior art" that I know of, in two different products originally created by SoftQuad (later bought by Corel).

The first one I know of is HoTMetaL Pro (the HTML editor) which allowed users to record "macros". These were collected together into an XML file with the following structure:

The second product, XMetaL (also from SoftQuad) did exactly the same thing, with the added benefit that they also provided a macro (script) editor. Other than that the file format looks pretty much exactly the same to me. The XMetaL printed and online documentation documents this format (see above) *AND* the XML DTD also shipped with the product. I think the first release of XMetaL was sometime in 1999 and the last version I saw (4.0) still includes the DTD (called macros.dtd) and it has only very slightly changed in 5 years (with the main structure of the documents being exactly the same: ...

HoTMetaL predates XMetaL by quite a few years, but it is unlikely that macros.dtd file format existed before 1998 (when the XML spec was released), however, I think a number of the original SoftQuad founders were on the XML working group so they may have had an idea that XML would be useful even before the XML recommendation was released. I wouldn't be surprised if HoTMetaL versions before version 6 even used this format.

- XMLGuy

Fecal Extrusion 02/19/04 09:04:53 AM EST

Mike Calder-Smith,
Do you want to get sued by ever little Tom Dick and Harry
that thinks they can make a feew bucks off you for no reason
at all.

I agree with you that everyone SHOULD be accountable for
their own negligence, but you don't have to actually be
negligent in the US to be sued. There's enough 'grey area'
and loopholes in the legal system to destroy anyone.

I like your license, it is good, BUT...
Why not adopt the same licensing terms Microsoft uses?

Microsoft's license put into laymans terms is basically:
"By opening, and installing our software, you waive any
rights to litigate against us". That is the main reason
there currently is no class action suit against them for
their negligent programming that has severely damaged many
business entities and home users systems and data.

Why does this only work in the software world?

Do you think General Motors/Ford/Chrysler would be able to
sell a car with a contract stipulating similar terms?
"By entering this vehicle you waive any right to litigate
against us" ...Great, you get in your car, start it, put it
in drive ad it takes off on you and the steering doesn't
work because some union guy who was smoking pot on the job
forgot to put a cotter pin or something, and your car plows
into a crowd of people. YET, by entering the car you waived
any right to SUE the manufacturer.

Nice world of exceptions we live in!

Mike Calder-Smith 02/19/04 04:59:21 AM EST

I'm quite happy to sell to people who can sue me. If I do
something wrong or unethical then anyone who suffers should
be able to get a remedy.
What I am very much against is the stifling of competition
and initiative by monopolists by virtue of their size,
wealth, and muscle by the means of unjust and bad laws they
have managed to "persuade" the legislators to put in place.
Copyright (for a reasonable term) is a good and effective
means of protecting the rights of intellectual knowledge
producers. So are patents, provided they are original, not
obvious, and novel (which includes being a creation, not a
discovery). I'm a knowledge worker, and I depend on both
(but not software patents, I hasten to add).
The DMCA, and its draconian approach and penalties, taken
together with the extra-territorial approach of some US
courts and authorities, is unjust and bad law. It is also
unnecessary, because existing copyright law is sufficient
to provide the protections it was claimed to provide - a
situation that the rest of the world seems quite happy
with. I don't see why the rest of industry and commerce
should be ruined to give the pop music and film industry a
free ride.
Software patents as issued in the USA are just ridiculous.
The ones we're discussing here are neither original nor
novel and are glaringly obvious to anyone who's been in the
industry for more than a couple of years. I would have
less of a problem with software patents if the issuing
authorities did what they should; check prior art, and test
novelty and so on via someone who knows the area of
knowledge concerned.

Fecal Extrusion 02/18/04 09:55:28 PM EST

Mike Calder-Smith, in reference to your statement:
"... It does have the unfortunate effect of making our
software very much less attractive to US customers..."

Do you reeeeally want to do business with people who won't
buy your product unless they can sue you.

What you are seeing is the erosion of international trade &
commerce. (At least with the US)
I'm afraid it is the USA that will suffer on this.
While the rest of the world enjoys international trade and
commerce, it is the USA that will be stuck, all alone, quarantined from the rest of the world in its own litigious happy little world.

Fecal Extrusion 02/18/04 09:41:00 PM EST

They can't OWN it, but they can (and most definately WILL)
hijack it and flood the world with 'their own' version
of it which is incompatible with the original XML spec.

Does MS's incompatible JAVA implementation bring
back any memories?

Microsoft really should be legally barred from ever
using the word INNOVATE.

Mike Calder-Smith 02/16/04 05:26:17 AM EST

This sort of thing is actually quite worrying for small software development houses like mine (I'm CEO of Guillemot Design, licencing PhOSCo Clinical Trials worldwide, from the UK). Our most recent offering includes a mechanism that some non-technical US judge could easily interpret as flouting this patent. Like most developers, I would have said that this is the kind of thing we've been doing for years, an obvious use of a standard.
However, given the way US courts interpret things, given the sort of things that have happened to developers under the DMCA, and given the litigation background and behaviour of companies like SCO and Microsoft, I now have to think very seriously about whether it is safe anymore to either travel to the USA or to do business there. This particular instance is only a part of a growing pattern.
My first reaction has been to modify our standard licence and terms and conditions for contracts. They now all contain a standard clause, copied below. I suggest that any non-US software company consider including something similar but appropriate for their environment in their legal documents. It does have the unfortunate effect of making our software very much less attractive to US customers; the sort of side-effect that I suspect may well have been in the minds of the monopolists.
My other reaction is that I have decided, reluctantly, that in the future I can't afford to travel to the USA.

USE SUBJECT TO JURISDICTION OF THE UNITED STATES OF AMERICA
Where any party to a contract with Guillemot Design Limited is situated in or is subject to or performs any act under any jurisdiction of the United States of America that party shall indemnify and hold Guillemot Design Limited harmless from any action extra-territorial or otherwise of any third party including but not restricted to government agencies of the United States of America with regard to copyright, copy protection legislation, infringement or other violation of software patent, or other intellectual property restrictions or legislation, where such action is based on any statute, ordinance, or other basis without equivalent under English law, and any costs arising from such action.

J.L.P. Lopez de Victoria 02/14/04 11:01:15 PM EST

I quote:

``Another failed attempt by Microsoft too stop or at least slow down the advancement of the open source community.``

In other words:

Unmitigated bullshit; thus,

MicroSoft shall not overcome . . .

Ernie Smith 02/14/04 09:58:48 PM EST

I hate to hear that Microsoft got the patent. I can see them using it to their own ends in attempting to stop competition.
But I believe it will be nothing but that. Another failed attempt by Microsoft too stop or at least slow down the advancement of the open source community. There will always be
a solution perhaps even a better one than what currently exist.

Tzafrir 02/14/04 04:26:03 PM EST

This patent is a rather trivial one, as mentioned in the first feedback.

Furthermore, this applies not only to XML technologies: this applies to any type of technologies advancement. When there is a new technology all sorts of things become rather trivial.

but anyway, this patent does not include much. There must be user interaction. The script types are also identifie by their extention.

Paco Paquito Paquete 02/14/04 03:39:13 PM EST

This just represent how the GAP between technology and laws continues to increase every days. Patents like the one mentioned are just stupid, non sense, and completely opposite to the original motivation of Patent Granting to protect the intellectual property and promote development of new ideas. Far for rewarding those peoples and business with good ideas and initiative destroy every possibility of freedom while tying us to the money wishes. It looks that we are lossing all we won with the industrial revolution in XVIII and IXX and XX centuries and comming back to a medival era. It looks that the American Dream is becomming just that ... a Dream.

C. Conrad Cady 02/14/04 11:01:38 AM EST

How can a sober patent examiner say that multiple labelled programs within a single file, presented to a user for execution (claim 1), is a patentable invention?

Daniel Gonzalez 02/14/04 08:43:19 AM EST

And this surprises us how? Embrace, Extend, extinguish. That's usually how they do it.

Mike Carrington 02/14/04 06:02:34 AM EST

I have to agree, I am also deeply concerned about the granting of this kind of patent. What we have here is the granting of a patent to control a relatively generic 'method' for using XML (one that many small users are likely to use).

I hope that the patent office can give more careful consideration to granting these kind of patents.

ashishK 02/13/04 08:01:20 AM EST

on the occasion of the first MS patent application LinuxWorld wrote about, one expert wrote on the XML-DEV list: "It
is critical that this type of patent not be granted since it
poses a significant threat to the entire community of XML
users. By permitting this type of substitution, the principle
of "prior art" is basically discarded since a claim's
dependency on a substitute will be used to exclude *any*
prior art -- no matter how old, how obvious, or how well
known. 'Yes, it's been done before, however, it's never been
done with XSD... Thus, it is patentable.' This is wrong and
must stop." (bob wyman)