That's a stretch. Oracle is claiming copyright on a specific API with a specific name, specific organization and specific individual components / attributes. It is not claiming copyright on all standard lib APIs. In fact, there is no evidence that Oracle has any intention whatsoever to sue Google over Go or Dart.
Can you copyright Harry Potter the character? Or can anyone use recognizable Harry Potter reproductions in commercial context, be it alternative books, movies or merchandise?
The unimpeachable approach for the software industry is to setup consortiums to define open standards for APIs, file formats and wire protocols, instead of relying on replicating the most popular proprietary ones. In fact there already exist such consortiums, for example https://www.w3.org, tasked with standardizing WWW, or https://www.cncf.io for cloud computing standards.
Less than you'd think. Circa 2020, some mainstream positions in a west coast city that is politically 85% leftwing:
* Cannabis already legalized. Driving kids to school past huge "Amazing Cannabis" posters all over the city.
* De facto policy to not interfere with the ever growing mass of homeless addicts in the streets.
Next steps:
* Legalize all drugs.
* State sponsored "safe" injection sites.
* Abolish the police.
The only stretch is "in schools". There is a palpable sense of a loss of any and all moral barriers. Worse, erst shunned behaviors must be promoted, if only to spite the other side. In the wake of sexual liberation we got free condom dispensers in schools. Not much of a stretch to imagine that drug liberation, the next Chesterton fence to tear down, will bring free drug dispensers. Teach abstinence? Pshaw, that'll never work. Addiction therapy? That's evil, man.
The conversation in America, on any topic, is between two extreme sides which get further apart and further unreasonable as time passes. Fast forwarding circa 2021, one side wants to throw anyone with 1g of marijuana in a 30ft radius from their car into jail for 10 years, the other wants free heroin dispensing machines in schools.
More seriously, the big distinction is between drug users and drug dealers. The former are usually victims and deserve our collective help, the latter are usually predators and deserve to rot in jail. I haven't followed Hollywood in the past decade, but in my recollection Hollywood used to correctly vilify drug dealers.
To note, in 2001 Portugal has decriminalized possession of small quantities of drugs, for first time offenders. Drug trafficking is still just as illegal as ever. There are no cannabis shops or pervasive cannabis advertisement, as opposed to US liberal states, for example CO or WA.
> But Portugal’s experience is often misunderstood. Although it decriminalized the use of all illicit drugs in small amounts in 2001, including heroin and cocaine, that’s different from making them legal. And it did not decriminalize drug trafficking, which would typically involve larger quantities.
> Portugal’s law removed incarceration, but people caught possessing or using illicit drugs may be penalized by regional panels made up of social workers, medical professionals and drug experts. The panels can refer people to drug treatment programs, hand out fines or impose community service.
> A lot of the benefits over the years from Portugal’s policy shift have come not from decriminalization per se, but in the expansion of substance-use disorder treatment. Such a move might bring the most tangible benefit to the United States.
First, this is not a 99% blatant copy. I see things on the java side that are not in the libm side, like addExact, IEEEremainder or nextDown. I see things on the libm side that are not in the java package, like fpclassify, gamma or jN. I see things that have been adapted to match java conventions, like copySign vs copysign. The Jaccard similarity index appears to be pretty far from 1, whereas it is a perfect 1 in the case of Google. The perfect 1, up to keeping the 'java' in 'java.*', makes it a 'blatant theft' in the case of Google.
Second, unclear what the legal status of libm is. It appears to implement a standard, thus is legitimate to ask whether the set of implemented functions and their names are the original contribution of libm authors, or are derived from the standards. Generally, if one wants to implement a standard, one needs to acquire the rights to do so, usually in the form of a reasonable fee.
Third, if there are significant overlapping parts that are the creative work of libm authors, and they can establish a prior art claim, they are entitled to seek fair compensation from Sun / Oracle.
PS. Re: atan2, wikipedia: 'The function atan2(y,x) first appeared in the programming language Fortran (in IBM's implementation FORTRAN-IV in 1961). It was originally intended to return a correct and unambiguous value for the angle θ in converting from cartesian coordinates (x, y) to polar coordinates (r, θ).' Perfect example of a term that arguably migrates into the common technical vocabulary over decades.
Perhaps the Sun engineer did indeed copy from UNIX to some mild degree The line between "inspired from" and "copied from" is a fine line indeed. When does a term stop being proprietary and enter the vernacular of a specific profession or of humanity at large? I lean rather liberal on this question, and I hope the law will too. OTOH, what is blatant theft is for your 'original' work to overlap 99%, in both names and structure, to prior work. Google engaged in blatant theft, there is no doubt about it. We are not even talking about a derived work, we are talking about copying word for word a substantial part of somebody else's work.
Designing an API is a creative act. An API is source code. Witness thousands of languages, all with recognizably different standard libraries, including languages like Go or Dart created by Google themselves. The problem is less with individual examples like "max" vs "maximum" or "write" vs "scribble", but more with thousands of packages, classes and methods, 99% of which have the exact names and structure as the Sun's Java ones. That is blatant theft. Google stole Java code from Sun. Shame on them.
What we need the law to do is to distinguish between copying a piece of code and using a piece of code. Just because I use your code doesn't mean you own my code too. What we need the software industry to understand is that relying on a proprietary library makes it impossible to cheaply switch your code to an alternative implementation without rewriting your own code. Alternatives exist: use software with an open license model, or shim out the proprietary library.