Douglas Crockford: The JSON Saga
YUI Library2 HN recommenders · recommended in 2 months, 2012–2025
talk · general · evergreen · 2012–2025 on HN
Douglas Crockford tells how JSON was discovered rather than invented, and how its simplicity made it a dominant data interchange format. He also covers surrounding history such as earlier Netscape usage and the 'Good, not Evil' license story.
HN commenters cite it as Crockford's first-hand account of JSON's origins and of the no-evil license anecdote.
Up next
14 mo on HNWhat the heck is the event loop anyway? | Philip Roberts | JSConf EU
JSConf
16 HN recommender · 2015–2025
13 mo on HNRich Harris - Rethinking reactivity
You Gotta Love Frontend
15 HN recommender · 2019–2026
10 mo on HNCrockford on JavaScript - Volume 1: The Early Years
YUI Library
10 HN recommender · 2013–2022
10 mo on HNRailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson
Confreaks
6 HN recommender · 2017–2020
10 mo on HNJavaScript: The Good Parts
Google TechTalks
11 HN recommender · 2009–2020
9 mo on HNPete Hunt: React: Rethinking best practices -- JSConf EU
JSConf
9 HN recommender · 2014–2025
8 mo on HNDan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015
ReactEurope
12 HN recommender · 2015–2022
7 mo on HNHey Underscore, You're Doing It Wrong!
InfoQ
9 HN recommender · 2014–2022
6 mo on HNChris McCord - Keynote: Phoenix LiveView - Interactive Apps without Javascript - ElixirConf EU 2019
Code Sync
4 HN recommender · 2019–2024
6 mo on HNOAuth 2.0 and OpenID Connect (in plain English)
OktaDev
7 HN recommender · 2019–2026
6 mo on HNJake Archibald on the web browser event loop, setTimeout, micro tasks, requestAnimationFrame, ...
JSConf
7 HN recommender · 2018–2023
6 mo on HNRiftSketch: Live coding in VR with the Oculus Rift, Firefox WebVR, JavaScript and Three.js
Brian Peiris
5 HN recommender · 2014–2020
12 comments from Hacker News
You may also get a chuckle out of an anecdote about the license that Douglas Crockford gave during one of this talks: ▶ this video
Because using certain keys could break your JavaScript (and JSON was designed to be a subset), like { delete: "me" } If you don't want to keep a list of known keywords around, just insisting on quotes is the easier way. [EDIT: See also this YouTube video, where Douglas Crockford explains it himself: ▶ this video ]
> Personally I don’t like the idea of releasing content with a “use it if I like you “ clause. He’s free to keep it for his own personal use. And he's free to release it under whatever license he wants also. I don't like it as much as a free license either, but it's not my music, and IMO it's better than not granting use; there are of course many cases where people will feel comfortable using it (and in fact it has been used by many people already who have applied common sense to their usage of his work, and I don't believe he has sued anyone or revoked the license in the 18 years he's made it available under similar terms). I also release my code MIT or GPL even though I find it tempting to use less permissive licenses like the "Don't be evil" license of JSON[1] or JSLint[2] I would feel comfortable using Moby's music for lots of purposes personally. I feel like you are overthinking this, I don't think it's about what you believe in, it's about what you think Moby would approve of. If you wanted to release a video promoting veganism, you could obviously use his music (even if you're a democrat). If you wanted to release a video promoting the Democratic party, there's some chance he'd revoke the license (but almost no chance he could successfully sue you). Even if you were a far-right activist using his music for a video supporting an abortion ban, he wouldn't be able to sue you (because banning abortion isn't exclusively a right-wing position), but I expect he would revoke y
Here's a video where Crockford mentions Rebol (and others) being an influence on JSON - ▶ this video I've seen it mentioned on Rebol chatter that Crockford approached Carl Sassenrath (creator of Rebol) to open-source & use Rebol prior to creating JSON. NB. Rebol was closed sourced until 2012.
You can use whatever no-evil license for your open-source project, but if you want your project to be FOSS [1], you can't. If you restrict your project from being used for evil, it'll violate the basic freedoms that proper Free licenses grant to their users. Also, check this video by Douglas Crockford [2]. ("I give permission for IBM, its customers, partners, and minions, to use JSLint for evil.") [1]: link [2]: ▶ this video
Relation: The JSLint license has a clause stating that it shall not be used for evil. IBM has obtained a license to be able to use JSLint for evil, presumably to avoid this type of suit: ▶ this video
>Copyright is just that, copyright. It's not readright, useright, flyright or workforright. It is that. There is a reason why IBM got an exception from the JSON license to do evil: ▶ this video
> By being at the intersection, [JSON] turns out to be the thing that everybody can agree on, and so it's really easy to pass data back and forth. Prior data interchange formats tended to try to be the union of all the languages, and that turns out to be horrendously complex and really difficult to deal with. JSON by being so simple actually became really easy to use. - Douglas Crockford ('discoverer' of JSON) ▶ this video
> I discovered JSON. I do not claim to have invented JSON because it already existed in nature. What I did was I found it, I named it, I described how it was useful. I don’t claim to be the first person to have discovered it. I know that there are other people who discovered it, at least, a year before I did. The earliest occurrence I found was there was someone at Netscape who was using JavaScript array literals for doing data communication as early as 1996, which was at least 5 years before I stumbled onto the idea. ▶ this video
I'm not gonna bother quoting you to fisk you. Your approach towards my evidence is weak overall. I'm gonna throw more evidence at you. Miller and Dean Tribble have been working on WeakRefs lately: link Crockford's personal site no longer has the original JSON description, and neither does the Wayback Machine, but his site does still have a section on E: link In this talk [0], Crockford discusses the origin of JSON. He mentions working with Chip Morningstar (this guy link ) and has oblique references to his prior work. He doesn't bother to explain what he was doing during the 90s here, and at this point social interaction becomes required to learn more. 'hammering the ES peg in the E hole' is wrong. They're hammering the E peg into the ES hole. Not all of us believe in this approach; some of us think that JS is irredeemable and that we should keep iterating with languages like Pony and Monte which expand on the original E concepts. Like I said, kicking and screaming. I don't know why you all kick and scream so much, but you do. [0] ▶ this video
I think you missed the "well" in my quote (no one said it was hypothetical). Naturally the XMLHttpRequest / AJAX was used with XML first. Microsoft were the ones to introduce it to do exactly that; work with their exchange server's XML. This is why I said "well". XML isn't a perfect fit into JavaScript's existing objects. It's awkward. Mozilla, imperfectly, copied the interface Microsoft came up with to have a sort of standard and 4 months after that Crockford started using JSON[1]. I don't see much history of applications beyond Microsoft's and a few edge cases that really used XML here; most of what I can find online had a lot of people's first usage of AJAX with JSON or plain text. But I'll admit it's very difficult to find solid data. But ultimately XMLHttpRequest came out, in its very first ActiveX form in IE, in March 1999 and Crockford started playing with JSON in April 2001. Wikipedia claims XMLHttpRequest didn't become a de facto standard until 2004 when other browsers started adopting it[2] so I'm not convinced it was used for very much XML to begin with. [1] ▶ this video [2] link
I wonder if they've ever run into the problem Douglas Crockford had with IBM requesting he clarify the "The Software shall be used for Good, not Evil" clause he added to the MIT license for JSLint.... ▶ this video