Groklaw's Shawn Boyette has written an article for Groklaw on why Free Software really matters. He tells anecdotally what this MIT research paper, "Management & Virtual Decentralised Networks: The Linux Project," [PDF] posits, that lowering barriers to entry and participation and utilizing a virtual, decentralized management structure are superior to command-and-control hierarchies when it comes to software development.
The MIT paper traces the history of business management structures, like bureaucracies, the assembly line, closed hierarchies, strategic alliances, economic webs, and the "learning paradigm," and then compares the open Linux-style of networked organization -- virtual, decentralized collaboration -- with Microsoft, "the archetypical centralised model in the industry".
The paper concludes that the Linux development style is superior, precisely because it favors and enables creativity and flexibility, by allowing anyone to participate, including users. Shawn writes about the role Free Software plays in making it possible to learn, so as to be able to participate.
Here's a brief excerpt from the paper, and the quotations are from interviews done for the study:
However, "the Linux movement did not and still does not have a formal hierarchy
whereby important tasks can be handled out -- a kind of self-selection takes place instead:
anyone who cares enough about a particular program is welcomed to try" . . . .
But if his work is not good enough, another hacker will immediately fill the gap. In
this way, this 'self-selection' ensures that the work done is of superb quality. Moreover
this "decentralisation leads to more efficient allocation of resources (programmers" time
and work) because each developer is free to work on any particular program of his
choice as his skills, experience and interest best dictate." . . .
"under centralised mode of software development, people are assigned to tasks out of
economic considerations and might end up spending time on a feature that the
marketing department has decided is vital to their ad campaign, but that no actual users
care about". . . .
The authority of Linus Torvalds is restricted to having the final word when it is coming
to implementing any changes (code that has been sent to him). On the other hand, he
cannot be totalitarian since everything is done under perfect transparency. Most
communication takes place at the linux mailing list (which serves as a central discussion
forum for the community and is open to the public) and Linus has to justify all his
decisions based on solid technical arguments. The management's accountability is essential and only by earning the community's respect, leadership can be maintained. . . .
There is only one layer between the community of Linux developers and Linus: the
"trusted lieutenants". . . .
Massive parallel development is evident in the case of Linux. "In a conventional software
development process, because of economic and bureaucratic constraints, parallel efforts
are minimized by specifying the course of development beforehand, mandated by the
top. In Linux, such constraints are absent since Linux is sustained by the efforts of
volunteers. In the 'Cathedral', parallelism translates to redundancy and waste, whereas in
the 'Bazaar', parallelism allows a much greater exploration of a problem-scape for the
global summit and the OSS process benefits from the ability to pick the best potential
implementation out of the many produced". . . .
The critical business process in both Microsoft and Linux is the development process.
Microsoft is characterised by centralised development since most activities take place in
one site: Redmont, Seattle. [pj: sic. It's Redmond, Washington.] Brook's Law (co-ordination costs and complexity grow with the square of developers but work done rises linearly) holds strongly in every physical software development model and MS is not an exception.
Therefore, the cost of co-ordination is
On the other hand, Linux is synonymous to decentralisation since the project is
developed by thousands of dispersed people who collaborate under no central planning.
It defies Brook's Law because of its parallel release structure, extreme modularity,
'trusted lieutenants' structure and as a consequence, co-ordination costs are almost
Microsoft has elaborated on a development model (synch-and-stabilize) that may be
identified as parallel when compared to the conventional 'sequential' model . . . but is still far from comparable to the incredibly parallel development
model of Linux. This is partly attributed to the Linux parallel release structure and mainly
because of Linux being an open system that encourages anyone to participate. This is not
the case with MS that naturally "encourages" (employs) only a tiny fraction of the
programmers willing to participate (to be employed) in the face of financial constraints
and increasing co-ordination costs.
This massive parallelism that characterises the Linux Project allows for an ideal allocation
of resources towards both exploitation of existing advantages and exploration of
potential future opportunities and results in skyrocketing organisational learning and
innovation (both product and organisational) that in turn, renders Linux extremely
adaptive to any environmental changes. . . .
Microsoft’s management is hierarchical as all the strategic decisions are made by Gates and ‘the President’s Office’ and employees are discouraged to bypass their superiors. Microsoft’s structure is built on this premise . . . and political manoeuvring within the company is not rare. And despite the fact that frequent job rotation and project-form of organising are the norm, information flow is restricted mostly due to politics and therefore the only value extracted out of the knowledge functions is the twenty years experience that MS has of the industry. Of course this does not mean that MS maintains ‘positive’ relationships with its surrounding environment since its arrogant management of the economic web has seriously damaged the information exchange between them. The effect on organisational learning and innovation is certainly negative.
In total contrast, Linux relies on four structural layers that are comprised by the leader (L.Torvalds), the ‘trusted lieutenants’, the ‘pool of developers’ and the open source community. Even though the community layer does not appear to be part of the Linux structure at first glance, it is in fact incorporated in it and has significant influence over the project. . . .
Consequently, this transparent 'collaborative, community centred' management is by far
the greatest innovation of Linux and the key enabler for limitless value extraction out of
the 'knowledge functions' since all organisational members including the surrounding
community are encouraged to freely share information.
Shawn writes from the perspective of the role free software plays in enabling anyone, anywhere, no matter what their background or station in life, to participate by making it possible to learn. It's axiomatic that the lower the barrier to entry, the higher the creativity level must be, because, as George Bernard Shaw once pointed out, you simply have no idea where talent will turn up. I'll bet a lot of us can relate to Shawn's article. Enjoy.
Why Free Software Is Really Important
~ by Shawn Boyette
Everyone now agrees: Free software is important. Even its staunchest
opponents have been forced to move on from their untenable tactics of
dismissal and disdain. I argue, however, that not nearly enough
attention has been given to one very important reason why it is
Everyone talks about how Free software is important because of its
benefits to business. It can mean lower operating costs, happier IT
departments, better interoperability, improved security, and lots of
community goodwill. Everyone talks about how Free software is
important legally. It is the vanguard of the revolution in
intellectual property, both in courtrooms and in the minds of people
around the world. A lot of people talk about how Free software is
important because it will liberate end-users everywhere from the
tyrrany of commercial software and end the problem of worms, viruses,
and trojans forever. 1
What almost no one talks about is Free
software being important because of its educational potential.
Let me tell you a short story. I grew up in an economically depressed
and very agrarian part of the United States. In 1983 I met my first
computer. It was an Apple //c at school, and it was love at first
sight. When I got to high school in the early 1990s, Apple ][s were
still standard equipment, so the only programming language I had
access to was BASIC -- the Old World, line numbered kind of BASIC at
that -- and I was desperately wanting more. I actually bought books on
Borland C++ despite having no PC on which to run the compiler, and no
compiler to run! (C++ compilers cost *hundreds* of dollars in the late
There were no nearby universities or large corporations where someone
could get me access to powerful computing systems (this kind of thing
was apparently not uncommon in the Northeast US at the time, as I now
know several people who say they got their start on "real" computers
this way). I completely missed out on the BBS scene, because there
were no BBSes which were not long distance calls, and I didn't have a
modem for my Commodore 64 anyway. I was, until entering college,
completely cut off from the wider world of computing. I had no
advanced tools, no decent learning materials, and no community.
The point of all this isn't to point out that my childhood was sad (it
wasn't) or that I feel somehow disadvantaged by all this (I don't; I
like to think that I managed to catch up). The point is that Free
software -- especially Free software in combination with Internet
access -- provides everything I so desperately wanted, to anyone, for
almost no cost.
A typical Linux or BSD
2 install includes not only C and C++
compilers, but also popular languages like Perl, Ruby, and Python,
which excel at data munging and system toolsmithing; PHP, which is
good at rapid web prototyping; less well-known languages like Lisp,
Scheme, Ada, and FORTRAN; and even "dead" languages like APL are
There are powerful programming tools at your disposal, such as the Vim
and Emacs editors, and version control systems like CVS, svn/svk, and
Arch. There are graphical toolkits, so you can learn how to write GUI
programs. There's ncurses for writing console-mode applications.
There's Apache, so you can learn how to write web-based applications,
or you can go one step further and use Mozilla as an application
databases like Postgresql and MySQL are at your fingertips, offering
information storage, retrieval, and inquiry capabilities which not
long ago were the purview of large corporations. And on top of all
this, there is the *nix environment itself, designed by programmers
for programmers, and arguably still the finest development environment
In short, anyone who wants to learn how to use computers as
information tools instead of information appliances now has access to
3 they need, no matter what their specific interest
area. This huge toolkit is available now, to everyone, for next to
nothing. All you need is desire and the right mindset; geography and
money are no longer barriers to entry into the upper ranks of the
programming community. I hate to use buzzwords like "democratizing",
but that's exactly the effect which is shown here.
Free software removes barriers -- if you have the talent, then we have
the tools -- and that is why it's really important.
1 I, personally, take issue with this kind of assertion, but that's
a topic for another essay.
2Most of this is true of OS X as well, though Apple doesn't make
their Xcode tools available under a Free license (but they are a
fairly good citizen, having contributed to the gcc project and
opened a number of their internal projects).
3 Free CS literature (as in textbooks, references are readily
available) still has a long ways to go, but recent advances have
been made, like the "How to Think Like a Computer Scientist"
I asked Shawn if he would want to give me a brief sentence or two with any biographic information he cared to share, and this is his cute reply:
About me, huh? I'm just this guy, you know? I did my first Linux
install in 1995 (Slackware 3) and have used it every single day since
then. I've never been part of any large projects, but I've written my
fair share of Free software, some of which is even in use by other
people :) I'm currently a housewife/hacker, but professionally I've
been a mainframe programmer, Linux admin, and network security dude. I
like bad movies, old books, cooking, and photography.