Ubuntu Development Update
This week has been busy. Lots of bits and pieces are coming together in Oneiric and the status overview might give you an idea how each feature is progressing.
If you look at the release schedule for Ubuntu 11.10 you can see that Oneiric is still in the development phase, where most of the heavy lifting is being done and where things are still broken. Still it’s a great time to get involved and fix a few issues early on. Check out the last section of this post to find out how to get started.
Interesting dates coming up in the next few weeks:
- June 23rd, dh_python2 porting jam. Expect a separate announcement.
- July 11th to 15th, Ubuntu Developer Week! A week full of development tutorials, workshops and interactive sessions. (If you want to request a certain subject for the event, answer here: identi.ca, twitter.com, facebook.com.
Last week I pointed out five different bitesize bugs. Let’s see how things stand:
- 769405: fixed upstream, bug closed in Oneiric.
- 785052: fixed in Oneiric by Alexandru Cucu, Natty fix still pending.
Awesome work everyone! The other bugs are still up for grabs!
Each week, I’ll talk to somebody who just got their fixes into Ubuntu and ask them about their experience. This time it’s Abhinav Upadhyay from India.
Who am I: I just gave finished my undergraduate studies(B.Tech) in Information Technology from Northern India Engineering College. Actually I just gave my final exams, and awaiting results 🙂
My Ubuntu Story: I have had a huge interest in software development and programming since my school days, but my experience was largely limited to the Windows platform and Microsoft technologies. I wanted to expand my horizons, at this point someone suggested that I should move to Linux if I want to learn more. So about 4 years ago, I started exploring different Linux distros. I started with OpenSuSE, then Fedora but finally I settled down with Ubuntu 7.10. The reason I liked Ubuntu was that, I did not have to really know how to use Linux in order to try it. I could try the Live CD feature, and the installation was super easy. The reason I point out this is because I had no one around me to teach the ins and outs of Linux, but once I installed Ubuntu, I started to explore things.
All these years, I used Ubuntu for programming, studies and my project works. I did numerous projects in my undergraduate and all of them on Ubuntu. I did projects on C, Java, etc. With me starting to use Ubuntu full time, all of peers also got curious about it. I encouraged many of friends to try Ubuntu, and they have also become a happy bunch of Ubuntu users. I always tried to help them with any sort of problem they had with Ubuntu.
It was all good to be able to use Ubuntu to do my work, but I was limited to that. I wanted to get to the other side. I wanted to be able to contribute to Ubuntu, Linux and to the wide spread open source community at large as they have helped me immensely all these years. But the biggest road block was “How do I even get started, I don’t know how this stuff works ?” but just at the right moment I came to know about the Ubuntu Developer Week (during the Natty cycle). If I say that UDW was the best thing happened to me in the last 4 years, then it won’t be an exaggeration. During UDW I learnt about the Ubuntu Distributed Development Process and the tools used for development, how do I get the sources, how do I fix a bug, generate a patch, make a merge proposal, etc. The sessions were fantastic. Soon after the UDW, I started to fix bugs in Ubuntu and submit patches (more on that below).
I fixed some bugs in the next 2-3 weeks after the UDW, some of the important fixes are below:
- Bug #707405 (tomcat6-instance-create should allow -c -1): This was a simple fix but a good one to start with. I found it from harvest.ubuntu.com. It was a good starting experience. After getting the sources I had to figure out the relevant source files which needed to be modified. After I fixed the bug and made the merge proposal, I got useful and encouraging replies from the sponsors (they suggested few enhancements in the patch) which I did and within a day, I had my first patch in Ubuntu 🙂
- Bug #297675 (Tomcat6: Eclipse can’t find catalina.policy and bootstrap.jar where it expects them): This is an interesting story. A friend of mine was doing some J2EE related project on Ubuntu but he was not able to setup tomcat inside Eclipse. He told me about the problem, I found a work around but it required some amount of work to be done by the user to be able to do this, so I decided to fix this in Tomcat myself. I found a bug report on LP but it wasn’t being worked on (since last 3 years). I fixed the bug, (it has been merged in Debian as well) and now it is super easy to setup tomcat in Eclipse.
- Bug #357847 (ubuntu-bug wish: allow to just point at the window of a buggy application ): This is one fix, that I like to boast around a lot ;-). I don’t think I need to say a lot about this, but this was the single fix, which provided me the most amount of learning experience. The source of Apport is very readable and a source to learn how to write great code. Martin was very helpful in answering any questions related to Apport.
- Bug #757635 (Tomboy: Hitting delete key while focus in search box triggers deletion of note): This was a bug in tomboy which I discovered myself and fixed it as well :-). The fix has been merged upstream but the version in Natty was lagging behind the current Tomboy release, so I submitted my fix to Ubuntu as part of the debian/patches.
What am I working on now in Ubuntu:
- Bug #772336 (Apport: Add feature to take screenshots of the buggy window): After adding the -w/–window option to apport, I wanted to add the screenshot feature as well. I had also developed a working prototype for this but it needs to be ported to Gtk3 and it does not seem possible to me in the present scenario, but I will investigate further into this. I am not going to let this one go 😉
- Bug #386893 (Tomboy: Searching within a notebook should inform the user that no results were found within that notebook): Actually this was the very first bug that I tried to fix, but unfortunately I am still working on it. I have submitted another patch for this upstream and got some useful feedback. Hoping to fix this in coming days.
Apart from fixing bugs, I have also become to be known in my college as “The Ubuntu Guy”. I have conducted sessions in my college on the installation of Ubuntu, learning to use it for work and development, and also a session on UDD during an open source conference.
My Experience: I will be grateful to the Ubuntu Community forever. It has been a wonderful learning experience. The developers and community members are always polite when answering questions and welcome the new comers. Initially I used to hesitate in asking questions, but during all the time I spent in the community, I never got a shout or harsh reply (doesn’t matter if I asked some stupid questions).
Another great thing that I got with my experience with the Ubuntu Community was that I got confidence. It is one thing to know about programming, but it is another thing to read source code of real world projects, make changes in it, and submit your fixes to the developers and maintainers of those projects. This experience gave me the confidence that “Yes, I can also do it.”
With this confidence only, I applied for the Google Summer of Code this year. I always wanted to participate in GSoC but never had any experience of open source development nor the confidence. But things had changed this year, I had the confidence and I had the experience. I applied for The NetBSD Project (my one and only proposal) and it got accepted. I am working on it right now and enjoying every bit of the experience.
I also got numerous job offers, making it hard for me to decide where to work. In short, Ubuntu has changed my life. I have no words to express my gratitude.
Problems faced: Well, my experience with Ubuntu community has been far better than I expected, so I really don’t have anything to complain about 🙂
Although, I felt a bit bad when my name was removed from the Changelog for tomcat6 for a patch that I submitted. Apart from that I don’t recall any particular problems faced.
What could have been easier/different: This is just a suggestion. I think it would be great if there was some way or feature to showcase what all problems a contributor has worked on. Currently on LP, there is no such feature to show all the fixed bugs at one place. This will be a motivating factor for new contributors as well as it will help them professionally as well, as they will be able point to their employers at one place to look at their work.
I think that you writing blog posts about new contributors is also a great initiative, it will give lime light to them and also encourage them to work even more harder. Maybe providing new contributors a blog space on Ubuntu.com could also be a good thing to do where they could blog about their work.
I would like to conclude by saying that Ubuntu is a great project to start your journey of open source work, the community is warm hearted and welcoming and the experience is very smooth and addictive, you can never have more of it. 🙂
- Read the Introduction to Ubuntu Development. It’s a short article which will help you understand how Ubuntu is put together, how the infrastructure is used and how we interact with other projects.
- Follow the instructions in the Getting Set Up article. A few simple commands, a registration at Launchpad and you should have all the tools you need, and you’re ready to go.
- Check out our instructions for how to fix a bug in Ubuntu, they come with small examples that make it easier to visualise what exactly you need to do.
Find something to work on
Pick a bitesize bug. These are the bugs we think should be easy to fix. Here’s a few examples:
- 795239 eject: unable to find or open device for: `cdrom’ – but my cd is /dev/cdrom1
- 792008 Wrong initial tuning data for fi-Kuopio
- 791635 Unable to set Kmail as default email provider in Gnome
- 790050 /etc/profile runs /etc/profile.d/*.sh twice
- 789179 Typo in the man page of oggz-rip
In addition to that there are loads more opportunities over at Harvest.
Talk to us in #ubuntu-motu on irc.freenode.net to get all your questions answered.