5 ms·
I have no hard evidence of this but it seemed like the most logical explanation. Oracle won't let Jigsaw die after many years of debate, it's really important t
by slackingoff2017 9y ago
I have no hard evidence of this but it seemed like the most logical explanation. Oracle won't let Jigsaw die after many years of debate, it's really important to them for some reason.
On the other end, some people in the community seem willing to sacrifice their position on the community board to stop Jigsaw.
There doesn't seem to be any consensus on exactly what makes Jigsaw bad and everyone seems to have their own laundry list of reasons. Even stranger, the use cases and utility of Jigsaw seem limited to just about everyone as the existing package system is quite good.
So why is there so much pushing from both ends? Maybe something isn't being said because it would damage the relationships between Oracle and Java sponsors. It's one thing to say "I don't like this module system for these technical reasons". It's another thing entirely to say "I don't trust your company to keep important parts of the JVM on the GPL".
A large java partner company accusing Oracle of closing off Java would make big waves in the community that would hurt both parties. Much better to just cause these initiatives to fail by political means.
- threeseed 9y agoThis is just baseless accusations and speculation. Jigsaw is important for everyone in the community (less so for Oracle actually) because it reduces the startup time and memory footprint of the JVM. This enables it to be used in more places and on more devices and benefits all of the JVM languages in one hit. The issues raised within the JSR group have been transparently raised and are purely technical and ideological. There could be a commercial aspect but really it's irrelevant. Red Hat, IBM etc do not depend on OSGi or other module systems for their commercial success. Any ulterior motives really don't make much sense.
- slackingoff2017 9y agoThe main entity with commercial interest in splitting up the JVM is Oracle. Jigsaw was originally just a plan to split up the runtime into components and the module aspects were added later. OpenJDK is now being used by Google on all Android devices and Oracle is probably furious that there's no way to extract licensing fees from this arrangement. To me that sounds like plenty of ulterior motive. OpenJdk has a linking exemption which would allow Oracle to develop closed source extensions to the JVM if it was built in a modularized way. Why else would Oracle continue to push something that's been so controversial for years? The only explanation I can think of is that it would allow them to put other more profitable plans into motion. It's definitely speculation but not totally baseless. Oracle has been increasingly aggressive about monetizing Java in the last few years. I don't think it's unreasonable for them to add language features to increase their ability to make money from Java licensing.
- adambatkin 9y agoModularizing the JVM has many benefits. Unfortunately, as part of that process they ended up with a much bigger scope than we had all anticipated. Enforcing a new [mandatory] module system for all third-party code - with significant compatibility concerns and very few benefits is another. Module systems sound great in theory. But we already have a bunch of existing ones, some simple and ad-hoc (like how we package things into JARs, publish to Maven Central or another artifact repository and load using regular old classloaders) and some are very formal and complex (OSGi or any of the big J2EE Application Servers).
- needusername 9y ago> it reduces the startup time and memory footprint of the JVM How so? There is additional machinery needed to be started, the module system, and additional checks needed to be performed (module access) and additional metadata to be kept at runtime (module metadata). How is that helping startup time and and footprint? If anything that should make it worse. Class loading has been lazy since day one, so if you don't use CORBA then CORBA classes are not loaded. This has been the case since Java 1.0. JVM startup time is actually pretty good. If your application takes seconds to start that's because your startup code takes seconds to run. Jigsaw isn't going to help you there.
- pjmlp 9y agoModule system supports linking, it is possible to create a JRE for distribution having only the code that actually matters for the application. It is also part of how the upcoming AOT compiler to native code will work.
- needusername 9y ago> Module system supports linking Nope, that's an entirely proprietary, intentionally unspecified extension. > it is possible to create a JRE for distribution having only the code that actually matters for the application. I don't see how this reduces the startup time and memory footprint of the JVM. If a class is not needed by your application it's not loaded, that has been the case since Java 1.0. I don't see how it not being present on disk makes any difference. > It is also part of how the upcoming AOT compiler to native code will work. Nope. It also works on classes and plain old JARs [1] [1] http://openjdk.java.net/jeps/295 http://openjdk.java.net/jeps/295
- krschultz 9y agoJigsaw was started by Sun before Oracle even involved in Java. I know because supporting Jigsaw was on my radar - in 2008. I don't know where you are getting this conspiracy theory that Jigsaw is sinister move by Oracle. It's going to solve some of the worst aspects of the JVM (startup time, distribution). The reason it has taken so long is because it is technically difficult and there was a 2-3 year stall in JVM progress after Oracle's acquisition of Sun.