Oracle checks in -XX:+UnlockCommercialVMOptions in JVM
80 points by spariev 13 years ago | 44 comments- mseebach 13 years agoThe biggest problem here is the risk of the JVM losing its suitability for large, scalable projects. Currently JVM on Linux is $0 in licenses. No matter what $N is, it's ∞% more than 0, and the added cost of scaling to X servers is X * N, not 0. Plus, of course, the ridiculous, soul sucking calls with a "consultant" who will try to sell you Oracle licenses and insists on being your pal and "how about I come out on Wednesday, these discussions are easier face-to-face" to actually procure the bloody licences - and then sends you an Excel sheet with 15 different term and payment options that you then have to spend an afternoon parsing. Better for a cash-strapped start up to go with something free instead.
This is exactly the reason Microsoft has a BizSpark™ programme, and Ruby doesn't.
- jwr 13 years agoI read your reply twice and still can't see how it has anything to do with the subject and the patch being discussed. That's a pretty large leap from "we might want to have paid commercial features" to "JVM losing its suitability for large, scalable projects".
I'm not that worried about the whole thing. I mean, they could have included commercial features at any time, and probably do. This is just a switch.
- mseebach 13 years agoThe scenario I anticipate is the one where Oracle adds something generally useful to the JVM as a commercial feature. Off the top of my head, there's stuff in the memory management area such as a better GC or access to off-heap memory, or goodies for dynamic languages such as tail call optimization.
Suddenly, putting a bit of money in the JVM allows you to go faster. In the beginning, the community will be disciplined about it and make sure that libraries and applications that use these features degrades gracefully, so you can make use of them without getting the commercial JVM. But already here it starts smelling, there are now two target JVMs. Testing just doubled in complexity.
Soon, small, clever libraries that does immensely useful stuff with the new features appear - like what Google Collections did for generics - and pretty soon you're wilfully handicapping your developers by not using commercial JVM. When you already have a revenue-generating code base, throwing Oracle a little money is a no-brainer. There's no way they'd make licensing so expensive that it wouldn't get a CTO fired NOT to buy it. But now they've introduced the drag at the start-up level which I'd voice concern over in my previous post. This is especially sad at a time when the JVM and even Java seems to be enjoying a bit of a renaissance.
- kaffiene 13 years agoI'm sorry, but that sounds like FUD to me. We ALREADY have commercial JVMs.
- kaffiene 13 years ago
- mseebach 13 years ago
- mitchty 13 years agoHow exactly does an open source programming language compare to a cloud computing program from Microsoft? I don't really see the link, at all.
Or are you equivocating Ruby with Rails running in a cloud platform? Your last sentence doesn't really parse well.
- chc 13 years agoBizSpark is a program to give software free to cash-strapped developers. He's saying that being free gives you a huge boost from grassroots support. Ruby doesn't need to do anything special to get this support because it is already free. The Microsoft stack is commercial, though, so they need to have a whole specialized program just to almost level the playing field.
- mitchty 13 years agoStrikes me more as an equivalent to "first hits free" where the hidden cost is as you scale you'll just end up paying more.
But that makes more sense thanks, I don't normally deal with Microsoft products in that fashion.
- mitchty 13 years ago
- xorglorb 13 years agoBizSpark is a program that gives free Microsoft software to startups and small businesses for three years. From my understanding, it has nothing to do with cloud platforms.
- georgemcbay 13 years agoBizSpark members get a bunch of free Azure resources as part of the package, but I would guess that isn't really a big part of the selling point for most who actually use the program.
- georgemcbay 13 years ago
- tikhonj 13 years agoBizSpark isn't a cloud platform. It's a program by Microsoft that gives free licenses to startups. They also have a similar program for students called something like DreamSpark. It's just like a drug dealer saying "the first hit's free" :)
Open source projects like Ruby naturally don't need anything like this; the whole open source model is more open and accessible for everyone than even Microsoft's free offerings.
- InclinedPlane 13 years agoThe licensing on a MS software stack is nominally crazy-expensive, BizSpark provides lower-cost (or free) licenses for Windows, SQL Server, etc. to smaller companies to make it possible for startups to use MS.
Ruby doesn't need such a program because the cost of licensing Ruby for a company that only has 2 servers and the cost of licensing Ruby on a fleet of 10,000 servers is still $0. The same is true for Java, for now...
- chc 13 years ago
- jwr 13 years ago
- asg 13 years agoAnd so it begins.
While this leaves me with an icky feeling, being a java developer, I'm also cognizant of the fact that one of the major criticisms of Sun from the financial markets was that they could not monetize java very well.
It'll be interesting to look back in 10 years and see how Java has fared under Oracle.
- Maro 13 years agoIt will fare well for Oracle.
- pi18n 13 years agoI was thinking more like farewell to Java
- pi18n 13 years ago
- InclinedPlane 13 years agoIt's interesting to compare this to Microsoft's languages (e.g. C#). They give away the platform (other than the OS, of course) for free and make their money on development tools (Visual Studio, Team Foundation, etc.)
- qw 13 years agoThey can do that because they have integrated commercial software into the platform. When someone is using .Net, there's a high probability that it will run on a Windows server and probably also use MS SQL. That's where they get their money from. In the Java world they are more likely to use open source alternatives like MySQL and PostgreSQL, rather than Oracle
- qw 13 years ago
- ColdAsIce 13 years agoCould it mean more money for us Java developers?
- nl 13 years agoProbably not.
One way to look at it is like this: Previously, to increase performance of a production Java app you would pay the best Java developer you could find a lot of money to make it run fast.
Now, you might still do that, but first you will pay Oracle some licence fee so you can use their commercial JVM options (and good Java developers are likely to insist on using those feature because generally JVM tuning options work very well). That take money out of the budget for Java talent.
- mseebach 13 years ago> That take money out of the budget for Java talent.
Unlikely: The C# runtime costs money, yet C# devs are as well paid as Java devs.
- mseebach 13 years ago
- drivingmenuts 13 years agoSure, if you have stock in Oracle, otherwise, who knows.
- nl 13 years ago
- Maro 13 years ago
- binarycrusader 13 years agoThe important thing to note from the source comments:
commercial flags support features for which Oracle charges a fee for production use, though they're free for development and/or evaluation. There's no enforcement mechanism in Hotspot other than that -XX:+UnlockCommercialVMOptions must first be specified in order to use them.
- listrophy 13 years agoShould read "Currently, there's no enforcement mechanism..."
- Maro 13 years agoThere's no software enforcement mechanism in the flagship Oracle Enterprise DBMS either.
You can download it for free on the web.
From http://www.orafaq.com/wiki/Oracle_Licensing:
A license is the "right to use" (RTU) the software and not the software itself. If you have a license, you can obtain a copy of the software through whatever means - order, download, use the CDs from your last project, etc. Please note that Oracle doesn't use software keys. You can just install the software and use it. It is up to you and your consciences to license the software before using it.
- markokocic 13 years agoDoes that means that I can legally use their software free of charge if my conscience doesn't prohibit me from using it unlicensed?
- TheAmazingIdiot 13 years agoWarning; Completely off topic:
When reading blocked quotes like above, the iphone browser farts and cuts off the text at the right-most ending. I notice it only happens with the <code> construct, which is used regularly here.
Any ideas how to fix it on my end?
- markokocic 13 years ago
- po 13 years agoThey don't need a technical enforcement mechanism. Their enforcement is a pack of license auditors sent into your company to verify compliance.
- sixbrx 13 years agoI always thought Oracle's enforcement mechanism was to leave ORA-00600 (internal error) exceptions scattered in various code paths throughout the database. In which case you need to contact support for their workaround, and for the support you need the license.
- pvg 13 years agoShould start your comments "Currently not wearing a tinfoil hat..."
- Maro 13 years ago
- Maxious 13 years agoThe commercial option specifically mentioned in this patch is "Java Flight Recorder" which I think refers to features of the proprietary JRockit JVM that Sun/Oracle had planned to make more freely available through OpenJDK into the Java 8 release http://en.wikipedia.org/wiki/JRockit
- listrophy 13 years ago
- hapless 13 years agoIf nothing else, this proves that Oracle is serious about OpenJDK. If they weren't planning to continue to provide the commercial/patented features under the open source license, why have a gate/switch to disable them ?
- mreinhold 13 years agoThe -XX:+UnlockCommercialVMOptions flag has been removed from OpenJDK (http://j.mp/u9gAJ9). It was pushed to an open repository by mistake.
- lambada 13 years agoNot sure why this hasn't been upvoted more, especially as it is one of the most relevant posts I've read in this thread.
- lambada 13 years ago
- dalibortopic 13 years agoAs Mark Reinhold, Chief Architect for Java SE at Oracle, pointed out on Twitter [0], that patch was meant for Oracle's product VM, a minor fork of OpenJDK, which has "commercial features" just like other vendors' VMs. Since it was checked into OpenJDK by mistake, it has been backed out of OpenJDK again within 24 hours[1].
Some of the key points of Oracle's Java SE strategy[2] are:
* Oracle plans to contribute the results of the combined Oracle Java HotSpot and Oracle JRockit JVMs to the OpenJDK project.
* The Oracle JDK and Java Runtime Environment (JRE) will continue to be available as free downloads, with no changes to the existing licensing models.
If you'd like to learn more about it and the ongoing JVM convergence work, I'd recommend reading Henrik Ståhl's blog post from last year here:
http://blogs.oracle.com/henrik/entry/oracles_jvm_strategy
- Henrik is Senior Director of Java Product Management at Oracle and runs a group responsible for product strategy for Java SE, among other things.
Dalibor Topic, Java F/OSS Ambassador, Java Product Group @ Oracle
[0] https://twitter.com/#!/mreinhold/status/142122264220008448
[1] https://twitter.com/#!/mreinhold/status/142102137130844161