A solicitation for feedback
Grady
Booch, Chief Scientist - Rational Software wrote an email
last year to industry leaders and software developers to pose some important
questions.
First, tell me what's in your top ten list of
classic software products. What software artifacts
would you want to preserve for future generations,
products that made a difference in shaping the
software industry?
Second, please let me know if you have access to
any such artifacts or if you know of colleagues
who do. I'm aware of a few related efforts to
keep old software running, and if you know of
other such activities, please help me get in
touch with their organizers. I'll happily absorb
card decks, listings, documents, napkins full of
sketches, and the like.
This request for feedback produced
a tremendous response.
Check back here later, and
you will be able to contribute your own input to the software preservation
wish list, and continue to track the growing list.
Computer History Museum Project
Involvement
Primary Objective
Collect important, seminal, at risk or otherwise significant software
from the beginnings of computing history up to a decade ago. Present those
that are available in the public domain, and provide method of protecting/preserving
those whose IP rights do not allow public exposure.
Primary Benefit
A freely accessible archive of the collective efforts of millions of development
hours of code. The archive would allow researchers to draw conclusions
about software growth through history, as well as provide invaluable examples
of algorithms, architectures and patterns used and reused to solve a particular
problem.
Approach
Gather information from the development community at large. Start with
the Open source community, and those enthusiast communities whose mission
aligns with software preservation. Build a web based survey tool to determine
the following:
- Top ten lists of important
software packages to preserve
- Find those who have access
to the source and design documentation for the top software artifacts.
- Initial creation of a 'wish
list' database begins. A place for the community of interested parties
can be created and sustained to foster ongoing participation.
Pilot
Communicate with software development communities, computer history communities
such as the ACM, inviting them to participate in the determination of
important software artifacts. Provide secure web forms where they can
submit the required survey questions, including why they believe a package
is significant and include any stories of personal involvement with the
development. Begin to research the developers and companies that are still
accessible, and might have the artifacts available.
Mid Range Goal
Collate the results from initial surveys, and begin building the list
of software artifacts with museum curator input. Initialize research into
software storage and version control systems to begin collecting the vast
library of software, sources and documentation. Prototype online systems
to collect submissions from the public, first for long term preservation,
and later for controlled public display. IP Rights management issues must
be of immediate concern after preservation. Provide a secure method for
a 'source time capsule' for those packages that IP rights are in dispute.
Production Mode
Starting with the list of 'important' software artifacts, seed the online
system with software available in the Computer History Museum collection.
Open the doors to the growing community to submit those artifacts they
personally have available, or submit information leading to the source
of the artifact.
Realization
Collect a certain percentage of the target artifacts, and make them available
to the public. Protect those with IP rights until the time when they can
be 'opened'. Build a sustainable data infrastructure to preserve the artifacts
for long term.
Sustainability
As short term goals are achieved, the storage and very long term preservation
aspects will grow. Solutions that take the growing collection and begin
to archive them for thousands of years can be developed. Rosetta technologies,
future optical and other mid to long term storage systems will be employed
to ensure the past isn't lost to future obsolescence.
Logistical Challenges
As history progressed, the size of the binary aspects of code grew, as
did the analog support material. When storing all aspects of software,
we'll need to adopt high capacity systems capable of scaling to the task
|