Even a stopped clock gives the right time twice a day.
Ok then, list a few examples of where it's fair-use to re-implement an API, and where it isn't.
Alright, the court case is still on-going to decide if reimplementing an API is fair-use. If it is fair-use it would put us back to where we were before, if it's not then that's set a precedent where there is no fair-use protection for someone to re-implement an API, which again is what WINE, Mono, GNUstep and many other projects do.
But it's not resolved because if it's fair use to re-implement an API then everything's fine. The problem is if APIs are copyrightable with no fair-use exemption to use/re-implement then that's an issue, because anyone who writes a compatibility layer or service that adheres to a 3rd party's standard is just one copyright claim away from ruin despite the actual implementation being an original work.
They didn't make something that worked similarly to Java - that would have been OK, C# is similar to Java after all. They made something that was *identical* to Java. If they didn't want to be sued they should have made their own API and their own language
What it comes down to is should APIs be copyrightable. Google created their own implementation of the Java API, if companies are allowed to copyright APIs then you can kiss WINE goodbye immediately, anyone wanting to implement an existing API would also be in trouble, and you might not even be able to create a program that even accesses an API without explicit permission.
To come back to your metaphor just because something implements the IDuck interface doesn't mean it's the same kind of duck.
That means that Google must comply with Oracle's terms within the limits defined by law.
But Google doesn't use Java, they use Dalvik/ART, which aren't written by Oracle and therefore don't have Oracle's ToCs attached to them.
They do happen to be compatible with Java, but if you are allowed to copyright APIs (which is what Oracle are pushing for) then that would be absolutely insane for the IT industry, as you wouldn't be able to implement an API (or possibly even access an API) without the permission of whoever wrote that API.
Laser is still expensive, but it can do something inkjet can't: it can print heavy blocks on cheap paper without ruining it.
You say that, but we had a colour laser printer at work that would jam (properly crumple up the page in the mechanism) if you tried to print a large block of a dark colour.
Black would be fine, as that's just K, but any large fill that required several of the toner colours physically wouldn't print.
Basically laser printers can be crappy too.
Any brown dwarf would be at least a few light years away (or we'd know about it), and at New Horizon's current speed of 52,000 mph it would take around 13 thousand years to travel 1 light year. New Horizon's power source is due to run out in 2030.
If it's good enough for Picard, it should be good enough for you!
The flight computer wasn't confused, it correctly detected an error in the speed readings and then, as designed, returned control to the human pilots. It could just have well put the plane into the correct pitch/throttle settings itself, but it wasn't designed to.
Also a senior pilot in a non-chaotic situation (for example at a remote control station) would have had a much better chance of maintaining situational awareness over what was going on and so better spot mistakes like pitching up too far.
In the Air France 447 it was the (junior) co-pilots who became confused though, not the flight computer. In a more automated plane the autopilot would, in the same situation, have put the plane into a safe pitch attitude and thrust setting (the correct procedure for loss of airspeed indication) and called for the senior pilot/operator to fix the issue.
But the thing is there's enough evidence that the plane remained flying to discount a sudden catastrophic failure; Military radar picked it up making several precise waypoint manoeuvres well away from it's planned flight path and the satellite comms gear kept responding for 7+ hours after the plane went missing.
But the first step would have been to radio ATC and request emergency clearance at the nearest runway, as without that the pilots would have no way to know the status of nearby runways and whether it would be possible to land.
I could imagine some electrical problems from a large number of cells catching fire or 'gassing' the whole airplane within seconds.
But of course that would either quickly cause the aircraft to crash, or to just stick to its original autopilot headings if only the crew were incapacitated. Military radar caught it making precise manoeuvres around several waypoints well away from it's original flight plan...
As long as we're going to reinvent the wheel again, we might as well try making it round this time. - Mike Dennison