The Software Carpentry design competition officially opened yesterday.
This project aims to produce high quality, from-the-ground-up redesigns
of free tools for building software, including make, autoconf,
gnats/bugzilla, and a testing framework. The text of the announcement
follows.
The Software Carpentry project is pleased to announce its first Open
Source design competition, with prizes totaling $100,000. Students
and professionals from any country, working individually or in teams,
are invited to submit design outlines for:
- a platform inspection tool to replace autoconf;
- a dependency management tool to replace make;
- an issue tracking system to replace gnats and Bugzilla; and
- a unit and regression testing harness with the functionality of
XUnit, Expect, and DejaGnu.
Participants may submit separate entries in one or more categories by
March 31, 2000. Entries must be in English, and no more than 5000
words long; examples are available at http://www.software-carpentry.com.
The competition will be judged by a panel that includes the following
noted software developers, authors, and computational scientists:
Stephen Adler , Brookhaven National Laboratory
Frank Alexander, Los Alamos National Laboratory
Donnie Barnes , Red Hat
Chris DiBona , VA Linux
Paul Dubois , Lawrence Livermore National Laboratory
Andrew Hunt, Pragmatic Programmers, LLC
Stephen R. Lee, Los Alamos National Laboratory
Josh MacDonald, University of California, Berkeley
Brian Marick, Reliable Software Technologies
Doug Mewhort, Queen's University
Bruce Perens, co-founder of the Open Source Initiative
Dave Thomas, Pragmatic Programmers, LLC
Jon Udell, author of Practical Internet Groupware
Guido van Rossum, inventor of Python
Tom Van Vleck, TransIlluminant
Phil Wadler, Bell Labs
Scot Wingo, AuctionRover
The best four entries in each category will be awarded $2500, and
invited to submit full designs by June 1, 2000. The best design in
each category will then receive an additional $7500, while runners-up
will each receive $2500. Once winning designs have been announced,
$200,000 will be available through open bidding for implementation,
testing, and documentation.
All of the project's work will be Open Source; all tools will be
written in, or scriptable with, Python, and will be required to run on
both Linux and Microsoft Windows NT.
I will be terribly surprised and not a little impressed if they manage
to come
up with something that people will actually use instead of make(1)
It's weird, it's gross, and it's used for a zillion things that
its
creators probably
never intended (short shameful confession: I start and stop my web
server -
my other web server - with a Makefile) and it's not my intention to
defend it.
But an awful lot of that "accidental complexity" is, I suspect,
intrinsic complexity
given that it has to operate in a C/Unix environment and that means
doing
almost[*] anything that a shell can.
[*] Strictly speaking, this "almost" word is redundant. In
practice,
the subset of shell functionality that make supports is mostly dependant
on how long
you want to struggle with quoting rules