The Cathedral & The Bazaar (Photo credit: Hades2k)
Even though the software credo I am writing is a personal thing, I’m not writing it in a vacuum. We are all writing the history of software and, at this point, the history of computers and software is big enough and old enough to have it’s own corners and back alleys.
In this post, I’ve researched into some questions about computer & software history. I’ll be writing about some events that were important in my corner of computers, some of moments which were not the best, and the event I would most like to have witnessed.
Who are some of the important people or events in your particular area of software and what did they contribute.
I’ve already blogged about The Ultimate Nerd and my ultimate nerds so I’ll be focusing mainly on the events in computer and software history that has meant the most to me.
The fight between Internet Explorer and Mozilla
I may have just left Mozilla as a corporate employee, but Mozilla and its mission are still very much alive to me. If you don’t understand what the whole fight for the open web is about, it is worth Investing 40 minutes of your time to watch Mitchell Baker talk about the history of Mozilla.
Back in the nineties, I remember listening to NPR every day for news about how the lawsuit between Microsoft and Mozilla was proceeding. I hope that, at some point, a book is written about the history of Mozilla and some of its projects. I had chills more than once as I watched Mitchell Baker give this talk on the history of Mozilla. A lesson she learned from the Mozilla project and her most memorable quote from this talk is something I will carry around with me until I die, “Leadership depends on who will follow you.” (It’s at 11:30 if you wish to listen for yourself)
In fact, the fight isn’t over.
The blossoming of the open source software movement
The theology of the open web and open source software is deep water which I’m not expecting to plumb in a couple of paragraphs, but if you give yourself the time to really dive into the history and its ideas, you will be rewarded.
If you wish to wade into these waters, I highly recommend reading through The Cathedral and The Bazaar by Eric Raymond. It is beautifully written and I think I must have highlighted half of it. Although there are frequent references to the creation of Linux, the paper itself is timeless like K&R or Unix Shell Scripting.
Reading through this paper, I could see some of the groundwork for agile being laid. There is a spirit of egalitarianism coupled with a “need for speed.” Raymond mentions in a few places that it is important to “release early, release often.” He also writes about the very inclusive development philosophy of Linus Torvalds which was counter to the more exclusive “cathedral” model of isolating a few geniuses and letting them polish the software creating a longer release cycle.
This actually deserves a longer post and critique in the context of what we know about open source today.
The signing of the Agile Manifesto
Looking at the number of people who were present for this event, I will never understand how they were all able to agree on the document itself. It appears to me to be one of the greater examples of consensus. The fact that what’s in the manifesto meant enough to these guys to get together and agree on it sends a strong message. I consider myself lucky to swim in this every day at Pivotal Labs and I hope my blog helps you push further with it in your own professional life.
Historical Software Defects
These are the moments in software history that are not the greatest but they have valuable lessons to teach.
The, “primary reason should be attributed to the bad software design and development practices, and not explicitly to several coding errors that were found. In particular, the software was designed so that it was realistically impossible to test it in a clean automated way.”
The Therac 25 was designed to automate the delivery of radiation therapy to cancer patients. Tragically, it sometimes injected patients with levels that were too high, even tragically high.
My software engineering teacher, Dr. Susan Duggins, first introduced me to this in our software engineering class. It’s important because it highlights that testing should be involved earlier in the software process and that building software is not just about typing out the code. I am in love with the idea of ecosystems as they apply in software and in open source. This legal case points the way towards software occurring in an ecosystem.
The Mars Rover
Imagine that you’ve spent months working on a small vehicle that will land on Mars. Imagine the pressure of knowing that many millions of dollars has been spent for you to do this work. It’s a crowning achievement involving your team and other teams as well.
Imagine that the Rover lands and doesn’t work because you’ve been programming in standard measurement units, but an external team you’ve been working with has used the metric system. I would have cried for days.
The failing of the Mars Rover demonstrates the power of good communication and how major defects can occur without it. If you are a tester and you sometimes feel like the team therapist because you’re trying to get developers to talk with each other, I have news: You are not alone in feeling like a therapist. If you ever wonder if you are doing the right thing or sticking your nose where it doesn’t belong, think of the Mars rover team.
If you could only witness one moment in computer or software history, what would it be and why?
For this question I am brazenly cheating. I’d like to watch one of the great visualizations being drawn just to see the tools that were used and the place where it was being drawn. These had to be hand drawn as there was no machinery to produce them. I’d like have a look at the instruments used to make the measurements and the drawing implements. I’d like sit in the chair that William Playfair sat in or watch Charles Joseph Minard explain his visualization of Napoleon’s March.
This concludes my look at software history for my blog post, but it’s brought up some threads I’d like to push further. I’m not quite finished reading and writing about “The Cathedral and the Bazaar.” I’m also not finished with “Leadership depends on who will follow you.” It’s a funny thing about these credo posts. They tend to open more doors and windows than I have time to close. I don’t mind leaving them open, however, as this is letting in some fresh air. Wherever you are, I hope that when you get to the end of my post, you take a minute and just…breathe.