Does a free software community exist?
Off the Beat: Bruce Byfield's Blog
Recently, I was taken to task for talking about the free software community. The criticism seemed motivated by spite more than anything else. But I admit that I often do refer to the community. So, since I believe in never leaving an assumption unquestioned, I started wondering: Does such a thing exist?
At first, the idea seems absurd. Perhaps a free software community existed fifteen years ago, when the software and its ideals were shared by a small number of developers. But these days, most people involved in free software tend to stay within their own community. Is there really some common thread that links a member of large projects like Fedora or OpenOffice.org with small two-person projects? Old Unix hands with new Ubuntu users? Debian community developers with employees of Oracle or IBM? The divisions seem so great that people can't even agree whether to refer to free software, open source, or some combination of the two like free and open source software (FOSS).
However, on closer examination, the answer depends on the angle from which you approach it. New Yorkers and Californians may talk, behave, and live differently from each other, yet still consider themselves Americans. Moreover, non-Americans will usually identify both as Americans without much hesitation.
In the same way, the cultural differences may loom large if you are -- for example -- a KDE developer talking with an Apache developer. Your expectations about how to work together, the people you consider resources -- these and a thousand other things will be different. If you are working together for any length of time, you will probably have to negotiate dozens of matters that you would take for granted within the project to which you belong -- everything from whether you use tabs in your code to how peer reviews and software freezes are managed.
Yet a Windows user who spends any time around you will probably identify both of you as free software users. Despite your very real differences, you are apparently similar enough that many people see the two of you as members of the same group. You will have perspectives and expectations that no Windows user (or Mac user, for that matter) is likely to have. Probably, too, you will understand each other better than you understand the Windows user, or than the Windows user understands you. For better or worse, you both belong to the same community, and act like it.
This line of reasoning suggests that, in talking about free software, I am referring to something that actually exists. But what are the traits that define membership in this community? That is not so easy to answer, because not everybody shares the same traits.
To outsiders, the first answer that comes to mind may be hostility to proprietary software in general and Microsoft in particular. In fact, to many outsiders, this is probably the defining characteristic of the community's members. But the hostility manifests itself in everything from rabid denunciations to mild distaste, and I can think of one or two examples of people who do not share it at all.
Within the community, the same problem occurs. You can point to a number of news sites that many people read, such as Slashdot or LWN or Linux Pro Magazine, but not everybody reads the same ones or relies on them to the same degree.
Similarly, you can identify conferences like GUADEC or KDE Camp that obviously cater to the community, but most have a well-defined topic that is never going to interest everybody. Moreover, most people only attend a few conferences yearly, and some do not attend any. The most you can say is that community members are less likely to attend conferences on other computing topics. The same is true of mailing lists and IRC channels.
Work methods? You can say that the free software community pioneered online collaboration, and that its members are still the ones most apt to use them. Yet the details of these methods vary considerably.
Nor do all community members use the same software or licenses. And for every person you can point to as an example of a particular approach to computing, such as a hands-on mentality, you can easily find people who are no more interested in do-it-yourself competence than the average Windows user.
Even the truism that community members are building something together starts to seem dubious when you examine it. Some are interested in building nothing greater than their own careers. Some open source supporters are building a programmers' meritocracy, while free software advocates are aiding the creation of a free desktop that will ensure computing freedom for everyone. Some open sourcers even see a programmer's meritocracy as the tool for creating computing freedom. The diversity is so great that, as I list it, I start to veer back towards the idea that no community exists.
I believe that the way to reconcile these perceptions is a quorate definition of the community. As you probably know, a quorum is the minimum number of people needed for a meeting of a group to be valid. Some, but not all members of the group need to be present for decisions to be made -- often, a majority.
In the same way, a quorate definition applies if a majority of the elements in the definition are present. For example, if the requirements for belonging to the North American corporate elite in a study were described as being as European, male, upper-middle class and well educated, then a woman could still belong so long as she was European, upper-middle class and well-educated. So could a man from the working class who met the other parts of the definition. But an Asian man from the working class would have no chance of making his way to the elite by this definition -- and, by proposing this definition, you would have said something about the prejudices that operate in North American life.
In the same way, you could say that someone belongs to the free software community because they display a majority of the traits I describe here (and possibly one or two that I missed -- I make no claim to be definitive). The advantage is that, by suggesting a quorate definition, you can acknowledge variety without insisting that all of it needs to be present all the time. It also helps to reconcile the perception of community with the apparent lack of unity.
Another advantage of a quorate definition is that it helps to avoid the twin fallacies of over-generalization and over-simplification.
In talking about the free software community, you shouldn't start thinking that, because you find a few examples of a trait, the entire community must share it. Equally, you need to be careful that in making generalizations about the community, you do not forget that you risk leaving out so many exceptions and challenges to your statements that you wind up making them worthless.
These are the ordinary risks of any writing or observation. Although you can switch perspectives and superficially counter any argument, you also need to remember that, unless you make the effort to navigate between over-generalization and over-simplification, you can only say trivial things that are hardly worth saying at all.
However, by resorting to a quorate definition, I think that I can not only avoid these two fallacies, but also talk about the free software community with some confidence that I am referring to something that actually exists.
True, a quorate definition is not a simple definition or a neat one. But nothing else can do justice to the complexity and seeming contradictions that shape the free software community.
IdentityI like your idea of a quorate definition of the free software community. However, I think that a definition dealing with 'traits' is always lacking something fundamental when we are talking about a community. After all, we could come up with quorate definitions in social life which would describe potential communities that do not actually exist. This is because a fundamental part of being a community is the shared perception by its members that the community exists and that they belong to it. In the study of nationalism in the social sciences they talk about 'imagined communities,' following Benedict Anderson's book of the same title. The idea is that in many cases social groups with strong identifications are not based on anything solid beyond the desire of its members to see themselves as a group. Traditions are invented, myths of their origins are created, and working definitions of what the group is about are put together, often in the same quorate manner that you are proposing. But the drive for this process of imagination and construction of definitions is the feeling by the members of the community that they have something in common (even if, when you ask them specifically, they would often define that commonality in different terms). I think this is pretty obviously the case of the free sofware/open source community, which does not mean that it is a separate entity and that there are not sub-communities or other types of overlapping communities. And, of course, being an evolving social group, it does not mean either that there will not be splits or changes that will change our perception of the community, maybe even of its own existence, in the future.
MSBuild is now just another GitHub project as Redmond continues its path to the light.
Malware could pass data and commands between disconnected computers without leaving a trace on the network.
New rules emphasize collegiality in coding.
Upstart lands in the dust bin as a new era begins for Linux.
HP's annual Cyber Risk report offers a bleak look at the state of IT.
But what do the big numbers really mean?
.NET Core execution engine is the basis for cross-platform .NET implementations.
The Xnote trojan hides itself on the target system and will launch a variety of attacks on command.
Spammers go low-volume, and 90% of IE browsers are unpatched.
Adobe scrambles to release patches for vulnerable Flash Player.