Your Name: Andres Rodriguez
IRC nickname: RoAkSoAx
Launchpad ID: https://launchpad.net/~andreserl
Skype username: x4nDr3sx
College-University: Florida International University. Miami, FL
Major: MS. Telecommunications & Networking
Project Name: Testdrive Front End
Project Description: Testdrive is a project that makes it very easy to download and run the latest daily Ubuntu development snapshot in a virtual machine. Actually, it can be configured to download and run any URL-access ISO in a virtual machine. But the primary goal is to provide a very simple method for allowing non-technical Ubuntu users to test and provide feedback on the current Ubuntu release under development. It is written in Python, but has only a command line interface. This project would consist of constructing a python-gtk frontend graphical user interface for Testdrive.
If you would be willing and able to do other projects instead, which ones?
- Guided Ubuntu bug fixing with Bazaar
- Automated optimistic merging and testing of new upstream releases
- Automatic client-server authentication for puppet
- Upstart compatible services-admin
- etckeeper bzr plugin improvements
Why did you like this idea?
- I liked this idea since Dustin Kirkland introduced Testdrive at UDS-L, because it provided a simple way to test VM's, allowing non-tech/tech users to be able to contribute with ISO testing without the hustle of having to search and manually download the ISO's, and without the hustle of creating VM's through virt-manager or virsh.
Please describe a tentative project architecture or an approach to it:
The idea of this project is to use the Model View Controller method of implementation to be able to reuse the code to implemente the TestDrive Front-End. This project is divided in two main phases:
Phase 1: is the modularization of TestDrive, to be able to reuse the code for the Front-end. The modularization would be by implementing a TestDrive Class and merging the actual implementation into the new implementation. This will allow the use of MVC, letting us have various user interfaces (the front-ends) while using the same back-end.
Implementation has already started and code is located in a Personal Launchpad Bzr Branch - https://code.launchpad.net/~andreserl/testdrive/module
Phase 2: is the implementation of the Front-end using PyGTK.
Give us details about the milestones for this project
- There are going to be at least three milestones for this project:
Alpha 1: Modularize testdrive:
This milestone has the goal of completing the modularization of TestDrive, which will include all the futures and will allow Upstream (Dustin Kirkland), to add more functionality while working on the Alpah 2 specified below.
Alpha 2: Testdrive-GTK:
- This milestone has the goal of having the complete PyGTK Front-end for testdrive.
Beta 1: Bug Fixing of Testdrive-GTK:
- This milestone has the goal of bug fixing the PyGTK Testdrive Front-End mainly, however, it will also include improvements to the PyGTK Front-end.
Related Blueprints are being designed at:
Why will your proposal benefit Ubuntu?
- This will benefit Ubuntu because it will provide non-tech users and users who have no idea of how to use the command line with a simple way to testdrive ISO's using a PyGTK Front-end for testdrive.
Please describe any previous Open Source development experience
- My previous Open Source development experience comes by the hand of Ubuntu as an Ubuntu MOTU Developer. As a MOTU I mainly work maintaining Debian Packages in Ubuntu. However, I've also submitted small patches to add features, such as adding status actions to init scripts, and adding Apport Hooks to server packages.
Why are you interested in Open Source?
- First of all, since I can remember I always wanted to be a Linux Expert. However, while learning Linux and when I came across Ubuntu, I started to learn about the OSS Communities. So, while getting to know them, I just got impressed about how things were done in Ubuntu. I started to love the amazing community, where you could get help from everybody, no matter who they were, and the most amazing thing at the time was that I could actually talk with the actual developers of the software. Anyways, I just felt in love with it and you guys now the rest :).
How long will the project take? When can you begin?
- The project will take about 3 months and I can being as soon as I finish my semester (By the end of April).
How much time do you expect to dedicate to this project? (weekly)
- 20 hours a week or more.
Where will you based during the summer?
- Miami, FL.
Do you have any commitments for the summer? (holidays/work/summer courses)
- Not yet, but I'll probably be taking one Summer Course.
Please designate a back up student (in case you need to withdraw your application)
Have you ever participated in a previous GSoC? (describe your project)
Have you applied for any other 2010 Summer of Code projects? If yes, which ones?
Why did you apply for the Google Summer of Code ?
- Because it is a great place to obtain a Summer Job that will allow me to work in Open Source, and mainly because It will allow me to work with and for Ubuntu.
Why did you choose Ubuntu as a mentoring organization?
- I chose Ubuntu as a mentoring organization for obvious reasons. It is the Linux Distribution of my preference and I actively participate in the community and because I am an Ubuntu MOTU Developer.
Why do you want to participate and why should Ubuntu choose you?
- I want to participate because It's actually been a while since I wanted to start coding Open Source applications, and since I'm part of the Ubuntu Developer Community this would be a great place to start.