Software Archaeology
Plug1 writes "Salon (day pass needed) has an article about preserving software for historical purposes. It discusses source code archiving, and the effect the DMCA is having on attempts to catalog and analyze legacy code. It will be a shame if in the future a wealth of information is locked away because knoweldge of the underlying technology is lost."
Who could ever forget the awesome software company Central Point Software? Their PC Tools and famous Copy2PC were high quality, and very useful products. Anyone that was anybody had Copy2PC, a program that could copy nearly ANY copy protected floppy disk. They even came out with a floppy controller that did the same thing.
If you're going to preserve software, doesn't it make sense to preserve the hardware to run it on as well? Emulation is less than perfect.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
If the problem is that knoweldge of the underlying foundations of technology is being lost it is because of the concept of abstraction, of which .Net is the latest and greatest incarnation.
It really all started when some engineers decided that machine code was too hard and invented assembler. Nowadays it's not even necessary to know what a bit is or how an ALU works to make programs. Just point and click and you've got yourself a brand spanking new database app courtesy of VB.
No one ought to knock VB because it really is the best tool for what it does, but it also lowers the barrier to entry for would-be programmers. This can only lead to worse programs.
The most fundamental concept in computer science is logic, not algorithms (or worse programming languages). If a 'programmer' hasn't written a program in a low level language like C or assembler, the hiring manager should beware. Without hands-on experience with the fundamentals of computer science that person is lacking at the most basic level, regardless of whether he knows 1 language or 50 languages. He is handicapped.
It's a good thing to abstract, but it's also important to remember and study the bases of our science.
So, I should be saving the 200 lbs of DEC VMS manuals, Our old VAX, all the tapes, and keep our TU-85 tape drive under service contract? How much is this all worth. Do you have any idea how much it costs to keep that hardware running? If you want to keep the code, what is the point if you don't have hardware to run it on, unless you're going to develop some emulator. Don't get me wrong I think it's a horrible shame that all those hours of engineering to develop the hardware and software is finally being trashed. There are some amazingly great ideas that were used to make that stuff. But at what cost do you preserve it?
CD's degrade over time, their lifetime is estimated to be 100 years maximum. CD-R's can become unusable after a couple of days of being exposed to mountain sun, and will probably not last more than 15 years. In the meantime, the computer equipment will develop to a point where CD's are not needed any more, because there is better technology available. So it will become necessary to store the devices that were used to read them (i.e. whole computers). But these devices are partly made of stuff that decomposes over time, like rubber in bearings etc. Conserving data is not as easy as it seems. I wonder whether it'd be more efficient to print out the source codes on acid-free paper and store them like books - or perhaps microfiches - in a number of locations around the world.
where's all that Karma?
A number of years ago Scientific American had a article lamenting the loss of intellectual assets with the inevitable degradation of old software, documentation, media, computers, and the like. Yet the same issue had another article on changes in the canned-goods industry (the rise of new canning technologies). While the first article bitterly mourned the loss of software-related knowledge and assets, the second article made no such mention of the corresponding loss of canning-related knowledge and assets.
Why is obsolete software technology worth preserving where obsolete manufacturing technologies are not? In a 100 years, will we really need access to the billions of JPEGs that were spewed out by digital cameras everywhere? I am not arguing for ignoring history (even though those that learn from history are also doomed to repeat it), but I am wondering about the double-standard. What realms of human knowledge and invention are worth saving, and which are not?
BTW, for the record, I still have old documents and applications from my Mac 128k and I might even have a paper tape copy of a old APL program that I wrote 25 years ago. But then I am a certified packrat.
Two wrongs don't make a right, but three lefts do.