Documentation
The Java Apache Projects is based on the its human resources. Users, developers and, more in general contributors, help the project with ideas and brainpower. Even if the differences between the contributors give add the biggest value, a common ground of knowledge is required in order to minimize the communication difficulties that arise in such virtual communities. This section lists those documents or resources that are considered necessary for the project.
Java Apache Project
Stefano Mazzocchi et al - The Java Apache Project Constitution
This document describes the ideas and guidelines on top of which the Java Apache Project is founded. A must read for everyone willing to participate to the project.
Stefano Mazzocchi - The Java Apache Project Information System
The importance of information systems is often underestimated by the programmers community. While high standards for coding, bug fixing and behavior have been created and acknowledged, information systems (documentation and web sites) suffer from the lack of such search for perfection. In this paper, ideas behind the design and creation of such system as well as guidelines for its management are be described. This paper is mainly for active developers and people willing to get insights into the project management processes.
The Java Apache Project Code Repository
This document describes how the to access and contribute to the code repository and to the hosted subprojects.
Java
James Gosling, Bill Joy, Guy Steele - The Java Language Specification
From the creators of the Java programming language, this free book is considered the bible for Java programming. A must read for everyone developing with Java.
JavaSoft - JavaDoc Resources
Javadoc is the automatic software documentation generator used in Java since the beginning. To ease the coding process and to be able to generate up-to-date documentation effortlessly is considered a very valuable resource. For this reason, all code written in this project must be documented using Javadoc conventions and coders willing to donate code or patches should be aware of it.
JavaSoft - The Java Code Conventions
This paper from Sun indicate the de-facto standard way of formatting Java code. Like in the case of Javadoc, a nice and standard code style is very important in projects where many different people apply patches to a central code repository. Thus, all code written in this project must follow these conventions.
CVS
Jim Brandly - Introduction to CVS
This brief introduction gives you a first look to the CVS system. You may want to start from this one to get an idea before diving into a more detailed description like the above user manual. Highly recommended for newbies.
Per Cederqvist et al - Version Management with CVS
Another big problem in managing the code for a multi-user project is code version control. CVS is a client/server tool that allows many different people to work together and keep their contribution in synch with each other. CVS clients are available for every operating system and come like command line tools or GUI tools. A good knowledge of CVS client usage is required for development in the project.
Open Source
Eric S. Raymond - The Cathedral and The Bazaar
A must read for everyone willing to join or support a volunteer project! This paper shows how and why the Linux software model works. According to Nescape, this paper influenced their decision to release Communicator 5.0 in source (the Mozilla project).
Eric S. Raymond - Homesteading the Noosphere
This is the sequel to the previous paper. In it, it's examined in detail the property and ownership customs of the open-source culture. Yes, it does have property customs -- and rather elaborate ones too, which reveal an underlying gift culture in which hackers compete amicably for peer repute. This analysis has large implications for anyone interested in organizing large-scale intellectual collaborations such as this project.
Vinod Valloppillil - The Halloween Document
Originally known as "Open Source Software: A (New?) Development Methodology" this paper is an internal strategy memorandum on Microsoft's possible responses to the Linux/Open Source phenomenon. Microsoft has publicly acknowledged that this memorandum is authentic and it provides us with a very valuable look past Microsoft's dismissive marketing spin about Open Source at what the company is actually thinking -- which, as you'll see, is an odd combination of astuteness and institutional myopia.