API: Difference between revisions

Content deleted Content added
Claer
Tags: Visual edit Mobile edit Mobile web edit
Claer
Tags: references removed Visual edit Mobile edit Mobile web edit
Line 1:
{{short description|Set of subroutine definitions, protocols, and tools for building software and applications}}In [[Programming language|computer programming]], an '''application programming interface''' ('''API''') is a set of subroutine definitions, [[communication protocols]], and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a [[computer program]] by providing all the building blocks, which are then put together by the [[programmer]].
 
An API may be for a web-based system, [[operating system]], [[database system]], computer hardware, or [[Library (computing)|software library]].
 
An API specification can take many forms, but often includes specifications for [[subroutine|routines]], [[data structure]]s, [[Class (computer programming)|object classes]], [[variable (computer science)|variable]]s, or [[Remote procedure call|remote calls]]. [[POSIX]], [[Windows API]] and [[Advanced SCSI programming interface|ASPI]] are examples of different forms of APIs. Documentation for the API usually is provided to facilitate usage and implementation.
Line 178:
{{Main|Oracle America, Inc. v. Google, Inc.}}
In 2010, Oracle Corporation sued Google for having distributed a new implementation of Java embedded in the Android operating system.<ref>{{cite web|url=http://www.drdobbs.com/jvm/232901227 |title=Oracle and the End of Programming As We Know It |publisher=DrDobbs |date=2012-05-01 |accessdate=2012-05-09}}</ref> Google had not acquired any permission to reproduce the Java API, although permission had been given to the similar OpenJDK project. Judge William Alsup ruled in the ''Oracle v. Google'' case that APIs cannot be [[copyrighted]] in the U.S, and that a victory for Oracle would have widely expanded copyright protection and allowed the copyrighting of simple software commands:
 
{{quote|To accept Oracle's claim would be to allow anyone to copyright one version of code to carry out a system of commands and thereby bar all others from writing its own different versions to carry out all or part of the same commands.<ref>{{cite web|url=http://www.tgdaily.com/business-and-law-features/63756-apis-cant-be-copyrighted-says-judge-in-oracle-case |title=APIs Can't be Copyrighted Says Judge in Oracle Case |publisher=TGDaily |date=2012-06-01 |accessdate=2012-12-06}}</ref><ref>{{cite web
| url = https://www.wired.com/wiredenterprise/wp-content/uploads/2012/05/Judge-Alsup-Ruling-on-Copyrightability-of-APIs.pdf
| title = Oracle America, Inc. vs. Google Inc.
| date = 2012-05-31 | accessdate = 2013-09-22
| publisher = [[Wired (magazine)|Wired]]
}}</ref>}}
 
In 2014, however, Alsup's ruling was overturned on appeal to the [[United States Court of Appeals for the Federal Circuit|Court of Appeals for the Federal Circuit]], though the question of whether such use of APIs constitutes [[fair use]] was left unresolved.<ref>{{cite news | url=http://www.cnet.com/news/court-sides-with-oracle-over-android-in-java-patent-appeal/ | title=Court sides with Oracle over Android in Java patent appeal | work=CNET | date=May 9, 2014 | accessdate=2014-05-10 | author=Rosenblatt, Seth}}</ref>