Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

Comment Re: Java is not GNU (Score 1) 47

package java.net;

How would you write that so it isn't exactly the same?

How about

public final class URL implements Serializable

and then later on

public URLConnection openConnection() throws IOException

and then later

public boolean sameFile(URL other)

How do you propose writing those lines so they aren't exactly the same? Change the parameter name? Here's Google's version of that last line:

public boolean sameFile(URL otherURL)

You can't use the same names, package/class/method hierarchy, inheritance hierarchy (extends and implements) without infringing (if the CAFC decision is upheld). It is a copyright on the API and any declarations of that API, even if you could write those declarations in a completely different way (e.g. write the Java API library in C, and represent the package and class hierarchy with a large number of initialized data structures).

In Java, to declare the same API, you must use almost exactly the same declarations, with minor word order variations sometimes, and different parameter names.

Comment Re: Java is not GNU (Score 2) 47

So you can implement the Java API, in Java, without using the same names (package, class, method, field), package hierarchy, class hierarchy (which methods go in which classes), without having the same relationships between classes and interfaces, the same method signatures, and the same public declarations (other than parameter names)?

Can you give an example?

Comment Re: Should be pretty straight forward (Score 1) 152

Why does it matter? The only source code that was found infringing, other than that one nine-line routine, was copied (under the Apache license) from code that had been developed in a clean room.

Whatever method they used, it worked. The damages for the one lapse was $0. Oh no!

The CAFC decision would find that re-implementing any API or protocol would be infringing, no matter how it was developed. The specifications of the API, to be used by the clean side, would always be copyrighted material, no matter how it was discovered.

Comment Re: Should be pretty straight forward (Score 2) 152

There was one nine-line subroutine that was inadvertently copied, by the person who had contributed that same routine to Oracle's code base.

Damages for that one routine were stipulated to be $0.

Every single routine other than that was found to be non-infringing. Much of it was copied from the Harmony project, under the terms of the Apache license, which was reportedly developed using clean room methods.

The only source code that was found to be infringing (by the Federal Circuit) was the declarations for the classes (classes, methods, fields, etc) in the 37 out of 166 packages that Google re-implemented. In Java, the only way to declare the same API is to use the same declarations.

All of the documentation (generated from javadoc comments) was also found to be non-infringing.

Comment Re:Should be pretty straight forward (Score 1) 152

The GPL is a license allowing you to copy, distribute, and modify source and binary code.

If you own a legal copy of a program, copyright law allows you to use it without any additional permission (even though to use it usually means making a copy).

The FSF has always considered an API to be uncopyrightable. What is copyrighted in a GPL library is not the API itself, but the source code that implements it, the header files (if any) that are used to compile a program that uses the API, and the linkable binary that is derived from the source.

You've always been free to re-implement any of those parts, using the exact same API, as long as you don't copy any of the code (protected by copyright) into a non-GPL work.

Comment Re:Should be pretty straight forward (Score 3, Informative) 152

You're conflating "the API" with the source code that implements both the interface and the library routines.

What this case is about is if the API itself, the hierarchy of packages and classes, their names, their behaviors, and their relationships (object argument types, class and interface inheritance, exceptions thrown) is protected by copyright, or is an uncopyrightable "functional idea" under 17 USC 102(b): "In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work."

In a C library, the header file can be copyrighted, but replicating various parts (names, structures, argument and return types, constant values, etc) is not infringing.

In Java, because it was designed that way, there is almost no choice in how to represent an API.

Google did not "copy verbatim" the declarations from Oracle.

Comment Re:I'm out in left field then, learned PL/C (Score 1) 168

PL/C was the first language I learned in a classroom, my first year in the CS major intro programming course. I tested out of that class in the second week (with BASIC and Data General Nova assembly language as my only previous practical experience), and got into the second semester CS course using Pascal and PDP-11 assembly. Fortran, COBOL, RPG II, 8080 (CP/M), CDC Cyber assembly (NOS), Tutor, 68K and Pascal on Mac, and eventually C, were my primary languages initially (i.e. first ten years after graduating from high school).

However, my actual first coding experience was on a CARDIAC computer from AT&T, and I even taught a class using that in my high school a few years later (there being no computer courses yet).

Comment Re:Yes (Score 1) 178

Not for portable devices. I have a lot for external drives, DVD burners, printers, speakers, modems, routers, cable boxes, BluRay players, USB hubs (ironic), consoles, game controllers, head-mounted displays, radio scanners, and one for an old Mac laptop that had the magnetic connector.

Everything in the last 10 years has come with a charger with a USB-A port and a charging cable, either the old Apple connector, a Lightning connector, or one of 3 USB connectors.

There's been more churn in the USB connectors than Apple connectors, but they all work with the USB chargers that I have plenty of. I did buy a two-port charger because I was short on power plugs, and one for the car, but other than for fast charging, I just need the right cable. I only have one USB-C device, but even that came with a charger with a USB-A port.

Comment Re:Who is this "public" that demands self-checkout (Score 1) 406

The ones I've used don't lock out when alcohol is scanned, they turn on an attention light and you continue. It won't block until you try to check out. Scanning it first, they can authorize it at any time.

I almost always use self-check. At Sam's Club, they don't weigh things, but they spot check at the exit. I can stick my card in, scan 5 items, tell it to use the card for payment, and be done in about 30 seconds.

At the grocery store, it's rare to have a problem with the scales, and it's almost always much faster. Unless there's a line at self-check and an open cashier, I'll use self-check.

Comment Re:Yes (Score 2) 178

Why do you need a "lightning compatible charger"?

Don't you just need a lightning charge cable, that connects to the same USB charger that Android devices use? Same issue as not having an OTG, or Mini-B, or USB-C cable. They all just connect to a USB-A charger.

Are they proposing to not allow manufacturers to include a charger and cable with each new phone? If not, how does this cut down on waste?

Slashdot Top Deals

We are each entitled to our own opinion, but no one is entitled to his own facts. -- Patrick Moynihan

Working...