The rule of law prevailing would mean that licensing agreements are upheld.
If one does not want to license, one should simply not use the API.
If any developer (an individual person) had created Java and the API and published it in the same way, and intended to make money from the API (or perhaps just control the course of it’s development) and get the lanuage widely used by having a more pure GPL of the language, they’d feel very much the same as Oracle America, Inc. does. They would want to see people either NOT use their API or use it and abide by the licensing agreement.
Opensource is and has been fantastic as part of the software landscape, in that it provided a private-sector initiative that restrained the MS Operating System monopoly.
However, proprietary work of services (works for hire) and products is still the lifeblood of revenue that pays for a good bit of our wonderful technology sector of the economy.
I always hear the response that the theory is that “software businesses will make money off the services”, that the software “should be free”. No one will go and work for a company for a year and not get paid. No one will start a software company if their products can be acquired for free and they have no paying customers. Companies will sometimes contribute the work of a small number of their employees towards opensource work. But they have other workers who generate revenue for the company. Many people are opensource contributors on their own in their spare time. But somehow they need to make a living and they have some other source of income.
The cost to businesses for software is largely maintenance. I’ve been asked by angry users why are we doing this upgrade ? They don’t like the idea of $100k in labor (services) going out the window - and they have no new features. This is why the idea of having an opensource “community” generating constant software changes may not always be appealing. Depends on which software we’re talking about. Mission-critical systems are often still developed completely custom in house, and that’s one of the big reasons; no forced upgrades except for the tools it’s built with.
I took a few minutes to review Oracle’s Corrected Proposed Findings of Fact and Conclusions of Law.
Google in this case is trying to get the benefits of using Java without complying with the owner’s licensing terms.
If they don’t like it, they should simply develop their own software.
If an opensource product has gotten too commercialized, it will naturally phase out of use by those who prefer opensource software for the given application.
All google had to do was very simple: do not emulate the Java API at all. Do not try to have any compatibility at all, have people do their development work who never saw the Java API in their life. Make it their own world.
But then they would lose all compatibility. Exactly ! Then they would be doing their own work and would be on 100% solid legal ground.
Some developers don’t understand that it’s wrong to steal other people’s code. If the other person puts it into the public domain, you’re not stealing it, that is 100% legal as long as you abide by the license agreement. If the other person does not put it in the public domain and wants customers to be more restrictive - read the license agreement. If you want to use it after you find out the terms and the cost, go ahead and license it. If you don’t, then don’t use it.
Licensing not “smelling very good” to me is one of the reasons why I do not use Java at all.
The big fallacy with your argument is that IMHO Oracle is trying to extend copyright to a place it can’t go. They are trying to get the judge to extend coverage to APIs which here-to-fore has ALWAYS been considered outside of copyright.
So they are trying to make you take a license on something they have no right to claim a license too!
(Oh - that is essentially Google’s theory - and I happen to agree with them.)
Let’s take a similar example - I program in C - it’s like most any other modern programming language. It has program flow syntax , arithmetic, storage class definitions, etc. However, without the APIs - say “stdio.h” you can’t do anything useful with the computations - no I/O. The APIs are a basic extension mechanism to the definition of the language. Without it - you haven’t implemented the language. Making these non-functional interface definitions copyrightable is illogical, and would be horrible for the industry at large. Copyright wasn’t intended for non-functional descriptions like this. Oracle only BARELY got the judge to grant them a trial on the subject because they argued that the Composition as a whole, and it’s organization took creative effort. It still reduces down to an interface description and shouldn’t be copyrightable.
There was a case 20 years ago between Intel and NEC. Intel claimed that NEC had created a derivative work, i.e. violated copyright to make a compatible product - they claimed copyright on the Instruction Set architecture of the 8086. The ISA is VERY much like the API for a computing language - the court found you couldn’t copyright this.
Then there is the SONY V. CONNECTIX case that the court is asking for a brief on - they came to the same conclusion relative to a clean-room implementation - very much like what Google did.
So - if you want to outlaw reverse engineering - we can go your way.
Finally - there is a defence that Sun invited everyone into the pool and asked them to create competitive products to entrench the language. Now - Oracle wants to change the rules of the game after so many years. That isn’t fair either.
Take your pick as to which defence you agree with.