Saturday, August 02, 2008

Essential Motivation in Free Software

Being really tired to code anything on a Friday evening while the TV tries to force me to watch Dick Tracy in vain, I decided to do a web search on reviews about SpeedCrunch.

I was surprised with the amount of recent articles about 0.10.1, complete with screenshots and non-copied-and-pasted text. I quickly found some 20 posts, and that was just looking for pages in English, Portuguese and Spanish. Articles in Spanish and Brazilian Portuguese are quite common for some time (thank you everybody responsible for that!), but today I got really touched when I found a very nice page with a review from someone from Portugal for the first time. The feeling is even bigger when one lives outside the home country.

I haven't found a review saying SpeedCrunch essentially sucks so far, and the opinions are actually VERY favorable. On top of that, readers often comment on those pages thanking for the divulgation of such great alternative free software. The voting score is also generally the highest possible.

So in addition to blogs, some of the websites were software aggregators that actually host the application files (they don't just link to our download page). That was when I found out by summing the few that I visited, that I could add at least 10 000 downloads to our counter (which is currently around 22 000, just for both Windows options). Well, considering all the websites that I didn't visit, and that every download eventually results, in average, in the sharing with the whole family / friends / office mates / class mates / you-name-it-group-of-people, I truly believe that the current amount of users (again, just for the Windows versions) can be, at the very least, 100 000.

Since SpeedCrunch is also available on almost all the most popular Linux distributions, and especially considering that it is shipped as the default desktop calculator in Kubuntu, the total number of users is probably extremely interesting for a project that started only as a toy and a proof of concept, and has always been a 1-2 active men project (active as in when the rare spare time after the real job and private life allows). The recent recovered support for the OSX platform also contributed for the increase of total official downloads, which surprised me a lot, to be honest.

Finally, it's also very gratifying to read Wikipedia pages mentioning our beloved pet project, on articles like division by zero and arbitrary-precision arithmetic. All of these factors are quite important in order to keep the motivation levels high and refuse to stop improving the project because nobody really uses it or really cares.

It's fairly easy to start a free software project, but maintaining it is a hell of a trip. On activity peak times, you can't just stop coding until you reach a certain satisfactory level of features and stability. After that period, you run out of ideas and free time. So people suddenly come to you and complain about bugs or features that MUST be there, otherwise the product is useless and the author a jerk. This can easily lead to the extinction of projects, which is probably the most common destiny of them all anyway.

Developers must then learn how to ignore destructive comments and incentivate constructive ones, instead of starting flame wars, stalling the project and wasting precious time. Feature suggestion and bug reporting are two essential and determinant factors that only the users can do, and will definitely contribute for the survival of a project. I imagine that if what has been happening with the KDE Plasma project lately happened with a "small", innocent and unpretentious SpeedCrunch, the application would probably have frozen in time. All because ingratitude and destructive positions send real contributers' motivation to the void.

So thank you for being there and keeping this project alive and kickin' :)