GSOC 2012/Student Application grdryn JBoss Spin

Contact Information
Email Address: [mailto:galileo@fedoraproject.org galileo@fedoraproject.org]

Telephone: 00353857059844

Blog URL: http://gerard.ryan.lt/blog/

Freenode IRC Nick: grdryn

FAS Nick: galileo

Fedora User Page: Galileo

Why do you want to work with the Fedora Project?
I want to work with the Fedora Project because I use the Fedora Linux distribution that the project produces on a bi-annual basis. I already consider myself a member of the fedora community, albeit a rather inactive one. The four 'F's of the fedora community (freedom, friends, features, first), are ideals and goals that I want to help maintain. I am a firm believer in the necessity of free software, and I see the fedora project as being a huge driving force behind that ideal.

I also want to be a part of something that lots of people will use.

Do you have any past involvement with the Fedora project or another open source project as a contributor?
Yes, in the past I was active in the Documentation sub-project in fedora. I worked mainly on the Accessibility Guide (http://docs.fedoraproject.org/en-US/Fedora/16/html/Accessibility_Guide/index.html).

I've also participated in a few test days, and I regularly submit bugs (although that's probably more of a general responsibility than active involvement!). I've also had a commit accepted into the linux kernel (commit 242501ce5d5296236701612940ed397a2b3fd4bf). This wasn't anything important really, it was just some cleanup of existing code, rather than any new code or feature. The main reason behind me doing that was just to see how easy or difficult it is to commit to a large project such as the kernel, and to see what all of the necessary steps are.

Did you participate with the past GSoC programs, if so which years, which organizations?
No, this is the first time that I've applied. In the past, I didn't really have the confidence in my abilities to succeed in something like this, but this year I've just completed a postgraduate diploma in software design and development, so I want to put my newly acquired knowledge into practice!

Will you continue contributing/ supporting the Fedora project after the GSoC 2012 program, if yes, which team(s), you are interested with?
Yes, if I'm accepted, I will continue to maintain the work that I've achieved. If I'm not accepted, I will still contribute as much as I can (although it will probably be significantly less, as I will have to get another job). There's still stuff that I've been planning to do in the Docs project for a while now, and will do when I find the time. I've also wanted to become a packager for a while now, and there are a couple of things that I've seen recently that I think would be nice additions to the fedora collection (one that comes to mind is unar - http://code.google.com/p/theunarchiver/ ).

When I become more experienced, I may apply to become an ambassador, as we don't seem to have any here in Ireland.

Why should we choose you over other applicants?
There are both greedy and altruistic reasons that I think I would be a good candidate:

- I think this particular project, creating a Fedora JBoss spin would be both beneficial to the Fedora Project, and to developers who use the JBoss Application Server.

- I will definitely be sticking around after GSOC: my motivation for applying to the program is more about being given the time to become more involved in Fedora and learning, rather than the financial stipend from Google. I think the rest of this application/proposal highlights this fact.

- I get to "flip bits, not burgers" (from the GSOC FAQ). I will probably end up working in a bar if I don't get this, so both I, and the Fedora Project would be losing out on a great opportunity! Getting funded to learn a lot and do interesting stuff and working with free software, would be a dream summer for me!

- In the worst case scenario, if I fail to complete the project in the GSOC timeframe, I will still see it through to completion; and as previously mentioned, I intend to stick around to maintain it!

An overview of your proposal
The aim of this project is to help with the packaging effort of JBoss software in Fedora, and create a Fedora JBoss spin. It would be a desktop spin aimed at Java developers who wish to use JBoss software. It will be run as a LiveCD/USB, so that users will be able to see how well it all works together, and use it straight away. As with all Fedora spins, there will also be the option to install from it. It will also contain possible existing packages that would improve the usability of a spin of this nature, such as git, svn, and other useful development tools.

The need you believe it fulfills
As well as making packages available for JBoss Tools, and JBoss Forge; it also showcases how fedora can be a great platform for developing applications using JBoss software.

Any relevant experience you have
I don't have a lot of relevant experience, here's some:

- I've just finished a single semester-long java module for my university course.

- I've played with kickstart files to a limited degree, just to make a custom liveusb that I could use at university.

- I have a limited knowledge of packaging: I built an rpm for mangler (mangler.org), but that was quite straightforward, as there is an existing spec file in the source. I ended up never submitting that for review, as my microphone broke so I wouldn't have been able to test/maintain the package. I don't know if that counts as relevant experience or not!

How you intend to implement your proposal
Work with the people who are already dedicating their time to it, to package all of the modules that haven't already been created, for JBoss AS7, JBoss Tools, and JBoss Forge. Create a kickstart file for the proposed spin, based on the default GNOME Fedora live image, customised to include the packaged JBoss software, and Eclipse set up with all of them integrated in a standard way.

A rough timeline for your progress
Note: In drafting this timeline, I've noticed that the further into the future it goes, the more vague my proposed goals seem to become. I'm not sure if this is bad or normal or what. I also not even sure if it does become vague, or maybe all of it is vague.

Now - April 22nd:
- Start learning more about all of the stuff I don't yet fully understand (Packaging java applications, Maven, the necessary JBoss software).

- Try to become a sponsored packager.

- Study for university exams.

April 23rd - May 10th
- Unavailable due to university exams.

May 11th - May 21st
- Continue on the learning curve of revelant technologies that I'm new to.

- If not yet a sponsored packager, become one now.

- Try to figure out exactly what will be needed to package JBoss Tools so that it will work well in fedora with the packaged Eclipse, and JBoss AS7.

- Start working on packaging those dependencies.

May 22nd - June 31st
- Package desired JBoss Tools modules, and make sure that they work as expected. I'll aim to package as many as possible, with the modules needed for integration with AS7 as a bare minimum.

July 1st - July 9th (midterm)
- Prepare/attempt a draft kickstart file, so that we have an idea of how how well everything works at this milestone, and we can see what is is yet to be done.

July 10th - August 13th (suggested pencils down date)
- Fix any problems that were encountered during (or created by) the packaging of JBoss Tools modules, or the first attempt at the kickstart.

- Package JBoss Forge, and ensure that it integrates as expected with AS7.

- Finalise the spin/kickstart file, and possibly organise a test day with QA.

Any other details you feel we should consider
There's a lot that I will need to learn to achieve this, but the learning curve is one of the main reasons I am applying! I think that, if accepted, there's a pretty good chance of this succeeding, but that might be due to my own tainted view of the world.

If I finish ahead of schedule, I may attempt to create a yum group for the relevant tools, so that existing fedora users can easily install all of the stuff that they need easily, and get a similar experience of running the JBoss spin.

As I don't have a lot of experience with either JBoss software or packaging in fedora, my proposed timeline might be very unrealistic, I'm open to criticism of it!

Have you communicated with a potential mentor? If so, who?
Yes, I'm in contact with Marek Goldmann. He's one of the people currently doing the awesome work of packaging JBoss AS7 for Fedora 17.