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
open-source@medium.com.
Thanks, and happy hacking!
Cheers,
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).
Other
- Open Source Umbrella Project — This site.