Nick wrote:
"And I */Just Plain Believe/* in collaborative essays as a tool in the
development of thought. "
I think a little recognized outcome of open source software development
is the development of thought, and perhaps for some of the same reasons
as a collaborative essay.
Creating and maintaining a useful program often involves an
understanding of a large network of artifacts.
The understanding needs to be precise enough to make correct small
changes, and general enough to be able to approach re-design and
re-implementation of those artifacts that aren't adequate. It requires
being literate, because the artifacts will have designed and built over
time by a team. Some artifacts will come from third parties.
Open source software development is different than closed proprietary
development in that the people that are participating are not trained or
motivated to do a particular job. Two people may see completely
different uses, or infer completely different purposes for an
abstraction. Some programmers see things in terms of use and abuse of
abstractions, depending on the author's intent. As a functional
programming enthusiast, I prefer to think about the discovery of
abstractions rather than the design of them. Useful combinator
libraries seem to arise through an iterative process of construction and
deconstruction, not one-time design.
Unlike collaborative essays, computers are unforgiving but patient. If
two authors can't reconcile interfaces, dependencies, etc. the program
or framework just won't work. It won't be a `interesting but flawed'
argument.
Marcus
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com