Leveraging skills to help Free Software

A lot of talk in the Open Source community is about contributing. Indeed in a previous blog post I mentioned a discussion I had with a guy who doesn’t directly contribute back to the community. I think there’s distinct reasons why people don’t give back to the community directly. First it’s worth outlining some of the ways in which people can contribute.

Design Software

Software doesn’t just appear out of nowhere (unless it’s written by Novell ;) ). Ideally someone has to design and spec up the software before any code is written. If you have an idea for some software, and a search on line yields no results then write up a design specification for your idea. Run it past your local Linux User group or other distribution specific communities such as forums or mailing lists. Some might pooh-pooh or praise and embellish your idea, others might tell you it’s already been done. You never know, you may stumble upon a developer who is willing to take up the project and help develop it.

Write Software

This is an obvious one, but clearly can be a tricky :) If you know a programming language then you have a good head start here, if you don’t and feel you don’t have the inclination to learn then maybe try some of the other things in this list first.

Fix/Enhance Software

Pretty much all software has bugs. If you know a programming language then maybe you could contribute by fixing some of those bugs in existing software. Of course as with writing software, fixing bugs is a tricky thing, so again maybe something else on this list might be more accessible.

Test Software and Feedback

Testing software might mean installing new versions of applications you already use, using new distributions or just using your existing setup as you normally would. The essential part is the ‘feedback’. Authors of software generally don’t test their software in every possible permutation, that’s what their users do. It’s critical that users who experience issues with the software feedback to the development team (or individual) when things go wrong.

Test Software and don’t Feedback

Testing without reporting bugs back to the developer could also be considered useful, especially if you think that you might be one of only a few people using the software. Maybe the experience you have gained in the testing you’ve performed could be used in discussions with other users of the software. I’ve lost count of the number of times I’ve heard someone say something like “Function ‘foo’ is broken in application ‘bar’ version 3.” and someone else pipe up with “That’s fixed in version 4 of ‘bar’.”. The second person may have learned this through testing the software themselves. I believe word of mouth is very valuable in the Open Source community, many people are much more likely to use some (version of) software that a friend personally recommends than if they stumble upon it somehow.

Support Users

No matter how little you think you know about something, chances are there’s someone else who knows less. These people often frequent user groups, mailing lists and discussion forums. If they ask questions, maybe you can help them. Some distributions such as Ubuntu have a help desk ticket system in which users post their questions. Maybe you can try answering some of these questions.

Write Documentation

Have you ever looked at some software and wondered why the documentation was awful? It’s probably simply because nobody set aside time to write it. Developers often like to develop and aren’t motivated to write up documentation about how to use their product. If you are unable to code, maybe you can write some documentation or a how-to on how something works. You could pick something that you know and document that, or maybe pick a new application to learn and document as you go. When users search for help with applications online for a product it’s great to find a how-to from someone learning the application because they often write with less assumptions than an expert, so you get a better view of how to use the product.

Translate Documentation

Can you read/write more than one language? If so maybe you could contribute by translating some documentation or how-tos from one language to another.

Translate Application Data

Most applications tend to be written in English first and maybe translated later. Sometimes there are missing translation texts or whole languages that are missing from an application. Maybe you could contribute by correcting spelling/grammatical mistakes in an application.

Design Collateral

I have no artistic skill whatsoever and I admire anyone who can draw/paint/compose anything. If you’re one of those lucky people maybe you could help by designing logos, sound effects or other collateral for an application. Alternatively an applications website may need a touch-up.

Help Your Local Community

Wherever you are in the world, the chances are that there is a local user group near you. This may be a LUG (Linux User Group) or one more specifically tailored for your distro or specific applications or hardware you use. Many of these groups are organised and run by a limited group of people. They may have very large memberships but most of the work is often done by a small number of people. They may well need help in running group events, managing resources or helping their membership in other ways.


Ok, so those are some of the ways in which people could contribute, but what about those people who don’t, why don’t they?

The “I don’t have time” excuse

What do people do with their lives that doesn’t leave 10 minutes for a bug report once a day/week/month? I suggest that people who use this excuse are actually saying “I have other things I would rather do with my time”, and not actually (as is implied) “I’m just so incredibly busy in my life I have no time for all this extra non-essential stuff”. Yet people who complain about having no time have time to read a mailing list and reply with “This application is broken” reports to people can do nothing about it. Seriously, if something is broken, report a bug.

The “I can’t do anything” excuse

As I’ve tried to outline above there’s a lot that people can do, even if they (like me) can’t code well (or indeed at all).

The “Nobody helped me, why should I help them?” or “I learned the hard way, so can everyone else” excuses

These are of course just plain rude and really don’t help the community. The fact that someone has learned how to install and configure an application all on their own with little help for that from outsiders doesn’t diminish the fact that the software wouldn’t even be there in the first place if it wasn’t for the community. Just because nobody helped you install and configure the software doesn’t mean that they’re not helping you by providing the source code in the first place.

The “But everything I use just works fine, there are no bugs I see” excuse

That’s great! How about writing up how you manage your software stack, how you use the applications effectively. Others might learn from your sagely tips, and it might provide motivation to others to get their system in a state where they are unaffected by bugs.

The “I just don’t want to” excuse

Not much you can say to that is there?


The fact is we can’t force people to help, but we can make it easier and give them alternatives to ‘fix bugs’.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
This entry was posted in Advocacy, Linux, Ubuntu. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

5 Comments

  1. Posted October 3, 2006 at 4:28 pm | Permalink

    Advocacy is also a valid contribution. Over the past several years I have distributed hundred of Linux CDs, helped dozens of users switch or dual boot their machines, gotten a linux server adopted at work, generally spread the word about free software. I’ve participated in anti-DRM actions and talked at least 2 programmers into contributing code to free software. All in all I don’t think that’s a bad contribution for someone who isn’t a coder.

    Tim
    Reclaim your digital rights, eliminate DRM, learn more at http://www.defectivebydesign.org/what_is_drm

      More from author
  2. Alan Pope
    Posted October 3, 2006 at 5:14 pm | Permalink

    Advocacy is what I do most of myself :)

    How could I forget that. Thanks!

  3. Alan Pope
    Posted October 5, 2006 at 10:43 am | Permalink

    Maybe there should be a big “Don’t Panic” button on the desktop.

    If you visit ubuntu.com and click the big happy smiley support dude icon you get to ubuntu.com/support, but if you click just below him on ‘Community’ you get to ubuntu.com/support/free and at the bottom of that page you find a link to https://launchpad.net/distros/ubuntu/+tickets labeled “tech support system”.

    It’s certainly not obvious, that’s for sure.

    So I filed a bug, number 64149. Not sure it’s in the right place or has sufficient detail, maybe you could add to it if you think it doesn’t? :)

  4. Posted October 4, 2006 at 10:46 pm | Permalink

    A good post and some good points.

    Here are a couple of reasons that I can empathise with (I have reported a couple of bugs in the past…with help):

    • How do I report the bug? For instance, there are couple of things in Ubuntu’s Thunderbird release right now that could do with reporting. But there’s no obvious way that I can see to do it. It’d be nice if there were a menu option (maybe in the Ubuntu System menu?) labelled ‘Report a bug to Ubuntu’. I’m guessing that I have to go to the Ubuntu website and use some tool there – I haven’t got round to investigating that yet.
    • I can report bugs? Distros like Ubuntu are aimed at users. Probably users who’ve come from Windows. On Windows, you generally can’t report bugs; it’s not a real concept and you just put up with tehm. How do new, non-geek users get into the mindset of firstly recognising a bug when they see it (and not just working around it) and secondly actively reporting it?

    That last point generalises out to why people may not want to contribute in any of the ways listed in the post – they don’t realise that it’s an option, or they’re not interested in how it works – they just want to use it.

    On the other hand, when I have made the effort and reported bugs (especially on small projects where there’s just a contact to email) I do like the satisfaction of having helped to make it better.

      More from author
  5. Posted October 9, 2006 at 9:19 pm | Permalink

    Well, I appended to yours anyway. :)

    Thanks. I’ll try to remember where to find it in future.

      More from author

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Additional comments powered by BackType