Go to any search engine and type in, "Who invented HTML" and you'll -- almost always -- be given the following answer (or some variation on it):
"HTML was invented by Tim Berners-Lee."
Want to know a little secret? That is utter hogwash.
"Heresy," you proclaim! "Everyone knows Sir Tim Berners-Lee, who was knighted by the Queen and won of the Turing Award, created the HyperText Markup Language! You better have some serious proof to backup such an outlandish claim!"
Challenge accepted.
To start with, let's look at a simple HTML document.
Oh, wait. Hold up. I accidentally used the wrong screenshot. That's not HTML... that's SGML. A totally different language used several years before HTML.
Here. Let me post an HTML screenshot.
Dagnabbit! I did it again! This time I accidentally posted a picture showing an HTML sample next to an SGML sample!
Funny. They look exactly the same.
What the heck is SGML?
SGML -- the Standard Generalized Markup Language (aka ISO 8879) -- was set as a standard back in 1986... 7 years before the release of the HTML 1.0 specification.
Over in Switzerland, at CERN ("Conseil européen pour la Recherche nucléaire" aka "European Organization for Nuclear Research"), Anders Berglund adopted SGML primarily for usage in formatting documentation.
That variation on SGML -- dubbed "SGMLguid" -- remained in usage at CERN for several years. And, in 1987, Tim Berners-Lee was hired as a contractor at CERN.
Where, wouldn't you know it, part of Tim's job was using that CERN implementation of SGML.
A few years later, HTML was born. Just to jog your memory, here is a document marked up in both Tim's HTML 1.0... and the CERN variant of SGML.
Find the difference. I dare ya.
Now, I'm not saying that Sir Tim Berners-Lee directly copied HTML from SGML (and the implementation that Anders Berglund made of it)... wait... yes. Yes, I am. I am saying exactly that.
HTML is a copy.
That's not entirely fair to Sir Tim.
In defense of Sir Tim, Knight of Her Majesty the Queen, he did do more than simply make a copy of SGML when "creating" HTML.
In fact, Sir Tim made three -- very important -- changes to SGML in order to make it HTML:
- He added the "a href" link tag.
- He changed the file extension from ".sgml" to ".html".
- He implemented an SGML parser which only implemented a little over a dozen tags from SGML... and ignored the rest. And called it "HTML".
While item 1 (the HREF tag) is a noteworth change over SGML, items 2 and 3 (which are very real) only serve to reinforce the fact that HTML is -- for the most part -- simply a copy of an existing SGML implementation. And a less functional one at that.
As an example, here is the very first HTML document ever written. Which, other than the usge of HREF, is identical to SGML.
Change that "href" tag to something which SGML recognizes -- such as a different "Anchor" type (which is what the "a" stands for in "a href") -- and this instantly becomes a valid SGML document.
But... HyperText! That's important!
While the addition of a standardized way of including simple looking HyperText Anchors (aka "links" or "a href") was a welcome addition to SGML... that was, at the time, the only significant change which Sir Tim implemented in his SGML copy known as HTML.
(Other than changing the file extension to ".html", of course. That was pretty... important. *cough*)
Back in the late 1980s, people were adding HyperText (and linking between "documents") everywhere. Shoot. Apple already had a fully graphical HyperText system known as HyperCard.
In fact, nearly every major On-Line service of the day included some form of linking between documents.
With the HyperText hype train fully underway -- across the entire computing universe -- it was only natural that any update to -- or copy of -- SGML would include that functionality.
So... yes. Sir Tim Berners-Lee adding "HREF" to SGML was important. But, otherwise, HTML was little more than a direct copy of existing work.
None of this is disputed.
These are historical facts that are well documented. Shoot. The W3C, itself, agrees with everything I said above.
So why, then, is this important to talk about any of this?
Because the getting history right is important.
The ridiculous myth that "Tim Beners-Lee invented HTML" has been repeated, over and over again, every single day... for decades... resulting in that myth becoming accepted as gospel truth. With awards and acclaim (and even a knighthood) showered upon Sir Tim, in part, because of that myth.
The work which Tim Berners-Lee did on that initial HTML 1.0 release was -- to put it bluntly -- trivial. At most. Bordering on plagiarization.
The reality is... Tim stood on the backs of giants. He wasn't simply inspired by others... he directly copied them. To the point where Tim's work is almost indistinguishable (see the screenshots above) from the work which he copied (and is almost always attributed to him).
Some of the giants he stood on the backs of:
- Anders Berglund (and his work on SGMLguid at CERN).
- Charles Goldfarb, Edward Mosher and Raymond Lorie (the original creators of GML, upon which SGML was based -- note that "GML" was named after the first letters in their last names).
- Ted Nelson and Douglas Engelbart for their early (1960s) work on HyperText systems.
- And so many others.
Every single one of those names contributed something new and significant to the world of HyperText and Markup Languages. They blazed new trails.
Sir Tim copied the existing SGML, changed the file extension, removed a few features, added an anchor tag (which was a feature everyone and their dog was doing at the time), and released it.
"Modifying a Work" vs "Claiming it as Your Own"
If I were to, for example, fork the Linux kernel -- change one line of code -- and release it as "NotLinuxWinkWink"... I can do that. It's an open source project, and I can legally make modifications and release copies.
But, if I were to then receive near universal acclaim for inventing "NotLinuxWinkWink"... that's a problem. Legality aside, that just wouldn't be right. Or true.
Likewise, if I were to copy the specification for the C programming language... and change one line (or add one feature)... it would not be true to say that I "invented" a new language. I tweaked something that already existed (that somebody else built). A little.
Thus is the case with Sir Tim and HTML.
Was Sir Tim an instrumental figure in computing? You bet. Does he deserve a mention in the history books because of that? Absolutely. And in some positive ways, at that!
But did he "invent" HTML? Not by a long shot.
And we need to stop repeating that myth.