I've always anticipated that the right thing for myself would be to pass any opportunity to contribute to any patent applications should I ever "invent" anything potentially "worth" patenting. I have seen that patents greatly harm the software ecosystem and I don't think I would ever want to take part in any of that.
However, now that I think about it I will never even consider. I'll just say "No" right out of the way, and walk away from the opportunity as quickly as I can.
I announce that, as of today if my current, at any time, employer happened to be patent-unfriendly, only file defensive patents, never litigate anyone, and perhaps win some patent trolls because of their accumulated defensive intellectual "property" I will still say "No" to getting myself involved in any patent application. Even if I was offered a bonus for that. Or a job.
This whole Sun vs. Oracle thing made me realize that software patents are categorically undesirable.
Patents are like guns. Maybe so because I'm a pacifist. Now: sure, you can buy a cabinet full of rifles, shotguns and pistols to defend your house on the prairie should the evil gansters arrive. However, if they do and succeed in taking over your house, then they have the guns. This is exactly what has happened here. And with companies desperate for money, it's probably easier than robbing a house.
Thus, there's no such thing as a defensive patent: patents are all offensive, even if most of them (software patents) are bogus. While a good-spirited company or person might choose to not exercise the monopoly granted by patent law, it only postpones the inevitable unless the patent expires before that.
Similarly, there are no defensive guns. All guns are designed to wound or kill people. All patents are designed to take away other hackers' freedom to make the world better. I'll reconsider my stance when I see the first useful software patent and when all the useless ones are revoked.
Sun guarded the guillotine. Oracle "bought them out", and now they have the guillotine. Google put its head under the guillotine. Now we get to see how sharp it is, and whether Google brought body armor.
From what I understand, Licenses (MIT/Apache/GNU) are different than Patents, so it seems that just licensing it wouldn't work. Can you receive a patent and then immediately put said patented idea into the public domain?
I kinda agree with Stephen on the damage Oracle does to open source and the added uncertainty for collaborators on the open parts of java. I think Charles underemphasized this aspect.
http://spectrum.ieee.org/at-work/innovation/rim-v-ntp-yet-ag...
Recent events seem to indicate the "purists" had a point...
Outside of that, it's no more at risk of patent attacks then any other piece of open-source software.
Java always had a certain appeal to it, and I've given this platform 2 years of my life ... but the corporate stench just won't go away.
And here it is again, the owner of Java ... instead of redirecting resources to Java 7 which is a crippled release already, they are starting lawsuits.
A change (for the worse) how the dev community perceives a platform is (or will lead to) a significant impact on the platform?
Or is he saying usage in big corps (where devs don't decide the platform, mangers do) won't be affected?
Minor nitpicks aside, decent essay!
It's simpler: they just want to shake Google down for some cash.
Could be patents, yes.
Could be a yacht-load of cash.
Could also be software source code, or data center or fiber access, or search data, could be the search technologies and implementation, could be a partnering agreement. Or some combination of these.
Google knows what they want. Or will soon.
Whether additional information leaks out from either camp?
Sun originally developed Java to be a standardized, cross-platform development tool.
The original intent (as I see it, anyway) was to get some market share away from Microsoft/Intel by providing a tool that would allow a program written and compiled once on one platform to run on any platform. (The actuality is that you have to make small changes, but for the most part, this works).
So Microsoft started working on J++, and did/were doing the same thing that they did in the web browser space. They built non-standard extensions that would not be compatible from one platform to the next. Exactly the opposite of what a vendor providing an OS/Hardware combination wants, when the entire idea of the language is to make the OS/hardware a reasonable option.
Dalvik doesn't support certain parts of either SE or ME. I would have to believe that this is the reason Google is unwilling to license; they would then have to comply with one of the (bloated/inefficient) standards. (This isn't because Google doesn't have the cash to pay up).
From Oracle/Sun's perspective, this could easily be seen as a long term threat to the platform. If you have runtime compatibility issues, the ship is sunk. You have reliability issues, as with early C++ implementations (can't use 1/2 of the features); Or you have compatibility issues, as with the current state of Common Lisp implementations (many rock-solid implementations, but things are subtly different from one to the next. Aside: subtly different is the worst type). So from that perspective, that they do not want the JVM fragmented, I sympathize with Oracle.
From the perspective of the patents as described in this article, as a computer scientist and programmer, that these things can be patented is shocking. What worries me, is that I will unknowingly build something which has already been patented.
In particular, the hybrid compilation technique does not seem to be very much different from the methods involved in having a lisp (for example) with both an interpreter and a compiler. It is an interesting technique, and very clever, but how can a compilation technique be patented? Specifically this early in the history of computing. What if someone had patented using assembly instead of machine code, or intermediate representations of code? What if McCarthy had patented the AST? Or if the various ways of implementing regular expressions had been patented? It seems morally objectionable.
I honestly, truly hope that Oracle loses this patent suit.
This suit is unlike the Sun v Microsoft suit in that Microsoft was building a licensed Java implementation, which they actually advertised as being a compliant Java implementation...and then they started making incompatible modifications to it. Not simply to the VM or by adding their own libraries off to the side, but by actually modifying some of the java.* core classes. This is obviously way out of bounds when claiming you're a specification-compliant Java, and as a result Sun went ape all over their asses.
FWIW, even though Android doesn't claim to be "Java", they've kept the core classes they ship API-compatible (and no supersetting) with Java 1.5's.
Google aren't some tiny outfit who are going to fold at the first threat. They have very deep pockets and plenty of lawyers and there is no reason to think that they'd give in easily.
Oracle will know this and therefore we can reasonably assume that they have bought this case with the willingness to fight it (and spend the significant amounts of time and money involved in doing so).
Certainly if the suspicion is that they spent $7.4bn buying Sun primarily so they could bring this case it seems even more unlikely - you don't cough up that sort of money unless you think your case is really pretty strong.
(Incidentally I think the suggestion that this is the primary reason they bought Sun doesn't really add up - it's far too big a gamble and the damages award would have to be vast, way beyond the Microsoft / Sun damages to justify it. Oracle are a proper company with proper products, generally speaking they're not patent trolls and have better things to do with the money than take this sort of punt.)
I'm not saying that they will win it, just that the frequent claims from technologists that their case is without merit fail to explain why a bunch of smart people (because whatever you think of them over this the evidence is that the people running Oracle are not stupid, they are not SCO) with a lot of very smart, very well paid lawyers, were willing to take such a punt when their case is evidently so weak.
Sounds fairly similar to one of the tricks that ETLinux used:
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Article...
" You need to learn to read patents. And that doesn’t mean just the abstract. In fact, many people in the free software community, a lot of discussions on sites like Slashdot, people stop at the title. And they think that based on the title they can say "Ah, that was done by the FooHits Corporation in 1925, therefore it’s not a problem". Right? And it doesn’t work like that. You can’t stop at the title, you can’t just stop at the abstract. "
For instance chapter 10 of Practical mod_perl is titled, Improving Performance with Shared Memory and Proper Forking. Guess what that was about? This was published in dead tree format in May 2003, before the December 2003 filing date for this patent. And it appeared in online documentation before that.
Since I find myself switching between Java/Clojure, Common Lisp, Ruby, and Scheme (and would like to be better at Haskell), I am not losing any sleep over this law suit. If Java stagnates, I'll just slowly migrate to new languages.
I think other OSS Java implementations are safe too, because: a. they don't harm Oracle's business in any substantial way (nobody's using them), and b. there's no profit in going after them.
If you start to look at everything Oracle does through the lens of "profit above all else" the clouds become a little less cloudy.
cutting access to a growth path can hold back development of the android platform
The canonical example is a set.
In C# (that's what I'm familiar with) we have IEnumerable<T>. It represents enumerating over some homogeneous set of type T.
so when you write "var myList = new List<int>() { 1, 2, 3 };" the type that gets written down in the bytecode is List<int> (which implements IEnumerable<int>).
So the statement "typeof(myList) == typeof(List<int>)" returns true. The type you specified at compile time doesn't loose information at runtime. (For instance you can also do typeof(IEnumerable<>).MakeGenericType(new[] { typeof(int) }), which gets the Generic Type Definition and then you can fill that in at runtime).
The Generics implementation in Java 5 however was all a compiler trick. All the benefits only existed in the AST of the compiler, they never got down to the runtime. So it was easy to check that you couldn't add a int to a strongly typed list of strings, but only in source. (I think, I'm not as well read as javac / JVM internals)
Hopefully that helps.
BSD history is repeating itself...
In this case, as far as I'm aware, Oracle is not claiming that Google misappropriated any Java source code, but rather that they violated numerous patents that cover JVM-like technologies. This would be akin to AT&T saying that Linux was illegal because it violated patents it held on Unix.