decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
APIs are not blueprints | 287 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
APIs are not blueprints
Authored by: jbb on Thursday, June 06 2013 @ 10:40 PM EDT
It's true that a blueprint acts as an interface between design and construction but this doesn't make it like an API, not by a long shot.

If you give the same blueprint to different constructions companies, you will get the same house built. Sure, the construction quality may vary but the houses that are built will be the same (like in the song Little Boxes). OTOH, if you give different design teams the same API to implement, even though the functionality will be the same, the implementation code (for non-trivial functions) will vary greatly. That's why Oracle is not suing Google over their implementation of the Java APIs. Even though the functionality is identical, the implementation is not similar enough to rise to the level of copyright infringement. It's not even close.

PJ's new article is about the president's attempt to get rid of the intellectual monopoly of functionality in patents, particularly in software patents. Yet here we have Oracle trying to flim-flam their way into gaining an intellectual monopoly on functionality by copyrighting APIs. Much of PJ's new article pertains directly to what you are talking about bugstomper: the evils of an intellectual monopoly on functionality.

If we want to make an analogy between APIs and the business of architecture and construction then a much better analogy would be that an API is like a detailed specification of what a building must do without saying exactly how to fulfill that specification. Different architects will come up with vastly different blueprints to fulfill the same functional specification. A blueprint OTOH tells you in excruciating detail where every little piece is supposed to go. Or, to go in the other direction, a blueprint is far more than an API. It's at least like detailed pseudo-code telling you how to write the actually code. If you give the same pseudo-code to different developers and they are working in the same language then the code they come up with will be very similar, just like those little boxes on the hillside.

To put it more bluntly, if you gave people in a white room pseudo-code derived from an implementation of an API that you want to clone then I think (IANAL) you would still be liable for copyright infringement. OTOH, for the last 30 years or so, ever since the BIOS wars, it has been accepted by the software industry that if you give engineers in a white room just the detailed specification of an API without any pseudo-code then you will not be liable for copyright infringement. In fact, this is the whole point of white room reverse engineering.

---
Our job is to remind ourselves that there are more contexts
than the one we’re in now — the one that we think is reality.
-- Alan Kay

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )