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
The problem with analogies | 97 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
The problem with analogies
Authored by: Gringo_ on Friday, April 27 2012 @ 12:06 PM EDT

Like so many others, I will attempt to explain what an 'API' is.

Please don't.

[ Reply to This | Parent | # ]

How to communicate?
Authored by: Anonymous on Friday, April 27 2012 @ 01:38 PM EDT

IANAL - I simply speak from what I understand of Copyright Law, my understanding of the concept of communication, and my logical conclusions on the impact of applying copyright to a language (or even just words in a language) would be.

Let’s start with the acronym:

    API = Application Programming Interface
To expand a little, the AP part can be dropped as has been previously suggested:
    I = Interface
Why drop the AP part? Because it helps refine the definition of the third word. It doesn't alter the meaning of that third word. So that leads us to the question:
    What, exactly, is an interface?
An interface - at it's very heart - is simply a means to communicate:
    2a: the place at which independent and often unrelated systems meet and act on or communicate with each other
    2b: the means by which interaction or communication is achieved
Here's an interesting question to ponder:
    What is the earliest interface that a given human experiences in her/his entire life?
Did you ever realize - even as an adult - that you were interfacing with your parents when you were a newborn?

Every human on the planet who communicates with their parents in some fashion no matter how obscure - is involved in using interfaces.

When the baby cries for the first time, the parent is lost. What does the crying mean? Change the diaper? Feed the child? Too overtired and needs a sleep?

So the very first interface is:

    Baby cries!
    Parent initiates a process that checks the various things that could cause the baby to cry.
Eventually both the baby and parent adapt. And instead of having a single interface, they now have a couple.
    The baby cries in certain way A
    Parent knows it's time to change the diaper
    The baby cries in certain way B
    Parent knows it's time to feed the child
So the interfaces have become more specialized. Earlier, a single interface for the parent to initiate a check on all possibilities. Now, multiple interfaces are in play to initiate specific processes.

This continues throughout life - and it never stops when a requirement to communicate appears. Later on, when the baby is no longer a baby the parent initiates an allowance. So a new interface "is born". Come allowance time, the child asks if they may have their allowance thereby initiating the process for the parent to consider recent behavior and decide whether or not to hand out payment.

Let's call that the HI = Human Interface. That interface has many, many mechanisms from hand language to body language, to speech with no real limitation on how one can communicate if one really wants to: Stephen Hawking!

Ahh... H. Now we've added a refinement so someone clearly understand when we are talking about the concept of humans communicating.

So... what happens when we apply that to the very specific method of speaking. How do we communicate through speech? Well... we use words. But what does a word mean? As has been previously pointed out, a "dog" is meaningless unless we apply that word to some kind of definition. Each and every word we use comes with a definition. True... we could just make up our own words:

    Pblible phloop blangz plud!
But then... unless we take the time to explain what that means, no one will understand us. I really hope it doesn't mean anything, I tried to "invent" words that really don't exist, but with 6,500+ spoken languages today it really is possible those words have meaning to someone :)

And that would be the point: if you wish to communicate, you must communicate in a language that the listener can understand. Using words in a context that makes sense.

To say "Dog purple the a cabinet babybuggy dinner" means absolutely nothing to English speakers even though they are all English words.

So... what would happen if we copyrighted Dog or Purple and no longer allowed that as a non-cost method to communicate? When someone wished to express the concept of that animal we collectively call "Dog", they would either face copyright infringement for using the word (up to $150,000 in damages), face paying a fee for each use or negotiate a license for greater uses, or come up with their own word to represent "Dog".

The same holds for the color Purple: face copyright infringement, pay a license fee, develop a new word.

To develop new words would be identical to developing their own language. A new language that people would have to learn if they wished to communicate: Chien.

So... just how far would being able to claim a copyright on the "interface of the word dog" extend? No one could use the word in that concept anywhere. Not in a movie, not in a book, magazine, or article. Not even in just speach communication with another. Because in all instances, you are interfacing with a listener to communicate a concept.

I can think of no faster way to drive people away from a language then to place a Legal requirement on that language in the form of a tax on any use of the words in that language. To tax any form of communication - to make criminals out of anyone simply because they wanted to communicate.

Now... let's explore how the above concepts of communication - to interface - applies to computers:

    Application Programming Interface
If I wanted a friend to give me the latest date that he held a party, I could "interface" by asking:
    When was the last time you had a party?
In a more formal method - perhaps a logic instruction course - I could say:
    Give me the most recent date you had a party!
or
    Give me the greatest date from the parties you held!
or
    Give me the max date from the parties you held!
Slightly different ways to express the same concept. Ask the same question to get the same result.

With that in mind, does it really surprise anyone that we have developed languages to communicate with computers that reflect our very own word definitions:

    answer = max(party_date)
There are a few synonyms for the word max:
    best, biggest, greatest, largest, most, latest, outside, supreme, top, ultimate
However, depending on what you intend to mean when you say max, given a situation, the choices suddenly drop:
    the latest date
    the largest apple
    the greatest group of people (in size or in numbers?)
So... functionally, if you wish to communicate with other humans on what your computer stuff does.... you are constrained to words the listeners will understand. Words that make sense in the context of the behavior you intend to occur.

The effect of allowing copyright on an API is equivalent to allowing a copyright on a word.

This raises a very important question:

    Should anyone be granted a copyright on the plain meaning of a human language word?
Which proceeds to:
    Should copyright on such words even be allowed?
If Oracle really, truly does want to be able to copyright an API then logically I cannot author my own programs using the language without infringing their copyrights which puts me at risk of the copyright damages penalty of potentially $150,000 per infringement.

I see no faster way for Oracle to drive software developers away from their products. It's simply not worth attempting to legally communicate in a language that someone 'owns'.

RAS

[ Reply to This | Parent | # ]

  • Waah! - Authored by: Ian Al on Saturday, April 28 2012 @ 04:19 AM EDT
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 )