From c932fc45ac4f74180aa98548a7670c30ff618ccc Mon Sep 17 00:00:00 2001 From: Daniel Pupius Date: Thu, 18 Oct 2012 10:58:06 -0700 Subject: [PATCH 01/87] Update styleguides/JavaScript/closure-library.md --- styleguides/JavaScript/closure-library.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/styleguides/JavaScript/closure-library.md b/styleguides/JavaScript/closure-library.md index a2f3630..682f465 100644 --- a/styleguides/JavaScript/closure-library.md +++ b/styleguides/JavaScript/closure-library.md @@ -1,11 +1,11 @@ # Closure Usage # We use [Plovr](http://plovr.com/docs.html) to compile and compress our client-side JavaScript. It -comes bundled with a copy of the (Closure Library)[closure-library.googlecode.com] which we can +comes bundled with a copy of the (Closure Library)[http://closure-library.googlecode.com] which we can `goog.require` seemlessly from anywhere. -Even though we can include any piece of Closure in Medium, we should not, since some of the classes -are very heavy, primarily due to their flexibility and to support for older browsers (e.g. IE6). +Even though we can easily load any piece of Closure from our projects, we should not, since some of the classes +are very heavy, primarily due to their flexibility and their support for older browsers (e.g. IE6). As well as anything in [base.js](http://closure-library.googlecode.com/svn/docs/closure_goog_base.js.html) the following classes are approved: From dbe06c5d1fd8ea29a48f91788b5a3dbaafd0b4fc Mon Sep 17 00:00:00 2001 From: Daniel Pupius Date: Thu, 18 Oct 2012 10:58:44 -0700 Subject: [PATCH 02/87] Update styleguides/JavaScript/closure-library.md --- styleguides/JavaScript/closure-library.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styleguides/JavaScript/closure-library.md b/styleguides/JavaScript/closure-library.md index 682f465..b900565 100644 --- a/styleguides/JavaScript/closure-library.md +++ b/styleguides/JavaScript/closure-library.md @@ -1,7 +1,7 @@ # Closure Usage # We use [Plovr](http://plovr.com/docs.html) to compile and compress our client-side JavaScript. It -comes bundled with a copy of the (Closure Library)[http://closure-library.googlecode.com] which we can +comes bundled with a copy of the [Closure Library](http://closure-library.googlecode.com) which we can `goog.require` seemlessly from anywhere. Even though we can easily load any piece of Closure from our projects, we should not, since some of the classes @@ -27,7 +27,7 @@ the following classes are approved: * `goog.userAgent` * `goog.testing` -New classes should be approved on a case by case basis +New classes should be approved on a case by case basis. ## goog.Disposable ## From 561c460c9cfad162cd23d016b4d5283971d8c790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C3=98in=C3=A6s=20Myrseth?= Date: Sun, 25 Nov 2012 10:55:51 +0100 Subject: [PATCH 03/87] Signed OCLA --- contributors/myme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/myme.md diff --git a/contributors/myme.md b/contributors/myme.md new file mode 100644 index 0000000..a002e44 --- /dev/null +++ b/contributors/myme.md @@ -0,0 +1,13 @@ +2012-11-25 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am free and able to make this agreement +and sign this declaration. + +Signed, + +Martin Øinæs Myrseth +https://github.com/myme From 0fe7637782357eca3cb8f3833073f272995f2301 Mon Sep 17 00:00:00 2001 From: SLaks Date: Thu, 20 Dec 2012 12:57:11 -0800 Subject: [PATCH 04/87] OCLA Signature :heart: --- contributors/slaks.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/slaks.md diff --git a/contributors/slaks.md b/contributors/slaks.md new file mode 100644 index 0000000..667e54a --- /dev/null +++ b/contributors/slaks.md @@ -0,0 +1,13 @@ +2012-12-20 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Schabse Laks +https://github.com/slaks From ee163d61371cfcb15aeb4b3bc4cf506cb7ae8a4a Mon Sep 17 00:00:00 2001 From: John Yang-Sammataro Date: Mon, 31 Dec 2012 14:12:12 -0500 Subject: [PATCH 05/87] signed OCLA --- contributors/JohnYangSam.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/JohnYangSam.md diff --git a/contributors/JohnYangSam.md b/contributors/JohnYangSam.md new file mode 100644 index 0000000..57f9790 --- /dev/null +++ b/contributors/JohnYangSam.md @@ -0,0 +1,13 @@ +2012-12-31 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +John Yang-Sammataro +https://github.com/JohnYangSam From f680de37aadc402bf9afba8c546c0425f00826ab Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Sun, 6 Jan 2013 14:55:45 -0800 Subject: [PATCH 06/87] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d8fe67f..a32d73a 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ These are [Node](http://nodejs.org/) modules that can be used pretty directly as libraries in applications. * [Async Builder](https://github.com/Obvious/asyncBuilder) — - Asynchronous dependency loading "the cool way". + Asynchronous dependency injection for node.js. * [Bidar](https://github.com/Obvious/bidar) — Binary serialization and object iteration. * [Composers](https://github.com/Obvious/composers) — Asynchronous @@ -98,6 +98,7 @@ libraries in applications. it easy to be a proper *nix daemon. * [Falkor](https://github.com/Obvious/falkor) — HTTP Level Functional Testing Library. +* [Kew](https://github.com/Obvious/kew) — A lightweight promise library optimized for node.js * [Leb](https://github.com/Obvious/leb) — Utilities for the LEB128 number representation. * [Matador](https://github.com/Obvious/matador) — Application From 9c685f5718a5e8da9417204095426b58427e499f Mon Sep 17 00:00:00 2001 From: Candid Dauth Date: Mon, 14 Jan 2013 16:44:33 +0100 Subject: [PATCH 07/87] OCLA signature --- contributors/cdauth.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/cdauth.md diff --git a/contributors/cdauth.md b/contributors/cdauth.md new file mode 100644 index 0000000..310d039 --- /dev/null +++ b/contributors/cdauth.md @@ -0,0 +1,13 @@ +2013-01-14 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Candid Dauth +https://github.com/cdauth From d61528ce7a04a2f00868e41a819acba506933096 Mon Sep 17 00:00:00 2001 From: Andrew Bonventre Date: Tue, 22 Jan 2013 13:27:04 -0500 Subject: [PATCH 08/87] OCLA signage --- contributors/andybons.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/andybons.md diff --git a/contributors/andybons.md b/contributors/andybons.md new file mode 100644 index 0000000..bd1e30a --- /dev/null +++ b/contributors/andybons.md @@ -0,0 +1,13 @@ +2013-01-22 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am free and able to make this agreement +and sign this declaration. + +Signed, + +Andrew Bonventre +https://github.com/andybons From 859dbb2d7a8209897b6b65af72fb599d0637bd2f Mon Sep 17 00:00:00 2001 From: Alex Rass Date: Wed, 30 Jan 2013 16:41:31 -0500 Subject: [PATCH 09/87] Added to contributors list --- contributors/alexrass.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/alexrass.md diff --git a/contributors/alexrass.md b/contributors/alexrass.md new file mode 100644 index 0000000..0d0f1f7 --- /dev/null +++ b/contributors/alexrass.md @@ -0,0 +1,13 @@ +2013-01-30 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Alex Rass +https://github.com/alexrass \ No newline at end of file From 1a4de08326d6d10f298f8e41e13538f15573b0f0 Mon Sep 17 00:00:00 2001 From: Gabriel de Oliveira Barbosa Date: Sun, 10 Feb 2013 06:29:54 -0800 Subject: [PATCH 10/87] Create manobi.md --- contributors/manobi.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/manobi.md diff --git a/contributors/manobi.md b/contributors/manobi.md new file mode 100644 index 0000000..14cefbe --- /dev/null +++ b/contributors/manobi.md @@ -0,0 +1,13 @@ +2013-02-10 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Gabriel de Oliveira Barbosa +https://github.com/manobi From e43b30bbdfec2e0743aef2c37a28792019f4686f Mon Sep 17 00:00:00 2001 From: Ivan Zuzak Date: Sat, 23 Feb 2013 20:43:31 +0100 Subject: [PATCH 11/87] Signed OCLA --- contributors/izuzak.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/izuzak.md diff --git a/contributors/izuzak.md b/contributors/izuzak.md new file mode 100644 index 0000000..0591e3d --- /dev/null +++ b/contributors/izuzak.md @@ -0,0 +1,13 @@ +2013-02-23 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Ivan Zuzak +https://github.com/izuzak From 70b2b5d7b0ad4661643f005d17e0b3e200ada58c Mon Sep 17 00:00:00 2001 From: asciidisco Date: Mon, 25 Mar 2013 21:52:44 +0100 Subject: [PATCH 12/87] Added asciidisco to the Obvious Contributors License Agreement --- contributors/asciidisco.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/asciidisco.md diff --git a/contributors/asciidisco.md b/contributors/asciidisco.md new file mode 100644 index 0000000..8fe9e90 --- /dev/null +++ b/contributors/asciidisco.md @@ -0,0 +1,13 @@ +2013-03-25 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Sebastian Golasch +https://github.com/asciidisco \ No newline at end of file From a99c97412fbb9cc9a63d0d88e535ea126718247f Mon Sep 17 00:00:00 2001 From: Pete Feltham Date: Tue, 2 Apr 2013 10:27:49 +1200 Subject: [PATCH 13/87] Sign the OCLA --- contributors/felthy.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/felthy.md diff --git a/contributors/felthy.md b/contributors/felthy.md new file mode 100644 index 0000000..6ac2154 --- /dev/null +++ b/contributors/felthy.md @@ -0,0 +1,13 @@ +2013-04-02 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Pete Feltham +https://github.com/felthy From 61f7c0977ca1422b4d485b0f9496499b917105cf Mon Sep 17 00:00:00 2001 From: JaidenAshmore Date: Mon, 22 Apr 2013 20:41:59 +1000 Subject: [PATCH 14/87] Create JaidenAshmore.md --- contributors/JaidenAshmore.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/JaidenAshmore.md diff --git a/contributors/JaidenAshmore.md b/contributors/JaidenAshmore.md new file mode 100644 index 0000000..bd390c4 --- /dev/null +++ b/contributors/JaidenAshmore.md @@ -0,0 +1,13 @@ +22/04/2013 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Jaiden Ashmore +https://github.com/JaidenAshmore From 04f78b439428388c97362118614ac95792dab7a7 Mon Sep 17 00:00:00 2001 From: Casear Date: Thu, 25 Apr 2013 12:13:04 +0800 Subject: [PATCH 15/87] Create casear.md --- contributors/casear.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 contributors/casear.md diff --git a/contributors/casear.md b/contributors/casear.md new file mode 100644 index 0000000..c03c500 --- /dev/null +++ b/contributors/casear.md @@ -0,0 +1,9 @@ +25/04/2013 + +I hereby agree to the terms of the Obvious Contributors License Agreement, version 1.0, with MD5 checksum fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Casear Chu https://github.com/Casear From 06ac4aff3f121dfc63f7554e224b6a30b6644116 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Sun, 5 May 2013 20:24:36 -0500 Subject: [PATCH 16/87] Signed OCLA --- contributors/existentialism.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/existentialism.md diff --git a/contributors/existentialism.md b/contributors/existentialism.md new file mode 100644 index 0000000..27b7e2b --- /dev/null +++ b/contributors/existentialism.md @@ -0,0 +1,13 @@ +2013-05-05 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Brian Ng +https://github.com/existentialism From 334fc87a60cc9b27531b817ad1ae0e5cd6fde8ea Mon Sep 17 00:00:00 2001 From: Sergey Lukin Date: Thu, 20 Jun 2013 01:56:10 +0300 Subject: [PATCH 17/87] Create sergeylukin.md --- contributors/sergeylukin.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/sergeylukin.md diff --git a/contributors/sergeylukin.md b/contributors/sergeylukin.md new file mode 100644 index 0000000..7445446 --- /dev/null +++ b/contributors/sergeylukin.md @@ -0,0 +1,13 @@ +2013-06-20 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Sergey Lukin +https://github.com/sergeylukin From ba4586aa2b017699c68c0418d3ff9a1c90a60832 Mon Sep 17 00:00:00 2001 From: Joshua Mervine Date: Fri, 12 Jul 2013 13:24:03 -0700 Subject: [PATCH 18/87] Create jmervine.md --- contributors/jmervine.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 contributors/jmervine.md diff --git a/contributors/jmervine.md b/contributors/jmervine.md new file mode 100644 index 0000000..4995370 --- /dev/null +++ b/contributors/jmervine.md @@ -0,0 +1,10 @@ +12 July 2013 + +I hereby agree to the terms of the Obvious Contributors License Agreement, version 1.0, with MD5 checksum fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Joshua Mervine +https://github.com/jmervine From 32d407f9a7c0f704f3fc126ba8912820b4641be2 Mon Sep 17 00:00:00 2001 From: Keith Gibbs Date: Mon, 12 Aug 2013 14:45:05 -0400 Subject: [PATCH 19/87] Create pixelheresy.md --- contributors/pixelheresy.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/pixelheresy.md diff --git a/contributors/pixelheresy.md b/contributors/pixelheresy.md new file mode 100644 index 0000000..1df98d0 --- /dev/null +++ b/contributors/pixelheresy.md @@ -0,0 +1,13 @@ +August 12, 2013 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Keith Gibbs +https://github.com/pixelheresy \ No newline at end of file From 339e6b32353b3dea50468e5d12cc5f2e65893cc4 Mon Sep 17 00:00:00 2001 From: Aliaksei Sapach Date: Sun, 18 Aug 2013 01:02:36 +0300 Subject: [PATCH 20/87] Signed OCLA --- contributors/asapach.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/asapach.md diff --git a/contributors/asapach.md b/contributors/asapach.md new file mode 100644 index 0000000..9a92c0c --- /dev/null +++ b/contributors/asapach.md @@ -0,0 +1,13 @@ +2013-08-18 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Aliaksei Sapach +https://github.com/asapach \ No newline at end of file From ef3a250b24e53cad65724d98dfdeb93b89080942 Mon Sep 17 00:00:00 2001 From: Jacob Gable Date: Mon, 19 Aug 2013 13:18:55 -0500 Subject: [PATCH 21/87] Add Jacob Gable (jgable) --- contributors/jgable.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/jgable.md diff --git a/contributors/jgable.md b/contributors/jgable.md new file mode 100644 index 0000000..ad42fc9 --- /dev/null +++ b/contributors/jgable.md @@ -0,0 +1,13 @@ +2013-08-19 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Jacob Gable +https://github.com/jgable \ No newline at end of file From 69894da3142ec9a4a1d9f1a1c8c61b370d34097d Mon Sep 17 00:00:00 2001 From: Artem Titoulenko Date: Wed, 21 Aug 2013 14:39:20 -0700 Subject: [PATCH 22/87] Update README.md added Dynamite to the list of open source Node libraries --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a32d73a..dce92d0 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ libraries in applications. programming framework. * [Daemon Sauce](https://github.com/Obvious/daemonsauce) — Making it easy to be a proper *nix daemon. +* [Dynamite](https://github.com/Obvious/dynamite) — A promise-based DynamoDB client. * [Falkor](https://github.com/Obvious/falkor) — HTTP Level Functional Testing Library. * [Kew](https://github.com/Obvious/kew) — A lightweight promise library optimized for node.js From b56a4fb217bbdb3874f1264f977aed070b9613b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Cevey?= Date: Tue, 3 Sep 2013 10:01:27 +0100 Subject: [PATCH 23/87] Signed OCLA --- contributors/theefer.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/theefer.md diff --git a/contributors/theefer.md b/contributors/theefer.md new file mode 100644 index 0000000..b2f8e50 --- /dev/null +++ b/contributors/theefer.md @@ -0,0 +1,13 @@ +2013-09-03 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Sébastien Cevey +https://github.com/theefer From 1b615b9b398a616cd0d37c2823187d51641c5efa Mon Sep 17 00:00:00 2001 From: queequac Date: Thu, 19 Sep 2013 12:47:42 +0200 Subject: [PATCH 24/87] Added user queequac to contributors. --- contributors/queequac.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/queequac.md diff --git a/contributors/queequac.md b/contributors/queequac.md new file mode 100644 index 0000000..dedc48f --- /dev/null +++ b/contributors/queequac.md @@ -0,0 +1,13 @@ +2013-09-19 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Roland Eckl +https://github.com/queequac From 300bfb8439d12eac89afd3a6a553e949b245d37a Mon Sep 17 00:00:00 2001 From: Andrey Popp <8mayday@gmail.com> Date: Wed, 2 Oct 2013 01:27:35 +0400 Subject: [PATCH 25/87] Sign CLA --- contributors/andreypopp.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/andreypopp.md diff --git a/contributors/andreypopp.md b/contributors/andreypopp.md new file mode 100644 index 0000000..bb24791 --- /dev/null +++ b/contributors/andreypopp.md @@ -0,0 +1,13 @@ +2013/10/02 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Andrey Popp +https://github.com/andreypopp From a8530f59bbce391b98b4c6715f611882d4c34eb2 Mon Sep 17 00:00:00 2001 From: David Byrd Date: Fri, 11 Oct 2013 12:02:57 -0400 Subject: [PATCH 26/87] Create thebyrd.md --- contributors/thebyrd.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 contributors/thebyrd.md diff --git a/contributors/thebyrd.md b/contributors/thebyrd.md new file mode 100644 index 0000000..d516f14 --- /dev/null +++ b/contributors/thebyrd.md @@ -0,0 +1,9 @@ +2012-10-11 + +I hereby agree to the terms of the Obvious Contributors License Agreement, version 1.0, with MD5 checksum fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am free and able to make this agreement and sign this declaration. + +Signed, + +David Byrd https://github.com/thebyrd From b021c162b23c72b883fb4da8674bdc9512ecf5c5 Mon Sep 17 00:00:00 2001 From: "Eric W. Barndollar" Date: Fri, 11 Oct 2013 12:49:21 -0700 Subject: [PATCH 27/87] Lindurion: Signing OCLA --- contributors/Lindurion.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/Lindurion.md diff --git a/contributors/Lindurion.md b/contributors/Lindurion.md new file mode 100644 index 0000000..6030207 --- /dev/null +++ b/contributors/Lindurion.md @@ -0,0 +1,13 @@ +2013-10-11 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Eric W. Barndollar +https://github.com/Lindurion From ccc584a40c01236935d191c69ca8e7f77e8307b0 Mon Sep 17 00:00:00 2001 From: Evan Jones Date: Sat, 26 Oct 2013 19:01:47 -0400 Subject: [PATCH 28/87] evanj: Signed OCLA. --- contributors/evanj.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/evanj.md diff --git a/contributors/evanj.md b/contributors/evanj.md new file mode 100644 index 0000000..5438f10 --- /dev/null +++ b/contributors/evanj.md @@ -0,0 +1,13 @@ +2013-10-26 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am free and able to make this agreement +and sign this declaration. + +Signed, + +Evan Jones +https://github.com/evanj From 4a7d2d70e803f3c4abf344432801ec01f99e5874 Mon Sep 17 00:00:00 2001 From: Edward Hutchins Date: Tue, 5 Nov 2013 14:19:12 -0800 Subject: [PATCH 29/87] Signed OCLA. --- contributors/eahutchins.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 contributors/eahutchins.md diff --git a/contributors/eahutchins.md b/contributors/eahutchins.md new file mode 100644 index 0000000..765488f --- /dev/null +++ b/contributors/eahutchins.md @@ -0,0 +1,14 @@ +2013-11-05 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Edward Hutchins +https://github.com/eahutchins + From 9861b2c8fd4714b1345c6adb01b5cca0bc5928e2 Mon Sep 17 00:00:00 2001 From: Graham Bloice Date: Wed, 20 Nov 2013 13:09:47 +0000 Subject: [PATCH 30/87] Created gbloice.md --- contributors/gbloice.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/gbloice.md diff --git a/contributors/gbloice.md b/contributors/gbloice.md new file mode 100644 index 0000000..60e30e9 --- /dev/null +++ b/contributors/gbloice.md @@ -0,0 +1,13 @@ +2013-11-20 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +ce876e3d1743ae78eaa20f9b9ea281ad. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Graham Bloice +https://github.com/gbloice \ No newline at end of file From a45846b07408af805486bf27409849b5ad476c8a Mon Sep 17 00:00:00 2001 From: Filirom1 Date: Wed, 27 Nov 2013 13:40:10 +0100 Subject: [PATCH 31/87] Signed OCLA --- contributors/Filirom1.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/Filirom1.md diff --git a/contributors/Filirom1.md b/contributors/Filirom1.md new file mode 100644 index 0000000..c585311 --- /dev/null +++ b/contributors/Filirom1.md @@ -0,0 +1,13 @@ +2013-11-27 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Romain Philibert +https://github.com/Filirom1 From 179ba4ca3d9d6868ad716dbf690a5475cf1841a7 Mon Sep 17 00:00:00 2001 From: Nick Gordon Date: Thu, 5 Dec 2013 14:03:00 -0800 Subject: [PATCH 32/87] fried OCLA --- contributors/snicker.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/snicker.md diff --git a/contributors/snicker.md b/contributors/snicker.md new file mode 100644 index 0000000..a94100c --- /dev/null +++ b/contributors/snicker.md @@ -0,0 +1,13 @@ +2013/12/05 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Nick Gordon +https://github.com/snicker From 5727982bb2cd12e9274060cf8a23c1d8000cdae9 Mon Sep 17 00:00:00 2001 From: Matt Whelan Date: Fri, 6 Dec 2013 15:05:52 -0800 Subject: [PATCH 33/87] Adding Matt Whelan as a contributor. --- contributors/MattWhelan.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/MattWhelan.md diff --git a/contributors/MattWhelan.md b/contributors/MattWhelan.md new file mode 100644 index 0000000..f283f72 --- /dev/null +++ b/contributors/MattWhelan.md @@ -0,0 +1,13 @@ +Fri Dec 6 15:04:04 PST 2013 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, +Matt Whelan + +https://github.com/MattWhelan From ee69eac81369d8a9210a0f0191f5cbe111c1ea42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Val=C3=A9ry?= Date: Thu, 2 Jan 2014 14:16:02 +0100 Subject: [PATCH 34/87] new user darul75 --- contributors/darul75.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 contributors/darul75.md diff --git a/contributors/darul75.md b/contributors/darul75.md new file mode 100644 index 0000000..3f8a106 --- /dev/null +++ b/contributors/darul75.md @@ -0,0 +1,9 @@ +2014-01-02 + +I hereby agree to the terms of the Obvious Contributors License Agreement, version 1.0, with MD5 checksum fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Julien Valéry https://github.com/darul75 From 7b898e1ef60989498067cf613cf628cec323a1ea Mon Sep 17 00:00:00 2001 From: Morgan Wigmanich Date: Fri, 24 Jan 2014 10:50:54 -0500 Subject: [PATCH 35/87] added signed OCLA for okize --- contributors/okize.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/okize.md diff --git a/contributors/okize.md b/contributors/okize.md new file mode 100644 index 0000000..11c1784 --- /dev/null +++ b/contributors/okize.md @@ -0,0 +1,13 @@ +2014-01-24 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Morgan Wigmanich +https://github.com/okize \ No newline at end of file From 6aa7504ead13a2cfb9c174df61d4d39de7568e20 Mon Sep 17 00:00:00 2001 From: Michael Klein Date: Mon, 27 Jan 2014 15:58:30 +0000 Subject: [PATCH 36/87] added monbro --- contributors/monbro.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/monbro.md diff --git a/contributors/monbro.md b/contributors/monbro.md new file mode 100644 index 0000000..0be410d --- /dev/null +++ b/contributors/monbro.md @@ -0,0 +1,13 @@ +2014-01-27 + +I hereby agree to the terms of the Obvious Contributors License +Agreement, version 1.0, with MD5 checksum +fbe613f727e76c93e4a5967536c87fbe. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Michael Klein +https://github.com/monbro From ddf2630805c4d5e5d75e2eb43651338099327d6c Mon Sep 17 00:00:00 2001 From: Sarah Date: Thu, 6 Mar 2014 20:36:42 -0800 Subject: [PATCH 37/87] Change licenses Apache to MIT, Obvious to Medium --- README.md | 37 +++++++++++++------------ ocla-1.0.md => cla-1.0.md | 21 ++++++-------- ocla-rationale.md => cla-rationale.md | 14 +++++----- mit-license.md | 23 +++++++++++++++ sign-ocla-paper.md => sign-cla-paper.md | 16 +++++------ sign-ocla.md => sign-cla.md | 32 ++++++++++----------- 6 files changed, 82 insertions(+), 61 deletions(-) rename ocla-1.0.md => cla-1.0.md (82%) rename ocla-rationale.md => cla-rationale.md (90%) create mode 100644 mit-license.md rename sign-ocla-paper.md => sign-cla-paper.md (74%) rename sign-ocla.md => sign-cla.md (69%) diff --git a/README.md b/README.md index dce92d0..d9d33a3 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -Open Source Efforts at The Obvious Corporation +Open Source Efforts at A Medium Corporation ============================================== This repository serves as the umbrella project to represent the -various open source efforts at The Obvious Corporation -. Come here to get an overview of the various +various open source efforts at A Medium Corporation +. Come here to get an overview of the various projects, to learn how to contribute to them, and to sign up as a contributor. @@ -17,11 +17,11 @@ On this page: Other pages: -* [Sign the OCLA](https://github.com/Obvious/open-source/blob/master/sign-ocla.md) -* [OCLA Rationale](https://github.com/Obvious/open-source/blob/master/ocla-rationale.md) +* [Sign the CLA](https://github.com/Obvious/open-source/blob/master/sign-cla.md) +* [CLA Rationale](https://github.com/Obvious/open-source/blob/master/cla-rationale.md) * [Contributors](https://github.com/Obvious/open-source/blob/master/contributors) -* [Obvious Contributor License Agreement 1.0](https://github.com/Obvious/open-source/blob/master/ocla-1.0.md) -* [Apache License 2.0](https://github.com/Obvious/open-source/blob/master/apache-license-2.0.md) +* [Contributor License Agreement 2.0](https://github.com/Obvious/open-source/blob/master/cla-2.0.md) +* [MIT License](https://github.com/Obvious/open-source/blob/master/mit-license.md) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -30,7 +30,7 @@ Note to External Contributors Hello, External Person! -We at Obvious are eager to work with you. For small changes — +We at Medium are eager to work with you. For small changes — little bugfixes, correcting typos, and the like — please just submit pull requests to any of our projects. For larger changes, though, we have to ask you to jump through a little hoop. @@ -48,35 +48,36 @@ The reason we do this is to ensure, to the extent possible, that we don't "taint" the projects we manage with contributions that turn out to be improper. This protects everyone who wants to use the projects, including *you*! If you want a longer explanation, then you can check -out the [OCLA Rationale -page](https://github.com/Obvious/open-source/blob/master/ocla-rationale.md). +out the [CLA Rationale +page](https://github.com/Obvious/open-source/blob/master/cla-rationale.md). -Once you sign the Obvious Contributor License Agreement (the "OCLA"), +Once you sign the Contributor License Agreement (the "CLA"), we will then be able to merge your contributions with a clear conscience and with only the friction that results from the usual technical back-and-forth of a vibrant open source project. To get started with this process, visit the -[Sign the OCLA](https://github.com/Obvious/open-source/blob/master/sign-ocla.md) +[Sign the CLA](https://github.com/Obvious/open-source/blob/master/sign-cla.md) page. -For reference, the standard open source license used by The Obvious +For reference, the standard open source license used by A Medium Corporation is the -[Apache License 2.0](https://github.com/Obvious/open-source/blob/master/apache-license-2.0.md) -with a small clarifying preamble. +[MIT License](https://github.com/Obvious/open-source/blob/master/mit-license.md) +with a small clarifying preamble. Some projects created before March 6, 2014 use +the Apache 2.0 License (https://github.com/Obvious/open-source/blob/master/apache-license-2.0.md) If you have any questions about any of this, please raise them by filing a bug on this project, since there's a good chance that if you have a question then someone else has the same question too. If it is -really and truly a private matter, then you can mail Obvious's +really and truly a private matter, then you can mail Medium's official Open Sourceror privately, at -[open-source@obvious.com](mailto:open-source@obvious.com). +[open-source@medium.com](mailto:open-source@medium.com). Thanks, and happy hacking! Cheers, -Your friends at The Obvious Corporation +Your friends at A Medium Corporation * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * diff --git a/ocla-1.0.md b/cla-1.0.md similarity index 82% rename from ocla-1.0.md rename to cla-1.0.md index b084339..7716b18 100644 --- a/ocla-1.0.md +++ b/cla-1.0.md @@ -1,17 +1,15 @@ -The Obvious Contributors License Agreement +The Contributors License Agreement ========================================== -Version 1.0 +Version 2.0 ----------- ### Preface -This Agreement is between You, the Users, the Contributors, and The -Obvious Corporation. The intent of the Agreement is to clarify your -responsibilities as a Contributor. +This Agreement is between You, the Users, the Contributors, and A Medium Corporation. The intent of the Agreement is to clarify your responsibilities as a Contributor. The Agreement is meant to protect You, the Users, the Contributors, -and The Obvious Corporation from the malicious misdeeds of others. +and A Medium Corporation from the malicious misdeeds of others. The Agreement is *not* intended to restrict how You use Your own Contributions. @@ -27,11 +25,10 @@ and the singular shall include the plural. 2. "You" / "Your" — The individual signing this Agreement. -3. "The Obvious Corporation" — The company which manages the - Projects. The company's website is at . +3. "A Medium Corporation" — The company which manages the + Projects. The company's website is at . -4. "Project" — Open source projects being managed by The - Obvious Corporation. The Projects may all be found at +4. "Project" — Open source projects being managed by A Medium Corporation. The Projects may all be found at with an overview at . @@ -64,7 +61,7 @@ When You provide a Contribution to a Project: * You license that Contribution under the terms of the license of that Project. More specifically, You grant an irrevocable license for Your Contribution to the Users, the Contributors, and - The Obvious Corporation. + A Medium Corporation. * You assert that You have the authority and are able to license Your Contribution under the license of that Project. @@ -81,5 +78,5 @@ Furthermore: * If You become aware of a problem with any of Your Contributions or with the fact that You have signed this Agreement, then You agree to - inform The Obvious Corporation about the problem, without any undue + inform A Medium Corporation about the problem, without any undue delay. diff --git a/ocla-rationale.md b/cla-rationale.md similarity index 90% rename from ocla-rationale.md rename to cla-rationale.md index a375977..83b50f2 100644 --- a/ocla-rationale.md +++ b/cla-rationale.md @@ -1,10 +1,10 @@ -OCLA Rationale +CLA Rationale ============== Why do this at all? ------------------- -The point of the OCLA signing process is to have a credible record of +The point of the CLA signing process is to have a credible record of a developer stating that they really intend to contribute to an open source project. Technically speaking, the thing we are aiming for is a *non-repudiable* statement from a contributor, that is, a statement @@ -18,7 +18,7 @@ by claiming they weren't really contributing under the project's open source license. For some projects "trouble" has historically come, for example, in the form of patent lawsuits. -The Obvious Corporation wants to do our part to guard against this +A Medium Corporation wants to do our part to guard against this potential trouble, and we believe so should you. We aren't innovating here by asking you to sign an agreement, but we *are* trying to innovate by making the agreement and process nearly-transparent, @@ -58,16 +58,16 @@ We no longer live in that time. One wonderful thing about the world we live in today is that we can achieve the necessary non-reputiability without having to have a -physical document. In the case of the OCLA, we bootstrap this ability +physical document. In the case of the CLA, we bootstrap this ability off of the infrastructure provided by GitHub: More specifically, we treat GitHub as a neutral third party to witness the transactions -between a would-be contributor and The Obvious Corporation. GitHub +between a would-be contributor and A Medium Corporation. GitHub ends up acting sort of like a notary, in that its records of the actions — such as in particular the pull requests — of people using it can be taken as authoritative and unbiased. So, when a contributor forks this project, commits a change indicating -agreement to the OCLA, and files a pull request back with this project, +agreement to the CLA, and files a pull request back with this project, GitHub knows that all that happened, knows when it happened, and knows the identity of the entity taking all that action. Should there ever be a dispute about whether any of that took place, it's not just @@ -85,7 +85,7 @@ traditional email. We promise never to use this information for any purpose other than resolving authorship disputes. The upshot is that filing a pull request containing a statement of -agreement to the OCLA, along with the supplementary email, is close +agreement to the MCLA, along with the supplementary email, is close enough to having submitted a signed physical document saying the same things. That is, this tactic is a workable solution to the problem. And since fits in naturally with how actual contributions get made, what diff --git a/mit-license.md b/mit-license.md new file mode 100644 index 0000000..a5a4a92 --- /dev/null +++ b/mit-license.md @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) 2014 A Medium Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + diff --git a/sign-ocla-paper.md b/sign-cla-paper.md similarity index 74% rename from sign-ocla-paper.md rename to sign-cla-paper.md index 424b045..e71f72f 100644 --- a/sign-ocla-paper.md +++ b/sign-cla-paper.md @@ -1,17 +1,17 @@ -Sign the OCLA: Dead Tree Edition +Sign the CLA: Dead Tree Edition ================================ -Even though we at The Obvious Corporation would love to leave the +Even though we at A Medium Corporation would love to leave the paper world behind, various jurisdictions require that we also accept physically signed documents. If you wish to take advantage of this -when signing the OCLA, then all you need to do is mail us a document +when signing the CLA, then all you need to do is mail us a document with the following content: ``` [date] -I hereby agree to the terms of the attached Obvious Contributors -License. +I hereby agree to the terms of the attached Contributors +License Agreement. I furthermore declare that I am free and able to make this agreement and sign this declaration. @@ -38,12 +38,12 @@ Replace the bracketed text as follows: contacted. * `[your phone number]` with a phone number at which you can be contacted. -Print out a copy of [the OCLA](ocla-1.0.md), sign and date that copy, +Print out a copy of [the CLA](cla-2.0.md), sign and date that copy, and attach it to the page described above. Send it all to: - The Obvious Corporation + A Medium Corporation Attention: Open Sourceror - 800 Market St. Suite 800 + 760 Market Street Suite 900 San Francisco CA 94102 diff --git a/sign-ocla.md b/sign-cla.md similarity index 69% rename from sign-ocla.md rename to sign-cla.md index dbe641d..886d4e1 100644 --- a/sign-ocla.md +++ b/sign-cla.md @@ -1,29 +1,29 @@ -Sign the OCLA +Sign the CLA ============= -This page is the step-by-step guide to signing the Obvious +This page is the step-by-step guide to signing the Medium Contributors License Agreement. It's easy and pretty painless! For an explanation about why we ask you to do this, see the -[OCLA Rationale page](ocla-rationale.md). +[CLA Rationale page](cla-rationale.md). 1. First and foremost, read [the current version of the - OCLA](ocla-1.0.md). It is written to be as close to plain + CLA](cla-2.0.md). It is written to be as close to plain English as possible. 2. Make an account on [GitHub](https://github.com/) if you don't already have one. -3. File a pull request on this project (the Obvious Open Source +3. File a pull request on this project (the Medium Open Source Umbrella Project), as [outlined below](#filing-the-pull-request). -4. Email the Obvious Open Sourceror, as [outlined below](#sending-the-email). +4. Email the Medium Open Sourceror, as [outlined below](#sending-the-email). -5. Wait for an Obvious team member to merge your pull request. +5. Wait for a Medium team member to merge your pull request. 6. Contribute! -If you wish to, you may also file the OCLA in paper form. Please -see the instructions on [the paper OCLA page](sign-ocla-paper.md) +If you wish to, you may also file the CLA in paper form. Please +see the instructions on [the paper CLA page](sign-cla-paper.md) for details. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -45,9 +45,9 @@ Put the following in the file: ``` [date] -I hereby agree to the terms of the Obvious Contributors License -Agreement, version 1.0, with MD5 checksum -fbe613f727e76c93e4a5967536c87fbe. +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +063446fb691881581971b90f601fb9a5. I furthermore declare that I am authorized and able to make this agreement and sign this declaration. @@ -71,13 +71,13 @@ That's it! Sending the Email ----------------- -Send an email to Obvious's official Open Sourceror -at [open-source@obvious.com](mailto:open-source@obvious.com), -with the subject "OCLA" and the following body: +Send an email to Medium's official Open Sourceror +at [open-source@medium.com](mailto:open-source@medium.com), +with the subject "CLA" and the following body: ``` I submitted a pull request to indicate agreement to the terms -of the Obvious Contributors License Agreement. +of the Contributors License Agreement. Signed, From 7beb312f0f5c2d80d11f9bd9747351295eac2241 Mon Sep 17 00:00:00 2001 From: Sarah Date: Mon, 31 Mar 2014 21:19:01 -0700 Subject: [PATCH 38/87] Rename CLA 1.0 to CLA 2.0 --- cla-1.0.md => cla-2.0.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename cla-1.0.md => cla-2.0.md (100%) diff --git a/cla-1.0.md b/cla-2.0.md similarity index 100% rename from cla-1.0.md rename to cla-2.0.md From c9f877c94f2eaa22d72c2975d4f2c083a9b6472b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8ran=20Vagnby=20Lillesand?= Date: Tue, 1 Apr 2014 20:32:13 +0200 Subject: [PATCH 39/87] Accept CLA --- contributors/lillesand.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/lillesand.md diff --git a/contributors/lillesand.md b/contributors/lillesand.md new file mode 100644 index 0000000..0130352 --- /dev/null +++ b/contributors/lillesand.md @@ -0,0 +1,13 @@ +2014-04-01 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +7beb312f0f5c2d80d11f9bd9747351295eac2241. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Jøran Lillesand +https://github.com/lillesand From 34e6f71a28aec44c771a9cd963dab86f2126040b Mon Sep 17 00:00:00 2001 From: Sagar Jhobalia Date: Mon, 7 Apr 2014 01:23:37 -0700 Subject: [PATCH 40/87] Create Midnight-Coder.md --- contributors/Midnight-Coder.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/Midnight-Coder.md diff --git a/contributors/Midnight-Coder.md b/contributors/Midnight-Coder.md new file mode 100644 index 0000000..ba67c56 --- /dev/null +++ b/contributors/Midnight-Coder.md @@ -0,0 +1,13 @@ +2014-04-07 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +063446fb691881581971b90f601fb9a5. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Sagar Jhobalia +https://github.com/Midnight-Coder From 16eee12980bd33639abdbbb749c37efde3b38547 Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Thu, 24 Apr 2014 15:48:40 -0700 Subject: [PATCH 41/87] Move current CLAs to the apache/ folder --- contributors/{ => apache}/Filirom1.md | 0 contributors/{ => apache}/JaidenAshmore.md | 0 contributors/{ => apache}/JohnYangSam.md | 0 contributors/{ => apache}/Lindurion.md | 0 contributors/{ => apache}/MattWhelan.md | 0 contributors/{ => apache}/Midnight-Coder.md | 0 contributors/apache/README | 1 + contributors/{ => apache}/alexrass.md | 0 contributors/{ => apache}/andreypopp.md | 0 contributors/{ => apache}/andybons.md | 0 contributors/{ => apache}/asapach.md | 0 contributors/{ => apache}/asciidisco.md | 0 contributors/{ => apache}/atimb.md | 0 contributors/{ => apache}/casear.md | 0 contributors/{ => apache}/cdauth.md | 0 contributors/{ => apache}/ctalkington.md | 0 contributors/{ => apache}/danfuzz.md | 0 contributors/{ => apache}/darul75.md | 0 contributors/{ => apache}/domenic.md | 0 contributors/{ => apache}/eahutchins.md | 0 contributors/{ => apache}/evanj.md | 0 contributors/{ => apache}/existentialism.md | 0 contributors/{ => apache}/felthy.md | 0 contributors/{ => apache}/gbloice.md | 0 contributors/{ => apache}/izuzak.md | 0 contributors/{ => apache}/jgable.md | 0 contributors/{ => apache}/jmervine.md | 0 contributors/{ => apache}/lillesand.md | 0 contributors/{ => apache}/manobi.md | 0 contributors/{ => apache}/monbro.md | 0 contributors/{ => apache}/myme.md | 0 contributors/{ => apache}/okize.md | 0 contributors/{ => apache}/pixelheresy.md | 0 contributors/{ => apache}/queequac.md | 0 contributors/{ => apache}/sergeylukin.md | 0 contributors/{ => apache}/slaks.md | 0 contributors/{ => apache}/snicker.md | 0 contributors/{ => apache}/thebyrd.md | 0 contributors/{ => apache}/theefer.md | 0 39 files changed, 1 insertion(+) rename contributors/{ => apache}/Filirom1.md (100%) rename contributors/{ => apache}/JaidenAshmore.md (100%) rename contributors/{ => apache}/JohnYangSam.md (100%) rename contributors/{ => apache}/Lindurion.md (100%) rename contributors/{ => apache}/MattWhelan.md (100%) rename contributors/{ => apache}/Midnight-Coder.md (100%) create mode 100644 contributors/apache/README rename contributors/{ => apache}/alexrass.md (100%) rename contributors/{ => apache}/andreypopp.md (100%) rename contributors/{ => apache}/andybons.md (100%) rename contributors/{ => apache}/asapach.md (100%) rename contributors/{ => apache}/asciidisco.md (100%) rename contributors/{ => apache}/atimb.md (100%) rename contributors/{ => apache}/casear.md (100%) rename contributors/{ => apache}/cdauth.md (100%) rename contributors/{ => apache}/ctalkington.md (100%) rename contributors/{ => apache}/danfuzz.md (100%) rename contributors/{ => apache}/darul75.md (100%) rename contributors/{ => apache}/domenic.md (100%) rename contributors/{ => apache}/eahutchins.md (100%) rename contributors/{ => apache}/evanj.md (100%) rename contributors/{ => apache}/existentialism.md (100%) rename contributors/{ => apache}/felthy.md (100%) rename contributors/{ => apache}/gbloice.md (100%) rename contributors/{ => apache}/izuzak.md (100%) rename contributors/{ => apache}/jgable.md (100%) rename contributors/{ => apache}/jmervine.md (100%) rename contributors/{ => apache}/lillesand.md (100%) rename contributors/{ => apache}/manobi.md (100%) rename contributors/{ => apache}/monbro.md (100%) rename contributors/{ => apache}/myme.md (100%) rename contributors/{ => apache}/okize.md (100%) rename contributors/{ => apache}/pixelheresy.md (100%) rename contributors/{ => apache}/queequac.md (100%) rename contributors/{ => apache}/sergeylukin.md (100%) rename contributors/{ => apache}/slaks.md (100%) rename contributors/{ => apache}/snicker.md (100%) rename contributors/{ => apache}/thebyrd.md (100%) rename contributors/{ => apache}/theefer.md (100%) diff --git a/contributors/Filirom1.md b/contributors/apache/Filirom1.md similarity index 100% rename from contributors/Filirom1.md rename to contributors/apache/Filirom1.md diff --git a/contributors/JaidenAshmore.md b/contributors/apache/JaidenAshmore.md similarity index 100% rename from contributors/JaidenAshmore.md rename to contributors/apache/JaidenAshmore.md diff --git a/contributors/JohnYangSam.md b/contributors/apache/JohnYangSam.md similarity index 100% rename from contributors/JohnYangSam.md rename to contributors/apache/JohnYangSam.md diff --git a/contributors/Lindurion.md b/contributors/apache/Lindurion.md similarity index 100% rename from contributors/Lindurion.md rename to contributors/apache/Lindurion.md diff --git a/contributors/MattWhelan.md b/contributors/apache/MattWhelan.md similarity index 100% rename from contributors/MattWhelan.md rename to contributors/apache/MattWhelan.md diff --git a/contributors/Midnight-Coder.md b/contributors/apache/Midnight-Coder.md similarity index 100% rename from contributors/Midnight-Coder.md rename to contributors/apache/Midnight-Coder.md diff --git a/contributors/apache/README b/contributors/apache/README new file mode 100644 index 0000000..7b778d8 --- /dev/null +++ b/contributors/apache/README @@ -0,0 +1 @@ +This directory contains CLAs signed before we switched licenses from Apache to MIT. diff --git a/contributors/alexrass.md b/contributors/apache/alexrass.md similarity index 100% rename from contributors/alexrass.md rename to contributors/apache/alexrass.md diff --git a/contributors/andreypopp.md b/contributors/apache/andreypopp.md similarity index 100% rename from contributors/andreypopp.md rename to contributors/apache/andreypopp.md diff --git a/contributors/andybons.md b/contributors/apache/andybons.md similarity index 100% rename from contributors/andybons.md rename to contributors/apache/andybons.md diff --git a/contributors/asapach.md b/contributors/apache/asapach.md similarity index 100% rename from contributors/asapach.md rename to contributors/apache/asapach.md diff --git a/contributors/asciidisco.md b/contributors/apache/asciidisco.md similarity index 100% rename from contributors/asciidisco.md rename to contributors/apache/asciidisco.md diff --git a/contributors/atimb.md b/contributors/apache/atimb.md similarity index 100% rename from contributors/atimb.md rename to contributors/apache/atimb.md diff --git a/contributors/casear.md b/contributors/apache/casear.md similarity index 100% rename from contributors/casear.md rename to contributors/apache/casear.md diff --git a/contributors/cdauth.md b/contributors/apache/cdauth.md similarity index 100% rename from contributors/cdauth.md rename to contributors/apache/cdauth.md diff --git a/contributors/ctalkington.md b/contributors/apache/ctalkington.md similarity index 100% rename from contributors/ctalkington.md rename to contributors/apache/ctalkington.md diff --git a/contributors/danfuzz.md b/contributors/apache/danfuzz.md similarity index 100% rename from contributors/danfuzz.md rename to contributors/apache/danfuzz.md diff --git a/contributors/darul75.md b/contributors/apache/darul75.md similarity index 100% rename from contributors/darul75.md rename to contributors/apache/darul75.md diff --git a/contributors/domenic.md b/contributors/apache/domenic.md similarity index 100% rename from contributors/domenic.md rename to contributors/apache/domenic.md diff --git a/contributors/eahutchins.md b/contributors/apache/eahutchins.md similarity index 100% rename from contributors/eahutchins.md rename to contributors/apache/eahutchins.md diff --git a/contributors/evanj.md b/contributors/apache/evanj.md similarity index 100% rename from contributors/evanj.md rename to contributors/apache/evanj.md diff --git a/contributors/existentialism.md b/contributors/apache/existentialism.md similarity index 100% rename from contributors/existentialism.md rename to contributors/apache/existentialism.md diff --git a/contributors/felthy.md b/contributors/apache/felthy.md similarity index 100% rename from contributors/felthy.md rename to contributors/apache/felthy.md diff --git a/contributors/gbloice.md b/contributors/apache/gbloice.md similarity index 100% rename from contributors/gbloice.md rename to contributors/apache/gbloice.md diff --git a/contributors/izuzak.md b/contributors/apache/izuzak.md similarity index 100% rename from contributors/izuzak.md rename to contributors/apache/izuzak.md diff --git a/contributors/jgable.md b/contributors/apache/jgable.md similarity index 100% rename from contributors/jgable.md rename to contributors/apache/jgable.md diff --git a/contributors/jmervine.md b/contributors/apache/jmervine.md similarity index 100% rename from contributors/jmervine.md rename to contributors/apache/jmervine.md diff --git a/contributors/lillesand.md b/contributors/apache/lillesand.md similarity index 100% rename from contributors/lillesand.md rename to contributors/apache/lillesand.md diff --git a/contributors/manobi.md b/contributors/apache/manobi.md similarity index 100% rename from contributors/manobi.md rename to contributors/apache/manobi.md diff --git a/contributors/monbro.md b/contributors/apache/monbro.md similarity index 100% rename from contributors/monbro.md rename to contributors/apache/monbro.md diff --git a/contributors/myme.md b/contributors/apache/myme.md similarity index 100% rename from contributors/myme.md rename to contributors/apache/myme.md diff --git a/contributors/okize.md b/contributors/apache/okize.md similarity index 100% rename from contributors/okize.md rename to contributors/apache/okize.md diff --git a/contributors/pixelheresy.md b/contributors/apache/pixelheresy.md similarity index 100% rename from contributors/pixelheresy.md rename to contributors/apache/pixelheresy.md diff --git a/contributors/queequac.md b/contributors/apache/queequac.md similarity index 100% rename from contributors/queequac.md rename to contributors/apache/queequac.md diff --git a/contributors/sergeylukin.md b/contributors/apache/sergeylukin.md similarity index 100% rename from contributors/sergeylukin.md rename to contributors/apache/sergeylukin.md diff --git a/contributors/slaks.md b/contributors/apache/slaks.md similarity index 100% rename from contributors/slaks.md rename to contributors/apache/slaks.md diff --git a/contributors/snicker.md b/contributors/apache/snicker.md similarity index 100% rename from contributors/snicker.md rename to contributors/apache/snicker.md diff --git a/contributors/thebyrd.md b/contributors/apache/thebyrd.md similarity index 100% rename from contributors/thebyrd.md rename to contributors/apache/thebyrd.md diff --git a/contributors/theefer.md b/contributors/apache/theefer.md similarity index 100% rename from contributors/theefer.md rename to contributors/apache/theefer.md From dd07192d9c1c396d8ca8ede3f6f052577c119085 Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Thu, 24 Apr 2014 16:08:38 -0700 Subject: [PATCH 42/87] Correct checksum --- sign-cla.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sign-cla.md b/sign-cla.md index 886d4e1..89fbf6d 100644 --- a/sign-cla.md +++ b/sign-cla.md @@ -47,7 +47,7 @@ Put the following in the file: I hereby agree to the terms of the Contributors License Agreement, version 2.0, with MD5 checksum -063446fb691881581971b90f601fb9a5. +0962bd43bb8849553d91650a78cb2924. I furthermore declare that I am authorized and able to make this agreement and sign this declaration. @@ -64,6 +64,15 @@ Replace the bracketed text as follows: * `[your name]` with your name. * `[your github userid]` with your GitHub userid. +You can confirm the MD5 checksum of the CLA by running the md5 program over `cla-2.0.md`: + +``` +md5 cla-2.0.md +MD5 (cla-2.0.md) = 0962bd43bb8849553d91650a78cb2924 +``` + +If the output is different from above, do not sign the CLA and let us know. + That's it! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * From c941ca4353d1cc4aaf17ae9c8ffa0909f54c2a1b Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Thu, 24 Apr 2014 16:12:45 -0700 Subject: [PATCH 43/87] Combine steps five and six --- sign-cla.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sign-cla.md b/sign-cla.md index 886d4e1..3a765f4 100644 --- a/sign-cla.md +++ b/sign-cla.md @@ -18,9 +18,9 @@ For an explanation about why we ask you to do this, see the 4. Email the Medium Open Sourceror, as [outlined below](#sending-the-email). -5. Wait for a Medium team member to merge your pull request. - -6. Contribute! +5. Wait for a Medium team member to merge your pull request. You may start + opening pull requests for the project you're contributing to but we will + only be able to merge your contributions after your signed CLA is merged. If you wish to, you may also file the CLA in paper form. Please see the instructions on [the paper CLA page](sign-cla-paper.md) From 79a5fbfe0d8adeae64f71aede7e2afe0aa78b916 Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Mon, 28 Apr 2014 12:01:56 -0700 Subject: [PATCH 44/87] Add AaronO to contributors --- contributors/apache/aarono.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/apache/aarono.md diff --git a/contributors/apache/aarono.md b/contributors/apache/aarono.md new file mode 100644 index 0000000..c3f4726 --- /dev/null +++ b/contributors/apache/aarono.md @@ -0,0 +1,13 @@ +Monday 28th of April 2014 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Aaron O'Mullan +https://github.com/AaronO From 40dc1a2b4a5d1d7021bf9ee9911e21a716196251 Mon Sep 17 00:00:00 2001 From: fengmk2 Date: Thu, 22 May 2014 01:13:00 +0800 Subject: [PATCH 45/87] Accept CLA --- contributors/apache/fengmk2.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/apache/fengmk2.md diff --git a/contributors/apache/fengmk2.md b/contributors/apache/fengmk2.md new file mode 100644 index 0000000..6c87556 --- /dev/null +++ b/contributors/apache/fengmk2.md @@ -0,0 +1,13 @@ +2014-05-22 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Yuan Feng +https://github.com/fengmk2 From a8fdba3e891853cdf3729dd3a000f22a455a64f8 Mon Sep 17 00:00:00 2001 From: Nathan Caza Date: Tue, 17 Jun 2014 18:45:38 -0500 Subject: [PATCH 46/87] add mastercactapus to contributors --- contributors/apache/mastercactapus.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 contributors/apache/mastercactapus.md diff --git a/contributors/apache/mastercactapus.md b/contributors/apache/mastercactapus.md new file mode 100644 index 0000000..de5b67f --- /dev/null +++ b/contributors/apache/mastercactapus.md @@ -0,0 +1,14 @@ +2014-06-17 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Nathan Caza +https://github.com/mastercactapus + From cccb30a929c97379f82d3f3039dc9dd13009201d Mon Sep 17 00:00:00 2001 From: Tomo Masakura Date: Wed, 18 Jun 2014 20:42:35 +0900 Subject: [PATCH 47/87] Signed CLA 2.0. --- contributors/apache/masakura.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/apache/masakura.md diff --git a/contributors/apache/masakura.md b/contributors/apache/masakura.md new file mode 100644 index 0000000..179811e --- /dev/null +++ b/contributors/apache/masakura.md @@ -0,0 +1,13 @@ +2014-06-18 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Tomo Masakura +https://github.com/masakura From 50088006448e3c77790ac599892c63c8e303ff49 Mon Sep 17 00:00:00 2001 From: Filipe Constantinov Menezes Date: Fri, 20 Jun 2014 13:07:01 -0300 Subject: [PATCH 48/87] Signed CLA 2.0. --- contributors/apache/fmenezes.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/apache/fmenezes.md diff --git a/contributors/apache/fmenezes.md b/contributors/apache/fmenezes.md new file mode 100644 index 0000000..1a31add --- /dev/null +++ b/contributors/apache/fmenezes.md @@ -0,0 +1,13 @@ +2014-06-20 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Filipe Constantinov Menezes +https://github.com/fmenezes From 84707babb93472aac8aaa1fc2a3b5eb6bcf44618 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 23 Jun 2014 10:56:59 -0700 Subject: [PATCH 49/87] adding nathanjsweet --- contributors/apache/nathanjsweet.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/apache/nathanjsweet.md diff --git a/contributors/apache/nathanjsweet.md b/contributors/apache/nathanjsweet.md new file mode 100644 index 0000000..9da2e03 --- /dev/null +++ b/contributors/apache/nathanjsweet.md @@ -0,0 +1,13 @@ +06/23/2014 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Nathan Sweet +https://github.com/nathanjsweet \ No newline at end of file From aec0c0c479a01218bc2e65402d5f75fed614e5f6 Mon Sep 17 00:00:00 2001 From: Eduardo Lundgren Date: Thu, 17 Jul 2014 18:55:00 -0300 Subject: [PATCH 50/87] Signed CLA 2.0. --- contributors/eduardolundgren.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/eduardolundgren.md diff --git a/contributors/eduardolundgren.md b/contributors/eduardolundgren.md new file mode 100644 index 0000000..fe91860 --- /dev/null +++ b/contributors/eduardolundgren.md @@ -0,0 +1,13 @@ +17/07/2014 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Eduardo Lundgren +https://github.com/eduardolundgren \ No newline at end of file From 4bf16b82af04402c6b6a8d2f8c313385c6c7b8c3 Mon Sep 17 00:00:00 2001 From: Maira Bello Date: Mon, 11 Aug 2014 14:31:44 -0300 Subject: [PATCH 51/87] Signed CLA 2.0. --- contributors/mairatma.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/mairatma.md diff --git a/contributors/mairatma.md b/contributors/mairatma.md new file mode 100644 index 0000000..aa425f2 --- /dev/null +++ b/contributors/mairatma.md @@ -0,0 +1,13 @@ +2014-08-11 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Maira Bello +https://github.com/mairatma \ No newline at end of file From 482191005c2e399197ac617059e5e63f2ca5695f Mon Sep 17 00:00:00 2001 From: Nick Santos Date: Mon, 25 Aug 2014 13:14:56 -0400 Subject: [PATCH 52/87] Update all the readme links. Remove composers and populator. Add shepherd. --- README.md | 60 ++++++++++++++++++++++++++----------------------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index d9d33a3..7a11feb 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,11 @@ On this page: Other pages: -* [Sign the CLA](https://github.com/Obvious/open-source/blob/master/sign-cla.md) -* [CLA Rationale](https://github.com/Obvious/open-source/blob/master/cla-rationale.md) -* [Contributors](https://github.com/Obvious/open-source/blob/master/contributors) -* [Contributor License Agreement 2.0](https://github.com/Obvious/open-source/blob/master/cla-2.0.md) -* [MIT License](https://github.com/Obvious/open-source/blob/master/mit-license.md) +* [Sign the CLA](https://github.com/Medium/opensource/blob/master/sign-cla.md) +* [CLA Rationale](https://github.com/Medium/opensource/blob/master/cla-rationale.md) +* [Contributors](https://github.com/Medium/opensource/blob/master/contributors) +* [Contributor License Agreement 2.0](https://github.com/Medium/opensource/blob/master/cla-2.0.md) +* [MIT License](https://github.com/Medium/opensource/blob/master/mit-license.md) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -49,7 +49,7 @@ don't "taint" the projects we manage with contributions that turn out to be improper. This protects everyone who wants to use the projects, including *you*! If you want a longer explanation, then you can check out the [CLA Rationale -page](https://github.com/Obvious/open-source/blob/master/cla-rationale.md). +page](https://github.com/Medium/opensource/blob/master/cla-rationale.md). Once you sign the Contributor License Agreement (the "CLA"), we will then be able to merge your contributions with a clear @@ -57,14 +57,14 @@ conscience and with only the friction that results from the usual technical back-and-forth of a vibrant open source project. To get started with this process, visit the -[Sign the CLA](https://github.com/Obvious/open-source/blob/master/sign-cla.md) +[Sign the CLA](https://github.com/Medium/opensource/blob/master/sign-cla.md) page. For reference, the standard open source license used by A Medium Corporation is the -[MIT License](https://github.com/Obvious/open-source/blob/master/mit-license.md) +[MIT License](https://github.com/Medium/opensource/blob/master/mit-license.md) with a small clarifying preamble. Some projects created before March 6, 2014 use -the Apache 2.0 License (https://github.com/Obvious/open-source/blob/master/apache-license-2.0.md) +the Apache 2.0 License (https://github.com/Medium/opensource/blob/master/apache-license-2.0.md) If you have any questions about any of this, please raise them by filing a bug on this project, since there's a good chance that if you @@ -89,47 +89,43 @@ List of Projects These are [Node](http://nodejs.org/) modules that can be used pretty directly as libraries in applications. -* [Async Builder](https://github.com/Obvious/asyncBuilder) — - Asynchronous dependency injection for node.js. -* [Bidar](https://github.com/Obvious/bidar) — Binary serialization +* [Bidar](https://github.com/Medium/bidar) — Binary serialization and object iteration. -* [Composers](https://github.com/Obvious/composers) — Asynchronous - programming framework. -* [Daemon Sauce](https://github.com/Obvious/daemonsauce) — Making +* [Daemon Sauce](https://github.com/Medium/daemonsauce) — Making it easy to be a proper *nix daemon. -* [Dynamite](https://github.com/Obvious/dynamite) — A promise-based DynamoDB client. -* [Falkor](https://github.com/Obvious/falkor) — HTTP Level Functional +* [Dynamite](https://github.com/Medium/dynamite) — A promise-based DynamoDB client. +* [Falkor](https://github.com/Medium/falkor) — HTTP Level Functional Testing Library. -* [Kew](https://github.com/Obvious/kew) — A lightweight promise library optimized for node.js -* [Leb](https://github.com/Obvious/leb) — Utilities for the LEB128 +* [Kew](https://github.com/Medium/kew) — A lightweight promise library optimized for node.js +* [Leb](https://github.com/Medium/leb) — Utilities for the LEB128 number representation. -* [Matador](https://github.com/Obvious/matador) — Application +* [Matador](https://github.com/Medium/matador) — Application framework. -* [Oid](https://github.com/Obvious/oid) — Utilities for object +* [Oid](https://github.com/Medium/oid) — Utilities for object identity. -* [Pipette](https://github.com/Obvious/pipette) — Stream and pipe +* [Pipette](https://github.com/Medium/pipette) — Stream and pipe utilities. -* [Populator](https://github.com/Obvious/populator) — - Asynchronous object populator. -* [Ursa](https://github.com/Obvious/ursa) — RSA public/private key - crypto. -* [Typ](https://github.com/Obvious/typ) — Type predicates and +* [Shepherd](https://github.com/Medium/shepherd) — + Asynchronous dependency injection for node.js. +* [Typ](https://github.com/Medium/typ) — Type predicates and assertions. -* [Variants](https://github.com/Obvious/variants) — A variants +* [Ursa](https://github.com/Medium/ursa) — RSA public/private key + crypto. +* [Variants](https://github.com/Medium/variants) — A variants (experiments, mods) system with dynamic flag evaluation. ### Node Build Tools These are build-time tools packaged as [Node](http://nodejs.org/) modules. -* [PhantomJS](https://github.com/Obvious/phantomjs) — NPM wrapper for +* [PhantomJS](https://github.com/Medium/phantomjs) — NPM wrapper for grabbing the right PhantomJS binary. -* [Plovr](https://github.com/Obvious/plovr) — Integration of +* [Plovr](https://github.com/Medium/plovr) — Integration of the Plovr JavaScript build tool (a packaging of the Google Closure compiler). -* [Soynode](https://github.com/Obvious/soynode) — Integration of +* [Soynode](https://github.com/Medium/soynode) — Integration of the Soy template system (part of Google Closure). ### Other -* [Open Source Umbrella Project](https://github.com/Obvious/open-source) +* [Open Source Umbrella Project](https://github.com/Medium/opensource) — This site. From 1f0db0c31ee37260ce7b66bfa550baff28ac7c1d Mon Sep 17 00:00:00 2001 From: Adrian Rossouw Date: Mon, 15 Sep 2014 05:22:32 +0200 Subject: [PATCH 53/87] Created adrianrossouw.md --- contributors/adrianrossouw.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/adrianrossouw.md diff --git a/contributors/adrianrossouw.md b/contributors/adrianrossouw.md new file mode 100644 index 0000000..d8f5a55 --- /dev/null +++ b/contributors/adrianrossouw.md @@ -0,0 +1,13 @@ +2014-09-15 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Adrian Rossouw +https://github.com/AdrianRossouw \ No newline at end of file From b43c447f1a0e89265fc154ed05c8e0f99f8b79f9 Mon Sep 17 00:00:00 2001 From: Clay Loveless Date: Wed, 15 Oct 2014 09:30:01 -0700 Subject: [PATCH 54/87] Signed CLA 2.0. --- contributors/claylo.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/claylo.md diff --git a/contributors/claylo.md b/contributors/claylo.md new file mode 100644 index 0000000..8260c9e --- /dev/null +++ b/contributors/claylo.md @@ -0,0 +1,13 @@ +2014-10-15 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Clay Loveless +https://github.com/claylo From 8768e29b49fe156f259b44c52e0062fa63e7215a Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 13:55:06 -0800 Subject: [PATCH 55/87] Typography fixes, a note about policy, etc. * Added a note about our policy of not owning the code we don't intend to maintain through usage. * Removed URSA from the list since we transferred the ownership. * Replaced space mdash space with hairline space mdash hairline space. * Replaced quotes et al. with actual quotation marks. --- README.md | 80 +++++++++++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 7a11feb..1a717a9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Open Source Efforts at A Medium Corporation +Open Source at Medium ============================================== This repository serves as the umbrella project to represent the @@ -30,31 +30,27 @@ Note to External Contributors Hello, External Person! -We at Medium are eager to work with you. For small changes — -little bugfixes, correcting typos, and the like — please just -submit pull requests to any of our projects. For larger changes, -though, we have to ask you to jump through a little hoop. +We at Medium are eager to work with you. For small changes — little +bugfixes, correcting typos, and the like — please just submit pull +requests to any of our projects. For larger changes, though, we have to ask you to jump +through a little hoop. -In particular, in order for us to accept any major patches from you, -you will have to electronically sign a statement that indicates two -things: +In particular, in order for us to accept any major patches from you, you will have to +electronically sign a statement that indicates two things: * You are willingly licensing your contributions under the terms of - the open source license of the project that you're contributing to. + the open source license of the project that you’re contributing to. * You are legally able to license your contributions as stated. -The reason we do this is to ensure, to the extent possible, that we -don't "taint" the projects we manage with contributions that turn out -to be improper. This protects everyone who wants to use the projects, -including *you*! If you want a longer explanation, then you can check -out the [CLA Rationale -page](https://github.com/Medium/opensource/blob/master/cla-rationale.md). +The reason we do this is to ensure, to the extent possible, that we don’t “taint” +the projects we manage with contributions that turn out to be improper. This protects +everyone who wants to use the projects, including *you*! If you want a longer explanation, +then you can check out the [CLA Rationale page](https://github.com/Medium/opensource/blob/master/cla-rationale.md). -Once you sign the Contributor License Agreement (the "CLA"), -we will then be able to merge your contributions with a clear -conscience and with only the friction that results from the usual -technical back-and-forth of a vibrant open source project. +Once you sign the Contributor License Agreement (the “CLA”), we will then be able to +merge your contributions with a clear conscience and with only the friction that results +from the usual technical back-and-forth of a vibrant open source project. To get started with this process, visit the [Sign the CLA](https://github.com/Medium/opensource/blob/master/sign-cla.md) @@ -66,10 +62,16 @@ Corporation is the with a small clarifying preamble. Some projects created before March 6, 2014 use the Apache 2.0 License (https://github.com/Medium/opensource/blob/master/apache-license-2.0.md) +In addition to our CLA, we have a policy where we avoid owning code that we don’t intend +to maintain through use. If your patch is not in-line with our intended use case +at Medium we will not merge it into any of our trees. But don't be discouraged! If +that’s the case, we encourage you to run your own fork. Email us with a link to it +and we will consider linking to it from the main repo. + If you have any questions about any of this, please raise them by -filing a bug on this project, since there's a good chance that if you +filing a bug on this project, since there’s a good chance that if you have a question then someone else has the same question too. If it is -really and truly a private matter, then you can mail Medium's +really and truly a private matter, then you can mail Medium’s official Open Sourceror privately, at [open-source@medium.com](mailto:open-source@medium.com). @@ -89,43 +91,39 @@ List of Projects These are [Node](http://nodejs.org/) modules that can be used pretty directly as libraries in applications. -* [Bidar](https://github.com/Medium/bidar) — Binary serialization +* [Bidar](https://github.com/Medium/bidar) — Binary serialization and object iteration. -* [Daemon Sauce](https://github.com/Medium/daemonsauce) — Making +* [Daemon Sauce](https://github.com/Medium/daemonsauce) — Making it easy to be a proper *nix daemon. -* [Dynamite](https://github.com/Medium/dynamite) — A promise-based DynamoDB client. -* [Falkor](https://github.com/Medium/falkor) — HTTP Level Functional +* [Dynamite](https://github.com/Medium/dynamite) — A promise-based DynamoDB client. +* [Falkor](https://github.com/Medium/falkor) — HTTP Level Functional Testing Library. -* [Kew](https://github.com/Medium/kew) — A lightweight promise library optimized for node.js -* [Leb](https://github.com/Medium/leb) — Utilities for the LEB128 +* [Kew](https://github.com/Medium/kew) — A lightweight promise library optimized for node.js +* [Leb](https://github.com/Medium/leb) — Utilities for the LEB128 number representation. -* [Matador](https://github.com/Medium/matador) — Application +* [Matador](https://github.com/Medium/matador) — Application framework. -* [Oid](https://github.com/Medium/oid) — Utilities for object +* [Oid](https://github.com/Medium/oid) — Utilities for object identity. -* [Pipette](https://github.com/Medium/pipette) — Stream and pipe +* [Pipette](https://github.com/Medium/pipette) — Stream and pipe utilities. -* [Shepherd](https://github.com/Medium/shepherd) — - Asynchronous dependency injection for node.js. -* [Typ](https://github.com/Medium/typ) — Type predicates and +* [Shepherd](https://github.com/Medium/shepherd) — Asynchronous dependency injection for node.js. +* [Typ](https://github.com/Medium/typ) — Type predicates and assertions. -* [Ursa](https://github.com/Medium/ursa) — RSA public/private key - crypto. -* [Variants](https://github.com/Medium/variants) — A variants +* [Variants](https://github.com/Medium/variants) — A variants (experiments, mods) system with dynamic flag evaluation. ### Node Build Tools These are build-time tools packaged as [Node](http://nodejs.org/) modules. -* [PhantomJS](https://github.com/Medium/phantomjs) — NPM wrapper for +* [PhantomJS](https://github.com/Medium/phantomjs) — NPM wrapper for grabbing the right PhantomJS binary. -* [Plovr](https://github.com/Medium/plovr) — Integration of +* [Plovr](https://github.com/Medium/plovr) — Integration of the Plovr JavaScript build tool (a packaging of the Google Closure compiler). -* [Soynode](https://github.com/Medium/soynode) — Integration of +* [Soynode](https://github.com/Medium/soynode) — Integration of the Soy template system (part of Google Closure). ### Other -* [Open Source Umbrella Project](https://github.com/Medium/opensource) - — This site. +* [Open Source Umbrella Project](https://github.com/Medium/opensource) — This site. From 17723bf0e705cfcdede54e30231fd2614c093b44 Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 13:55:51 -0800 Subject: [PATCH 56/87] Updating a link to Medium --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1a717a9..7048bd3 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,9 @@ Open Source at Medium ============================================== This repository serves as the umbrella project to represent the -various open source efforts at A Medium Corporation -. Come here to get an overview of the various -projects, to learn how to contribute to them, and to sign up as a -contributor. +various open source efforts at [A Medium Corporation](https://medium.com). +Come here to get an overview of the various projects, to learn how to +contribute to them, and to sign up as a contributor. Table Of Contents ----------------- From cd388db1d5b709286642ed869f0c2c3c1f63830a Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 13:57:24 -0800 Subject: [PATCH 57/87] Added non-breaking spaces to prevent A Medium Corporation from breaking --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7048bd3..3ae888c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Open Source at Medium ============================================== This repository serves as the umbrella project to represent the -various open source efforts at [A Medium Corporation](https://medium.com). +various open source efforts at [A Medium Corporation](https://medium.com). Come here to get an overview of the various projects, to learn how to contribute to them, and to sign up as a contributor. From 631f1b8ee3fbf279ce05a71b2bcd4194200c644f Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 13:58:19 -0800 Subject: [PATCH 58/87] Updating a link to the Apache license --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ae888c..b471541 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ For reference, the standard open source license used by A Medium Corporation is the [MIT License](https://github.com/Medium/opensource/blob/master/mit-license.md) with a small clarifying preamble. Some projects created before March 6, 2014 use -the Apache 2.0 License (https://github.com/Medium/opensource/blob/master/apache-license-2.0.md) +the [Apache 2.0 License](https://github.com/Medium/opensource/blob/master/apache-license-2.0.md) In addition to our CLA, we have a policy where we avoid owning code that we don’t intend to maintain through use. If your patch is not in-line with our intended use case From e1d31126ff0800d218341337c9be8a8db48a2dc9 Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 13:58:48 -0800 Subject: [PATCH 59/87] Added a period. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b471541..04948ed 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ For reference, the standard open source license used by A Medium Corporation is the [MIT License](https://github.com/Medium/opensource/blob/master/mit-license.md) with a small clarifying preamble. Some projects created before March 6, 2014 use -the [Apache 2.0 License](https://github.com/Medium/opensource/blob/master/apache-license-2.0.md) +the [Apache 2.0 License](https://github.com/Medium/opensource/blob/master/apache-license-2.0.md). In addition to our CLA, we have a policy where we avoid owning code that we don’t intend to maintain through use. If your patch is not in-line with our intended use case From 70b075bddecc8b350f0319d05fe2b7cedc82490a Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 14:28:26 -0800 Subject: [PATCH 60/87] JavaScript rules --- styleguides/JavaScript.md | 76 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 styleguides/JavaScript.md diff --git a/styleguides/JavaScript.md b/styleguides/JavaScript.md new file mode 100644 index 0000000..9232110 --- /dev/null +++ b/styleguides/JavaScript.md @@ -0,0 +1,76 @@ +# JavaScript Rules + +Enclosed you’ll find stylistic rules and guidelines for JavaScript authors +contributing code back to Medium. Following these rules will make sure +that our codebase is consistent and maintainable. + +Ideally, all our code should look like a single person typed it, no matter +how many people contributed. **If you’re editing a file, make sure your +changes are consistent with the rest of the file even if it goes against +some of the rules on this page.** + +### Naming ### + +- Use `functionNamesLikeThis`, `variableNamesLikeThis`, `ClassNamesLikeThis`, + `EnumNamesLikeThis`, `methodNamesLikeThis`, and `SYMBOLIC_CONSTANTS_LIKE_THIS`. +- Private properties, variables, and methods (in files or classes) should be + named with a leading underscore. +- Protected properties, variables, and methods should be named without an + underscore (like public ones). +- For more information on private and protected, read the section on visibility. + +### Namespaces ### + +Client code should use namespaces under `obv` that mirror the folder structure. + +```js +goog.provide('obv.sloth') + +obv.sloth.sleep = function() { + // ... +} +``` + +Filenames should should match the namespace of class that they define, e.g. `obv.foo.Class` should +be in `/foo/Class.js` and `obv.bar.baz` should be in `/bar/baz.js`. Filenames should end in .js, and +should contain no punctuation except for - or _. Prefer - to _ + +### Code formatting ### + +* Always start your curly braces on the same line as whatever they’re opening. For example: + +```js +if (something) { + // ... +} else { + // ... +} +``` + +* Try not to make your lines go over 100 characters. +* Use 2-char indent for blocks and 4-char indent for wrapped lines. +* Use whitespace around operators. +* Do not put any space after `[`, `{` or before `]`, `}` in single-line array and object initializers. + +```js +var arr = [1,2,3] +var obj = {a: 1, b: 2, c: 3} +``` + +* Format multiline array and object initializers likes this: + +```js +var obj = { + a: 1, + b: 2, + c: 3 +} +``` + +* Do not use semicolons unless omiting one will break your code. +* Use single-quotes for strings. + +### Types ### + +For client code, we use Google Closure Compiler for type checks. Annotate your functions and properties +accordingly. For more information, seeSee the [JS Compiler Docs](https://developers.google.com/closure/compiler/docs/js-for-compiler). From 6dfaa15206d594648fc1ccf03880ab0fde66b013 Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 14:30:37 -0800 Subject: [PATCH 61/87] A link to our JavaScript style guide --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 04948ed..821b30d 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,10 @@ Other pages: * [Contributor License Agreement 2.0](https://github.com/Medium/opensource/blob/master/cla-2.0.md) * [MIT License](https://github.com/Medium/opensource/blob/master/mit-license.md) +Style guides: + +* [JavaScript](https://github.com/Medium/opensource/blob/master/styleguides/JavaScript.md) + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Note to External Contributors From 52715057ad68aa2a3352ae08ad861a8756e9a6c9 Mon Sep 17 00:00:00 2001 From: Anton Kovalyov Date: Mon, 22 Dec 2014 14:31:44 -0800 Subject: [PATCH 62/87] Removed old JavaScript style guide --- styleguides/JavaScript/README.md | 12 - styleguides/JavaScript/closure-library.md | 49 -- styleguides/JavaScript/inheritance.md | 142 ----- styleguides/JavaScript/language-rules.md | 441 -------------- styleguides/JavaScript/style-rules.md | 680 ---------------------- 5 files changed, 1324 deletions(-) delete mode 100644 styleguides/JavaScript/README.md delete mode 100644 styleguides/JavaScript/closure-library.md delete mode 100644 styleguides/JavaScript/inheritance.md delete mode 100644 styleguides/JavaScript/language-rules.md delete mode 100644 styleguides/JavaScript/style-rules.md diff --git a/styleguides/JavaScript/README.md b/styleguides/JavaScript/README.md deleted file mode 100644 index 7fb0d67..0000000 --- a/styleguides/JavaScript/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Welcome to the Obvious JavaScript Style Guide! - -Enclosed you'll find stylistic rules and guidelines for JavaScript authors contributing code back to the Obvious Corporation. - -This styleguide may be reused or repurposed for your own projects under the Obvious [Apache 2.0 License](https://github.com/Obvious/open-source/blob/master/apache-license-2.0.md). For those wishing to contribute to an Obvious Corp JavaScript project, this is essentially *highly recommended reading* material before you begin submitting code back. - - * [Style Rules](./JavaScript/style-rules.md) - * [Language Rules](./JavaScript/language-rules.md) - * [JavaScript Inheritance](./JavaScript/inheritance.md) - * [Closure Library](./JavaScript/closure-library.md) - -**Note:** With much thanks and gratitude, portions of this style guide have been borrowed from the [Google JavaScript Style Guide](http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml). \ No newline at end of file diff --git a/styleguides/JavaScript/closure-library.md b/styleguides/JavaScript/closure-library.md deleted file mode 100644 index b900565..0000000 --- a/styleguides/JavaScript/closure-library.md +++ /dev/null @@ -1,49 +0,0 @@ -# Closure Usage # - -We use [Plovr](http://plovr.com/docs.html) to compile and compress our client-side JavaScript. It -comes bundled with a copy of the [Closure Library](http://closure-library.googlecode.com) which we can -`goog.require` seemlessly from anywhere. - -Even though we can easily load any piece of Closure from our projects, we should not, since some of the classes -are very heavy, primarily due to their flexibility and their support for older browsers (e.g. IE6). - -As well as anything in [base.js](http://closure-library.googlecode.com/svn/docs/closure_goog_base.js.html) -the following classes are approved: - - * `goog.Disposable` - * `goog.array` - * `goog.asserts` - * `goog.async.Deferred` - * `goog.crypt` - * `goog.events.KeyCodes` - * `goog.labs.net.xhr` - * `goog.net.XmlHttp` - * `goog.math` - * `goog.object` - * `goog.pubsub.PubSub` - * `goog.string` - * `goog.structs` - * `goog.uri.util` - * `goog.userAgent` - * `goog.testing` - -New classes should be approved on a case by case basis. - -## goog.Disposable ## - -The correct usage of `dispose` is to override `disposeInternal()` and to always call the base-class. The reasons is that `dispose()` checks whether the object is already disposed before calling `disposeInternal()`, this can help avoid NPEs and such. If you implement `dispose()` yourself you'd want to assert that you weren't disposed. It is very important to call the super class, particularly in the case of screens, as there is a lot of clean-up done higher up that will avoid memory leaks. - -```js -MyClass.prototype.disposeInternal = function () { - unlisten(this.listenerRef) - goog.base(this, 'disposeInternal') -} -``` - -In turn, you can call dispose on instances you have ownership over. - -``` js -MyClass.prototype.abort = function () { - goog.dispose(myDisposableClass) -} -``` \ No newline at end of file diff --git a/styleguides/JavaScript/inheritance.md b/styleguides/JavaScript/inheritance.md deleted file mode 100644 index 8b56d9b..0000000 --- a/styleguides/JavaScript/inheritance.md +++ /dev/null @@ -1,142 +0,0 @@ -# JS Inheritance # - -**Obvious JS should use Node's inheritance functions on the server and Closure's inheritance -functions on the client.** - -What follows is an explanation of how prototypical inheritance works in JavaScript, how Node and -Closure handle inheritance, and a discussion of alternative approaches. - -## Background ## - -JavaScript includes a prototype based inheritance model as a language feature. This is rather -powerful, though most people restrict themselves and follow a more traditional class-based -inheritance approach. For example, when was the last time you saw an object change its behavior? - -```js -function Car() {} -Car.prototype.move = function (x, y) { - alert('Just driving along in 2D') -} - -function Plane() {} -Plane.prototype.move = function (x, y, z) { - alert('I can fly!!') -} - -var batMobile = new Car() -batMobile.move(1, 2) - -batMobile.__proto__ = new Plane() -batMobile.move(2, 3, 10) -``` - -Traditional class-based inheritance leads to systems where the taxonomy and relationships between -different entities are easier to understand. Code is also easier to reason about; if, at any point, -you can say “The Bat Mobile is a car” you don't have to worry about checking it's type before -calling operations on it (though Duck-Typing can be useful in some situations). - -## Native Inheritance ## - -If you wanted to make use of prototypical inheritance directly you need to jump through a few hoops. -The simplest way to define a "class" hierarchy is as so: - -```js -function BatMobile() {} -BatMobile.prototype = new Car() -``` - -This is all very well, but what happens if `Car`'s constructor has non-trivial, instance specific -logic in? Yes, the BatMobile could get messed up. So to get around this we'd need to create a -temporary constructor: - -```js -function BatMobile() {} -function TempClass() {} -TempClass.prototype = Car.prototype -BatMobile.prototype = new TempClass() -``` - -This sets up a prototype chain without executing `Car`'s constructor. - -In order to call a super-classes implementation of a function you can use `.call` or `.apply` to -execute the super class's method in the right scope: - -```js -BatMobile.prototype.doBreak = function () { - Car.prototype.doBreak.call(this) - this._deployChute() -} -``` - -The downsides of doing inheritance natively are additional boiler plate when setting up -subclasses, also note how each method calling a super method needs to know the actual super-class. -This can make maintaining or renaming classes annoying. - -Luckily for us both Node and Closure have affordances built in to make this process simpler, while -still delegating to native prototypes. - - -## Node.js ## - -Node's `util` package contains an `inherits` function which sets up the prototype chain and adds a -static reference to the constructor. Typical usage is as follows: - -```js -function BatMobile(arg) { - Car.call(this, arg) -} -util.inherits(BatMobile, Car) - -BatMobile.prototype.go = function () { - BatMobile.super_.go.call(this) - this.fireRockets() -} -``` - -## Closure ## - -Closure has a similar helper, that predates node, but is basically the same. Closure includes a -magical function called `goog.base` which the compiler understands and will optimize. - -```js -function BatMobile(arg) { - goog.base(this, arg) -} -goog.inherits(BatMobile, Car) - -BatMobile.prototype.go = function () { - goog.base(this, 'go') - this.fireRockets() -} -``` - -## Other Systems ## - -There are a multitude of different class systems for JavaScript. Most of them introduce a DSL that -involves passing object literals to helper methods, though the underlying implementations vary. - -Some libraries use a "mixin" approach, which will break the `instanceof` operator. Other libraries -will actually extend the prototype. But unless you are familiar with the library and read the -implementation it can be unclear what is happening. - -Often this style works well for small classes, but when you have a large class with hundreds of -lines maintenance can become an issue. For example, if you drop into the file it is not immediately -clear whether the function is being included as a `method` or a `static` or something completely -separate to the class. - -While more verbose, seeing `ClassName.prototype.instanceMethod` or `ClassName.staticMethod` is self- -documenting and clear. - -Another issue that can arise in systems that do more than delegate to native prototypes is that -classes become incompatible. Sticking close to the language primitives means there is nothing at -all stopping you from doing this: - -```js -function Vehicle() {} - -function Car() {} -util.inherits(Car, Vehicle) - -function BatMobile() {} -goog.inherits(BatMobile, Car) -``` diff --git a/styleguides/JavaScript/language-rules.md b/styleguides/JavaScript/language-rules.md deleted file mode 100644 index 4ed1fb9..0000000 --- a/styleguides/JavaScript/language-rules.md +++ /dev/null @@ -1,441 +0,0 @@ -# JavaScript Language Rules # - -## var ## - -**Declarations with var: Always** - -When you fail to specify var, the variable gets placed in the global context, potentially clobbering -existing values. Also, if there's no declaration, it's hard to tell in what scope a variable lives -(e.g., it could be in the Document or Window just as easily as in the local scope). So always -declare with var. - -Mulit-line `var` statements are acceptable, but avoid complex logic. - -```js -var stack = [] - , readCursor = 0 - , writeCursor = 0 - , root = this.getParentElement() -``` - - -## Constants ## - -**Use NAMES_LIKE_THIS for constants** - -For simple primitive value constants, the naming convention is enough: - -```js -/** - * The number of seconds in a minute. - * @type {number} - */ -example.SECONDS_IN_A_MINUTE = 60 -``` - -For non-primitives, use the @const annotation. - -```js -/** - * The number of seconds in each of the given units. - * @type {Object.} - * @const - */ -example.SECONDS_TABLE = { - minute: 60, - hour: 60 * 60 - day: 60 * 60 * 24 -} -``` - -This allows the compiler to enforce constant-ness. - -Avoid the `const` keyword, Internet Explorer doesn't parse it, so don't use it. - -`obv.namespace.ClassName.CONSTANT = 'foo'` is preferred over -`obv.namespace.ClassName.prototype.CONSTANT = 'foo'` since the compiler can collapse the first down -to a couple of characters, where as the latter would always be referred to as `this.ab` once -compiled. - - -## Semicolons ## - -**Only use semicolons when absolutely necessary** - -According to the spec, statements in JavaScript should be delimited with a semi-colon, however the -spec also outlines a error-recovery mode known as "Automatic Semicolon Insertion". A growing -community of JS developers have chosen to make use of ASI to reduce visual clutter in code, Obvious -is following this approach. You can [read more about ASI here](http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding). - -There are a couple places where missing semicolons are particularly dangerous, either avoid these -cases or prefix lines with a `(` or `[` with a semi: - -```js -// 1. -MyClass.prototype.myMethod = function() { - return 42 -} // No semicolon here. - -(function() { - // Some initialization code wrapped in a function to create a scope for locals. -})() - -var x = { - 'i': 1 - , 'j': 2 -} // No semicolon here. - -// 2. Trying to do one thing on Internet Explorer and another on Firefox. -// I know you'd never write code like this, but throw me a bone. -[normalVersion, ffVersion][isIE]() - - -var THINGS_TO_EAT = [apples, oysters, sprayOnCheese] // No semicolon here. - -// 3. conditional execution a la bash --1 == resultOfOperation() || die() -``` - - -## Nested functions ## - -**Yes** - -Nested functions can be very useful, for example in the creation of continuations and for the task -of hiding helper functions. Feel free to use them. - - -## Function Declarations Within Blocks ## - -**No** - -Do not do this: - -```js -if (x) { - function foo() {} -} -``` - -or this: - -``` js -for (var i = 0; i < len; i++) { - function foo() {} -} -``` - -While most script engines support Function Declarations within blocks it is not part of ECMAScript -(see ECMA-262, clause 13 and 14). Worse implementations are inconsistent with each other and with -future EcmaScript proposals. ECMAScript only allows for Function Declarations in the root statement -list of a script or function. Instead use a variable initialized with a Function Expression to -define a function within a block: - -```js -if (x) { - var foo = function() {} -} -``` - - -## Exceptions / Errors ## - -**Yes** - -You basically can't avoid exceptions if you're doing something non-trivial. Go for it. - - -## Custom exceptions ## - -**Absolutely, Yes** - -Without custom exceptions, returning error information from a function that also returns a value can -be tricky, not to mention inelegant. Bad solutions include passing in a reference type to hold error -information or always returning Objects with a potential error member. These basically amount to a -primitive exception handling hack. Feel free to use custom exceptions when appropriate. - - -## Standards features ## - -**Always preferred over non-standards features** - -For maximum portability and compatibility, always prefer standards features over non-standards -features. For example `string.charAt(3)` over `string[3]` and element access with DOM functions instead of -using an application-specific shorthand. Or `document.getElementById('x')` over `$('#x')` - - -## Wrapper objects for primitive types ## - -**No** - -There's no reason to use wrapper objects for primitive types, plus they're dangerous: - -```js -var x = new Boolean(false) -if (x) { - alert('hi') // Shows 'hi'. -} -``` - -Don't do it! - -However type casting is fine. - -```js -var x = Boolean(0) -if (x) { - alert('hi') // This will never be alerted. -} -typeof Boolean(0) == 'boolean' -typeof new Boolean(0) == 'object' -``` - -This is very useful for casting things to number, string and boolean. - - -## Inheritance ## - -**Yes** - -Use Closure's `goog.inherits` in client code and Node's `util.inherits` for server code. See -separate doc on [JS inheritance](inheritance.md) for further explanation. - - -## Method definitions ## - -While there are several methods for attaching methods and properties to a constructor, the preferred style is: - -```js -Foo.prototype.bar = function () { - /* ... */ -} -``` - - -## Closures ## - -**Yes, but be careful** - -The ability to create closures is perhaps the most useful and often overlooked feature of JS. Here -is [a good description of how closures work](http://jibbering.com/faq/faq_notes/closures.html). - -One thing to keep in mind, however, is that a closure keeps a pointer to its enclosing scope, which -can be the source of memory leaks. - - -## eval() ## - -**Avoid if possible, use JSON where supported** - -eval() makes for confusing semantics and is dangerous to use if the string being eval()'d contains -user input. There's usually a better, more clear, safer way to write your code, so its use is -generally not permitted. However eval makes deserialization considerably easier than the non-eval -alternatives, so its use is acceptable for this task (for example, to evaluate RPC responses). - - -## with() {} ## - -**No** - -Using `with` clouds the semantics of your program. Because the object of the with can have properties -that collide with local variables, it can drastically change the meaning of your program. For -example, what does this do? - -```js -with (foo) { - var x = 3 - return x -} -``` - -Answer: anything. The local variable x could be clobbered by a property of foo and perhaps it even -has a setter, in which case assigning 3 could cause lots of other code to execute. Don't use with. - - -## this ## - -**Only in object constructors, methods, and in setting up closures** - -The semantics of this can be tricky. At times it refers to the global object (in most places), the -scope of the caller (in eval), a node in the DOM tree (when attached using an event handler HTML -attribute), a newly created object (in a constructor), or some other object (if function was -`call()`ed or `apply()`ed). - -Because this is so easy to get wrong, limit its use to those places where it is required: - -- in constructors -- in methods of objects (including in the creation of closures) - - -## for-in loop ## - -**Only for iterating over keys in an object/map/hash** - -for-in loops are often incorrectly used to loop over the elements in an Array. This is however very -error prone because it does not loop from 0 to length - 1 but over all the present keys in the -object and its prototype chain. Here are a few cases where it fails: - -```js -function printArray(arr) { - for (var key in arr) { - print(arr[key]) - } -} - -printArray([0, 1, 2, 3]) // This works. - -var a = new Array(10) -printArray(a) // This is wrong. - -a = document.getElementsByTagName('*') -printArray(a) // This is wrong. - -a = [0, 1, 2, 3] -a.buhu = 'wine' -printArray(a) // This is wrong again. - -a = new Array -a[3] = 3 -printArray(a) // This is wrong again. -``` - -Always use normal for loops when using arrays. - -```js -function printArray(arr) { - var l = arr.length - for (var i = 0; i < l; i++) { - print(arr[i]) - } -} -``` - - -## Associative Arrays ## - -**Never use Array as a map/hash/associative array** - -Associative Arrays are not allowed... or more precisely you are not allowed to use non number -indexes for arrays. If you need a map/hash use Object instead of Array in these cases because the -features that you want are actually features of Object and not of Array. Array just happens to -extend Object (like any other object in JS and therefore you might as well have used Date, RegExp or -String). - - -## Multiline string literals ## - -**No** - -Do not do this: - -```js -var myString = 'A rather long string of English text, an error message \ - actually that just keeps going and going -- an error \ - message to make the Energizer bunny blush (right through \ - those Schwarzenegger shades)! Where was I? Oh yes, \ - you\'ve got an error and all the extraneous whitespace is \ - just gravy. Have a nice day.' -``` - -The whitespace at the beginning of each line can't be safely stripped at compile time; whitespace -after the slash will result in tricky errors; and while most script engines support this, it is not -part of ECMAScript. - -Use string concatenation instead: - -```js -var myString = 'A rather long string of English text, an error message ' + - 'actually that just keeps going and going -- an error ' + - 'message to make the Energizer bunny blush (right through ' + - 'those Schwarzenegger shades)! Where was I? Oh yes, ' + - 'you\'ve got an error and all the extraneous whitespace is ' + - 'just gravy. Have a nice day.' -``` - -Or better yet a template. - - - -## Array and Object literals ## - -**Yes** - -Use Array and Object literals instead of Array and Object constructors. - -Array constructors are error-prone due to their arguments. - -```js -// Length is 3. -var a1 = new Array(x1, x2, x3) - -// Length is 2. -var a2 = new Array(x1, x2) - -// If x1 is a number and it is a natural number the length will be x1. -// If x1 is a number but not a natural number this will throw an exception. -// Otherwise the array will have one element with x1 as its value. -var a3 = new Array(x1) - -// Length is 0. -var a4 = new Array() -``` - -Because of this, if someone changes the code to pass 1 argument instead of 2 arguments, the array might not have the expected length. - -To avoid these kinds of weird cases, always use the more readable array literal. - -```js -var a = [x1, x2, x3] -var a2 = [x1, x2] -var a3 = [x1] -var a4 = [] -``` - -Object constructors don't have the same problems, but for readability and consistency object literals should be used. - -```js -var o = new Object() - -var o2 = new Object() -o2.a = 0 -o2.b = 1 -o2.c = 2 -o2['strange key'] = 3 -``` - -Should be written as: - -```js -var o = {} - -var o2 = { - a: 0 - , b: 1 - , c: 2 - , 'strange key': 3 -} -``` - - -## Modifying prototypes of builtin objects ## - -**No** - -Modifying builtins like Object.prototype and Array.prototype are strictly forbidden. Modifying other -builtins like Function.prototype is less dangerous but still leads to hard to debug issues in -production and should be avoided. - - -## Internet Explorer's Conditional Comments ## - -**No** - -Don't do this: - -```js -var f = function () { - /*@cc_on if (@_jscript) { return 2* @*/ 3; /*@ } @*/ -} -``` - -Conditional Comments hinder automated tools as they can vary the JavaScript syntax tree at runtime. diff --git a/styleguides/JavaScript/style-rules.md b/styleguides/JavaScript/style-rules.md deleted file mode 100644 index 15bf666..0000000 --- a/styleguides/JavaScript/style-rules.md +++ /dev/null @@ -1,680 +0,0 @@ -# JavaScript Style Rules # - -## Naming ## - -In general, use `functionNamesLikeThis`, `variableNamesLikeThis`, `ClassNamesLikeThis`, -`EnumNamesLikeThis`, `methodNamesLikeThis`, and `SYMBOLIC_CONSTANTS_LIKE_THIS`. - -### Properties and methods ### - -- Private properties, variables, and methods (in files or classes) should be named with a leading underscore. -- Protected properties, variables, and methods should be named without an underscore (like public ones). -- For more information on private and protected, read the section on visibility. - -### Method and function parameter ### - -Optional function arguments start with `opt_`. - -Functions that take a variable number of arguments should have the last argument named `var_args`. -You may not refer to `var_args` in the code; use the `arguments` array. - -Optional and variable arguments should also be specified in `@param` annotations. - -(Note: these are two exceptions to the variableNamingRules) - -### Accessor functions ### - -Getters and setters methods for properties are not required. However, if they are used, then getters -must be named `getFoo()` and setters must be named `setFoo(value)`. (For boolean getters, `isFoo()` -is also acceptable, and often sounds more natural.) - -### Namespaces ### - -Client code should use namespaces under `obv` that mirror the folder structure. - -```js -goog.provide('obv.sloth') - -obv.sloth.sleep = function() { - ... -} -``` - - -### Filenames ### - -Filenames should should match the namespace of class that they define, e.g. `obv.foo.Class` should -be in `/foo/Class.js` and `obv.bar.baz` should be in `/bar/baz.js`. Filenames should end in .js, and -should contain no punctuation except for - or _ - -Prefer - to _ - - -## Custom toString() methods ## - -**Must always succeed without side effects.** - -You can control how your objects string-ify themselves by defining a custom `toString()` method. -This is fine, but you need to ensure that your method (1) always succeeds and (2) does not have -side-effects. If your method doesn't meet these criteria, it's very easy to run into serious -problems. For example, if toString() calls a method that does an assert, assert might try to output -the name of the object in which it failed, which of course requires calling toString(). - - -## Deferred initialization ## - -**OK** - -It isn't always possible to initialize variables at the point of declaration, so deferred -initialization is fine. - - -## Explicit scope ## - -**Always** ((Debatable)) - -Always use explicit scope - doing so increases portability and clarity. For example, don't rely on -window being in the scope chain. You might want to use your function in another application for -which window is not the content window. - - -## Code formatting ## - -### Curly Braces ### - -Because of implicit semicolon insertion, always start your curly braces on the same line as whatever -they're opening. For example: - -```js -if (something) { - // ... -} else { - // ... -} -``` - -### Line Length ### - -We don't strictly enforce an line length limit, but be sensible. Prefer to wrap at 100-chars, -especially for comments and doc blocks, horizontal scrolling sucks. - -### Whitespace ### - -In general: - -- 2-char indent for blocks. -- 4-char indent for wrapped lines (unless stated otherwise below). -- whitespace around operators. - -The following sections demonstrate and explain specific cases: - -### Array and Object Initializers ### - -Single-line array and object initializers are allowed when they fit on a line: - -No space after `[` or before `]` - -```js -var arr = [1, 2, 3] . -``` - -No space after `{` or before `}` - -``` js -var obj = {a: 1, b: 2, c: 3} -``` - -Multiline array initializers and object initializers are indented 4, unless there is a comma: - -```js -// Object initializer. -var inset = { - top: 10 - , right: 20 - , bottom: 15 - , left: 12 -} - -// Array initializer. -this._rows = [ - '"Slartibartfast" ' - , '"Zaphod Beeblebrox" ' - , '"Ford Prefect" ' - , '"Arthur Dent" ' - , '"Marvin the Paranoid Android" ' - , 'the.mice@magrathea.com' -] - -// Used in a method call. -createDom('div', { - id: 'foo' - , className: 'some-css-class' - , style: 'display:none' -}, 'Hello, world!') -``` - -Long identifiers or values present problems for aligned initialization lists, so always prefer non-aligned initialization. For example: - -```js -CORRECT_Object.prototype = { - a: 0 - , b: 1 - , lengthyName: 2 -} -``` - -Not like this: - -```js -WRONG_Object.prototype = { - a : 0 - , b : 1 - , lengthyName: 2 -} -``` - - -### Function Arguments ### - -When possible, all function arguments should be listed on the same line. If doing so would exceed -a reasonable line length, the arguments must be line-wrapped in a readable way. The indentation may -be either four spaces, or aligned to the parenthesis. - -Below are the most common patterns for argument wrapping: - -```js -// Four-space, wrap at 100. Works with very long function names, survives -// renaming without reindenting, low on space. -example.foo.bar.doThingThatIsVeryDifficultToExplain = function( - veryDescriptiveArgumentNumberOne, veryDescriptiveArgumentTwo, - tableModelEventHandlerProxy, artichokeDescriptorAdapterIterator) { - // ... -} - -// Four-space, one argument per line. Works with long function names, -// survives renaming, and emphasizes each argument. -example.foo.bar.doThingThatIsVeryDifficultToExplain = function( - veryDescriptiveArgumentNumberOne, - veryDescriptiveArgumentTwo, - tableModelEventHandlerProxy, - artichokeDescriptorAdapterIterator) { - // ... -} - -// Parenthesis-aligned indentation, wrap at 100. Visually groups arguments, -// low on space. -function foo(veryDescriptiveArgumentNumberOne, veryDescriptiveArgumentTwo, - tableModelEventHandlerProxy, artichokeDescriptorAdapterIterator) { - // ... -} - -// Parenthesis-aligned, one argument per line. Visually groups and -// emphasizes each individual argument. -function bar(veryDescriptiveArgumentNumberOne, - veryDescriptiveArgumentTwo, - tableModelEventHandlerProxy, - artichokeDescriptorAdapterIterator) { - // ... -} -``` - -When the function call is itself indented, you're free to start the 4-space indent relative to the -beginning of the original statement or relative to the beginning of the current function call. The -following are all acceptable indentation styles. - -```js -if (veryLongFunctionNameA( - veryLongArgumentName) || - veryLongFunctionNameB( - veryLongArgumentName)) { - veryLongFunctionNameC(veryLongFunctionNameD( - veryLongFunctioNameE( - veryLongFunctionNameF))) -} -``` - - -### Passing Anonymous Functions ### - -When declaring an anonymous function in the list of arguments for a function call, the body of the -function is indented two spaces from the left edge of the statement, or two spaces from the left -edge of the function keyword. This is to make the body of the anonymous function easier to read -(i.e. not be all squished up into the right half of the screen). - -```js -prefix.something.reallyLongFunctionName('whatever', function(a1, a2) { - if (a1.equals(a2)) { - someOtherLongFunctionName(a1) - } else { - andNowForSomethingCompletelyDifferent(a2.parrot) - } -}) - -var names = prefix.something.myExcellentMapFunction( - verboselyNamedCollectionOfItems, - function(item) { - return item.name - }) -``` - - -### More Indentation ### - -In fact, except for array and object initializers , and passing anonymous functions, all wrapped -lines should be indented four spaces, not indented two spaces. - -```js -thisIsAVeryLongVariableName = - hereIsAnEvenLongerOtherFunctionNameThatWillNotFitOnPrevLine() - -thisIsAVeryLongVariableName = 'expressionPartOne' + someMethodThatIsLong() + - thisIsAnEvenLongerOtherFunctionNameThatCannotBeIndentedMore() - -someValue = this.foo( - shortArg, - 'Some really long string arg - this is a pretty common case, actually.', - shorty2, - this.bar()) - -if (searchableCollection(allYourStuff).contains(theStuffYouWant) && - !ambientNotification.isActive() && (client.isAmbientSupported() || - client.alwaysTryAmbientAnyways())) { - ambientNotification.activate() -} -``` - - -### Blank lines ### - -Use newlines to group logically related pieces of code. For example: - -```js -doSomethingTo(x) -doSomethingElseTo(x) -andThen(x) - -nowDoSomethingWith(y) - -andNowWith(z) -``` - - -### Binary and Ternary Operators ### - -Always put the operator on the preceding line, so that you don't have to think about implicit -semi-colon insertion issues. - -```js -var x = a ? b : c // All on one line if it will fit. - -// Indentation +4 is OK. -var y = a ? - longButSimpleOperandB : longButSimpleOperandC - -// Chained calls can put the period at the start -this.doSomething() - .doSomethingElse() - .andNext() -``` - -Long lines often look bad no matter what you do, so if all else fails, just _try_ to make it look -as good as you can. - - -## Parentheses ## - -**Only where required** - -Use sparingly and in general only where required by the syntax and semantics. - -Never use parentheses for unary operators such as `delete`, `typeof` and `void` or after keywords -such as `return`, `throw` as well as others (`case`, `in` or `new`). - - -## Strings ## - -**Prefer ' over "** - -For consistency single-quotes (') are preferred to double-quotes ("). This is helpful when creating -strings that include HTML: - -```js -var msg = 'This is some HTML' -``` - - -## Visibility (private and protected fields) ## - -**Encouraged, use JSDoc annotations @private and @protected** - -We recommend the use of the JSDoc annotations @private and @protected to indicate visibility levels -or classes, functions, and properties. - -@private global variables and functions are only accessible to code in the same file. - -Constructors marked @private may only be instantiated by code in the same file and by their static -and instance members. @private constructors may also be accessed anywhere in the same file for their -public static properties and by the `instanceof` operator. - -Global variables, functions, and constructors should never be annotated @protected. - - -## JavaScript Types ## - -**Encouraged and (eventually) enforced by the compiler for client code** - -When documenting a type in JSDoc, be as specific and accurate as possible. The types we support are -JS2 style types and JS1.x types. - -See the [JS Compiler Docs](https://developers.google.com/closure/compiler/docs/js-for-compiler) for -a full reference. - - -## Comments ## - -**Use JSDoc** - -All files, classes, methods and properties should be documented with JSDoc comments. - -Inline comments should be of the `//` variety and have a space before the first character. - -Avoid sentence fragments. Start sentences with a properly capitalized word, and end them with punctuation. - -### Comment Syntax ### - -The JSDoc syntax is based on JavaDoc . Many tools extract metadata from JSDoc comments to perform -code validation and optimizations. These comments must be well-formed. - -```js -/** - * A JSDoc comment should begin with a slash and 2 asterisks. - * Inline tags should be enclosed in braces like {@code this}. - * @desc Block tags should always start on their own line. - */ - ``` - -### TODOs ### - -TODOs should descriptively declare how a piece of code should change in the future. -TODOs are specified in // style and specify a person who has more information about it. -It's preferred to keep TODOs out of jsdocs and near the applicable code itself. -For critical TODOs, it's best to also file a tracking issue. - -```js -// TODO(ev): Use a better sorting algorithm than bubble sort here. -``` - - -### JSDoc Indentation ### - -If you have to line break a block tag, you should treat this as breaking a code statement and indent -it four spaces. - -```js -/** - * Illustrates line wrapping for long param/return descriptions. - * @param {string} foo This is a param with a description too long to fit in - * one line. - * @return {number} This returns something that has a description too long to - * fit in one line. - */ -project.MyClass.prototype.method = function(foo) { - return 5 -} -``` - -You should not indent the @fileoverview command. - - -### Top/File-Level Comments ### - -The top level comment is designed to orient readers unfamiliar with the code to what is in this -file. It should provide a description of the file's contents, its author(s), and any dependencies or -compatibility information. As an example: - -```js -// Copyright 2012 The Obvious Corporation. - -/** - * @fileoverview Description of file, its uses and information - * about its dependencies. - */ -``` - - -### Class Comments ### - -Classes must be documented with a description, and appropriate type tags. - -```js -/** - * Class making something fun and easy. - * @param {string} arg1 An argument that makes this more interesting. - * @param {Array.} arg2 List of numbers to be processed. - * @constructor - * @extends {goog.Disposable} - */ -project.MyClass = function(arg1, arg2) { - // ... -} -goog.inherits(project.MyClass, goog.Disposable) -``` - -### Method and Function Comments ### - -A description must be provided along with parameters. Method descriptions should start with a -sentence written in the third person declarative voice. - -```js -/** - * Operates on an instance of MyClass and returns something. - * @param {project.MyClass} obj Instance of MyClass which leads to a long - * comment that needs to be wrapped to two lines. - * @return {boolean} Whether something occured. - */ -function PR_someMethod(obj) { - // ... -} -``` - -For simple getters that take no parameters and have no side effects, the description can be omitted. - -### Property Comments ### - -```js -/** - * Maximum number of things per pane. - * @type {number} - */ -project.MyClass.prototype.someProperty = 4 -``` - -## Inner Classes and Enums ## - -**Should be defined in the same file as the top level class** - -Inner classes and enums defined on another class should be defined in the same file as the top level -class. goog.provide statements are only necessary for the top level class. - - - -# Tips and Tricks # - -## JavaScript tidbits ## - -### True and False Boolean Expressions ### - -The following are all false in boolean expressions: - -``` -null -undefined -'' the empty string -0 the number -``` - -But be careful, because these are all true: - -``` -'0' the string -[] the empty array -{} the empty object -This means that instead of this: -``` - -while (x != null) { -you can write this shorter code (as long as you don't expect x to be 0, or the empty string, or false): - -while (x) { -And if you want to check a string to see if it is null or empty, you could do this: - -if (y != null && y != '') { -But this is shorter and nicer: - -if (y) { - -Caution: There are many unintuitive things about boolean expressions. Here are some of them: - -``` -Boolean('0') == true -'0' != true -0 != null -0 == [] -0 == false -Boolean(null) == false -null != true -null != false -Boolean(undefined) == false -undefined != true -undefined != false -Boolean([]) == true -[] != true -[] == false -Boolean({}) == true -{} != true -{} != false -``` - -### Conditional (Ternary) Operator (?:) ### - -Instead of this: - -```js -if (val != 0) { - return foo() -} else { - return bar() -} -``` - -you can write this: - -```js -return val ? foo() : bar() -``` - -The ternary conditional is also useful when generating HTML: - -```js -var html = '' -``` - -## && and || ## - -These binary boolean operators are short-circuited, and evaluate to the last evaluated term. - -"||" has been called the 'default' operator, because instead of writing this: - -```js -/** @param {*=} opt_win */ -function foo(opt_win) { - var win - if (opt_win) { - win = opt_win - } else { - win = window - } - // ... -} -``` - -you can write this: - -```js -/** @param {*=} opt_win */ -function foo(opt_win) { - var win = opt_win || window - // ... -} -``` - -"&&" is also useful for shortening code. For instance, instead of this: - -```js -if (node) { - if (node.kids) { - if (node.kids[index]) { - foo(node.kids[index]) - } - } -} -``` - -you could do this: - -```js -if (node && node.kids && node.kids[index]) { - foo(node.kids[index]) -} -``` - -or this: - -```js -var kid = node && node.kids && node.kids[index] -if (kid) { - foo(kid) -} -``` - -However, this is going a little too far: - -```js -node && node.kids && node.kids[index] && foo(node.kids[index]) -``` - -and can cause problems due to our usage of ASI. - -### Iterating over Node Lists ### - -Node lists are often implemented as node iterators with a filter. This means that getting a property like length is O(n), and iterating over the list by re-checking the length will be O(n^2). - -```js -var paragraphs = document.getElementsByTagName('p') -for (var i = 0; i < paragraphs.length; i++) { - doSomething(paragraphs[i]) -} -``` - -It is better to do this instead: - -```js -var paragraphs = document.getElementsByTagName('p') -for (var i = 0, paragraph; paragraph = paragraphs[i]; i++) { - doSomething(paragraph) -} -``` - -This works well for all collections and arrays as long as the array does not contain things that are treated as boolean false. - -In cases where you are iterating over the childNodes you can also use the firstChild and nextSibling properties. - -```js -var parentNode = document.getElementById('foo') -for (var child = parentNode.firstChild; child; child = child.nextSibling) { - doSomething(child) -} -``` From 614c6710da9d716039d3b47d733b791f6643be43 Mon Sep 17 00:00:00 2001 From: Thomas Hopkins Date: Tue, 13 Jan 2015 21:33:18 -0500 Subject: [PATCH 63/87] sign CLA --- contributors/hopkinsth.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/hopkinsth.md diff --git a/contributors/hopkinsth.md b/contributors/hopkinsth.md new file mode 100644 index 0000000..77408bb --- /dev/null +++ b/contributors/hopkinsth.md @@ -0,0 +1,13 @@ +2015-01-13 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Thomas Hopkins +https://github.com/hopkinsth From 24ad1b22b621556dbc502b8209546bc7d412ce2d Mon Sep 17 00:00:00 2001 From: Corbin Uselton Date: Mon, 26 Jan 2015 19:14:05 -0800 Subject: [PATCH 64/87] Add me Corbin Uselton as a contributor --- contributors/corbinu.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/corbinu.md diff --git a/contributors/corbinu.md b/contributors/corbinu.md new file mode 100644 index 0000000..90e7d17 --- /dev/null +++ b/contributors/corbinu.md @@ -0,0 +1,13 @@ +1/26/2015 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Corbin Uselton +https://github.com/corbinu From 1412afa046285c29630d65ec6b3546d0647808d9 Mon Sep 17 00:00:00 2001 From: Brent Burgoyne Date: Mon, 4 May 2015 12:39:06 -0600 Subject: [PATCH 65/87] Sign the CLA (brentburg) --- contributors/brentburg.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/brentburg.md diff --git a/contributors/brentburg.md b/contributors/brentburg.md new file mode 100644 index 0000000..0c9fef7 --- /dev/null +++ b/contributors/brentburg.md @@ -0,0 +1,13 @@ +2015-05-01 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Brent Burgoyne +https://github.com/brentburg From 82f83d8faac94f500be2b9325cbc8b7a186db73f Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Wed, 20 May 2015 17:55:08 -0300 Subject: [PATCH 66/87] Sign CLA 2.0 --- contributors/victorgama.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/victorgama.md diff --git a/contributors/victorgama.md b/contributors/victorgama.md new file mode 100644 index 0000000..2ef92ab --- /dev/null +++ b/contributors/victorgama.md @@ -0,0 +1,13 @@ +Wednesday, May 20, 2015 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Victor Gama +https://github.com/victorgama From 83b71d8be076c5469b4df4f8fd1bec5d2d0a6312 Mon Sep 17 00:00:00 2001 From: Jon Crosby Date: Mon, 13 Jul 2015 15:00:40 -0700 Subject: [PATCH 67/87] Remove bidar --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 821b30d..ee48cc2 100644 --- a/README.md +++ b/README.md @@ -94,8 +94,6 @@ List of Projects These are [Node](http://nodejs.org/) modules that can be used pretty directly as libraries in applications. -* [Bidar](https://github.com/Medium/bidar) — Binary serialization - and object iteration. * [Daemon Sauce](https://github.com/Medium/daemonsauce) — Making it easy to be a proper *nix daemon. * [Dynamite](https://github.com/Medium/dynamite) — A promise-based DynamoDB client. From 2f211ec29264bbc7a2b3f5f3e76320fab4b567ea Mon Sep 17 00:00:00 2001 From: Jon Crosby Date: Mon, 13 Jul 2015 15:10:11 -0700 Subject: [PATCH 68/87] Remove leb --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index ee48cc2..00686fd 100644 --- a/README.md +++ b/README.md @@ -100,8 +100,6 @@ libraries in applications. * [Falkor](https://github.com/Medium/falkor) — HTTP Level Functional Testing Library. * [Kew](https://github.com/Medium/kew) — A lightweight promise library optimized for node.js -* [Leb](https://github.com/Medium/leb) — Utilities for the LEB128 - number representation. * [Matador](https://github.com/Medium/matador) — Application framework. * [Oid](https://github.com/Medium/oid) — Utilities for object From 308b15fecb319b193f05aa16cb280e19267725c0 Mon Sep 17 00:00:00 2001 From: Markus Bordihn Date: Fri, 24 Jul 2015 22:26:12 +0200 Subject: [PATCH 69/87] Create kaworru.md --- contributors/kaworru.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/kaworru.md diff --git a/contributors/kaworru.md b/contributors/kaworru.md new file mode 100644 index 0000000..1c81de3 --- /dev/null +++ b/contributors/kaworru.md @@ -0,0 +1,13 @@ +2015-07-23 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Markus Bordihn +https://github.com/Kaworru From f9818ad2b9930e5bdee116a21cfedb7672e12c59 Mon Sep 17 00:00:00 2001 From: Mark Mucha Date: Tue, 4 Aug 2015 22:43:07 -0700 Subject: [PATCH 70/87] Adding contributors/themucha.md --- themucha.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 themucha.md diff --git a/themucha.md b/themucha.md new file mode 100644 index 0000000..85e8b4e --- /dev/null +++ b/themucha.md @@ -0,0 +1,13 @@ +2015-08-04 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Mark Mucha +https://github.com/themucha From ae8cb4979f7eb87542930626e534f90c93b8a55f Mon Sep 17 00:00:00 2001 From: John Sirois Date: Thu, 27 Aug 2015 19:26:40 -0600 Subject: [PATCH 71/87] Kill dead link to Plovr node integration. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 00686fd..c3cec43 100644 --- a/README.md +++ b/README.md @@ -118,8 +118,6 @@ These are build-time tools packaged as [Node](http://nodejs.org/) modules. * [PhantomJS](https://github.com/Medium/phantomjs) — NPM wrapper for grabbing the right PhantomJS binary. -* [Plovr](https://github.com/Medium/plovr) — Integration of - the Plovr JavaScript build tool (a packaging of the Google Closure compiler). * [Soynode](https://github.com/Medium/soynode) — Integration of the Soy template system (part of Google Closure). From 24c8a28b5485dda8852fbf6a7c6c8d7a472fe99c Mon Sep 17 00:00:00 2001 From: jonnolen Date: Thu, 10 Sep 2015 12:21:47 -0400 Subject: [PATCH 72/87] Create jonnolen.md --- contributors/jonnolen.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 contributors/jonnolen.md diff --git a/contributors/jonnolen.md b/contributors/jonnolen.md new file mode 100644 index 0000000..4c8ab9b --- /dev/null +++ b/contributors/jonnolen.md @@ -0,0 +1,11 @@ +2014-09-15 + +I hereby agree to the terms of the Contributors License Agreement, version 2.0, with MD5 checksum 0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Jon Nolen + +https://github.com/jonnolen From ad09d9e372eca58e38f0ce1ec02d712eb6a41dd4 Mon Sep 17 00:00:00 2001 From: jonnolen Date: Thu, 10 Sep 2015 12:22:18 -0400 Subject: [PATCH 73/87] Update jonnolen.md --- contributors/jonnolen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributors/jonnolen.md b/contributors/jonnolen.md index 4c8ab9b..bbcfd77 100644 --- a/contributors/jonnolen.md +++ b/contributors/jonnolen.md @@ -1,4 +1,4 @@ -2014-09-15 +2015-09-10 I hereby agree to the terms of the Contributors License Agreement, version 2.0, with MD5 checksum 0962bd43bb8849553d91650a78cb2924. From 291c1693b4c8219205ca054635465fc8ad1282a0 Mon Sep 17 00:00:00 2001 From: Andy Fang Date: Thu, 8 Oct 2015 08:02:28 -0400 Subject: [PATCH 74/87] Create afang.md --- contributors/afang.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/afang.md diff --git a/contributors/afang.md b/contributors/afang.md new file mode 100644 index 0000000..50a8797 --- /dev/null +++ b/contributors/afang.md @@ -0,0 +1,13 @@ +October 8, 2015 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Andy Fang +https://github.com/afang From 511cbb0c500f2b464fec0465143e5b4e064ab9c2 Mon Sep 17 00:00:00 2001 From: Frankie Jarrett Date: Thu, 8 Oct 2015 11:06:47 -0500 Subject: [PATCH 75/87] Sign fjarrett --- contributors/fjarrett.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/fjarrett.md diff --git a/contributors/fjarrett.md b/contributors/fjarrett.md new file mode 100644 index 0000000..45e83e9 --- /dev/null +++ b/contributors/fjarrett.md @@ -0,0 +1,13 @@ +2015-10-08 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Frankie Jarrett +https://github.com/fjarrett From 80ac3f9d7f54c0547d5a8c162177911158658114 Mon Sep 17 00:00:00 2001 From: feerst Date: Thu, 8 Oct 2015 18:09:24 -0700 Subject: [PATCH 76/87] Update description of licenses used by Medium. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c3cec43..657318d 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,10 @@ To get started with this process, visit the [Sign the CLA](https://github.com/Medium/opensource/blob/master/sign-cla.md) page. -For reference, the standard open source license used by A Medium -Corporation is the +For reference, projects manageed by A Medium +Corporation include some using [MIT License](https://github.com/Medium/opensource/blob/master/mit-license.md) -with a small clarifying preamble. Some projects created before March 6, 2014 use +with a small clarifying preamble and some using the [Apache 2.0 License](https://github.com/Medium/opensource/blob/master/apache-license-2.0.md). In addition to our CLA, we have a policy where we avoid owning code that we don’t intend From 7c454adfaf7e4562a5027751d5602392d4700b31 Mon Sep 17 00:00:00 2001 From: Sanat Gersappa Date: Fri, 9 Oct 2015 09:38:45 +0530 Subject: [PATCH 77/87] Added sanatgersappa.md --- contributors/sanatgersappa | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/sanatgersappa diff --git a/contributors/sanatgersappa b/contributors/sanatgersappa new file mode 100644 index 0000000..c9b7221 --- /dev/null +++ b/contributors/sanatgersappa @@ -0,0 +1,13 @@ +2015-10-09 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Sanat Gersappa +https://github.com/sanatgersappa From 0a6722e982068b035b125b25fa754fd6b7c31d8f Mon Sep 17 00:00:00 2001 From: broucz Date: Wed, 14 Oct 2015 08:26:55 +0200 Subject: [PATCH 78/87] Create broucz.md Sign CLA 2.0 --- contributors/broucz.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/broucz.md diff --git a/contributors/broucz.md b/contributors/broucz.md new file mode 100644 index 0000000..7d30eb9 --- /dev/null +++ b/contributors/broucz.md @@ -0,0 +1,13 @@ +Wednesday, October 14, 2015 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Pierre Brouca +https://github.com/broucz From da05566d0b7546bca791f1a44c0de68547fa6df7 Mon Sep 17 00:00:00 2001 From: Baris Metin Date: Thu, 15 Oct 2015 21:14:36 -0700 Subject: [PATCH 79/87] create baris.md --- contributors/baris.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/baris.md diff --git a/contributors/baris.md b/contributors/baris.md new file mode 100644 index 0000000..f614650 --- /dev/null +++ b/contributors/baris.md @@ -0,0 +1,13 @@ +2015-10-15 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Baris Metin +https://github.com/baris From 8d3cd422912b81d4f1921ab6940d9eb463feb06e Mon Sep 17 00:00:00 2001 From: PeiSong Xiong Date: Wed, 21 Oct 2015 10:11:24 +0800 Subject: [PATCH 80/87] Sign CLA --- contributors/naivefun.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/naivefun.md diff --git a/contributors/naivefun.md b/contributors/naivefun.md new file mode 100644 index 0000000..bb8e13e --- /dev/null +++ b/contributors/naivefun.md @@ -0,0 +1,13 @@ +10/21/2015 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +PeiSong Xiong +https://github.com/naivefun From 869e6cbd924cfa8dbcdb7932f0764fc6c2081f9b Mon Sep 17 00:00:00 2001 From: Leif Singer Date: Wed, 28 Oct 2015 13:51:14 +0100 Subject: [PATCH 81/87] Sign CLA 2.0 --- contributors/lsinger.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/lsinger.md diff --git a/contributors/lsinger.md b/contributors/lsinger.md new file mode 100644 index 0000000..9a539c2 --- /dev/null +++ b/contributors/lsinger.md @@ -0,0 +1,13 @@ +2015-10-28 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Leif Singer +https://github.com/lsinger From fefcfcd3229ce9786a17f24ff0925f4143060e93 Mon Sep 17 00:00:00 2001 From: AdityaShirole Date: Fri, 30 Oct 2015 13:34:11 +0530 Subject: [PATCH 82/87] added AdityaShirole.md --- contributors/AdityaShirole.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/AdityaShirole.md diff --git a/contributors/AdityaShirole.md b/contributors/AdityaShirole.md new file mode 100644 index 0000000..8adca7b --- /dev/null +++ b/contributors/AdityaShirole.md @@ -0,0 +1,13 @@ +2015-10-30 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Aditya Shirole +https://github.com/AdityaShirole From 5efba441fbf93aca2836f54dc40787d5666c0c58 Mon Sep 17 00:00:00 2001 From: Johannes Stein Date: Tue, 3 Nov 2015 21:32:40 +0100 Subject: [PATCH 83/87] Sign CLA --- contributors/frostney.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/frostney.md diff --git a/contributors/frostney.md b/contributors/frostney.md new file mode 100644 index 0000000..19cce0e --- /dev/null +++ b/contributors/frostney.md @@ -0,0 +1,13 @@ +2015-11-03 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Johannes Stein +https://github.com/frostney From f00787245996bd6d6ea0d144a019a16b8bb10cca Mon Sep 17 00:00:00 2001 From: John McAlester Date: Tue, 5 Jan 2016 20:42:46 -0800 Subject: [PATCH 84/87] Create johnmcalester.md --- contributors/johnmcalester.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/johnmcalester.md diff --git a/contributors/johnmcalester.md b/contributors/johnmcalester.md new file mode 100644 index 0000000..25dd748 --- /dev/null +++ b/contributors/johnmcalester.md @@ -0,0 +1,13 @@ +2016-01-05 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +John McAlester +https://github.com/johnmcalester From 74d78b3ef57bd90892ac79edd12f0a9f89dbad1a Mon Sep 17 00:00:00 2001 From: Udaiveer Date: Wed, 27 Jan 2016 00:32:15 -0800 Subject: [PATCH 85/87] added CLA for Udaiveer Singh --- contributors/udaiveerS.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/udaiveerS.md diff --git a/contributors/udaiveerS.md b/contributors/udaiveerS.md new file mode 100644 index 0000000..1823a49 --- /dev/null +++ b/contributors/udaiveerS.md @@ -0,0 +1,13 @@ +2016-01-26 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Udaiveer Singh
 +https://github.com/udaiveerS \ No newline at end of file From 878515ee494aa4ad703f3a4cc22069e1acac33f9 Mon Sep 17 00:00:00 2001 From: Prayag Verma Date: Fri, 12 Feb 2016 14:57:28 +0530 Subject: [PATCH 86/87] Sign CLA --- contributors/pra85.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/pra85.md diff --git a/contributors/pra85.md b/contributors/pra85.md new file mode 100644 index 0000000..130d6bd --- /dev/null +++ b/contributors/pra85.md @@ -0,0 +1,13 @@ +2016-02-12 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Prayag Verma +https://github.com/pra85 From 8066ba24cea5640e16fea568448596bfd5d36776 Mon Sep 17 00:00:00 2001 From: timmytofu Date: Tue, 23 Feb 2016 16:26:12 -0500 Subject: [PATCH 87/87] Adds timmytofu's CLA --- contributors/timmytofu.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 contributors/timmytofu.md diff --git a/contributors/timmytofu.md b/contributors/timmytofu.md new file mode 100644 index 0000000..8213989 --- /dev/null +++ b/contributors/timmytofu.md @@ -0,0 +1,13 @@ +2016-02-23 + +I hereby agree to the terms of the Contributors License +Agreement, version 2.0, with MD5 checksum +0962bd43bb8849553d91650a78cb2924. + +I furthermore declare that I am authorized and able to make this +agreement and sign this declaration. + +Signed, + +Tim Adams +https://github.com/timmytofu