The winter holidays are a provide a good opportunity to do something useful in that downtime between celebrations. Funambol’s community programs provide three ways to have fun and earn some cash, too.
1. Participate in the Code Sniper program: it rewards the efforts of the open source community to help build the open source mobile cloud. The Funambol project provides the basic framework, including server and clients, that implements an open standard (SyncML, also know as OMA DS and OMA DM). You can propose to develop new clients and connectors or to help improving an existing project. Each contribution counts, although developing code counts more: writing work items, writing full bug reports and testing them is worth $10; fixing issues and developing new features is decided by the community and it can reach $500. If you want to start a new project you may want to read How to develop a SyncML client the Agile way. Or you can help an existing project, like Thunderbird: check the list of active requirements. Bounties go up to $500. Find details about Funambol Code Sniper and also on Galoppini’s blog.
2. Test your new phone with Phone Sniper program: if you get a new mobile phone as a present, make the most out of it and rush to myFUNAMBOL, sign up for an account (if you don’t already have one) and test its sync and push capabilities. Send a report back to Funambol and earn $25. Check the list of phones that need testing on Phone Sniper program pages.
3. Translate a Funambol client with L1on sniper program: one simple way to get started with Funambol is to download the code and compile it yourself. Once you’ve done that, you’re ready to translate the client into your local language and earn $250. Once you’re done, send the patch with the translated files and some screenshots of the application. Detailed instructions are on L10n Sniper program pages.
Back from Italian Agile Day where Stefano Fornari of Funambol with Marco Abis of Sourcesense animated a debate about mixing Free/Libre Open Source Software (FLOSS) and Agile development methods. I used to think that there was no issue because, after all, free software is a way to release software and it’s not a development method like many still think. Strictly speaking, what makes software free and open source is its license, not how it’s developed. But a lot of FLOSS is indeed developed in similar ways, with distributed teams, volunteer based contributions, merithocracy based leadership and so on. Some of these traits make FLOSS and Agile difficult to mix.
At Funambol we love Agile, me included, and we love to try new things so we proposed an experiment mixing Agile methods with community based development into a new Funambol Code Sniper program. The slideshow below summarizes the basis of this experiment based on the assumption that the community is the Product Owner of the new software. The community will have to define the user stories and also to define when they’re DONE.
There are still a few grey areas, the biggest being how to distribute rewarding to contributors. I think they should be proportionate to the efforts put into the project. Even if it is possible to evaluate code contributions proportionally to story points (or hours/weeks), code is only a part of software development. Bug reporting, quality assurance, feedback and even writing user stories is important as well: how to evaluate these other kind of contributions? What do you think?
Gianugo Rabellino has given me more food for thoughts about my research on Free/Libre Open Source software development and Agile/Scrum methods. His latest post contains a sentence that summarizes my key finding so far:
At the end of the day, this means that the customer is there – it just happens to coincide with the community as a whole.
Talking with my Funambol colleagues, the pragmatic agilists, and looking at Ross Gardler presentation below, I have the confirmation that the Pentaho guys are on the right track with Open Scrum. I also learned that it’s better not to use the word Scrum if it’s not The Scrum you’re talking about. With that in mind, I’m now focusing on best practices for communication between developers distributed around the world (more in latest posts).
Funambol engineering team uses the SCRUM methodology to develop software. It’s a very interesting method that seems highly compatible with free/libre open source software development habits. It mandates fast release cycles (like the release early/release often mantra), teams that can self-organize. SCRUM also mandates fixed time (2 to 6 weeks) to complete a development cycle (called iteration or sprint). This last part doesn’t seem to be very compatible with contributions by volunteers.
I’ve been looking for other free software projects that use SCRUM internally to understand how they involve external contributors, volunteers, in strictly time constrained release cycles. Pentaho wiki has a very interesting paper on the topic, but I still don’t understand if they have established a process to assign user stories to volunteer contributors.
I wonder if some have tried and failed or nobody has ever tried this at all.