GSOC 2012/Student Application Dzack/JBossFedoraSpin

=Create a Fedora JBoss Spin=

Proposal
My proposal is to aid in the development of 2 distinct Spins of Fedora centered around application development with JBoss software.

This project aims to create a bloat-free, yet fully featured environment by integrating various open source tools into one cohesive distribution. This will include all of the libraries, packages, and dependencies necessary to begin development with as little initial setup as possible.

The first version will be focused on desktop environments, with an emphasis on the ability to quickly develop, test, and deploy applications. This would include everything necessary to begin development out of the box, including an IDE, plugins and dependencies, version control, etc. A Live CD image will also be made so that the it is easily portable and testable on a variety of hardware. The second version will be focused on creating a server environment upon which Java applications can be quickly and easily deployed. This distribution could then be easily expanded and tailored to suit any number of platforms in the future.

The need you believe it fulfills
This spin would provide a platform for developers to get up and running as quickly as possible without having to spend time finding and installing specific IDEs, plugins, or stacks of deployment software. It would also make the entire application development process much more efficient, giving developers all of the tools they need to deploy their applications as quickly as possible. As a result, application development on this spin would be simpler and much more efficient, letting programmers spend their time developing applications instead of setting up a specific environment.In addition to this, this spin will also tie well into concurrent efforts seeking to merge the cloud with desktop Fedora and provide easy access to the variety of tools available in the JBoss community.

Relevant Experience
I'm currently pursuing a degree in Software Engineering and have had exposure to several of the technologies involved. I have experience working in Linux-based environments and am comfortable using the command line tools that would be used in creating this spin. I have also had exposure to Java in school and am familiar with its semantics and structure. I am comfortable debugging software, so I may also be able to implement patches and resolve dependency issues.

Implementation
I intend to become as familiar as possible with the process on converting open source Java applications into RPM packages. In addition to this, I intend to memorize Fedora's packaging and review guidelines in order to make the process much easier for all of those involved. The first major goal will be work on the JBoss community packages in order to get them to build properly. The second goal will then be getting them accepted upstream into Rawhide. The last step will then be to bundle all of these packages into their appropriate remixes which will then be submitted for spin approval.

Deliverables
The outcome of this project will be producing both a desktop version of this spin with an accompanying Live CD as well as a sever variant with a corresponding kickstart file for unattended installation. The Spin itself will contain everything needed to immediately start developing and deploying applications in both environments.

Timeline

 * April 21st --> May 26th: (Pre-GSOC)
 * Familiarize myself with Java packaging -
 * Writing proper .spec files
 * Building from source
 * Debugging and dependency resolution
 * Familiarize myself with package review process -
 * Learn all guidelines
 * Submit test packages for review
 * Look for sponsor as a package collection maintainer
 * Develop list of decisions that must be made:
 * What packages should each spin contain?
 * Scope: How many features are viable to add given the timeframe?
 * What are the highest priority packages?
 * Prioritize order in which packages will be worked on
 * Eclipse vs. maven Repository
 * Miscellany
 * Develop wiki page
 * Roll a base Fedora Remix
 * Continue working on compiling test packages


 * May 26th --> June 7th: (Coding Begins)
 * Begin working on compiling packages
 * Hibernate
 * HornetQ
 * mod_cluster
 * Others, as time permits
 * Work with upstream developers to get packages accepted into Rawhide
 * Test packages in Rawhide, address bugs
 * Simultaneous development of kickstart files


 * June 7th: Midterm Evaluation
 * We should have an installable base image with whatever packages are complete at this point.


 * June 7th --> July 20th:
 * Continue work on packages
 * Add to base Fedora, test inclusion


 * July 20th: Submit Spins to SIG for Review


 * July 21st --> August 9th:
 * Finish adding in features
 * QA and Testing
 * Deploy to remote servers
 * Create Live CDs
 * Install to flash drives, etc.
 * Address any bugs, review notes


 * August 10th:Deadline


 * Beyond:
 * Refine documentation and update Beats
 * Maintain Spins and individual packages
 * Address bugs or security issues
 * Aim for official release with Fedora 18
 * Possible expansion into all purpose Java Development Environment

Any other details you feel we should consider
The amount of community features integrated into the spin will be a variable here, depending on what issues arise, and will likely be an ongoing project beyond the length of GSOC.

Have you communicated with a potential mentor? If so, who?
I have not heard anything back yet, so I am still seeking one!