Oracle is suing Google for copyright violation because Google created a compatible implementation of Java in Google's Android operating system. Very little actual copying has been shown, so the case hinges on whether the structure, sequence and organization of the Java APIs can be copyrighted. What?! That decision would cripple competition in the software industry and create problems for all software engineers.
APIs are how software applications interface with other systems. It's a very loosely defined word and includes everything from Java-style packages to hardware BIOS to network services. The only purpose of an API is to provide the method of operation for an application to use the features of another system. Methods of operation are not copyrightable! Everyone in the software industry has assumed that APIs are not copyrightable. There have also been high profile legal cases such as Lotus v Borland that have reinforced the understanding that APIs are not copyrightable.
Testimony in Oracle v Google has told us that developing an API is hard, creative work. This is untrue. It conflates a system's API with the ideas embodied in the system. Developing those ideas can be extremely hard, creative work, but once the ideas exist, an API can be generated mechanically by simply following engineering practice. For example, the Unix operating system implemented a completely novel process management system. The API for process management comes directly from that idea combined with engineering conventions such as using numbers for error codes. Unix uses the words "fork" and "exec" to help make the API easier for people to understand. The words are not meaningful to a computer, so "clone" and "load" would have functioned equally well as an API. Frequently the words to use are obvious because the ideas are well known outside the system. Mathematics, cryptography, databases and networking all have standard terminology that show up in APIs. In rare cases, such as the Unix example, the choices of words are creative and establish new vocabulary for software engineers. I don't think any of the contested Java APIs fall into this category, but what if some do? Is it worth protecting this?
An API is built once and then used many, many times by application software engineers. Applications are so dependent on APIs that lock-in is a commonly discussed problem. If just one API becomes unavailable, unsupported or unstable, it can cripple an entire application. There are currently three common approaches to this problem:
- accept the risk;
- only use APIs available from multiple sources;
- write wrapper APIs to insulate the application from other APIs.
In the first case, copyrights on APIs have no effect. (Of course if an application is composed of systems with custom APIs, copyright infringement could now apply to those custom APIs, so "no effect" only applies to small, simple applications.)
In the second case, copyrights on APIs would restrict competition to provide only incompatible APIs. If multiple systems provide competing functionality, an application programmer could not switch without rewriting portions of the application. Application programmers are also hurt because the first API to market can grab the most common words for an idea and force others to use poorer choices. It's unclear whether anyone can write "lang.math.max" anymore if "java.lang.math.max" is copyrighted, so competition may be restricted even across language and system domains.
In the third case, copyrights on APIs would create patent-like minefields for software engineers because they would have to show cleanroom conditions if a wrapper API has similar structure, sequence and organization as someone else's API. The current common approach of re-implementing an API already in use for another system will definitely not fly. Willful infringement for patents is easily prevented by not reading patents. Cleanroom conditions forces software engineers to not read software!
Wouldn't it be strange if Oracle won a decision that means the original Oracle database infringed IBM's System R database API? Or if Oracle Linux infringed Novell's Unix API? Or if Sun's WABI infringed Microsoft's Win32 API? Or if Sun's NeWS infringed Adobe's Display PostScript API?
As a software engineer, this case is impossible to accept. The world has gone crazy. Mathematicians must have felt similarly in 1897 when Indiana's legislature was debating pi. Unlike that circus, Oracle v Google will have a decision. Tune in next week to find out if software competition still exists. Crazy.
It would be fantastic if Novell and IBM issued immediate statements that said "If Oracle win damages from Google for copyrighted APIs, we'll be seeking damages from Oracle for Unix and DB API infringements with damages for the last 20 odd years and billions of dollars for Oracle DB and an injunction to stop the infringing product.ReplyDelete
We imagine that others will follow suit.
I expect that Oracle would be forced to drop all API related claims immediately for fear they'd win and then have their ruling used as case law against them.
I found your blog recently and have been following along. I thought I'd leave my first comment. Mountain driving Academy is one of the prestigious and well-established best driving school in Surrey.ReplyDelete
Visit here - best driving school in Surrey
Xamarin training in ChennaiReplyDelete
informatica Training in Chennai
Android Application Training In Chennai
Ios Application Training In Chennai
Docker Training in Chennai
Best Software training institute
Power-Bi Certification Training
MSBI training in Chennai
Are You Aware, Technical Analysis Login Is The One-stop Solution For Your Trading Needs. Here, You Can Trade Commodities, Stocks, Currencies, And Indices. Login Now!ReplyDelete
Great blog thank you for sharing keep blogging.ReplyDelete
Best RPA Training institute in Chennai
php course in chenna
Software training institute in chennai
blue prism course in chennai
rpa uipath training in chennai
cloud computing courses in chennai
azure certification in chennai
best devops training in chennai
Happy to read the informative blog. Thanks for sharingReplyDelete
best selenium training center in chennai
best training institute for selenium in chennai
AximTrade Is A Forex And Cfd Broker. It Offers Trading In Currency Pairs, Commodities, Indices, And Shares. It Also Provides A Range Of Tools, And 24/7 Customer Service. Sign Up For Aximtrade Login Account Today!ReplyDelete
With Aximtrade Mt4 Download You Can Also Use Technical Analysis Tools Such As The Candle Chart, Price-time Charts And More. As Well As Offering 24/5 Trading On Mt4 To All Its Clients, With Xtb You Can Benefit From Additional Features And Enhanced Functionality.ReplyDelete
AximTrade Review Offers A Safe And Secure Platform To Do Forex Trading And CFDs And Our Customer Support Is Ready To Help You 24/7. You Can Easily Sign Up Your AximTrade Login Account Here.ReplyDelete
hi thanku for sharning this infromation thanku so muchReplyDelete
Thanks for posting the best information and the blog is very helpful.ReplyDelete
AWS Training in bangalore | AWS Online Training
Python Training in Bangalore | Python Online Training
Artificial Intelligence Training in Bangalore | Artificial Intelligence Online Training
There Are Many Complaints About XM REVIEW Broker In The Internet But You Should Read This Review Before Investing Your Money With Them. We Have Personally Tested XM Fx And Found It To Be A Scam, Avoid Them At All Costs!ReplyDelete
very useful thanks for sharing. keep up the good work.ReplyDelete
RHCE Certification Training online
Oracle Performance Tuning Training
Perl Scripting Training online
Your Content is amazing and I am glad to read them. Thanks for sharing the Blog.this blog is very helpful information for every one.ReplyDelete
Website Development Company in Gwalior
Web Development Company in Gwalior
Marriage Garden in Gwalior
Facebook Discontinued Marketplace Vehicle Listings? How Can We Help?
New and Used Cars for Sale in USA
Lubbock moving company
Online Auto Auctions for Car Dealers
Best CRO and Top CMO Company in New Jersey USA
Hey! Thanks for the info. This info helped me a lot. I will wait some more.ReplyDelete
This post is so interactive and informative.keep update more information...ReplyDelete
Tally Course in Anna Nagar
Tally course in Chennai
Great post. Thanks for sharing such a useful blog.ReplyDelete
selenium training in t nagar
Selenium training in chennai
Great post. keep sharing such a worthy information.ReplyDelete
Salesforce Training in Chennai
salesforce training online
Harrah's casino and sportsbook - JeopardyReplyDelete
Harrah's casino and 제주도 출장마사지 sportsbook. 태백 출장샵 Harrah's Cherokee Casino 포항 출장안마 Resort is 수원 출장마사지 one of the finest casinos 대구광역 출장샵 in North Carolina. It's an off-Strip casino,
Mindblowing blog very useful thanksReplyDelete
dot net training in T Nagar
Dot net training in Chennai
Great post. keep sharing such a worthy information.ReplyDelete
Mobile Application Testing Online Training
Bharat Mein Kul Antarrashtriya Stadium Kitne HainReplyDelete
UP BTE Latest Admit Card And Result Download
Idea caller tone kaise lagaate aur hataye
Cricket mei career kaise banaye in hindi
Google Drive Kya Hai In Hindi
ThopTv App Download Kaise Karen
AP37 Launcher Review In Hindi
Withdrawal speeds differ, especially for on line casino sites providing gameplay in a number of} international locations. Some on-line casinos offer same-day withdrawals, however others have wait times of up to a few days. Having the power to make withdrawals shortly proves more critical for some gamers than for others, so we recommend carefully contemplating your ideal withdrawal pace. Many gamblers really feel more comfortable taking part in} on-line on line casino games when there’s a stay vendor around. As talked about, regular casino games are managed by RNGs, and many people are skeptical of these end result of|as a end result of} they assume that they’re bet365 routinely on the dropping end.ReplyDelete
Very Informative post.ReplyDelete
Jathagam Porutham in tamil
Numerology Calculator in Tamil
Excellent blogs!!! I need to learn a lot from these websites...Sharing fantastic knowledge.ReplyDelete
CRM Module in ERP