2006-11-21

Software IP, Licensing and GPL 2 v. 3

In my most previous article, The Five Types of 'Linux' Corporations, I tried to lay the groundwork of how different companies approach open standards, open source, GPL and, most importantly, what IP ownership their revenues are tied to.

In this article, we will discuss the realities of Intellectual Properity (IP), Licensing in the Industry and the forthcoming "purity" that the GPL v3 will assert whereas the GPL v2 did not. I ask you, as you read this, please leave any rabid attitudes, wishes for the GPL v3 to take over everything or countless other "activist" viewpoints aside. This is the "real world," not the "ideal world."

Because even as much as I am an alleged "Red Hat cronie" that dislikes software patents that hurt innovation and wishes everything was GPL licensed, I also work in the real world where several, very pro-GPL corporations advance Linux and software, including opening up their patents to the GPL, but still have their own IP and proprietary solutions.

The Reality of IP Infringement

If you read one thing in this entry, remember this one thing ...

Any and all software has equal

opportunity to infringe on software

patents and other intellectual

property of third parties.


When I start to explain anything about community-developed software to anyone, especially someone new to Linux, this is a major and key point.

Yes, the "real world" news is that recent studies of the Linux kernel and core Linux components have been done, purposely by Linux developers and related entities, to work on weeding out any potential IP infringements or other innovations that were covered under patents granted before their development. That might sound like a simple thing, but it's actually very involved and not foolproof. And it's likely that some third party at some point will find a way to assert patents on Linux -- just like they have done literally hundreds of times on Microsoft Windows as well.

Now the further "good news" is the fact that the source code is freely available to see goes a long way towards being able to thwart IP violations before commercial software. Especially since the fact that open source means developers are more likely to be aware, or at least made aware shortly after release, whether or not software infringes on a third party's IP. So open source code (whether GPL, free or otherwise) tends to expose these violations earlier and allow their mitigation. One might argue that the reason why Linux has not been plagued by lawsuits over IP to this point because of this, or at least far less than companies like Microsoft.

[ SIDE NOTE and FYI: The SCO lawsuits with IBM, Autozone and Chrysler are not over Linux IP, but entirely based on written contracts -- long, unrelated story and FUD campaign I will not re-open here. ]

But the GPL itself, not even the GPL v3 (more on that later), is a license that prevents IP infringement. The GPL v2's Section 7 (which has countless interpretations) merely acknowledges/declares that any copyrighted software, modifications or derivatives introduced by the copyright holders does not infringe on any other IP or, more directly/binding on the developers, those copyright holders will not assert other IP or extract royalties for any IP that is utilized by the software. With that said, the "clean solution" for the GPL v2 Section 7 is an "open license" on any IP related to the software owned by the copyright holders of the code introduced, which makes things easier for anyone who further distributes or modifies the source code.

But that has absolutely nothing to do with third party IP that is not licensed, but introduced into GPL software by parties who unknowningly do so and do not own that IP.

[ Personal Attitude: I really tire of having to "cross" the "gross ignorance" of 97% of the Linux community (virtually all non-developers/integrators/professionals) who believe that the GPL protects them from patent or other IP infringement. ]

As such, if there is one more thing about Intellectual Property (IP) I hope most people realize ...

No one can grant rights to or

protections from those who assert

intellectual property (IP) ownership

except those who own the actual IP


Which means it is impossible for any company to assert any IP or protect anyone from any IP it does not own. A corporation cannot blindly protect anyone and everyone from IP infringement of IP it does not own. In fact, it becomes not only fiscally impossible, but in many cases, virtually legally impossible when it comes to developers and integrators who derive and redistribute software different from the original. There is the concept of an umbrella, but that umbrella always has limits -- typically where a contract ends, especially on the boundaries of what an entity uses in original form, not its derivative.

Now what does that all mean?

For the most part, in the "Real Software World," a corporation only protects its paying, contractually bound customers from IP infringement. And those paying, contractually bound customers are only protected as long as they use the software as provided. If the customer modifies or redistrubtes the software, it is now considered a derivative and most contracts do not cover such. To explain this further -- of which, I am not a lawyer -- requires a complete dissection of Common Law on derivatives and redistribution, and it is best put only in select, specific contexts of an argument.

For the end-user, this means if you pay for something with a contract that guarantees you are indemnified against any third party intellectual property claims, the seller will pay to resolve the legal dispute without any cost to you -- to a point.

To a point is a key detail. E.g., Microsoft will only indemnify you up to the purchase price. Red Hat and Novell go much further, as do other corporations. So what is this? Yes, that's right, legal grandstanding.

In general, an end-user is not liable for IP violations of a product it purchased or otherwise received but did not modify. E.g., even in the SCO lawsuit, SCO is not an unknown third party that is asserting IP rights over Autozone and Chysler's use of Linux, but a first party Autozone and Chrysler have contracts with -- i.e., a contact dispute.

Hence why IBM, Red Hat and others have announced this deal is unnecessary to protect the general Linux user. Because in reality, this deal actually does nothing of the sort -- only select Novell customers, and most likely well outside the realm of general Linux use -- but more to do with Mono, eDirectory, etc... technologies when developed and sold by Novell.

If you are a developer, integrators or otherwise someone who modifies, derives and/or redistributes software, you're not covered by any indemnification policy of Microsoft, Red Hat or Novell for that matter. You are now a provider/distributor of the software, and you must ensure you indemnify those you provide software to. Which means, again, any indemnification protection is grandstanding if you are a developer, integrators or distributor of a modified work -- unless you've signed a contract or have some other protection agreement.

The GPL is not that and, again, not even the GPL v3 cannot grant you rights to IP from corporations who have not worked on the software.

Microsoft-Novell:
How are IBM's or Sun's Agreements Any Different?


As I admitted before, I am a Red Hat user, largely because it has put virtually all of the food on my table for the last 10 years, but also because I believe in their model. But the reality is that very pro-Linux, pro-community corporations do not need to use Red Hat's model -- and are perfectly entitled to their copyright, patents and other proprietary ownership -- which does not adversely affect Linux in the least bit in the majority (if not all) cases of that corporation (most corporations). Which is why the demonizations of the recent Microsoft-Novell agreements do not apply in the least bit.

With that said, IBM has signed countless cross-licensing agreements with Microsoft. In fact, IBM has completely pissed away countless rights to sue over copyright and patent infringement, including MS DOS 7.0 / Windows 4.0 (aka "Chicago" aka Windows 95) containing directly OS/2 2.x code and IP illegally acquired by Microsoft after the expiration of their 12 year-old licensing agreement with IBM that expired in 1993. Today, despite extensive (although still largely proprietary) platform investments and R&D related to Linux, IBM still makes most of their revenue off of consulting and integrating Windows -- which are covered by broad cross-licensing agreements with Microsoft.

Luckily for us, IBM does not donate much GPL at all. In fact, many of their donations have met with stiff resistance because of IP concerns -- namely IP patents -- that IBM has not released under an open patent license for GPL projects. Although IBM did more recently (and finally) donate 500 patents under such open licenses for GPL use, most developers believe IBM has not gone far enough. But we still have to be just as concerned with those licensing agreements IBM has with Microsoft as Novell.

In the same regard, the re-license of Java 1.4 by Microsoft from Sun (Microsoft's last Java codebase provided by Sun and unheld in a private lawsuit, along with the loss of the Java trademark that resulted in a new language/system, being Java 1.1) that prompted the broad licensing agreement between Microsoft and Sun, is probably the most similar to Novell's agreement.

Sun sells major systems and network infrastructure solutions (Sun One), as well as a development suite which .NET/C# is based on (Java -- remember, .NET 1.x was based on Java 1.1, as Microsoft had full rights to the code, but lost the right to call it Java(R) -- long, legal story -- and .NET 2.x is based on class compatibility with Java 1.4+). It was in the interest of Sun and Microsoft customers, but even more so, developers, to eliminate the IP and other licensing issues so the systems can interoperate. In the same regard the Free Software movement talks about IP being a barrier to innovation, it is not any less the case when it comes to commercial or commercial-based development, systems or integration either! And that's where cross-licensing agreements occur -- on technologies, on systems and on development platforms, often alongside direct, volume licensing, partnership and channel access. Especially since Microsoft can no longer ignore their own Solution Providers and Partners who constantly lose sales because they cannot properly offer Sun integration and related solutions (especially with Microsoft discounts/integration).

This is the same case in the Microsoft-Novell agreement. Novell, just as much as Sun, provides a full set of major system and network infrastructure solutions (Open Enterprise), as well as a development suite that strives for full .NET/C# compatibility (Mono). It is in the interest of Novell and Microsoft customers, but even more so, developers, to eliminate the IP and other licensing issues so the systems can interoperate. A cross-license which covers Microsoft and Novell customers only, and works in licensing, partnership and channel access, is in this agreement. Microsoft could no longer ignore their Solution Providers and Partners who constantly lose sales because they cannot properly offer Linux integration and related solutions (especially with Microsoft discounts/integration).

What Does This Have to do with Non-Novell?

The agreement? Virtually nothing at all. Other than exemplifying the fact that Microsoft solution providers, partners and its own channel are screaming for Linux, nothing. Microsoft is playing up the FUD (and virtually pissing away any legal standing in the process) which will play into those who don't know the first thing about contracts, indemnification and IP in software, but nothing else. And the counter and unintentional FUD and demonizations of Novell are rampant now, with people picking on anything that comes from any Novell e-mail address -- regardless of the fact if Novell owns the copyright or code submission to any GPL project, it must be "tainted."

Some have made arguments that Novell is violating Section 7 of the GPL v2 because that clause forbids royalty agreements to third parties. That statement is such a stretch that it would include not only virtually every "Open Source" corporation, not only virtually every "GPL Friendly" corporation, but even Red Hat would be guilty of "collaborating" with Microsoft in violation of Section 7 of the GPL v2. Red Hat has worked with Microsoft to get select Microsoft IP "open" so it can be used without royalties.

Because it is really the "related agreements" that Microsoft has announced to the community have more to do with what it calls "non-commercial" GPL development. Microsoft is granting, for the duration of the Microsoft-Novell agreement, a right to various IP of Microsoft (along with some perpetutal, per EU and other agreements) for those who develop personally on their own time and not under the contract of employment of any corporation. Some pundits have said this is "too exclusionary" since most GPL and other publicly licensed software is developed "on-the-clock" of a job.

To that, I merely respond ... DUH! Welcome to US Copyright and Patent Law under Employment Contracts 101! When you work under an employment agreement of a corporation, you typically give them rights to your works. Microsoft, or any other entity for that matter, cannot grant blind and open rights to their IP to any corporation who owns, trades and otherwise buys and sells goods and services possibly based on license of IP. Which brings us back to what Section 7 of the GPL v2 is all about.

Granting the right to use select IP, as it is under the context of and required by the software to work. Which brings me to the newfound "legal activism" I'm seeing as of late ...

Legal Activism Crossing Legal Advise
Section 7 of GPL v2 != GPL v3 (And Misrepresentation)


I am not a lawyer, but I don't have to be a lawyer to tell you that there are many lawyers that have crossed the boundaries of Legal Activism and are now letting that affect their Legal Advise. Again, yes, I am a huge proponent of the GPL v3 because it makes the world a much easier place to innovate software. But no, at the same time, I do not let that advocacy influence my professional council when it comes to protecting the investments a corporation makes, and the serious situations and consequences they may find themselves in if they decide to merely donate a few lines of code to a GPL v3 project.

Section 7 of the GPL v2 license is designed to prevent corporations from introducing code into GPL software that puts not only the end-users, but developers or distributors of the original or any derivative into a situation where they are using the software without a related patent license. In this capacity, the GPL v2 license still leaves the decision on whether or not to open their IP to the corporation, and the corporation can decide it wishes to keep select IP proprietary by not putting it in the GPL code. The GPL v2 license does not cross the copyrights or patent rights of the original IP holder in this regard -- the corporation either decides to donate a select innovation without restriction under the GPL license or not to donate a select innovation, separate from any other donation to the project.

But the GPL v3 has many sections that go much further into possibly opening the entire corporation's patent portfolio to anyone who works on the software because the corporation itself merely worked on the software. That is where the GPL moves from a complement on US Copyright and Patent Common Law into an -- and I'm going to use the word -- "viral" license with version 3. A corporation has to decide whether or not to donate any code to a GPL v3 project, because the second it does, its entire patent portfolio is now open to any contributor to the project. The GPL v3 is now about forcing a philosophy of community rights, and no longer about building a community of individual rights.

Now I'm all for the GPL v3 and building a community that must work together. But when it comes to corporations, I will not only respect their wishes to stay with the GPL v2, but advise them to avoid most (if not all) GPL v3 projects if and when they have key IP that must protect.

GPL v2 Proponents
And Why Some Won't Work on GPL v3 Software


As such, Open Source and even GPL Friendly corporations are definitely GPL v2 proponents, and will be shy to move to GPL v3. Again, the problem with GPL v3 software is that it prevents a GPL developers from asserting any IP on the GPL software, even if the offending code that was not developed or added by the corporation. E.g., if a corporation enhances a piece of GPL software and then another 3rd party also enhances the GPL software with IP owned by the former corporation, then that corporation cannot sue over IP infringement. Again, merely working on the GPL v3 software -- even though the corporation is careful not to introduce any code that would make use of its IP that it does not wish to "open" -- gives any party (especially a competitor) the right to introduce any and all IP of that corporation without fear of infringement.

E.g., if the Linux kernel becomes GPL v3, any IBM competitor could take any IBM patents or other IP -- such as their proprietary virtualization technologies used in their "big iron" solutions -- and, tada, EMC Corporation's VMWare line of products could inherit all the advantages and, more importantly, "free license" of IBM's virtualization technologies it did not donate to the kernel.

There are already countless demonizations of Novell and their stance on the GPL v3. But do you really think the world's largest IP owner, IBM, is going to sign on for the GPL v3? IBM cannot and will not tolerate their unrelated IP to be put into any GPL project merely because they work on it, especially if that GPL project (like the kernel) is at the heart of a competitors product like those of EMC, HP and countless others. And IBM's not the only one.

In reality, people must remember who funds countless GPL development. As much as we talk about the standalone GPL developer who has a scratch to itch, in many cases, these GPL developers are employees of corporations who scratch those itches "on-the-clock" to solve problems. And the originators and copyright holders on those projects are corporations who released the software under GPL v2 and assert ownership (if not via a signed licensing agreement on any significant submission) over the code, so it's likely to stay GPL v2.

So despite the wish for many people to see GPL v3 succeed, it will have to work in a world with and under software that is still GPL v2. People talk of corporations having to work GPL v2 software, but it's very likely that people will be more likely forking GPL v3 software from existing GPL v2.

One Last Set of Independent Observations

To this end, I would like to share one of the most brilliant and tactful summaries I have read, produced by Damien McKenna (e-mail available upon request), on Microsoft-Novell. It largely sums up much of what I have presented here, with the realities of this deal going forward for the GPL world.

'''
Have you ever heard of a self-fulfilling prophecy? If a large

group within a given distribution believe something to be true
there seems to be a statistically probably tendency for said issue
to become true due to internal pressures. Another term is a
positive feedback loop, a system that feeds upon itself and
becomes larger as a result.

Let me reiterate what has been mentioned thus far, with a few
points of my own.

* (one reason that) People release code under the GPL is because
they don't want any one individual or organization from reigning
complete control over their code.

* So long as someone, somewhere has the source code to GPL's
projects, the project can live forever.

* Just because code is written under the GPL (or BSD license,
or..) doesn't mean that the developers and/or users of said code
can't be sued for infringing patents (therefore intellectual
property) controlled by others. Very, very, very few developers
research patents, the sheer vast majority don't give a rats, but
it doesn't mean that they aren't opening up their projects,
users, clients, employers and selves to legal issues for
infringement. How many GPLed shopping carts have added a
one-click checkout after Amazon started to flex their legal
muscles?

* The GPL's intent is to promote playing nice, not infringing
patents, sharing code for the good of the world. On a legal
front, while it has been challenged at several points and for
the most part has stood the test of time, there are loopholes
which are *100% legal* but can be justified to be against the
*intent* of the document, e.g. application service providers
can enhance GPL code all they want and never have to make
their code changes available to their clients if they are only
hosting the application and not distributing it.

* There's a difference between what works for Joe Schmo at
home tinkering with his PC (who can format & reinstall his
system at will) versus a company who base mission-critical
systems upon a given technology. The former is known to be a
little wishy-washy regarding legalities, shares CDs with
friends, borrows games, maybe even shares serial numbers to
commercial software, as ultimately very little is affected.
The latter cannot make a business out of the same practices
as they know they leave themselves open to large legal
problems. The former don't ultimately have to care too much
if every piece of software they own infringes patents as they
can usually dump it pretty easily and move on; the latter
could go out of business if acore technology is found to
infringe on patents held by others and are unable to finagle
a good deal, so will tend to stay away if there are potential
indemnification issues. The former will focus on the
*intent* of the GPL, the latter on its *legal standing*.

* Novell, like Sun before them, have had agreements with
Microsoft for years covering different technologies, e.g.
Novell and Microsoft license back and forth on their
directory services and related technologies. This is a
normal fact of life in businesses.

* Microsoft cannot wrest control of any GPL through its
agreement with Novell, the GPL has *legally* proven itself
in this regard.

* If Novell decides in a few years to give up on Linux
(which it won't do, its betting the house on using it as a
foundation for its commercial products), there's nothing to
stop SuSE users from migrating to another distribution;
Novell's actions cannot kill GPL code as, as mentioned
before, it is perpetual.

* If you hire a contractor to build some project for you,
are they going to give you legal coverage should the system
end up having legal (IP) issues? When you buy a software
product off a shelf you do, however, tend to be covered.
When you download some random GPL project from the net you
are given *0* coverage, your ass-ets are your own to cover.

* Novell have grateously decided that they wish to protect
their customers from intellectual property infringements that
may occur regarding any products/code they sell, including
code that their own developers may have never seen but is
shipped as part of their SuSE distribution. As mentioned
above, it won't affect Joe Schmo, but companies that need
this legal indemnification will latch onto it.

And also...

* The media loves a fight and a great way of creating one is
to stir up some vocal fans who'll cause a schmidt-storm. The
OSS gang are an excitable lot, especially when some of the
'old enemies' are involved, mainly Microsoft. Through the
terms "Microsoft", "agreement" and "Linux company" in a
sentence and you're bound to get large numbers of visitors
to your blog and magazine sales.

So you're saying that you smell bad blood on the Novell-MSFT
deal and the indemnification proclamation, but there's an
aspect to it that most people (yourself included apparently)
don't consider and is at the heart of it. Meanwhile MSFT
get a free lunch because it may weaken a competitor (Novell
are one of MSFT's main competitors in the directory services
and network management space, never mind SuSE) and it
continues to feed the (heavily marketed by MSFT) average
corporate executive's view that the "Linux bunch" (i.e. the
OSS world) are just a bunch of sniveling babies.
'''

0 comments: