Monday, November 05, 2012

APIs Should Not Be Copyrightable

My friend Chris Adamson has a post up about why he thinks the effort post Oracle v Google to keep APIs as non-copyrightable is flawed.

Chris makes two main points here. 1) Protecting interoperability isn't a primary concern and 2) APIs are substantial collections of creative work and deserve protection.

The first point is interesting. The operative graph here is...

Interoperability doesn’t end if APIs are copyrighted, it just means that people and companies who create stuff control how it’s used — that’s literally what copyright is, after all — which may or may not include seeking/wanting/tolerating interoperability or reimplementation.
Ok.  That is one perspective. However, it would be a fascinating change to copyright vs patent law. Patent law has always supported a clear exception for "Reverse engineering for the sake of interoperability". Even if your design includes a 62 tooth gear at .5cm, and no one has ever made one before, that doesn't mean you can stop people from making a .5cm, 62 tooth gear as spare parts for your device. I think it is pretty clear the same applies to software.

But the part of this argument that bothers me the most is, it starts by blushing over what "An API Is" as a topic. (The second argument suffers a little from this, but it isn't as much a concert). Is an API a memory location a computer JMPs to begin executing code? Obviously no. An API requires a symbology. So lets try and narrow it down:

An API is a set of symbols that instruct a machine to behave in a predictable, predefined way.
That is a pretty big definition isn't it? By jumping immediately to the Java/C/ALGOL type definition of an API, we jump right past a lot of things. So here is a quick example:

pencolor red
fd 100
rt 120
fd 100
rt 120
fd 100
rt 60
Many of you may immediately recognize this, but what is this? Is this using an API to draw on the screen? Is this a data file format for outputting to a plotter? Does it matter? How much of LOGO can you reuse before you have "stolen" the API? If I use "rt" to mean "turn right" is that OK? What about REST APIs? Could I copyright a URL that ends in /users/[id] and /users/[id]/friends? Is that different than getUser(id) or getUser(id).getFriends()? Why would the later be protected and the former not?

Determining what is an API vs what we would call a "data file" is harder and harder. Open Office reads Word files, Word reads Word Perfect files, Word Perfect reads Wordstar files. Are these files, which contain a fixed symbology to tell a computer how to output something onto a screen and/or bit of paper, not expressions of an API? How does that differ from an interpreted language?

The thing is, in 1992 a lawsuit already determined that the Hayes Command Set for modems wasn't protected. Surely that was an API if there is any possible definition of one. But not just Hayes, "API" compatibility has been at the core of the entire PC industry since its inception. Language re-implementations, AMD using the Intel instruction set, "Soundblaster" becoming the default audio API on MS-DOS and Windows for many years. Chris might feel that these uses were unfair, but I shudder to think what the industry would look like today without them. It might also be fair to say that I am being somewhat farcical saying URL templates could be copyrightable. However, if we have learned anything about copyright and patent law in recent years, it is that what seems to be "common sense" among practitioners is rarely how things shake out in a legislature or jury room.

Chris's second main point is captured in this graph:

The software architect who designs a public API has to make value judgements about readability, feasibility, practicaility, implementability, and so on. She has to conceive of both how the code will be implemented, and how it will be used, how it it is likely to consume resources (storage, I/O, db, CPU) under different use scenarios, and how to deliver value to whoever calls it. In a way, this is the most abstract, highest-level of thinking we do in software. Why would that be unworthy of copyright, but the drudgery of all the for-next blocks in its implementation be protected? This is backwards!

Again, no one is arguing that an API isn't a creative work. However, simply being a creative work is not enough to warrant copyright protection. Clothing designs, recipes, and many other significant works of creativity are not covered by block copyright. Indeed, as much as the NFL and MLB might hate it, statements of fact, even if they include references to copyrighted works, are not protected. There used to be a huge industry of creating indexes and concordances as well, that would seem to me to be akin to reusing an API, that were considered protected.

But beyond this, I am forced to fall back to analogy. The Encyclopedia Britannica has represented a monumental amount of work for a great many scholars for decades. I tend to look at software as being very much akin to writing Encyclopedias, as you are coordinating authoritative locations for expressions of ideas, attempting to reference other articles and be as concise as possible without omitting key ideas. Now, suppose I took the Table of Contents of the Encyclopedia Britannica, itself a couple hundred pages, and payed a bunch of people to build a new encyclopedia with those entries. Have I violated the copyright of the Britannica? I would say no. Certainly there was creative input that went into the selection of those topics, and there is definitely an editorial product there. However, the Table of Contents is generally not something that we would consider "the work." Rather, like indexes and concordances, it is a fact about the work.

Now, let's say I took that Table of Contents and edited it down to 1/3rd the original size and produced "Cooper's Brief Encyclopedia." Now, I started with Britannica's TOC and made my own editorial judgement as to what was important and what was not, then payed a bunch of people to fill in the pages. Surely this is analogous to Google's use of a ~30% subset of the Java API in Android, no?

That is, an API is a creative work, but it is also a simple statement of fact about the larger creative work, not a work unto itself. To say it deserves the same protection as the implementation is opening a very large can of worms, not just in the software world, but out side of it.

Wednesday, April 14, 2010

Wednesday, October 25, 2006

screaming-penguin.com

--AZ-Sen: Jon Kyl


--AZ-01: Rick Renzi


--AZ-05: J.D. Hayworth


--CA-04: John Doolittle


--CA-11: Richard Pombo


--CA-50: Brian Bilbray



--CO-04: Marilyn Musgrave


--CO-05: Doug Lamborn


--CO-07: Rick O'Donnell


--CT-04: Christopher Shays


--FL-13: Vernon Buchanan


--FL-16: Joe Negron



--FL-22: Clay Shaw


--ID-01: Bill Sali


--IL-06: Peter Roskam


--IL-10: Mark Kirk


--IL-14: Dennis Hastert


--IN-02: Chris Chocola



--IN-08: John Hostettler


--IA-01: Mike Whalen


--KS-02: Jim Ryun


--KY-03: Anne Northup


--KY-04: Geoff Davis


--MD-Sen: Michael Steele



--MN-01: Gil Gutknecht


--MN-06: Michele Bachmann


--MO-Sen: Jim Talent


--MT-Sen: Conrad Burns


--NV-03: Jon Porter


--NH-02: Charlie Bass



--NJ-07: Mike Ferguson


--NM-01: Heather Wilson


--NY-03: Peter King


--NY-20: John Sweeney


--NY-26: Tom Reynolds


--NY-29: Randy Kuhl



--NC-08: Robin Hayes


--NC-11: Charles Taylor


--OH-01: Steve Chabot


--OH-02: Jean Schmidt


--OH-15: Deborah Pryce


--OH-18: Joy Padgett



--PA-04: Melissa Hart


--PA-07: Curt Weldon


--PA-08: Mike Fitzpatrick


--PA-10: Don Sherwood


--RI-Sen: Lincoln Chafee


--TN-Sen: Bob Corker



--VA-Sen: George Allen


--VA-10: Frank Wolf


--WA-Sen: Mike McGavick


--WA-08: Dave Reichert

Saturday, June 24, 2006

Mark Twain - Wikiquote

Against our traditions we are now entering upon an unjust and trivial war, a war against a helpless people, and for a base object — robbery. At first our citizens spoke out against this thing, by an impulse natural to their training. Today they have turned, and their voice is the other way. What caused the change? Merely a politician's trick — a high-sounding phrase, a blood-stirring phrase which turned their uncritical heads: Our Country, right or wrong! An empty phrase, a silly phrase. It was shouted by every newspaper, it was thundered from the pulpit, the Superintendent of Public Instruction placarded it in every schoolhouse in the land, the War Department inscribed it upon the flag. And every man who failed to shout it or who was silent, was proclaimed a traitor — none but those others were patriots. To be a patriot, one had to say, and keep on saying, "Our Country, right or wrong," and urge on the little war. Have you not perceived that that phrase is an insult to the nation?
For in a republic, who is "the Country"? Is it the Government which is for the moment in the saddle? Why, the Government is merely a servant — merely a temporary servant; it cannot be its prerogative to determine what is right and what is wrong, and decide who is a patriot and who isn't. Its function is to obey orders, not originate them. Who, then, is "the country?" Is it the newspaper? Is it the pulpit? Is it the school-superintendent? Why, these are mere parts of the country, not the whole of it; they have not command, they have only their little share in the command. They are but one in the thousand; it is in the thousand that command is lodged; they must determine what is right and what is wrong; they must decide who is a patriot and who isn’t.

...

In a monarchy, the king and his family are the country; in a republic it is the common voice of the people. Each of you, for himself, by himself and on his own responsibility, must speak. And it is a solemn and weighty responsibility, and not lightly to be flung aside at the bullying of pulpit, press, government, or the empty catch-phrases of politicians. Each must for himself alone decide what is right and what is wrong, and which course is patriotic and which isn't. You cannot shirk this and be a man. To decide it against your convictions is to be an unqualified and inexcusable traitor, both to yourself and to your country, let men label you as they may. If you alone of all the nation shall decide one way, and that way be the right way according to your convictions of the right, you have done your duty by yourself and by your country — hold up your head! You have nothing to be ashamed of.
Only when a republic's life is in danger should a man uphold his government when it is in the wrong. There is no other time.
This Republic's life is not in peril. The nation has sold its honor for a phrase. It has swung itself loose from its safe anchorage and is drifting, its helm is in pirate hands.

--Twain

Thursday, November 24, 2005

USB/IP Project

USB/IP Project: "The USB/IP Project aims to develop a general USB device sharing system over IP network. To share USB devices between computers with their full functionality, USB/IP encapsulates 'USB protocols' into IP packets and transmits them between computers. Original USB device drivers and applications can be also used for remote USB devices without any modification of them."

Sunday, November 20, 2005

Test.

technorati tags:

Sunday, September 11, 2005

BBspot - Microsoft Releases Box Set of Rarities and Oldies

BBspot - Microsoft Releases Box Set of Rarities and Oldies: "Redmond, WA - Microsoft has announced the release of a box set of their 'greatest operating systems of all time,' stuffed with their previous releases and tons of extras. The box set - entitled 'Microsoft 1975 - 2000: The Early Years' covers the company's rise from the early garage days to today.

Fans of the company should find everything they need in the box. Not only does it contain classics like DOS 3.30, Windows 3.11 and 95 OSR2.5 – it also contains rare cult material like Microsoft Bob, Windows 1.0 and ME. Die hard fans may complain about the decision to include the updated and patched versions instead of the original releases, but they are likely to have the entire collection, anyway.

"

Breakdowns Marked Path From Hurricane to Anarchy - New York Times

Breakdowns Marked Path From Hurricane to Anarchy - New York Times: "On Tuesday, a FEMA official who had just flown over the ravaged city by helicopter seemed to have trouble conveying to his bosses the degree of destruction, according to a New Orleans city councilwoman.

'He got on the phone to Washington, and I heard him say, 'You've got to understand how serious this is, and this is not what they're telling me, this is what I saw myself,' ' the councilwoman, Cynthia Hedge-Morrell, recalled.

State and federal officials had spent two years working on a disaster plan to prepare for a massive storm, but it was incomplete and had failed to deal with two issues that proved most critical: transporting evacuees and imposing law and order."

Daring Fireball: The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme

Daring Fireball: The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme: "Brushed Metal: Calculator? I’m out of iTunes and you tell me I’ve still got Calculator? When is the Special Event scheduled for the next version of Calculator? Oh, that’s right, there is none, because no one gives a shit about Calculator."

You ever wonder why it is...

Your friends give you shit when you aren't getting laid for not getting laid, then when you are they give you shit for getting some? Seriously, what is up with that.