Friday, April 12, 2013

Mozilla: True Open Source

Mozilla: True Open Source

Lately I have been very busy and quite stressed. It seems like my list of things to accomplish is never ending, and I have noticed that my coffee intake has gone up about 100% (Which probably isn't a good thing). However, I decided that it would be beneficial for me to take some time to forget about my todo list, and write about true open source.

As many of you know (I should hope, if not, you now do know), I have been contributing to the Mozilla Project for awhile now. I have done mostly front-end changes to Firefox and Thunderbird, and lately my contributions have been more rapid, which I am very  pleased about. After getting more familiar with the source tree, and new web APIs, I have been able take a lot more bugs.

Remember that now I am more than just a "One time volunteer", I am an active contributor to the project. But this brings up the point of this post. Why am I more than a just another minor developer? Well the reason is that Mozilla is true open source, not Google open source, or even Github open source. Mozilla is actually more than Open Source, it's an Open Project.

I have tried to contribute to many, many different projects, but here's the deal, you can't *really*, contribute to them. First take Google's Android, which they call "Open Source". Is it open source? Sure. You can take the code months after it is released, but don't even think about giving back to it.

Now Chromium. OH! That's another Open Source web browser, it should be just like Firefox then right? Well it should, but it just ain't. I have tried to make some changes to it, I checked out the source (which by the way took about a day to accomplish), made a few fixes, then tried to find a place where I could send this patch... I looked and looked... However I couldn't find anything. Eventually, I just dropped it and left. Chromium is another project where you can get the source, but if you want to contribute a patch, then good luck, very few people will figure out how to do that.

Next examine Github or even Bitbucket, people create Open Source projects there too. Yes, and these are very nice. You can contribute to whatever projects you want, but again there is a catch. Most projects are small, but still you will make a few changes and try to push it. Well, the person who has to accept a merge doesn't know anything about you. They might never even look at the patch, in fact, they might have completely forgotten about their project. Github is Open Source, but that is about it.

So I did all of that before I hoped onto Bugzilla. But at Bugzilla everything changed. At first, I filed bug reports, many of them actually, some still need to be addressed. I did that for maybe a month. Then, when I was working a little more on testing the ability to add swipe animations for Firefox, I thought it might be a good idea to add the animation even without a Mac, just by pressing the back button. (Okay, now that I think back on it, probably not the best thing UX-wise, but whatever), so I decided to file a bug and started working on it. I was then pointed to IRC for some help when I needed it, and began spending a few hours a day on it.

So I kept working on that bug, while also filing others, and whatever else. Eventually, I started spending more time on IRC, almost the entire day actually. It allowed me to get to know more about how things worked, I talked to some people on it, and became part of the project. And then I finally got to the point where I needed a review on my patch. At the same time I had to re-request ui-review because of some confusion.

The next day, my reviewer pinged me and told me that he was impressed with my patch, and was surprised that it was my first one. Unfortunately that review+ never showed up on that bug as UX decided to ui-review- that (which I completely understand). However, since then I have worked on many bugs, mockup'd a new UI for TB, and much more.

The point of this exhaustive story is that at Mozilla I have done much more than anywhere else. Firefox is a full, advanced product, and there are people who make their living by working on it. I can never be sure why they decided to let just about anyone work on something so important, but they do, and it is quite amazing. Volunteers aren't just another minor developer, but instead can be full-fledged contributors. Now, I don't know nearly as much as some other people, but this experience has been a wonderful learning opportunity so far, and I can be sure that it will continue. I have only been a part of this for a few months, and have done so much already, I can hardly wait to see what the future has in store.

To the Mozilla Developers who have helped me/worked with me: Thank you for making this experience different than everything else. You have taken time to help me with what may seem like obvious questions, and have now allowed me to contribute more significantly... To the UX team, although you didn't like my first idea, my TB concept was promoted, and has gained some serious momentum which I am most grateful for. I also want to thank Mike Conley, Stephen Horlander, Stephen Pohl, and Jennifer Morrow for allowing me to constantly bother them with questions and ideas, I really appreciate it.

Mozilla really is different, and they should be proud. I know I am proud to volunteer for such an outstanding organization.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.