4 ms·
One thing I've been thinking about as I've read through the trial: It's my understanding (I am a wee lad compared to the grizzled vets here, so bear with me) t
by AdmiralAsshat 10y ago
One thing I've been thinking about as I've read through the trial:
It's my understanding (I am a wee lad compared to the grizzled vets here, so bear with me) that most of our common *nix tools were written during the UNIX days and were technically proprietary (awk, grep, cut, etc). When Linux came around, these tools were "ported" to become GNU tools and completely rewritten on the backend, while still keeping the same name so that existing UNIX developers would feel at-home using the same tools on Linux,BSD, etc.
The key point here is that they intentionally kept the same command names, for familiarity's sake.
Given that, could one make the analogy that a command name would be similar to an "API" and should also have been illegal by Oracle's logic?
- mikeryan 10y agoGiven that, could one make the analogy that a command name would be similar to an "API" and should also have been illegal by Oracle's logic? EDIT: I first said "no" but to be honest Oracle has tried to claim ownership of the API and the implementations. And apparently Oracle has won some of these points https://gigaom.com/2014/05/09/tech-world-stunned-as-court-rules-oracle-can-own-apis-google-loses-copyright-appeal/ https://gigaom.com/2014/05/09/tech-world-stunned-as-court-ru... However the is exactly what Google is trying to do by doing "clean room" implementations of an existing API. New code but the same calling API and return values with completely new code. This whole article is one case where they did not rewrite the function but instead copied the existing one.
- jboy55 10y agoWhich goes to how important these lines are. Google claims to have done a 'clean room' implementation. That is, someone with access to the source, writes down the API. Someone else writes based on the API that was inferred. If there was literal copying going on, even in one small case, that breaks down the entire clean room. How can you claim you strictly kept a wall up, if code was just copied? It would have been bad enough if the engineers writing down the API were the engineers developing it.
- singham 10y agoHow much liability should google have given that one of their trusted employees broke the trust? The speed of software development depends on trust. If companies start to scrutinize every commit, then development would come to a screeching halt.
- DanHulton 10y agoI mean, that's basically what code reviews are, and they don't bring anything to a screeching halt. I'm curious though, if you have access to the source, and you have engineers who are "tainted", could those engineers not put together a tool that scans commits automatically for anything in the original source and outputs a warning to those tainted engineers that they can go to the clean room engineers about?
- jboy55 10y agoIt taints the whole project. Its a serious flaw, if you've watch silicon valley, the whole bit about him doing a slight thing on a company laptop, and now that company would own the whole project. Its that.
- smhenderson 10y agoThe only defense I can see here is that the programmer who "copied" the code was the one who wrote it for Sun in the first place. He wasn't working from the API spec thrown over the wall, he was doing it from memory. But then that also breaks the whole clean room premise. If was a former Sun employee he should have never been allowed to work directly on the code in the first place.
- toyg 10y agoIANAL but I believe imitation to ensure interoperability is covered by fair use clauses.
- creshal 10y agoClean room implementations are more than fair use, aren't they? IIRC it's how most IBM PC clones got their BIOSes.
- geofft 10y agoThe difference here is that Google was not trying to ensure interoperability with anything, they just wanted to mimic Java to attract developers. Is that true? Can't you use several Java packages (at least in source form), IDEs, etc. with Android?
- toyg 10y agoSorry, i removed that bit from my comment because I thought it was a bit too biased, and tbh I wasn't paying too much attention to Android when it started, so I might be wrong and everything. This said, IIUC, the point is that they did not build Android specifically to achieve interoperability with, say, Eclipse; they built Android in Java for whatever reason (including attracting developers), and when they realised they couldn't use the JVM because of commercial issues, they swapped it with Dalvik (which may or may not be a complete clean-room JVM reimplementation). So it's not exactly in the same bucket as "we built this because existing tooling expected it this way"; it's more like "we built something, then had to rewrite the bits underneath because we realised we couldn't use them", a different scenario.
- c22 10y agoMy understanding is Android already used Java when Google acquired it.
- toyg 10y agoYeah, but the switch to Dalvik (which is where the trouble starts) was done under Google. If they had just thrashed out an agreement with Sun (which would have been much much cheaper than dealing with Oracle will ever be...), they could have continued using the official mobile-oriented JVM, likely influencing its development as well; but first they dragged their feet and then they thought they'd just rewrite the whole thing so they could claim originality and independence, and here we are.
- DonHopkins 10y agoSsssshhh! Oracle is listening. Don't give them any ideas, or they may go after Gnu/Linux next.
- teddyh 10y agoSlightly tangential: You have your history slightly off. Before Linux was even conceived, the GNU project was started, but its aim was not writing Unix tools, but to write an entire Unix replacement – Unix kernel, Unix tools, all of it. The GNU tools were initially written not for use in existing proprietary Unixes, but for use in the (then thought to be) soon upcoming GNU system. However, since the GNU tools were superior to the aging and buggy Unix implementations, the GNU tools were widely ported and became very popular, and the patches for running the tools on contemporary Unix systems were accepted upstream. Then, the name “GNU” came to be associated with these tools, and not with the actual project to replace Unix; the fact that the GNU kernel never really materialized did not help. Only then did Linux (the kernel) burst onto the scene, and it happily noticed that there were all these tools available to be easily ported (and they were all adapted to be easily portable), and the concept of a “Linux system” was coined, meaning a Unix-like system with additional Unix-like tools gathered from around the Internet. Too bad that these were all actually the GNU tools, made by the GNU project for GNU, a replacement for Unix. A Unix-like system with the GNU tools, using Linux as the kernel, then fulfilled the object of the GNU project. This is why GNU people are slightly irked when this system is called a “Linux system” – it’s not about the size of the kernel vs. the GNU tools, it’s that the goal of the GNU project was always a full Unix system, and the Linux kernel was the final component, the appearance of which allowed the project to be realized.
- AdmiralAsshat 10y agoNo disrespect intended towards the GNU project. I'm aware that they precede Linux and am grateful for all the work they've done. I was specifically recalling having read Linus' original announcement[0]: I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) And took that to mean that the key rewrites were being done by Linus himself, and possibly other volunteers working on getting the "userland" apps ported. I suppose on cursory examination, it should be obvious that the mention of 'gcc' implies that the GNU compiler had already been written. [0] https://en.wikipedia.org/wiki/History_of_Linux#The_creation_of_Linux https://en.wikipedia.org/wiki/History_of_Linux#The_creation_...