Douglas Crockford

From Wikipedia, the free encyclopedia

Douglas Crockford
Crockford in 2013
Alma materSan Francisco State University
OccupationSenior JavaScript Architect
EmployerVirgule-Solidus
Known forJavaScript Object Notation
Websitecrockford.com

Douglas Crockford is an American computer programmer who is involved in the development of the JavaScript language. He specified the data format JSON (JavaScript Object Notation), and has developed various JavaScript related tools such as the static code analyzer JSLint and minifier JSMin.[1] He wrote the book JavaScript: The Good Parts, published in 2008, followed by How JavaScript Works in 2018. He was a senior JavaScript architect at PayPal until 2019, and is also a writer and speaker on JavaScript, JSON, and related web technologies.

Education[edit]

Crockford earned a degree in Radio and Television from San Francisco State University[2] in 1975. He took classes in FORTRAN and worked with a university lab's computer.[3]

Career[edit]

Crockford purchased an Atari 8-bit computer in 1980 and wrote the game Galahad and the Holy Grail for the Atari Program Exchange (APX), which resulted in Chris Crawford hiring him at Atari, Inc. While at Atari, Crockford wrote another game, Burgers!, for APX[4] and a number of experimental audio/visual demos that were freely distributed.[5][6]

After Warner Communications sold the company, he joined National Semiconductor. In 1984 Crockford joined Lucasfilm,[3] and later Paramount Pictures. He became known on video game oriented listservs in the early 1990s after he posted his memoir "The Expurgation of Maniac Mansion" to a video gaming bulletin board. The memoir documented his efforts to censor the computer game Maniac Mansion to Nintendo's satisfaction so that they could release it as a cartridge, and Crockford's mounting frustrations as Nintendo's demands became more obscure and confusing.[7]

Together with Randy Farmer and Chip Morningstar, Crockford founded Electric Communities and was its CEO from 1994 to 1995. He was involved[clarification needed] in the development of the programming language E.[8]

Crockford was the founder of State Software (also known as Veil Networks) and its CTO from 2001 to 2002.[9]

During his time at State Software, Crockford popularized the JSON data format, based upon existing JavaScript language constructs, as a lightweight alternative to XML. He obtained the domain name json.org in 2002, and put up his description of the format there.[10] In July 2006, he specified the format officially, as RFC 4627.[11]

He worked at Yahoo for many years.[citation needed]

Opinions on JavaScript[edit]

In 2008 Crockford published a book announcing his discovery that Javascript, contrary to prevailing opinion, has good parts. He describes this as "heresy", and as "maybe the first important discovery of the 21st century", noting that it came as a "big surprise to the JavaScript community, and the world at large."[12] He attributes the discovery to his having read the ECMAScript Standard, which he says "literally changed my life."[13] He also notes that the specification document is of "extremely poor quality", "hard to read", "hard to understand", and says that the ECMA and the TC39 committee "should be deeply embarrassed".[14]

Software license for "Good, not Evil"[edit]

In 2002, in reference to President George Bush's war on "evildoers", Crockford started releasing his JSMin software under a customized open source MIT License, with the added requirement that "The Software shall be used for Good, not Evil". This clause was carried over to JSMin-PHP, a variation of JSMin by Ryan Grove. This software was hosted on Google Code until December 2009 when, due to the additional clause, Google determined that the license was not compliant with the definition of free and open source software, which does not permit any restriction on how software may be used.[15][16] JSMin-PHP was forced to migrate to a new hosting provider.[17][18] According to the GNU project, the licence conflicts with Freedom 0 of the Free Software definition, and although "it may be unenforceable, we cannot presume that", therefore non-free.[19]

Crockford's license has caused problems for some open source projects who mistook the license for an open source variant of the MIT license. Affected open source developers have asked Crockford to change the license, but he has continued to use it.[20][21][22] In 2022, Crockford changed the license in the JSON Java implementation to Public Domain.[23]

In media[edit]

Crockford is listed in the acknowledgements of the 1995 hardcover edition of The Diamond Age, by Neal Stephenson as Douglas (Carl Hollywood) Crockford.

Bibliography[edit]

  • JavaScript: The Good Parts. O'Reilly. 2008. ISBN 978-0-596-51774-8. OCLC 192027457.
  • How JavaScript Works. Virgule-Solidus. 2018. ISBN 978-1949815009. OCLC 1076490570.

References[edit]

  1. ^ "JSMIN, The JavaScript Minifier". Crockford.com. December 4, 2003. Retrieved January 31, 2013.
  2. ^ Douglas Crockford speaker biography Archived February 6, 2007, at the Wayback Machine , New Paradigms for Using Computers conference, IBM Almaden Research Center, August 22, 1996
  3. ^ a b Boosman, Frank (March 1987). "Designer Profile: Doug Crockford". Computer Gaming World (interview). p. 40.
  4. ^ "Atari Program Exchange: Burgers!". atariarchives.org.
  5. ^ "Hollywood Medieval demo for Atari 8-bit". YouTube. Archived from the original on December 15, 2021.
  6. ^ "Ballsong Nr 1 demo for Atari 8-bit". YouTube. Archived from the original on December 15, 2021.
  7. ^ The Expurgation of Maniac Mansion: A Memoir by Douglas Crockford
  8. ^ Seibel, Peter (December 21, 2009). Coders at Work: Reflections on the Craft of Programming. Apress. pp. 95–96. ISBN 9781430219491.
  9. ^ "Douglas Crockford". GLOBAL PROGRAMMERS STORIES. February 15, 2015. Retrieved August 7, 2023.
  10. ^ JSON: The Fat-Free Alternative to XML, Douglas Crockford, December 6, 2006
  11. ^ RFC 4627: The application/json Media Type for JavaScript Object Notation (JSON)
  12. ^ Crockford, Douglas (March 11, 2011). "Heresy & Heretical Open Source: A Heretic's Perspective". InfoQ. Retrieved September 19, 2022.
  13. ^ "How JavaScript Works: Sample Chapter". www.howjavascriptworks.com. Retrieved September 19, 2022.
  14. ^ "JavaScript: The World's Most Misunderstood Programming Language". www.crockford.com. Retrieved September 19, 2022.
  15. ^ "The Open Source Definition | Open Source Initiative". Opensource.org. February 22, 1999. Retrieved January 31, 2013.
  16. ^ "OSI FAQ entry on 'evil'". Opensource.org. October 21, 2007.
  17. ^ Shankland, Stephen (December 28, 2009). "'Don't-be-evil' Google spurns no-evil software | Deep Tech - CNET News". News.cnet.com. Archived from the original on October 25, 2012. Retrieved January 31, 2013.
  18. ^ wonko.com (December 8, 2009). "JSMin isn't welcome on Google Code". wonko.com. Retrieved January 31, 2013.
  19. ^ Stallman, Richard. "Licence List". GNU.org.
  20. ^ directhex (November 9, 2012). "Archive » Evil, or why Douglas Crockford is harmful to Free Software". Apebox.Org. Retrieved January 31, 2013.
  21. ^ "JSON.org License Literally Says it "shall be used for Good, not Evil" | Hacker News". News.ycombinator.com. January 30, 2012. Retrieved January 31, 2013.
  22. ^ "Bug #63520 JSON extension includes a problematic license statement". bugs.php.net. January 30, 2014. Retrieved January 30, 2014.
  23. ^ "Public Domain". August 23, 2022. Retrieved July 24, 2023.

External links[edit]