commentary: an open laboratory
what is an open laboratory?
it is an online community of computer scientists (programmers, hackers, hobbyists) experimenting with computers and software. the lab is not affilated with any corporation or university or government. the lab should provide to its members the same benefits of working in an actual laboratory; diversity of thought, collaboration, peer review ...
why a lab?
the distinction we'd like to make is that the lab is used for learning, discovery, and innovation. we are not developing products for market, or rewriting existing applications for open source distribution. the lab environment would encourage collaboration by making the notebook the medium for sharing work products before they reach the stage suitable for presentation in a report. coming up with new ideas is messy. but peer review, discussion and mentoring are valuable at this early stage.
how would an open lab operate?
we'd begin by agreeing on a common programming environment (inferno, squeak, mathematica, ...), and a format for the lab notebook. the lab notebook needs to be reviewed and signed by a colleague in the lab, possibly a mentor. every lab session is documented in the notebook. it includes all details needed to repeat what was done and analysis and conclusions drawn from the lab session.
at some point a report is written for the lab's journal which describes the path of research taken. the report's details being derived from the notebook. through peer review, discussion, and further experimentation good ideas rise to the top and reputations are built.
why the common programming environment?
convenience. foster a lab culture. a good candidate for a programming environment is one where all the source is available; the system is small and well written so that any part of it can be modified for experimentation; and the complete system is easily understood.