On Fri, Aug 26, 2011 at 9:18 AM, Andy Grimm <agrimm@gmail.com> wrote:
On Wed, Aug 3, 2011 at 6:00 PM, Deepak Bhole <dbhole@redhat.com> wrote:
> * Douglas Myers–Turnbull <dmyersturnbull@gmail.com> [2011-07-25 20:53]:
>> > I was planning to do this myself .. glad you started it :) I can take
>> > over the Feature and doing all the work if you're fine with it...
>> Please do!
>> The only work I've done (literally) is on the feature page, but feel
>> free let me know if you need anything from me.
> Hi Douglas,
> Thank you once again for creating the page. I have started updating it
> and will add docs and other links tomorrow:
> https://fedoraproject.org/wiki/Features/Java7
> For anyone and everyone interested, a Java 7 build is now available in
> the Fedora 16. I will build for rawhide in the coming days as well:
> http://koji.fedoraproject.org/koji/buildinfo?buildID=257034
> Cheers,
> Deepak

After some discussion on #fedora-java over the past 24 hours, I was
asked to continue the discussion here regarding the implications of
openjdk 6 and 7 coexisting in F16.  Right now, java packages are being
built for F16 using openjdk 7, and if they are built without
"target=1.6", they will fail to load under openjdk 6.  (One simple
example of this is xalan, see
https://bugzilla.redhat.com/show_bug.cgi?id=733686 ).  Some possible
solutions proposed over IRC:

1) Blacklist openjdk 7 from build roots for f16 -- this means that it
doesn't get tested very well, though.

2) Ensure all java packages use target=1.6 -- there's no standard way
to do this across ant, mvn, javac, etc. though.  You could check for
1.7 bytecode at the end of a build, but packages would still need to
be individually fixed.

3) Drop openjdk 6 from F16 entirely

It was also mentioned that Fedora is beginning to include some
packages which build much more cleanly on openjdk 7 than they do on 6,
so enforcing openjdk 6-only build roots might break some things.

Other suggestions are welcome.  I don't have a strong opinion about
this, just a strong interest in having a sane Java environment in F16.



I personally think OpenJDK 7 should become the default. I would like to have OpenJDK 6 remain in the repository, but it shouldn't be included on the DVD for installation. There are some older packages that simply won't work yet with OpenJDK 7. However, as far as I know, those packages are not included in Fedora. I don't see a good reason to enforce an OpenJDK 6 environment when OpenJDK 7 is working well with most modern Java packages. The troubles involved in having both OpenJDK 6 and OpenJDK 7 in the default Java environment is simply not worth it either.

I say that for Fedora 16, OpenJDK 7 should be on the DVD and the preferred Java environment. However, I think that OpenJDK 6 shouldn't be removed from the repositories until Fedora 17. If this isn't feasible, I'd say that Fedora should completely drop OpenJDK 6 in favor of OpenJDK 7. 

Unlike some of the earlier major Java revisions, Java 7 doesn't break most modern Java applications. However, the API cleanup between Java 6 and Java 7 may contribute to some older applications no longer working as expected. As far as I know, most Java applications in Fedora don't seem to have this problem. Java 7 will also begin offering a more consistent experience on Linux, Mac OS X, and Windows because they will be using the same codebase now, since Apple is no longer maintaining their own JRE and JDK. This alone makes Java 7 more appealing to me than continuing to use Java 6.