Umbrella project for open source efforts at Medium
Clone or download
kylewm Merge pull request #116 from nadrane/master
add as nick drane contributor
Latest commit 8c20df2 Dec 19, 2017

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.

Table Of Contents

On this page:

Other pages:

Style guides:

Note to External Contributors

Hello, External Person!

We at Medium are eager to work with you. In order for us to accept 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.

  • 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.

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 page.

For reference, projects manageed by A Medium Corporation include some using MIT License with a small clarifying preamble and some using the Apache 2.0 License.

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 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 official Open Sourceror privately, at

Thanks, and happy hacking!


Your friends at A Medium Corporation

List of Projects

Node Libraries

These are Node modules that can be used pretty directly as libraries in applications.

  • Daemon Sauce — Making it easy to be a proper *nix daemon.
  • Dynamite — A promise-based DynamoDB client.
  • Falkor — HTTP Level Functional Testing Library.
  • Kew — A lightweight promise library optimized for node.js
  • Matador — Application framework.
  • Oid — Utilities for object identity.
  • Pipette — Stream and pipe utilities.
  • Shepherd — Asynchronous dependency injection for node.js.
  • Typ — Type predicates and assertions.
  • Variants — A variants (experiments, mods) system with dynamic flag evaluation.

Node Build Tools

These are build-time tools packaged as Node modules.

  • PhantomJS — NPM wrapper for grabbing the right PhantomJS binary.
  • Soynode — Integration of the Soy template system (part of Google Closure).