TrueJournals

Life of a programmer

What people need to learn about Rockbox

, , , ,

Sub-title: And, presumably, other community-based open-source projects.

For those of you who don't know, Rockbox is my favorite open-source project. It's an alternative firmware for a wide range of MP3 players, and I eagerly installed it as soon as the H10 code was committed. Since then, I have been watching the project and have even started making my own build. I'm always excited to see when there's something committed, because it's usually something good.

Now, I was recently looking at the Golden Quotes page on the Rockbox wiki, and I decided to look at the origin of one of the quotes. Specifically, "I got Rockbox because i expect more out of them, and i have a right to expect more" ... "Now make me proud and make these updates i ask for done ASAP, by tomorrow or even this weekend would be great" -- From http://www.misticriver.net/showpost.php?p=518385&postcount=9. I decided to read through the thread and realized that there's a lot people do not understand about open-source. There should be a list of what people need to know before using a piece of open-source software. Let's see what I can come up with:

  1. Committing something to SVN/CVS is NOT the same as releasing it. Releases for Rockbox do not happen that often. The last release of Rockbox was at the end of 2005. For those of you who still don't get it, a release is when the Rockbox developers decide that Rockbox is at a very stable stage for all current targets. They will introduce a "feature freeze" before an actual release is made. A feature freeze is a period of time where only bug fixes, and not new features, are committed to the code. A SVN revision number is NOT a release version.
  2. Rockbox developers have lives. Seems obvious doesn't it? They don't just sit around at home all day thinking of ways to slack off from coding for Rockbox. They go do their jobs so they can get paid and continue living like they do. If they have free time, they will try to use it for developing, because (as far as I know), they usually enjoy it. Rockbox developers, unlike developers for corporations such as Microsoft, do NOT get paid for developing (Rockbox). You can never know when a feature will be released because it's hard to say how much time the developer of that feature will have.
  3. YOU DID NOT PAY MONEY! Meaning, you can not demand features. You have a right to demand features from (using my previous example) Microsoft, because you paid money for their projects. Yes, there is a DONATION button on their site, and as far as I'm aware, donated money goes toward server bills, and other various expenses. If you pay one of them $100, I'm sure they'd be glad to develop a feature for you (assuming it is possible). Don't quote me on this though... I don't want them getting angry at me bigeyes
  4. Don't yell at the developers. Once again, they are not there to please you specifically. If you are told, "It's being worked on," don't ask "ETA?" If you do, they'll most likely say something along the lines of, "It's hard to say." After this, drop it. Don't pester them. The best thing you can do at this point is offer to help them in any way possible. Respect that they are doing this project in their free time.
  5. As Daniel Stenberg put it, "first you R, then you go over to T while slowly considering F and the adjacent M" (for those of you who don't get it.. RTFM = Read The F***ing Manual). Unlike manuals by corporations, open-source manuals are surprisingly easy to understand. They are written for people, and by people who use the product. If you see something in the manual you don't understand, bring it up in the IRC channel, forums, or whatever and ask. People will be glad that you at least read it. Perhaps someone else will read it and say, "You're right... that doesn't make sense. I'll fix it." And fix the manual so you no longer have a problem, and everyone else no longer has a problem. Helping with the manual is one of the easiest and best ways to help with an open-source project.


OK, that's three things you should know before using an open-source project. I think it's a pretty good list. Think I'm missing a major point? Please comment and let me know!

Done with Team-DSXAmarok 1.4 on... Windows???

Write a comment

New comments have been disabled for this post.