<div dir="ltr">Hi everyone,<div><br></div><div><div>> we are considering to increase the required Java version for</div><div>> ImageJ2/Fiji from 6 to 7.</div></div><div><br></div><div>Such a change is not something that could happen overnight. To elaborate a bit on the challenges and logistics:</div><div><br></div><div>- Java 7 is not available to everyone. In particular, it is not available for OS X 10.6 Snow Leopard and earlier. Our current estimate is that ~1% of users use such operating systems. While upgrading is an option for some, it is not possible on older hardware.</div><div><br></div><div>- As Michael & Birgit point out, ImageJ has problems when run with Java 7 in some scenarios, and on some platforms. Also, as I mentioned on another recent thread, there are performance issues with repainting on OS X with Java 7 (but not, it seems, with Java 6 or 8).<br><br></div><div>- Existing Fiji installations using a bundled Java -- the majority of them: the Windows and Linux bundles -- would need to be upgraded somehow. But the ImageJ Updater does not support upgrading the version of Java. Either: A) someone would need to do the work of improving the Updater to upgrade Java automatically; or B) all Fiji users would need to manually upgrade it, and/or download and unpack a new Fiji. I would strongly prefer option A, but the work is involved and I personally would not have time to do it any time soon.</div><div><br></div><div>With these points in mind, my current preference is to keep supporting Java 6 for the time being. For developers wishing to use Java-7-specific features, a separate update site would be a safer route.</div><div><br></div><div>That said, if a motivated party is able to:<br></div><div><br></div><div>1) Make the Updater smarter about versions of Java -- ideally, implementing UI that lets the user specify and switch between JREs similar to e.g. Eclipse.</div><div><br></div><div>2) Verify that the most critical problems in behavior are already fixed, and/or fix them.</div><div><br></div><div>3) Thoroughly test on all three major platforms -- ideally with both Oracle Java 7 and OpenJDK 7.</div><div><br></div><div>Then moving forward with the switch would be feasible.</div><div><br></div><div>Regards,</div><div>Curtis</div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 7, 2014 at 8:11 AM, Tobias Pietzsch <span dir="ltr"><<a href="mailto:pietzsch@mpi-cbg.de" target="_blank">pietzsch@mpi-cbg.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><span class="">Hi,<div><br></div><div>we are considering to increase the required Java version for ImageJ2/Fiji from 6 to 7.</div><div>Java 6 has been unsupported (ie, no more fixes and updates) for over 1.5 years now, Java 7 is around for a long time, and developers are moving on to Java 8 even.</div><div><br></div><div>Before we just move to Java 7, we want to see what users would think about this. So, are there any strong opinions out there?</div><div><br></div><div>best regards,</div><div>Tobias</div></span><div><br><div><span class=""><div>On 05 Dec 2014, at 17:23, Curtis Rueden <<a href="mailto:ctrueden@wisc.edu" target="_blank">ctrueden@wisc.edu</a>> wrote:</div><br></span><div><div class="h5"><blockquote type="cite"><div dir="ltr">Hi all,<div><br></div><div>Mark Hiner wrote:</div><div><div>> my only hesitation towards agreeing with consensus here is that these</div><div>> particular mailing lists seem likely to be biased towards active</div><div>> developers (who I would expect to prefer newer Java versions).</div></div><div><br></div><div>I agree. While personally I would love to move to Java 7 or even Java 8, and even if we all support that here, we must then ask on the main ImageJ mailing list to get feedback from all users first.</div><div><br></div><div>Regards,</div><div>Curtis</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 5, 2014 at 9:58 AM, Mark Hiner <span dir="ltr"><<a href="mailto:hiner@wisc.edu" target="_blank">hiner@wisc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Jay,<span><br>>Can anyone else confirm this experience?<br></span></div>Yep, Yosemite dropped Java 6. Definitely an annoying extra barrier for developers. But there's a <a href="http://imagej.net/Frequently_Asked_Questions#How_do_I_set_up_Java_6_on_OS_X.3F" target="_blank">FAQ entry</a> now!<br><br></div>Michael,<span><br>
>When replying to a post like this, is it the done thing to reply to the
list in general or should I be replying just to the original poster?<br></span></div>You did the right thing - reply to the whole list. That way there is a complete record of any discussion-especially important on a general topic like this. Personally, if I ever get a private mail in response to something, I cc the list in my reply (see also: <a href="http://imagej.net/Philosophy#Open_source" target="_blank">http://imagej.net/Philosophy#Open_source</a>)<br><br></div><div>Out of curiosity, how do people feel about establishing set guidelines for when to advance Java versions (e.g. if it's 18 months past the end-of-life release and under 2% of the users would be affected, just upgrade)? There will certainly be times when this question will come up again... and my only hesitation towards agreeing with consensus here is that these particular mailing lists seem likely to be biased towards active developers (who I would expect to prefer newer Java versions).<br><br></div><div>Best,<br>Mark<br><br>P.S. Thanks for starting this thread Tobias!<br></div></div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 5, 2014 at 8:56 AM, Lee Kamentsky <span dir="ltr"><<a href="mailto:leek@broadinstitute.org" target="_blank">leek@broadinstitute.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">For CelllProfiler, there's some packaging work that would need to be done (we bundle the JRE with the Windows version and the Centos 6 RPM has Java 6 as a dependency). We rely on the system Java for the Mac presently and I don't have a clear idea of what range of Java 7 support to expect on our user's Macs.<div><br></div><div>It certainly seems like there is a lot of pressure to move to Java 7, so my vote would be to move to Java 7, even considering the above.</div></div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 5, 2014 at 8:54 AM, Tobias Pietzsch <span dir="ltr"><<a href="mailto:pietzsch@mpi-cbg.de" target="_blank">pietzsch@mpi-cbg.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi all,<br>
<br>
what is everyones opinion on moving the IJ2/Fiji stack to a new version of Java, i.e., Java 7.<br>
Java 7 has been around for more than 3 years now. The end-of-life final public release of Java 6 was more than 1.5 years ago.<br>
<br>
Benefits I see are the following:<br>
<br>
* We could use the “new" Java 7 libraries. For example the Fork/Join framework would come handy in defining multi-threading interfaces in scijava-common (to be used in imagej-ops for example). Or the NIO2 stuff (java.nio.file)<br>
<br>
* We would benefit from improvements of type inference for generics in the compiler. No more jumping through hoops to fix “errors” in code that should compile with Java 6 but doesn’t. (Plus we could use the diamond operator to shorten generics instantiations.)<br>
<br>
* We could use third-party libraries that only support Java 7. For example I’m using Jetty in a project that can therefore not be part of Fiji currently. (This mail was more or less triggered by me looking into <a href="http://ojalgo.org/" target="_blank">http://ojalgo.org</a> who maybe went a bit over the top and already abandoned Java 7 for Java 8). I think it is only a matter of time until we will have a problem with third-party libraries that we already use abandoning Java 6.<br>
<br>
<br>
I do not have a clear picture of what the downsides would be. Johannes always said that people on old macs are tied to an old java version and that we do not want to leave those users behind. It would be interesting to know how many people that actually would impact.<br>
<br>
<br>
What do you think?<br>
<br>
best regards,<br>
Tobias<br></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></div></div></blockquote></div><br></div></div></div>