JoeSmithBzr

Disclaimer

I have been accepted to work at Google on August 2nd, which will mean that my "pencils down" date will be moved up a week from August 9th, 2010. So after the 2nd, I will only be able to contribute as a "regular community contributor to an open source project", not a GSoC student or Google Employee. The Google Summer of Code coordinator, Carol Smith wanted me to be very clear that if this is an issue, you guys should feel free to let me know that it isn't acceptable and I will gladly withdraw my application.

I do not see this as a disadvantage, I believe this will be highly motivating to stay on task. While most students may think "I have all summer to work on this.." I will be constantly reminded that I have one fewer week than normal to deliver. If there are any questions, please feel free to contact me and we can find the answers. Thank you!

Contact information

Ubuntu Name: Joe Smith

Ubuntu Email Address: yasumoto7@ubuntu.com

Ubuntu IRC nickname: yasumoto

Ubuntu Launchpad ID: yasumoto7

Ubuntu Skype username: yasumoto

Ubuntu Webpage/blog: http://bjoli.com/linux

Ubuntu College-University: Chapman University (Orange, CA)

Ubuntu Major: Computer Science

Ubuntu Resume: http://dl.dropbox.com/u/515109/JoeMehdiSmith.pdf

Ubuntu GSoC Proposal: http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/yasumoto/t127062896719

Project

Ubuntu Project Name:

  • Guided Ubuntu bug fixing with Bazaar

Ubuntu Project Description:

  • Similar to how Bazaar facilities working with branches from projects using bzr branch lp:project, there should be a built-in workflow based upon fixing bugs in Launchpad. This project would add in a fix-bug command to Bazaar, for example: bzr fix-bug lp:12345. This will pull the correct branch from the affected project, and allow them to push it back and request a merge when they are completed.

Ubuntu If you would be willing and able to do other projects instead, which ones?

  • I am also looking into creating an Android LoCo app, which would be useful to members of LoCo teams to communicate and get together even when not at their computer. I am also interested in other tools which help developers create and fix software.

Ubuntu Why did you like this idea?

  • Making it easier for developers to work on code allows them to be more productive, and spend less time trying to grok the process of fixes and more time actually finding and testing solutions. I think that setting up a good process for simplifying and automating common tasks would be very helpful.

Ubuntu Please describe a tentative project architecture or an approach to it:

  • The project will be focused on implementing the bzr fix-bug command, which should closely mirror the normal development process developers take. It will consist of several Launchpad API calls, as well as pulling/pushing bzr branches.

Ubuntu Why will your proposal benefit Ubuntu?

  • This proposal will be most helpful toward new developers, as it will simplify a lot of the tasks they need to accomplish in order to commit a fix to a bug. It will also serve to aid experienced developers who wish to get right to the code and get the fix reviewed and committed.

Milestones

I plan to run through 2 week sprints, which include a task overview session, coding, integration testing, and regression testing.

Ubuntu May 24th to June 4th

Ubuntu June 7th to June 11th

  • At this point, I expect to add the fix-bug command to bzr, and allow it to connect to Launchpad, connect to the right bug, and pull the proper branch from the affected project. When checking out the code, there will be a prompt asking the user if they'd like to assign the bug to themselves if it isn't already, displaying the currently assigned user. It will be important to read each bug and determine the correct code to pull from the project. For instance if the bug is only on the devel branch, then fix-bug should be smart enough to figure that out.

Ubuntu June 14th to June 25th

  • This session will be devoted to setting up proper merge functionality, allowing users who finish coding to bzr fix-bug merge to request a merge, and bzr fix-bug commit to actually push changes onto the branch.

Ubuntu June 28th to July 9th

  • This session is for creating a sample bug that is well integrated with the process, perhaps taking advantage of Launchpad's Staging service in order to walk through how to get code committed. I believe this could be useful for people giving presentations, as it will enable them to show others how to walk through the task with a bit of guidance.

Ubuntu July 12th (Midterm Week) to July 23rd

  • This sprint is dedicated to adding any helpful features and other process streamlining techniques we can think of during the process. Anything that brings tighter integration between Launchpad development and bzr fix-bug is fair game here. For example, setting up a way for developers to submit comments with bits of code included could be helpful.

Ubuntu July 26th to July 30th

  • This will be the last week before I start at Google, and I will use this time to ensure everything has been well documented, finish up any paperwork to close out the program, and help transfer to community ownership.

Open Source

Ubuntu Please describe any previous Open Source development experience

  • I have Made contributions to Ubuntu, Gnome, and Mozilla. I have done packaging for Ubuntu, and have become very familiar with bzr and launchpad over the years. I have also made a contribution to Red Hat's Spacewalk server, which I use at my school's IS&T department to manage our DHCP servers.

Ubuntu Why are you interested in Open Source?

  • I love the people and community involved in Open Source. It is based upon a meritocracy; people aren't judged based upon a strange set of criteria, what truly matters is who you are. The system where everyone works together to build something great is amazing, and I love that everyone fights to put in 110% knowing that each other person is as well. The goal of Open Source is allowing people to realize that "technology" and "computers" aren't some strange, scary fad, but are actually a way to become closer to other people and improve our way of life.

Availability

Ubuntu How long will the project take? When can you begin?

  • This project should take the entire time I am eligible to participate, and I can (excitedly) begin as soon as Summer of Code starts.

Ubuntu How much time do you expect to dedicate to this project? (weekly)

  • I expect to dedicate at least 40 hours per week to this project. My other alternative this summer is to work at a non-technical job full-time to support myself while still making some contributions to the community, so the opportunity to truly devote myself this summer is amazing. This has not been, and will not be, a job this summer, it is something I am clearly passionate about and love to do.

Ubuntu Where will you based during the summer?

  • I will be at my home in Southern California.

Ubuntu Do you have any commitments for the summer? (holidays/work/summer courses)

  • I do not have any commitments, I will be able to work on this all the way until August 2nd (and after as a community contributor)

Ubuntu Please designate a back up student (in case you need to withdraw your application)

  • My friend Matt Connor, who also goes to Chapman, is proficient with Python, and could back me up in case I am unable to continue.

Other

Ubuntu Have you ever participated in a previous GSoC? (describe your project)

  • I have not participated in GSoC before, which is why I am so excited to during my last year. I have previously worked full-time at my school's IS&T department, and have not had the time to dedicate to Summer of Code.

Ubuntu Have you applied for any other 2010 Summer of Code projects? If yes, which ones?

  • I have applied for another Ubuntu project, the Android LoCo app.

Ubuntu Why did you apply for the Google Summer of Code ?

  • As many community contributors may say, I have always had to squeeze in my contributions to Open Source in between exams, projects, and work. The chance to relax, and just focus on Open Source would be quite welcome.

Ubuntu Why did you choose Ubuntu as a mentoring organisation?

  • I have been an active member of Ubuntu since 2007, and have been involved in almost all aspects of the Ubuntu community over the years, from bug triage, packaging, upstream contributions, several conference booths, and an Open Week Presentation. If you'd like to see the full list, please check out my wiki. After putting it off for a while, I recently applied for membership, which was surprisingly a lot of fun. I figure with the number of beers I've shared with Ubuntu community members, it's only natural that I choose to participate in Ubuntu

Ubuntu Why do you want to participate and why should Ubuntu choose you?

  • I believe that I bring a lot of passion and experience to my work, and it is something that I am very proud of. When I set myself to a task, I truly dedicate myself, and being given the opportunity to work on Open Source full-time for an extended period would be amazing. I have been very interested in helping out other College Students in their journey of discovering Open Source. I have given a talk at the Southern California Linux Expo regarding students and Open Source, and have always thought that Summer of Code was a great program for students. Once I graduate, I plan to become more involved in mentoring Summer of Code, and once I realized I might have a chance to become a student, I realized that this would be a great opportunity to better relate to future students.

    With regard to hands-on development experience, I am an intern at Dreamworks Animation, where I've learned a lot about software best practices, so I'll be able to take what I've learned from work and apply it to the summer. I understand that there are many tradeoffs to any design, and it's difficult yet important to always remember how a user will actually use one's software. I am also a Student Network Technician at my school's IS&T department, where I've taken on several projects on my own from start-to-finish, the most recent having been an implementation of Red Hat's Spacewalk server for managing our Linux server rollout. It's been a lot of fun, and I've appreciated the opportunity to work on interesting projects during my time. I have worked full-time at IS&T during previous summers, which is why I have not applied to SoC before.

GSoC/2010/JoeSmithBzr (last edited 2010-04-07 20:30:08 by outbound)