Slashdot mentioned a column in Syllabus magazine entitled The FREE, 0% APR, Better Sex, No Effort Diet. Attempting to be a commentary on Free Software, its really an ignorant ramble more likely to be written by a usenet crank on a trolling binge than an employee of Princeton University in an IT magazine for academia.
So pissed off I was by this bit of near libel:
These folks are some of the same great people who are supposed to be working for you anyway, plus a smattering of teenagers too young to work at Redmond, hackers, virus creators, and a menagerie of others with whom you will feel great pride in entrusting your IT infrastructure.
that I actually sat down and wrote a letter to the editor. Here it is (a bit mangled by <ECODE>).
Howard's column is an uninformed, free-associating rant against Free
Software the likes of which I would expect to see in a Usenet troll posted
by one of the "teenagers too young to work at Redmond, hackers, virus
creators" he tries to link Free Software developers to, not in a serious IT
magazine. I'm appalled Howard produced this article, which reduces itself
to base name-calling, after writing his more intriguing "Reflections" columns.
I'm appalled Syllabus published this pile of lies in their magazine which is
"influencing decisions made across the higher ed enterprise". Were it not
an editorial column it would be libel.
I am a Free Software developer. I have been helping the development of
the Perl programming language, and miscellaneous others, for nearly six
years now with a focus on Quality Assurance. I would like to counter
some of Howard's most galling claims. So that I don't sink to Howard's
level of unsubstantiated mud slinging, I'd like to counter some of his
smears with someone lacking in his article: Facts.
With my specialty in Perl QA, I will target Howard's most chaffing claim that
in order to use Free Software "we may have to give up project planning,
quality control, coding standards, accountability, version control, and
support" by providing direct counter examples in the development of Perl,
the Free Software project with which I am most familiar.
Perl is an extremely popular programming language originally for Unix
system administrators but exploded into prominence for web programming
during the .com boom and has expanded into a powerful, Enterprise
level general purpose language since then. Such corporations as
Morgan Stanley, Ticketmaster, Pair Networks and Amazon.com use Perl
extensively. It has been developed since 1987 originally by Larry
Wall [1] (a happily married father of four) and now by a talented
international collection of Perl users who donate their time to help
out. Perl is backed by The Perl Foundation [2], a 501c3 non-profit
which has raised over $40,000 in the last year to help repay some of
the most talented Perl developers for their volunteering time. Perl
is built from 200,000 lines of C code and contains over 230,000 lines
of documentation. It supports over 35 operating systems, many of
which you've probably never even heard of. [3] It comes as standard on
nearly every Unix machine shipped today including Apple's OS X. And
yes, its all Free. [4]
Project planning is ultimately handled by Larry Wall who layed out the
design and purpose of Perl years ago. His intentions are carried out
by our development lead (known as the Pumpkin King) who has
responsibility for a single major release of Perl. Development goals
for each version are set and met. Older major revisions are
maintained by different Pumpkin Kings. Backwards compatibility is
vigorously enforced both by our test suite and by individuals acting
as a volunteer Backward Compatibility Police.
Quality control in Perl is provided by its extensive testing suite
which, at last count, totals over 100,000 lines of code in 850
individual files. The test suite is nearly as large as Perl itself.
It is shipped with the source code of Perl and run as part of the
installation process. The bleeding edge version of Perl is build and
tested dozens of times a day [5]. We have an extensive bug tracking
system not only for Perl [6] but for all those who write Perl
libraries [7]. Finally, a team of volunteer testers ensure report
problems in Perl libraries. [8]
Coding standards are layed out in several documents [9,10] and
enforced by the small group of people who have access to commit
changes to Perl (the Pumpkin King and his assistants). Most changes
are first discussed on the development list and often altered for
stylistic reasons before committing. All changes are logged to a
mailing list [11] if you wish to systematicly review and make
stylistic comments.
Version control is provided by Perforce [12] who generously makes
their commercial software free for use by Free Software projects. A
publicly browsable repository is available via the web [13]. In
addition, all older versions of Perl and all libraries are archived
[14].
As for accountability, you can join the Perl development list and read
all the discussions, decisions, fighting, squabbling, mistakes, fixes
and ponderings by the Perl development team. In fact, you can read
the last eight years of development team communications. [15] And you
can join right in!
A commercially supported and quality assured version of Perl can be
bought from ActiveState [16] should you desire commercial support.
Perl is not an atypical Free Software project. PHP, Python, Apache,
Linux, BSD, MySQL, PostgreSQL... just to name a few can all support
similar histories and support. Its a mature, long established
development project and its Free, yet you can get commercial support.
Eclipsing common commercial practices, its internal developer
discussions are open to the public as are its bug list, version
control system and development releases. How much more accountability
do you want?
Are there Free Software projects that don't have this level of
organization, maturity and accountability? Are there commercial
projects that don't? Yes, lots on both counts. First time
programmers eager to rush out and write some code adorn both the
commercial and non-commercial world. Free or commercial, it doesn't
matter. Either your organized or you're not. To label all Free
Software as a bunch of disorganized teenagers writing code
indiscriminately is to display a lack of understanding of what really
effects software development. Something I would hope the manager of
technology strategy and outreach at Princeton University would know
something about. The difference with Free Software is
the books are open. You can read the code, talk the to the
developers, see the bugs, check for yourself if the project has its
act together. You see the successes and the many, many failures.
You can audit the whole system. With closed development commercial software
you just have to take their word on it that everything's hunky dory.
Finally I would like to address Howard's most base and childish
charge. His equating Free Software developers to "a smattering of
teenagers too young to work at Redmond, hackers, virus creators..."
Shame on you. Shame on you to try link Free Software volunteers to a
collection of malicious virus authors or say that they children
irked becasue they can't work at Microsoft. Shame on your for belittling
their efforts. Shame on you for reducing an academic opinion column to
schoolyard name-calling.
Yes, some of the developers are teenagers who are too young to work at
Redmond. Some are happily married fathers and mothers. Some are
grey bearded old crufty Unix geeks. Some are even IBM and Sun
employees. Many have no credentials at all. Free Software
development is largely a meritocracy. We don't care who you are as
long as you do good work. I myself am a 28 year old single male two
failed out of an Electrical and Computer Engineering program with no
accreditations, certifications or affiliations with any large software
company. I write good code and that's all that matters. Male,
female, young, old, fat, short, bad English, bad breath, we don't
care. Just so long as you write good code and play well with others.
And shouldn't that be all that matters?
I invite Howard to have a look at the people who create Free Software,
as seen through the lens of Julian Cash [17] at the O'Reilly Open
Source Convention. [18] I invite him to come to the conference and
meet the people he's slandered. As an employee of Princeton
University Howard should know that the best way to expel ignorance is
education.
I apologize for the length of this letter, but I felt the false
characterizations in Howard's column needed a rebuttal backed up with
evidence. I thank you, Mary, for reading and hope Syllabus will keep its
columns in the realm of informed opinion.
[1] http://www.wall.org/
[2] http://www.perlfoundation.org/
[3] http://www.perldoc.com/perl5.8.0/pod/perlport.html#Supported-Platforms
[4] http://www.perldoc.com/perl5.8.0/README.html
[5] http://nntp.x.perl.org/group/perl.daily-build.reports
[6] http://rt.perl.org/perlbug
[7] http://rt.cpan.org/
[8] http://testers.cpan.org/
[9] http://www.perldoc.com/perl5.8.0/Porting/patching.html
[10] http://www.perldoc.com/perl5.8.0/pod/perlhack.html
[11] http://nntp.x.perl.org/group/perl.perl5.changes
[12] http://www.perforce.com
[13] http://public.activestate.com/cgi-bin/perlbrowse
[14] http://history.cpan.org/backpan/
[15] http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
[16] http://www.activestate.com/Products/PerlDirect/
[17] http://www.juliancash.com/view/jc_os/set/small_index.html
[18] http://www.oreillynet.com/oscon2003/
It is safe to say that all the major Free Software projects have very good version control, testing and QA.
The Apache group is probably the best example of well managed code and organised people - they have produced standards defining code that frequently shames the big names of IT like Microsoft or IBM.
It is obvious this fool has never even looked at open source code
Even the small scale open source projects I have worked on have :
Re:Very Good Points - This happens too often
TeeJay on 2003-11-06T10:04:29
I noticed he doesn't even cite anything to justify his claims - such as available code be discredited.what a prize muppet
Re:So...
schwern on 2003-11-07T04:13:13
I would hope Bill could afford better.
Another way to get free software is to have students develop our critical systems. We all know how clever students are and how being born in the computer age they have bypassed a million years of evolution to become cyber sapiens. Software development is instinctive to them. While your aging, over-21 staff demands high salaries and benefits, and fusses with security, documentation, and project planning, cyber sapiens work for a few dollars an hour and can manage several projects in their heads without writing a single thing down. They also write bug-free code, work during exams and vacations, and are not distracted by alcohol, sports, or the acquisition of potential mates.
So he's a cynic. Which would be fine, if he didn't also lie:
We may have to give up project planning, quality control, coding standards, accountability, version control, and support, but it’s FREE and we get the ability to modify the source code ourselves, something that is extremely dangerous to do, was discredited decades ago, and few people do anyway.
I hope they get a huge pile of nastygrams from ex-readers.
Circular references.
schwern on 2003-11-13T07:59:30
Where do you think I got the link from?