09.26.10

If not me…

Posted in Camino, Life at 10:40 pm by

Working as part of an all-volunteer team on a web browser that competes with multiple corporate-funded and -developed browsers can at times be frustrating. Competitors employ dozens (or more) developers to work full-time on their browsers, and they usually have funding to hire more developers when needed (or, at worst case, the ability to reassign someone from another team or product in a pinch). They have marketing budgets, the ear of the press, and the ability to use overtime to get things done.

In contrast, an all-volunteer project by definition relies on the donations of limited free time from interested individuals—free time that could otherwise be used to go to the movies, study for exams, spend time with friends or family, or ride one’s horse through the wilderness. No one can tell a volunteer developer “you have two days to finish this feature” or “you’re going to drop everything else until this bug is fixed” or any of the myriad of managerial commands available to corporate browser developers. Sometimes you can’t fix that bug because real life intervenes, and you and your fellow volunteers can’t implement that great feature idea for a lack of hours in the day (or other similar manpower constraint). Sometimes working on an all-volunteer browser is like going into a fight with both hands and one leg tied behind your back, and that’s often disheartening.

Recently, this thought from Kevin Hoctor (via Michael Tsai) really resonated with me:

What struck me recently and inspired me to keep on the path was a simple question: if not you, then who? Are there any software products out today that I would use instead of my own? No, there are not. And why not? Why do I still like my finance software better than anything else?

In the face of all of those obstacles and limitations, why do I continue to spend my free time helping to build a web browser? Fundamentally, it’s as Hoctor says; Camino is the browser I want to use. I’ve used most of the other Mac browsers out there, and I don’t really like them; some are plagued by a quest for the kitchen sink, some have been hit hard by the “ugly stick,” and some change all the time to match the latest internet fads or whims from above. None match my browsing needs and wants as well as Camino. Sure, some might have feature x that I’d like that Camino doesn’t yet have, but they also have drawbacks that Camino doesn’t, and the overall experience always tilts in favor of Camino. And if I’m not working to create this browsing experience, then who will? Sure, it’s frustrating (and even soul-crushing) at times, but this is a browser, a browsing experience, a trusted tool, that I love.

There are, of course, other reasons why I work on Camino: the great people on our team who’ve become friends over the years, our loyal users and our supportive community, and the desire to ensure a quality alternative browser to the corporate-developed products. But it begins and ends with that same thought expressed by Kevin Hoctor: if I don’t (help) build it, who will?

9 Comments »

  1. User Grav­atarBruno Escherl said,

    09.27.10 at 6:58 am

    Nice blogpost, summarizes quite well the reasons I do work for SeaMonkey. It’s my favorite browser and I want to help it to keep up-to-date as far as it’s possible.

  2. User Grav­atarJosh said,

    09.27.10 at 11:21 am

    I really wish I had the time to work on patches for bug, because I DO have the time, but I don’t know how.

  3. User Grav­atarOlivier T. said,

    09.28.10 at 9:19 pm

    Wonderful post, and a good primer for whoever wishes yo understand the motivations behind open source.

    @Josh – the trick in open source is that you don’t need to write patches to have a valuable contribution. Indeed, in most cases, when you contribute to open source projects writing code is the last thing you will be doing.

    There is so much more to it, so many things that will help the community, help build better software and also help you figure out the innards of the project and the community.

    Check if there are bugs you know of that haven’t been reported. Check if some bug reports are incomplete, if they could use better explanation or a test case. Check the mailing-list for issues where you could bring a constructive point of view. Check the documentation – is it up to date? Is it good and clear to your (relatively) novice eyes? Check the guidelines for contributors – do they exist at all, are they clear enough that you can find your way; would you suggest a better way to write them.

  4. User Grav­atarOlivier T. said,

    09.28.10 at 9:22 pm

    … and (I pressed Submit when I wanted to press Preview) – enjoy the ride. Contributing to an Open Source project (or indeed any community-driven project) is seldom a walk in the woods, but there are few things as fulfilling. :)

  5. User Grav­atarSmokey said,

    09.29.10 at 12:52 am

    Josh: As Olivier mentioned above (great list of suggestions!), there are lots of ways to help out with a project.

    I started out with Camino by triaging bugs and trying to reproduce unconfirmed bugs, slowly moving on to also working on our website, developer documentation, and, eventually, release management. Over time, too, with the help and encouragement of our developers, I learned a little Objective-C and about the code structure of Camino, and I started fixing simple bugs. I can’t always fix the bugs I want to fix, but there are always bugs I can fix, and I keep trying to learn more things so that I can fix more bugs.

    If you do have time you can spend contributing, there’s always some way to help out directly that doesn’t involve code—or you could find a good tutorial and use your time to start learning a little bit of the programming languages and skills needed, and then ask around for some simple bugs to start flexing your developing programming skills. ;-) We don’t always have a lot of time that we can devote to the project, but we’re always ready to help out those who want to contribute (and that goes for almost every good open source project; contributors are valuable and precious “blood” for a project).

  6. User Grav­atarkarl said,

    09.29.10 at 1:28 pm

    Pushing the envelop a bit further on how to start in opensource project. There are many ways.

    * Documentation, bugs, tests have already been addressed.

    * You are a designer, you can draw icons? logos? Have notions of colors, etc. You will be *very* useful for the developers, be the product or the Web site of the product.

    * You are a Interaction designers, you might be super useful in terms of defining the design of the UI or sequences of events of the products.

    * You can also help the developers by reporting/testing bugs if it is about implementing W3C Web specifications (html, css, svg, etc.)

    * You might be helpful by writing quick tips for using the product, hidden features, etc.

    There are so many ways of helping.

  7. User Grav­atarFrançois Granger said,

    09.29.10 at 2:37 pm

    This is another occasion to thank the Camino team. They do a real good job and deliver a wonderfull browser. Almost since it biggining, Camino became my first browser. I use almost all the others one way or another. But Camino is the default one on my computer.

  8. User Grav­atarSmokey said,

    10.01.10 at 12:35 am

    karl: Thanks for expanding the list of ways people can contribute to open source projects. :)

    Camino has a Contribute page which lists some area where we always welcome contributors (including localization, which no one has yet mentioned in these comments).

    The Mozilla Project also has a similar page for Foundation, Corporation, and Messaging activities.

    François: Thanks for the kind words; we’re glad you like Camino!

  9. User Grav­atarContributing to Open Source 101 : Artsy Techie said,

    10.01.10 at 8:44 am

    […] An article from a developer for the Camino project gives some really good insight into the motivations of open-source contributors. […]

Atom feed for comments on this post · TrackBack URL

Leave a Comment