├── README.md └── checklist.md /README.md: -------------------------------------------------------------------------------- 1 | # HackMIT Open Source 2 | 3 | This repository contains documentation related to our open-source initiative. 4 | 5 | See our code at [code.hackmit.org](https://code.hackmit.org/). 6 | 7 | See our blog posts at [medium.com/hackmit-stories](https://medium.com/hackmit-stories). 8 | 9 | --- 10 | 11 | ## Resources 12 | 13 | * [Open-sourcing checklist](checklist.md) 14 | -------------------------------------------------------------------------------- /checklist.md: -------------------------------------------------------------------------------- 1 | # Open-sourcing checklist 2 | 3 | ## Before making a repository public 4 | 5 | 1. Check revision history for secrets and other sensitive content 6 | * Can be fixed using `git rebase [-i]` or `git filter-branch` 7 | 1. Choose an appropriate license and include it as a `LICENSE.txt` or `LICENSE.md` file 8 | * Make sure you understand the implications of choosing different licenses 9 | * Licenses we currently use: 10 | * MIT ([HELPq][helpq], [redisred][redisred], Hubot plugins) 11 | * GPLv3 ([OffiX][offix]) 12 | * AGPLv3 ([Gavel][gavel]) 13 | 1. Write a good `README.md` 14 | * Should contain: 15 | * Short description 16 | * Demo/screenshot 17 | * How to use it 18 | * How to install/deploy it 19 | * How to contribute 20 | * How it is licensed 21 | * [HELPq][helpq], [Gavel][gavel], and [redisred][redisred] are good examples 22 | 23 | ### Optional (recommended) steps 24 | 25 | * Write a development guide 26 | * This makes it easy for new contributors to get started 27 | * Gavel has a pretty good [example](https://github.com/anishathalye/gavel/blob/master/DEVELOPMENT.md) 28 | * Write a `CONTRIBUTING.md` 29 | * See [HELPq](https://github.com/ehzhang/HELPq/blob/master/CONTRIBUTING.md) or [Gavel](https://github.com/anishathalye/gavel/blob/master/CONTRIBUTING.md) for examples 30 | * Set up good issue labels 31 | * See [Gavel](https://github.com/anishathalye/gavel/issues) for an example 32 | * Close old / irrelevant issues 33 | * Set up a "Users" page in the wiki and link to it from the README (cause it's fun to know who uses our software) 34 | * See [Gavel](https://github.com/anishathalye/gavel/wiki/Users) or [Quill](https://github.com/techx/quill/wiki/Quill-Users) for examples 35 | 36 | ## Releasing a project 37 | 38 | 1. Add the project to [code.hackmit.org](https://code.hackmit.org/) ([hackmit-code](https://github.com/techx/hackmit-code) repo) 39 | 1. Make sure the project has a designated maintainer who will triage issues and review pull requests 40 | 41 | ### Optional (recommended) steps 42 | 43 | * Write a [blog post](https://medium.com/hackmit-stories) about it 44 | * Publicize the software in the Hackcon and Hackathon Hackers Facebook groups 45 | * Publicize the software on our Twitter and our Facebook page 46 | * Create some GitHub Issues on easy features or bugfixes to give new contributors a place to start 47 | * Add the project to the "Software for Hackathons" page in the [MLH Hackathon Organizer Guide](https://github.com/MLH/mlh-hackathon-organizer-guide) 48 | * Add the project to the [awesome-hackathons](https://github.com/cconsidine/awesome-hackathons) list 49 | * Post on [Hacker News](https://news.ycombinator.com/) 50 | 51 | [helpq]: https://github.com/ehzhang/HELPq 52 | [gavel]: https://github.com/anishathalye/gavel 53 | [offix]: https://github.com/anishathalye/offix 54 | [redisred]: https://github.com/Detry322/redisred 55 | --------------------------------------------------------------------------------