|
Authored by: Anonymous on Friday, April 20 2012 @ 03:53 PM EDT |
I had a similar idea but was thinking about higher level concepts rather than a
key and lock. The issue I see if everyone is talking in the abstract and not in
terms of something a judge/jury can easily understand; think see and touch vs.
abstract idea.
Take for example the US Federal Courthouse in San Francisco:
1. The Architect who designed the building created a Blueprint. (For Java)
2. You have the construction company who built the building. (Sun)
3. Owner who owns the building and the rights, which I assume would be Federal
Government. (Sun/Oracle)
3. Inspector who made sure the building was up to code and the Blueprint was
followed as well as any other Federal Building that wants to use the Blueprint.
(JCP? but only if you want it to be Federal car) (Charge Money)
4. People who use the facility (Judges, Lawyers, Juries, Defendants, Plaintiffs,
Court Recorders, Janitors etc.)
Where do API's come into play? How do you use the building, locate it,
directory, emergency plan etc.
1. Top level API might be US.* as this might apply to other facilities that are
owned by building owner or Federal Government (i.e. prison, FBI facility,
military, IRS etc.). This would equal Java.*
2. To get more specific you might have US.Buildings.Courthouse
3. There might be other things that will share this API in the future like
US.Military.AirForce
Use cases.
1. As an Architect I have to ask myself how I find this courtroom.
US.Buildings.Courthouse.Room_Name(city, build_num, room_name)
US.Buildings.Courthouse.Room_Number(city, build_num, room_num)
2. How do I exit the room, building etc. during an emergency?
US.Buildings.Courthouse.Emergency_exit()
My example is very long and not fully thought through, but I would step through
the iteration process with the jury to see why it takes so long to create a good
API but how it isn't protected.
In this case Google wanted to create a building that would use the API's that
were created for Java, which they helped build, but they didn't want the
building certified by the Federal Inspector (JCP). The Google building is a
corporate building (Android) and it is under different rules. Just because I
have a directory up front to let people know how to find a room or a fire exit
doesn't mean Oracle owns the concept of a directory or a fire exit. This is
something everyone uses and is logical.
Lastly, Google may have a different method to do a room lookup vs. Oracle so the
API call might be named similarly; however, the logic on the backend most likely
is different, and it is this piece that is protected not the API.
[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Friday, April 20 2012 @ 05:46 PM EDT |
I have a language. I call it "crockpot". Crockpot can be used to
create applications I call "dishes". Dishes are not all the same,
however, and so I have included some APIs that provide basic 'specifications'
for some types of recipes. I organize them into classes, such as
"soups", "stews", "gumbos", etc. Each
specification lists ingredients, and also gives a method and process for using
them: proper selection of ingredients, sequence of ingredients, proper
temperature and length of time necessary to complete.
The dish developer may follow the APIs I have provided and get the same dish, or
they may create their own. Certain parts of the specification though are not
user selectable, such as temperature. Crockpot only provides 3 possibilities:
off, medium, or high, and may only be selected through a built in mechanism
called "the switch".
So even if a developer chooses to create their own APIs, those will at some
point incorporate the switch in order to regulate temperature. Furthermore, if
the developer wishes to distribute the dish to a wider audience, they must
either compile a large stockpile of pre-prepared completed dishes, or else they
must publish their API.
So what is copyrightable? Not crockpot, because it isn't an implementation.
The API is *may* be, but only to the extent someone literally republishes it.
While the dish itself may be copyrightable, it can't infringe on the API
copyright, and experience shows that two implementations of the same dish are
rarely the same, so infringement would be hard. It also isn't a derivative work
because it doesn't incorporate the API.
A simplistic prtrayal of this case. Oracle bought a crockpot from Sun. It
included a recipe book. Google built their own crockpot-like device, made their
own recipe book, and freely distributed it. Their "Android Gumbo" has
since become very popular. Oracle now claims that not only the gumbo, but any
dish made from Googles recipe book infringes their crockpot because Google used
some of the same names for their classes.[ Reply to This | Parent | # ]
|
|
Authored by: Ian Al on Saturday, April 21 2012 @ 11:23 AM EDT |
Take the interface between an electrical plug and a socket. We can specify the
shape of the pins on the plug and the corresponding socket holes. That
specification is of the electromechanical interface, but the interface between
the pins and the pin holes has no dimension. If it did, no electrical contact
would be made.
An individual API has no dimension because it is an abstract idea. It only
exists in our mind. You cannot buy a box of them. The API Specification is
merely showing what shape of language is necessary to plug into the library.
---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid![ Reply to This | Parent | # ]
|
|
|
|
|