databases&life awards for NIHS syndrome

Sometimes I am accused of suffering from the "Not Invented Here Syndrome". It has been suggested I would rather program something myself than take an already existing e.g. open source solution to the problem and integrate it with the product being developed.

I mean that's clearly a blanket statement. The right solution differs from project to project. (But, for sure, when making such a decision, one must not forget about the cost of integrating external software, especially down the line for maintenance, if the number of technologies and languages have increased by the new software's addition, hindering code reuse.)

Joel on Software has an article about the benefits of developing things yourself.

So to pay respect to others in our industry who have also developed ridiculously complex things to support a quite different initial aim, here are the "Database & Life Not Invented Here Syndrome Awards", presented in reverse order.

4th Place – The Corel corporation

Corel was a company producing and marketing desktop publishing computers. But what software should it run? When they couldn't find any, they decided the only logical course of action was to create their own graphics package. Creating a graphics package like Corel Draw is non-trivial! But it was the right action to take, as Corel Draw became much more successful than any Corel workstation.

(I actually can't find any evidence on the web that the above information is correct—I remember reading it in a computer magazine a long time ago. But neither can I find any evidence that it's not correct.)

3rd Place – Stephen Wolfram

The Oxford-educated British mathematician Stephen Wolfram was interested in researching Cellular Automata. In order to do this, he needed mathematical software to conduct his research. Finding no software available to suit his needs, he created Mathematica. Creating a mathematical research project with the capabilities of Mathematica is non-trivial! (Stephen Wolfram about himself.)

2nd Place – Linus Torvalds

There are a myriad of source version control systems available. Take a look at the list of version control systems on Wikipedia! (No system is more suited to the creation of lists than Wikipedia!)

Linus Torvalds is well known for creating and managing the open-source operating system Linux. Finding no version control system which had both the features and licensing he desired, he created his own, "git". Creating a version control system, especially a distributed one, is non-trivial!

For sure he didn't write all the software himself, but his name does appear on the man pages, and even the conceptual work required in designing a distributed version control system is non-trivial.

1st Place – Donald Knuth

Wanting to write his book(s) "The Art of Computer Programming", he considered the first layouts produced electronically to be ugly. The only course of action was to create the computer program TeX, capable of laying out such mathematical, and other, documents.

The input to this program is a custom macro language.

A layout program needs to write characters, and these characters need to be in a font, and fonts require description. So to enable the creation of the layout program, he also created the METAFONT program to describe font characters via lines and Bezier curves.

Needless to say, the creation of page layout programs, font specification and rendering algorithms, are definitely non-trivial!

P.S. I recently created a nerdy privacy-respecting tool called When Will I Run Out Of Money? It's available for free if you want to check it out.

This article is © Adrian Smith.
It was originally published on 11 Sep 2008
More on: Software Architecture