So, in case you missed it, here’s the story on Groklaw. It’s okay; I won’t take offense if you missed it. Not quite so many people have been paying attention to SAS v. WPL. So it goes.
This ruling is… a very bad idea. It is too broad. It takes away protections which are absolutely vital to driving innovation and invention. (And no, this is not contrary.) To describe the ruling as overly broad in a dangerous way is much like calling the ocean damp. And yes, I really do know what I’m saying and talking about here.
EDIT 05/25/2012: Hello all 10 of you from the cowardly post on G+; I guess a certain unjustifiably arrogant person figured I wouldn’t notice? But, I’ve invoked my Zero Tolerance For Those Wishing Me Harm policy. So consider the source and feel free to engage in reasonable – not religious – debate.
Everyone inevitably is going to draw parallels to Oracle v. Google – honestly, it’s irrelevant and it matters absolutely none at all here. Not one bit. Related? Sure. But relevant to this discussion? Not at all.
Here’s the problem: if you say “the expression of those ideas and principles is protected by copyright” but if you also say that “the functionality of a computer program nor the programming language and the format of data files used … do not constitute a form of expression” in the same breath? The expression of ideas and principles is not protected by copyright!
People these days just do not seem to get how software development works and why being able to copyright an API is such a critical protection to businesses of all sizes. Not just Microsoft, but every startup out there. First and foremost; there are hundreds and thousands of licenses and copyrights available for businesses to use. I can GPL my API and throw full documentation out into the world, or I can say ‘nope, mine’ and protect the details zealously. For innovation to thrive, both options must be available. Not just one or the other.
In SAS v WPL, it was determined that WPL had created a re-implementation of the SAS Language, using documentation from SAS (which is okay,) but also using a version of the software which was licensed for personal and educational use (which is very wrong.) Why? Simply put, WPL is a commercial entity. Their use of the personal/educational license for commercial work was a major violation of the licensing right out of the gate – and should have been fatal to their case by itself. Their WPS product costs many thousands and thousands of dollars (it runs on z/OS!), yet they used a version which was restricted to personal and educational use.
When SAS learned of this, they brought a suit alleging that WPL had illegally copied manuals and components, and infringed their copyright. Yes, well, this was about the most horrible test case I could imagine too. SAS is a programming language, not really a product. That’s what lead to this disasterpiece of a ruling.
First of all, trying to copyright a programming language in this fashion is absolutely ridiculous and pointless. It’s a programming language – you have to provide all the documentation and functionality to users. Once it is out there, there is no taking it back! Just ask IBM when they fought Phoenix over the PC BIOS. It was just a terrible, horrible idea to make it the test case from the outset.
The end result? “[N]either the functionality of a computer program nor the programming language and the format of data files used in a computer program in order to exploit certain of its functions constitute a form of expression.” That’s a direct quote.
Look. Copyright has a role to play in innovation and openness, whether or not that court wants to believe it. And being able to protect components like, say, the data files that your program operates on? Are a fundamental level of protection, period. If a company cannot even protect a file format in the most basic of ways, then they will be forced to use horrible ideas to protect it – things like per-machine keyed encryption. (These are not new techniques, and nobody subjected to them, even remotely likes them.) It doesn’t just stifle innovation, it grabs it by the throat, choking it while shaking vigorously.
Forget programming languages; assume that these are not copyrightable if they are documented publicly. If I create “ZYX The Compiler” and the ZYX language, then sell ZYX The Compiler with a complete documentation set of the primitives – a necessity for use – the only thing I have any hope of effectively copyrighting is the compiler itself. The language is out there. Done deal.
But let’s say I created a programming language which is internal to another product I make. And that I do not release this programming language’s documentation outside my company, I do not license a compiler or interpreter, it’s strictly an internal use product. It’s a very special piece of the puzzle that we slaved over and created just for this product.
If someone comes along, and in the course of reverse engineering the product legally (that’s legal too under this ruling, by the way,) discovers my programming language. They then implement it partially and start selling a compiler to other people. Under this ruling? I can’t do anything about that. Even though they only found the language through reverse engineering, they have no license for it, and they’re charging others for something we created.
If you don’t see that as a problem to innovation, well, I guess you’re a subscriber to the insanity of “free spending.” It didn’t work then, and it won’t work now.
If an API cannot be copyrighted, then a license also cannot be enforced. Licenses are based on an organization or person owning the copyright to the relevant licensed product. Because I cannot copyright the API, only the implementation, licensing has been rendered completely irrelevant and pointless. Not ‘opens the door to piracy en masse’ pointless, but more like ‘I just took VMware’s entire undocumented API set, posted it on the Internet, and made a VMware to HyperV converter that I charge $5,000 for without paying one red cent.’ That pointless.
That VMware’s license says I may not reverse engineer the code, blah blah DMCA, doesn’t matter in the least. That license is now rendered moot and invalid in the EU. Even though it’s an internal, undocumented, private API set which requires disassembly to discover? I can go right ahead and do that, and in the EU, VMware has absolutely no recourse. Under this ruling, I didn’t do anything illegal or violate their copyright, because they can’t legally copyright those APIs. Any of them. Which means they also cannot enforce any license, because said license is based on copyright.
It’s just too broad a ruling and it’s very bad for business and innovation. Flooding the market with clones is not good for innovation or good for business – it just creates a huge glut of identical organizations doing the same thing, resulting in all of them blowing up ultimately. (Again, this happened during the dot-bomb days too.) If I sell my software in the EU, I now can virtually guarantee that it will be reverse engineered and components will be reimplemented by shady software houses. And I will have no recourse to prevent them from stealing my customers, selling substandard software to customers, or any other number of issues that will interfere with my ability to run a successful business.
As soon as that happens, I can rest assured I will end up in a price war – after all, we’ve already done all the heavy lifting of developing the API, they’re just reimplementing it from our work – that I cannot possibly win. The only way I can win is to either burn cash at a dangerous rate to reinvent the wheel we already built, or to stop innovating and spend all my time threatening customers with the equivalent of excommunication if they use the knockoff software.
The other more glaringly ignorant part of the court’s ruling is the simple fact that APIs are not always consistent. In fact, they’re rarely consistent. Record inserts on Oracle 11g are performed nothing like those on PostgreSQL. Yet in the view of the court, they are the exact same, despite the formatting, syntax, and commands being unique. Neither Oracle nor PostgreSQL claim to copyright what the API does, either – only the specifics of the API itself. The API in and of itself is an expression of effort and ideas, in that it had to be created and mapped to functions – this is not nearly as easy as people think it is.
As I said; the point of copyright is not always to come along and say “YOU CAN’T DO THAT!” It’s to say “hey, this is our property, so you need to obey the license terms.” This ruling basically takes that and says “license? Ha. Null and void.”
Just a terrible ruling from a terrible test case.