For some time ago I’ve been pondering about this question. As long as GSoC 2009 is about to start and people are looking for project ideas, I’m posting here a very preliminar draft of my findings and an idea for a posible software project. It’s pretty written on-the-fly while I’ve managed to have some minutes between work and uni. Rigurous wording isn’t P1.
Debian’s social contract 4th item states:
Our priorities are our users and free software We will be guided by the needs of our users and the free software community. We will place their interests first in our priorities.
When we make decisions, either technical, legal and others regarding the operating system we deliver, this is one of the most referred argument. Altough that’s seen as high priority often we don’t have ways to properly know what our users want. While working on translations on the Spanish team we’ve faced this situation. Do our users find them useful? they are able to understand them? they find that a much familiar wording would be bette than high technical details? We didn’t know. Then, the question still exists.
Altough Debian has ways for users to provide feedback (BTS, mailing lists, IRC, popcon, etc) none of them is designed to offer a way for the user to provide feedback on features, development roadmap and other non-bug aspects that developers and the project can tally and use for prioritize on releases. It’s rather amusing to note that one of the most valuable assets free software community has is user involvement and contribution.
But before we enter in details let’s start on the basics. For using this information we first need to know who our users are? do we? From my findings and interaction with the community I’ve identified two kinds of Debian users who can be clearly named.
1) The derivatives or pure blends, who use the Debian base and framework to build niche distributions.
2) The lead users (using E. Von Hippel’s definition), who are the developers, contributors and a group of users. Debian is, if not the only, one of the projects who is best for fostering lead users. Most of them at some point involve themselves in the development process and some, later become developers.
There is a more diverse group who are end-users but it’s unclear to me how we can group them. Despite that they probably represent the biggest part of the pie.
So, how we do please everyone? can we? In my opinion we can, at some degree. By implementing tools for first: gather user feedback, make statistical data, tally, we later can take informed decisions. In Debian decisions are voted and the set of people who votes are only developers with their own constraints.
I think this would ease the constant that release-decisions-regarding-foo-tech-legal-issue represented on each release iteration, saving time, health and bits. It could be useful for knowing more about who are the ones we develop things for. I’m thinking of some sort of Dell’s IdeaStorm.com for software.
What do you think? I’m willing to co-mentor this if someone finds that is an interesting project for GSoC. Let me know!.