How to Move Ahead
Richard Gabriel led an exercise in which we broke into small groups and thought of concrete things we could do to further the goals of the Feyerabend Project.
Results of the Exercise
In some ways this was the most successful of the exercises. Here are some of the ideas we talked about.
- Improving education for software development in the K-12 arena. This education would not have computer science or programming as its subject area, but would approach the skills indirectly. The best example is to ostensibly teach writing skills by using the exercise of writing unambiguous but not overly detailed instructions on how to get (walk or drive) from one place to another. Being able to write good directions would be excellent training for writing code (and thinking clearly).
- Write a tinkerers’ guide and publish it on the Web to promote the practice of tinkering.
- Write a book, perhaps consisting of a set of essays, that talks about the need for a Feyerabend Project. For example, an essay could be about how the current dot-com crisis was caused, at least partially, by companies running through their funding trying to put together e-commerce systems using tools and languages too brittle and hard to use for quick deployment.
- Hold a Computing Rainbow/Feyerbrand [sic] conference or conferences to celebrate diversity and blend existing technology cultures. A major theme and perhaps motto for this effort and other Feyerabend-based efforts is that Robustness Requires Diversity, just as is true in the natural/biological world.
- Write and publicize a common platform definition which would cover not only basic (XML-based) protocols that a conforming platform must support (on a par with or at a higher level than http) along with, perhaps, the APIs and instruction set that VMs should support, suitable for a variety of languages to be implemented on it - such as Lisp, Smalltalk, Java, C#, Scheme, Haskell, etc.
- Write a manifesto singing the praises of the Feyerabend Project and its ideas, and publicize it widely. If possible, attach a number of high-profile names to it. The idea is to create a document like Martin Luther’s 95 Theses.The following is the outline we came up with for this manifesto (with no details filled in):
- Humane software
- Kind (economic inhibitions)
- Robust software (through diversity)
- "Planetary" Software (economic incentives)
- Air Traffic Controlan example of ‘global software’ i.e. software for large scale systems, development of which using classical approaches has failed miserably at great cost.
- Why you should care
- Why CS/SE is not a solution
- Abstractions reified
- Influence of economic theory and values
- Lessons from others
- Moral philosophers
- Making it happen
- "Unions" (in the best sense)
- Professional guilds (not "protectionist certifications")
- Outcomes and solutions
- Make an effort to actively engage the Complexity Science community and perhaps the Santa Fe Institute itself in looking for new origins for computing. One idea was that Complexity Science tends to look at generating complex behavior from simple rules or parts; we thought maybe there would be some value in looking at generating complex behavior from complex parts, such as larger components like entire computers or systems.
- One attribute for being able to tinker with systems and to make system-building simpler is that behavior should be additive. This means that you should be able to get a system to exhibit new behavior by not much more than pasting it in. One old technology that did not have a deep future about 20 years ago was rule-based systems. One idea is to revisit this idea and see whether the current computational horsepower is sufficient to, for example, write a text editor or document processor mostly in rule form rather than procedurally. Such a project, even if it were modestly successful could gain some believers and attention.
- Work on a new model for computing education, perhaps adopting Gabriel’s Master of Fine Arts in Software proposal.