[CentOS-docs] Proposal: Java HowTo Section

Tue Apr 28 17:55:27 UTC 2009
Sean Gilligan <sean at msgilligan.com>

In "Wiki Access Request for Java How To's" I mentioned that I wanted to 
create a Java HowTo section on the wiki.  I'd like to provide a more 
detailed proposal for adding more Java documentation.

Summary of Current Java HowTo

Currently there is a single Java How To in the "Misc" section, called 
"HowTos/JavaOnCentOS".  Since I am new to CentOS the first thing I did 
was look in the Table of Contents for HowTos and didn't see "Java" 
listed.  Fortunately, I searched the page for "Java" and found the 
article.  For this reason, and more because I hope that there will soon 
be multiple Java HowTos, I think creating a Java section is a good idea.

The current HowTo is titled "HowTo Install Java on CentOS 4 and CentOS 
5" and its focus is on installing closed source Java Development Kit 
(JDK) versions from Sun and IBM on CentOS 4.x and 5.x with instructions 
that were tested on 4.7 and 5.2.  Section 2, called "Method One: A 
simple approach" links to an external page that details downloading the 
RPM version of the Sun JDK and installing it.    Section 3, called 
"Method  Two:  a less simple  approach" begins with the warning "The 
following wiki section section needs a maintainer, as it is not actively 
maintained as of 11 Oct 2007.  JDK 1.6 section updated and verified by 
MikaelFridh 11 Jul 2008."    Section 3.1, recommends the same approach 
as in Section 2 for desktop users, only developer and server systems 
should follow the steps in the rest of the section.  The rest of section 
3 explains how to download various non-RPM versions of Java from Sun and 
IBM, use jpackage-utils to build RPMs and then install them on your system.

Section 1, "Preliminary material" talks about licensing issues with Java 
that existed prior to OpenJDK.  It then has a "SPECIAL NOTE" that CentOS 
5.3 and alter have OpenJDK and talks briefly about how to install  OpenJDK.

There is no discussion (that I know of) talking about the GCJ version of 
Java.  I assume that is because almost nobody uses it...

My Experience, Priorities and Motivations
I've been doing server-side Java development and deployment on Linux 
since 2001, initially on Red Hat and then on Fedora.  My approach has 
been the following:

1. Install Fedora Linux
2. Install Sun JDK RPM ("Method One: A simple approach" in current HowTo)
3. Install my custom Tomcat RPM (currently using Tomcat 6)
4. Install WARs into Tomcat

I am now experimenting with (and hoping to convert completely) to the 
following approach:

1. Install CentOS 5.3+
2. Install OpenJDK
3. Install CentOS-bundled tomcat5 and supporting RPMS
4. Install WARs into Tomcat

I am hoping this new approach works well enough for me to convert 
entirely to the new tool-chain, and am interested in improving both the 
software and the documentation on CentOS.  I don't have unlimited time 
to devote to this, and I may have to rethink steps #2 or #3 in the 
tool-chain if I run into intractable problems.  I suppose it's possible 
I might end up updating and possibly contributing my Tomcat 6 RPM if I 
find problems with the tomcat5 RPM in CentOS.  Preliminary tests have 
found no problems.

I'm also interested in using and contributing to the Java development 
tool-chain on CentOS, but that will have to wait as I don't want to get 
spread any thinner.

The Community's Priorities
Since I'm new to the CentOS community, I don't really know what people's 
priorities are.  I suspect, though, that they're not too different from 
mine.  If the current documentation is any indication, I see the same 
movement from installing the closed-source JDKs to using OpenJDK on 
CentOS 5.3 and later.  It's sad in many ways that it took Sun so long to 
get a good Java included in Linux distributions, but I'm pretty sure 
that most people these days are going to want to focus their efforts 
around OpenJDK.

I'd love to hear any input on this.  Should I post something on the main 
CentOS list?

Proposed Changes
Sorry for the lengthy background info, but I think it helps explain what 
I want to do.

I'd like to see a "Java" section on the main HowTo page that looks like 

X. Java
  * OpenJDK on CentOS 5.3 and later (new 'Draft' How To)
  * Closed-source Java  on CentOS 4 through CentOS 5.2  (updated version 
of the current How To)
  * Install and configure Tomcat on CentOS 5.3 + OpenJDK (not yet, but 
hopefully soon...)
  * Deploy Rails WARs to CentOS (soon...)
  * etc.

I'm not sure if the proposed new title for the current HowTo is the 
best  title, but it do think it is fairly descriptive of what the 
current document covers.  ("Closed-source" could be replaced with "3rd 
Party" or some other adjective that covers the IBM and Sun versions)  
I'm willing to update that document so that it provides pointers to the 
new OpenJDK  How To and other minor changes, but I will not have time to 
maintain the existing sections as I (hopefully) won't be using 
closed-source Java on Linux anymore.  I'll move the current CentOS 5.3 
"Special Note" to the new HowTo and expand on it significantly.

I think this approach conforms to my interests and those of the 
community.  I want to focus my efforts on CentOS 5.3+ and OpenJDK, and I 
suspect that is the right thing for the community.  It may also bring 
new Java developers into the CentOS community.