Ubuntu Developer Manual Encourages User Contribution
In the open-source world, attracting new users to your product is hard enough. The ultimate challenge, however, is enticing third-party developers to build on top of your platform. Recognizing this fact, the team behind Ubuntu is preparing a “Developer Manual” to encourage contributions. Here’s a look at the endeavor so far.
In the project’s own (randomly capitalized) words, the Ubuntu Developer Manual is a “complete Manual for Writing Applications for Ubuntu, featuring comprehensive guides, howTos and information on anything you need to know after first installing Ubuntu.”
And in case that description sounds a little ambiguous, notes from the Maverick Ubuntu Developer Summit last May published on the manual’s wiki page offer a more specific outline of the team’s vision. They explain that contributors hope to produce a real, readable book — available in several languages — filled with example-based instructions for developing desktop applications on Ubuntu.
The project’s progress so far can be tracked on its Launchpad page, where it is being maintained like actual code. The initiative clearly remains a work in progress, but it has received several significant contributions recently.
Turning Users Into Developers?
The manual is being promoted as a tool for programmers interested in building applications on Ubuntu, and is slated (according to the UDS Natty notes) to become a major component of http://developer.ubuntu.com. What struck me most when reading through the actual content however, was not its value as a resource for seasoned developers as much as for simple Ubuntu users with no programming experience who want to make the jump to the coding world.
After all, most of the material currently marked for inclusion in the book is relatively basic, with a beginner’s introduction to Python constituting one of the core chapters. Most experienced programmers, I suspect, are by now already familiar enough with Python to not need such instructions. People new to programming, on the other hand, are the ones who would benefit.
To say that the project might serve the interests of novice coders more than elite hackers is not to dismiss its value. On the contrary, this could be an excellent way for Canonical to turn casual Ubuntu users into contributors, building excitement for the operating system while expanding the stack of applications available for it.
Free-software advocates like to argue that the open-source development model is superior to its proprietary counterpart because in the open-source world, everyone can make code better. And critics generally respond that such a notion would be true only if all open-source users were also competent programmers, which is not the case. Tools like the Ubuntu Developer Manual, however, would help to narrow this gap separating users from contributors.
Of course, not everyone is cut out to be a programmer, and even if they were, publishing a book containing a basic introduction to coding in Python would not guarantee that all Ubuntu users would choose to contribute. Eric Raymond’s utopian vision of a world where every user is a programmer, and every programmer a user, will never be more than a fantasy.
But by taking practical steps to lower the barrier for making technical contributions to Ubuntu, Ubuntu developers can build a more dedicated user base, and maybe just get some useful coding help along the way. I’ll look forward to the Ubuntu Developer Manual’s completion to see how this vision pans out.