Donating to Free Software
When I started using Linux in the mid 90′s almost all of the developers were part-time, even Linus Torvalds had another job and did kernel development part time. These days many of the core Linux projects (from the kernel through to Firefox) have full-time paid developers. Consequently, Open Source has been able to progress more in the last 10 years than the previous 20 years of development.
However, there’s still no independent software industry around the platform: I mean by this development shops that create application software for Linux. This is a problem. On the developer side it means we often lose programmers to other platforms as they move across to a space where they can earn a living. On the user side it prevents a range of users from using Linux because the range of software isn’t there to suit their needs. Both sides of this equation need to be solved for Linux to become a mainstream desktop platform. It’s these long terms problems that we’re trying to impact through the software center and the related threads.
If you look at other platforms, such as Mac, you see there’s a strong hobbyist or casual developer group who are very influential. This group has often made the most exciting, compelling and breakthrough applications and utilities. When the Mac desktop wasn’t cool (ie OS 9) this group kept the platform alive by creating great new software for users. It’s also this type of developer who was the first to adopt the ipod/iOS application space and who has been so important advocating the platform. These developers create software because they love doing so, and they get a positive kick out of the direct and indirect appreciation from users.
Free Software developers often cite the community aspect of being in the open as a driver for working on software. But there’s fewer ways for a user to show direct appreciation for the work. So we’ve been thinking about adding the ability for Ubuntu users to donate to free software applications that they love. It will provide a way for users to show their appreciation, and this positive feed-back will encourage the developer to keep cranking out great software. My expectation is that the value of donations will be in users showing their love and that it will provide for the odd “free beer”.
From a user perspective the experience will be that they’ll switch on donations and charge their account. They’ll then be able to donate to individual applications within the software center. It should be a straightforward user-experience but the variety of requirements to fulfill this properly is complex. There’s core problems like storing money within an account, how you process transactions and what the user can see within Software Center – I’m sure they’d like to see what they’ve donated to for example.
On the developer side of the equation the experience should be that a software project registers for donations and provides financial details. Then when some set of donations is received it’s paid out to their account. The core part of the discussion at UDS was around how you identify the right person to give the donations to. This a difficult problem. The proposal for the initial release is that we’ll switch on donations for software which has a foundation and has the legal structures to receive donations.
It’s a really exciting idea and one I believe will make a difference to encouraging free software. If you’d like to give feedback or track development add yourself to the blueprint.