Tuesday, January 22, 2008

Communication in an overgrown community

Here I try to answer problems posted at Why I’ve stopped reporting bugs to Ubuntu. In this discussion we should assume that everyone involved in a free software project is benevolent. This may not be true in some particular cases, but greatly simplifies discussion.
I belive problems you are facing with Ubuntu developers are part of a larger communication problem within the free software development community. Namely the community has grown so large, that it becomes difficult to communicate with others involved. Actually there are two problems here: communication between project members and communication between different projects. Here I will limit to the first, which will still take a lengthy post.

Developers now hardly only scratch their own 'itch', as there are many requirements coming from all over the world. Experienced developers have more features to add, have more developers-wanna-bes to teach, so they spend less time teaching the beginning developers. Also beginning developers have more and more bugs to solve and less time to spend with them. They are likely to haste the closing of a bug as that could take them closer to being 'full' developers. They have a rather self imposed target of closing bugs and that is a normal desire for advancement. They may not even realize that their bug patch is not ready for 'prime time'. This is not to say that it is anyone's fault. Everyone is working just as before, only there is more work to be done, there are more people to talk to.

Let us take some examples:
On the developer side, I belive the SourceForge.net, has over 1.7 million members and 167,515 projects. Even assuming half or more of those accounts/projects are inactive, these are still staggering figures. Imagine a quarter of these projects are active need at least a maintainer to make them work in your favorite distro, that requires 40.000 maintainers per distro!
On the user side UbuntuForums.org has 483,921 users. How do you handle that many users asking what not and making a flurry of bug reports? Most Linux Distros/projects are expected to hit this wall sooner or later, depending on their how good are their best practices in communication. Please read what Daniel Robbins says about the Gentoo community(-ies) at A tale of two cultures

Let us go to large monolithic projects, where the kernel 'Linux' tops over all other projects with 2500 developers. Here is the perspective on the developer side Being a Moron on linux-kernel. On the user side, nobody really knows how many running kernels are in the world, but we can surely tell that the figure puts a big strain on the user support sites. Communications problems here lead to ugly situations like Kernel Developers vs. Mainstream Users Duel. Also, here is a quote from the APC interview with Con Kolivas:

If there is any one big problem with kernel development and Linux it is the complete disconnection of the development process from normal users. You know, the ones who constitute 99.9% of the Linux user base.

Here is my atempt at a plan to solve this issue:
  • we need to raise awareness that we have a communication issue;

  • once everyone knows we have this communication issue, we should try to define it more thoroughly;

  • once it is defined we should try to find solutions.

There are several problems with this plan:
  • it requires communication throughout the community

  • we do not know precisely who is 'everyone' in the free software world.

    But How do we talk to non-contributing users? We surely can not ignore them, they are part of the problem!

  • How do we know when everyone knows enough about it? How do we know we have reached an agreement on defining this issue?

Let us not even discuss how can we solve it. It could lead us to solving problems of a group and ignoring everyone else's. That is no way good. Before introducing the "gate" system, Linux kernel developers had big problems like having no free time. Is the new system better? For developers it is, for users I'll let you, the reader, answer that question.
To end up on the positive side people should know this issue is being addressed at Linux_Foundation_Collaboration_Summit and here is where Mark Shuttleworth talks about some nice tools on improving collaboration: Ubuntu perspective.
These efforts are something that need be encouraged and extended. Also read my older posts at Better free software development and Standard for communication between project infrastructures

No comments:

eLiberatica 2008 - The Benefits of Open and Free Technologies Conference