This repository serves as the umbrella project to represent the various open source efforts at A Medium Corporation http://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.
On this page:
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.
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.
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, the standard open source license used by A Medium Corporation is the MIT License 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 Medium's official Open Sourceror privately, at email@example.com.
Thanks, and happy hacking!
Your friends at A Medium Corporation
These are Node modules that can be used pretty directly as libraries in applications.
- Async Builder — Asynchronous dependency injection for node.js.
- Bidar — Binary serialization and object iteration.
- Composers — Asynchronous programming framework.
- 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
- Leb — Utilities for the LEB128 number representation.
- Matador — Application framework.
- Oid — Utilities for object identity.
- Pipette — Stream and pipe utilities.
- Populator — Asynchronous object populator.
- Ursa — RSA public/private key crypto.
- Typ — Type predicates and assertions.
- Variants — A variants (experiments, mods) system with dynamic flag evaluation.
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).
- Open Source Umbrella Project — This site.