decoration decoration

When you want to know more...
For layout only
Site Map
About Groklaw
Legal Research
ApplevSamsung p.2
Cast: Lawyers
Comes v. MS
Gordon v MS
IV v. Google
Legal Docs
MS Litigations
News Picks
Novell v. MS
Novell-MS Deal
OOXML Appeals
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v Novell
Sean Daly
Software Patents
Switch to Linux
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.

To read comments to this article, go here
Why Free Software Really Matters
Sunday, May 08 2005 @ 01:56 PM EDT

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." . . .

In contrast, "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 high.

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 negligible.

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 important.

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 1980s/early 1990s.)

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 available.

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 development platform by using its XUL toolkit and JavaScript. Powerful 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 available.

In short, anyone who wants to learn how to use computers as information tools instead of information appliances now has access to everything 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" series.

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.

  View Printable Version

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )