2019-08-22 10:04:38 +02:00
< p align = "center" >
< img alt = "oss image" src = "./imgs/zoss-logo.svg" height = "200px" width = "200px" >
< / p >
2019-08-23 15:07:22 +02:00
< p align = "center" >
2019-09-02 09:24:42 +02:00
< a href = "https://twitter.com/intent/tweet?text=How%20to%20promote%20your%20open-source%20projects%20@ZenikaOSS&url=https://github.com/zenika-open-source/open-source-promotion-cheat-sheet&hashtags=OpenSource,CheatSheet" >
2019-08-23 15:07:22 +02:00
< img alt = "tweet" src = "https://img.shields.io/twitter/url/https/twitter?label=Share%20on%20twitter&style=social" target = "_blank" / >
< / a >
< / p >
2019-09-04 17:55:25 +02:00
< h1 align = "center" > Open source promotion cheat sheet< / h1 >
2019-08-01 18:19:33 +02:00
2019-08-23 15:07:22 +02:00
2019-09-05 13:00:58 +02:00
> This cheat sheet summarizes important steps you should follow to promote your open source project in the best conditions. You can click items to expand and get more information from a topic.
2019-08-01 18:12:17 +02:00
2019-09-04 17:55:25 +02:00
List of available languages:
2019-08-19 13:13:50 +02:00
2019-08-15 19:26:00 +02:00
- [English ](./README.md )
- [Français ](./README-fr.md )
2019-09-13 21:19:19 +02:00
- [Deutsch ](./README-de.md )
2019-08-15 19:26:00 +02:00
2019-09-04 17:55:25 +02:00
A language is missing? Want to improve this cheat sheet? [Contributions are welcome ](./CONTRIBUTING.md )!
2019-08-22 10:04:38 +02:00
2019-10-01 21:08:23 +02:00
[A PDF version of this cheat sheet is available here. ](./pdf/cheat-sheet.pdf )
2019-08-15 19:26:00 +02:00
## 1. 🎢 Preparation step
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< br / >
2019-08-30 10:17:50 +02:00
< details >
< summary > 👌 Make sure your project is mature enough< / summary >
< p >
> Your project must be stable enough with minimum viables features in order to hook users.
< / p >
< / details >
2019-08-19 16:18:11 +02:00
< details >
< summary > 😎 Choose a cool name for your project< / summary >
< p >
2019-08-26 10:12:10 +02:00
> Choose a name users can easily remember.
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 💅 Make your README pretty< / summary >
< p >
2019-08-24 10:23:05 +02:00
> README is the first thing your vistors will see. Make it simple, pretty and easy to read. [Here is a list of beautiful READMEs](https://github.com/matiassingers/awesome-readme).
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
2019-09-04 17:55:25 +02:00
< summary > 💪 Highlight strong points of your project< / summary >
2019-08-19 16:18:11 +02:00
< p >
2019-09-03 11:43:26 +02:00
> Identify your project strengths and make sure visitors see them first.
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > ✨ Provide a demo of your project< / summary >
< p >
2019-08-19 13:13:50 +02:00
2019-09-05 13:00:58 +02:00
> Visitors will want to quickly understand the purpose of your project, how it works and how to use it. Providing a demo is the best way to satisfy users. It could be:
2019-08-23 15:07:22 +02:00
>
> - An animated GIF demonstrating how your project works
> - A link to a live demo
2019-08-19 13:13:50 +02:00
2019-08-20 16:12:28 +02:00
< / p >
2019-08-19 16:18:11 +02:00
< / details >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< details >
2019-08-29 09:46:06 +02:00
< summary > 👌 Install/Usage must be super easy< / summary >
2019-08-19 16:18:11 +02:00
< p >
2019-08-19 13:13:50 +02:00
2019-09-04 17:55:25 +02:00
> You'll probably lose visitors if your project is not user-friendly.
2019-08-19 13:13:50 +02:00
2019-08-20 16:12:28 +02:00
< / p >
2019-08-19 16:18:11 +02:00
< / details >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< details >
< summary > 📘 Create a clean and well structured documentation< / summary >
< p >
2019-08-19 13:13:50 +02:00
2019-09-05 13:00:58 +02:00
> Creating a good documentation is probably the most important step. If you have a small documentation, you can include it within your README. Otherwise, you should probably host it in a separate website. Some open source projects like [vuepress](https://v1.vuepress.vuejs.org) can help you creating clean documentation in a simple way.
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< br / >
2019-08-19 13:13:50 +02:00
## 2. 📢 Spread the word about your hard works
2019-08-19 16:18:11 +02:00
< br / >
< details >
2019-09-03 11:43:26 +02:00
< summary > ⭐ Make your project trustable before publishing it on social networks< / summary >
2019-08-19 16:18:11 +02:00
< p >
2019-09-04 17:55:25 +02:00
> Most visitors will check how many stars the project has before considering using it. A minimum amount of stars makes your project more trustable than a project with zero star. This is why you should ask people you know to support your project before doing a public announcement on social media.
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
2019-09-03 11:43:26 +02:00
< summary > ↗️ Share the project on social media and specialized platforms< / summary >
2019-08-19 16:18:11 +02:00
< p >
2019-09-05 13:00:58 +02:00
> Tell the World about your awesome work! Publish on social media and specialized platforms:
2019-08-20 20:24:07 +02:00
>
> - [Twitter](https://twitter.com)
> - [Linkedin](https://www.linkedin.com/)
> - [Facebook](https://www.facebook.com/)
> - [Reddit](https://www.reddit.com/)
> - [Dev.to](https://dev.to/)
> - [Lobsters](https://lobste.rs/)
> - [Hacker News](https://news.ycombinator.com/)
> - [Product Hunt](https://www.producthunt.com/)
> - [Beta page](https://betapage.co/)
> - [Human Coders](https://news.humancoders.com/)
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 📃 Write articles that mention your project< / summary >
< p >
2019-08-24 10:23:05 +02:00
> Write articles about your project. Purpose can be the technical stack you used, how your project works, problems you encountered, etc. Post to publishing platforms:
>
> - [medium](https://medium.com/)
> - [dev.to](https://dev.to/)
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 🎤 Present your project at conferences/meetups< / summary >
< p >
2019-08-19 13:13:50 +02:00
2019-08-20 16:12:28 +02:00
> Presenting your project at conferences or meetups is a good way to improve its visibility.
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< / p >
< / details >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< details >
2019-09-04 17:55:25 +02:00
< summary > 🎥 Record and publish videos presenting your project, how it works, etc< / summary >
2019-08-19 16:18:11 +02:00
< p >
2019-08-19 13:13:50 +02:00
2019-09-03 11:43:26 +02:00
> Recording a video is not an easy exercise. However it's probably the most efficient way to make your project famous.
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< / p >
< / details >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< details >
2019-09-03 11:43:26 +02:00
< summary > 🕐 Choose the best time to publish on social media< / summary >
2019-08-19 16:18:11 +02:00
< p >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
> Don't publish during holidays period or weekends. Usually the best time to publish on social networks is mid-week.
< / p >
< / details >
< details >
< summary > 🗑 Don't spam platforms with your promotion< / summary >
< p >
2019-08-22 10:04:38 +02:00
> Don't publish twice on the same platform. It will be considered as spam and might cause bad publicity for your project.
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< br / >
2019-08-19 13:13:50 +02:00
## 3. 🤝 Keep your users
2019-08-19 16:18:11 +02:00
< br / >
< details >
< summary > 🆕 Try to regularly release new versions of your project< / summary >
< p >
2019-08-24 10:23:05 +02:00
> Maintain and improve your project with new releases and generate changelogs.
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > ❗ Maintain your project, process opened issues< / summary >
< p >
2019-09-04 17:55:25 +02:00
> Do not let opened issues without response. Be nice with people that took time to open issues. 😉
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 🙏 Invite users to contribute< / summary >
< p >
2019-08-24 10:23:05 +02:00
> A healthy project is a project with a community and contributors. Let your users know that you need help by tagging some issues with `contribution welcome` or `good first issue` labels. [See github labels](https://help.github.com/en/articles/about-labels).
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 🏆 Reward contributors< / summary >
< p >
2019-09-05 13:00:58 +02:00
> Be nice with people that helped you! Some open source projects like [gatsby](https://github.com/gatsbyjs/gatsby) reward contributors with goodies. If you can't afford that, do a public post (on twitter or other platforms) about the contribution and mention the author ([here is an example of public thanks](https://twitter.com/FranckAbgrall/status/1139470547492978688)). Open a `Contributors` section in your README to publicly thank them or showcase them on your project documentation or website. Here are some examples:
2019-09-03 17:33:05 +02:00
>
> - [vuepress (contributors README section)](https://github.com/vuejs/vuepress#code-contributors)
> - [Rythm.js (random highlighted contributor on demo page)](https://okazari.github.io/Rythm.js/)
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 💬 Open a community chat platform< / summary >
< p >
2019-08-24 10:23:05 +02:00
> Github issues are not always the best way to communicate with your users. If necessary, you can use chat platforms to discuss with them:
2019-08-23 15:07:22 +02:00
>
> - [Discord](https://discordapp.com)
> - [Slack](https://slack.com)
> - [Gitter](https://gitter.im/)
2019-08-19 16:18:11 +02:00
< / p >
< / details >
< details >
< summary > 🔙 Ask for feedback< / summary >
< p >
2019-09-03 11:43:26 +02:00
> User feedback is the best way to improve your project. They probably have features and ideas that could make your project better.
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< / p >
< / details >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< details >
< summary > ❤️ Open a use case gallery to show what users built with your project< / summary >
< p >
2019-08-19 13:13:50 +02:00
2019-09-04 17:55:25 +02:00
> Visitors will trust your project if they see concrete use cases and success stories, e.g., [the vuepress gallery](https://vuepress.gallery/)).
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< / p >
< / details >
2019-08-19 13:13:50 +02:00
2019-08-19 16:18:11 +02:00
< br / >
2019-08-30 23:06:40 +02:00
2019-09-02 09:25:04 +02:00
## 🙏 Show your support
⭐️ this repository if this cheat sheet helped you!
2019-09-03 11:35:40 +02:00
< br / >
2019-08-30 23:06:40 +02:00
## ❤️ Contributors
2019-09-04 17:55:25 +02:00
Thanks go to these wonderful people:
2019-08-30 23:06:40 +02:00
<!-- ALL - CONTRIBUTORS - LIST:START - Do not remove or modify this section -->
<!-- prettier - ignore -->
< table >
< tr >
< td align = "center" > < a href = "https://www.franck-abgrall.me/" > < img src = "https://avatars3.githubusercontent.com/u/9840435?v=4" width = "100px;" alt = "Franck Abgrall" / > < br / > < sub > < b > Franck Abgrall< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=kefranabg" title = "Documentation" > 📖< / a > < / td >
2019-08-30 23:08:07 +02:00
< td align = "center" > < a href = "https://github.com/tbetous" > < img src = "https://avatars3.githubusercontent.com/u/4435536?v=4" width = "100px;" alt = "Thomas Betous" / > < br / > < sub > < b > Thomas Betous< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=tbetous" title = "Documentation" > 📖< / a > < / td >
2019-08-30 23:09:10 +02:00
< td align = "center" > < a href = "https://github.com/ebriand" > < img src = "https://avatars1.githubusercontent.com/u/1011902?v=4" width = "100px;" alt = "Eric Briand" / > < br / > < sub > < b > Eric Briand< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=ebriand" title = "Documentation" > 📖< / a > < / td >
2019-09-03 11:44:01 +02:00
< td align = "center" > < a href = "https://github.com/FofoDev" > < img src = "https://avatars0.githubusercontent.com/u/27639429?v=4" width = "100px;" alt = "Faustine Godbillot" / > < br / > < sub > < b > Faustine Godbillot< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=FofoDev" title = "Documentation" > 📖< / a > < / td >
2019-09-04 09:28:57 +02:00
< td align = "center" > < a href = "https://myvirtualstorybook.com/" > < img src = "https://avatars1.githubusercontent.com/u/5747538?v=4" width = "100px;" alt = "Benjamin Plouzennec" / > < br / > < sub > < b > Benjamin Plouzennec< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=Okazari" title = "Documentation" > 📖< / a > < / td >
2019-09-04 17:55:55 +02:00
< td align = "center" > < a href = "https://github.com/Zenigata" > < img src = "https://avatars1.githubusercontent.com/u/1022393?v=4" width = "100px;" alt = "Johan Bonneau" / > < br / > < sub > < b > Johan Bonneau< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=Zenigata" title = "Documentation" > 📖< / a > < / td >
2019-09-05 13:03:35 +02:00
< td align = "center" > < a href = "https://github.com/bpetetot" > < img src = "https://avatars3.githubusercontent.com/u/516360?v=4" width = "100px;" alt = "Benjamin Petetot" / > < br / > < sub > < b > Benjamin Petetot< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=bpetetot" title = "Documentation" > 📖< / a > < / td >
2019-08-30 23:06:40 +02:00
< / tr >
2019-09-13 21:20:36 +02:00
< tr >
2019-09-13 21:23:30 +02:00
< td align = "center" > < a href = "https://nick-hat-boecker.de" > < img src = "https://avatars0.githubusercontent.com/u/8366071?v=4" width = "100px;" alt = "NickHatBoecker" / > < br / > < sub > < b > NickHatBoecker< / b > < / sub > < / a > < br / > < a href = "#translation-NickHatBoecker" title = "Translation" > 🌍< / a > < / td >
2019-09-13 21:20:36 +02:00
< td align = "center" > < a href = "https://github.com/Claire" > < img src = "https://avatars2.githubusercontent.com/u/5114096?v=4" width = "100px;" alt = "Claire Martinez" / > < br / > < sub > < b > Claire Martinez< / b > < / sub > < / a > < br / > < a href = "#translation-claire" title = "Translation" > 🌍< / a > < / td >
2019-10-01 20:41:27 +02:00
< td align = "center" > < a href = "https://hazeforum.com/" > < img src = "https://avatars2.githubusercontent.com/u/31011359?v=4" width = "100px;" alt = "André Gama" / > < br / > < sub > < b > André Gama< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=andregamma" title = "Documentation" > 📖< / a > < / td >
2019-10-13 10:43:19 +02:00
< td align = "center" > < a href = "https://github.com/mbernardeau" > < img src = "https://avatars0.githubusercontent.com/u/7049049?v=4" width = "100px;" alt = "Mathias Bernardeau" / > < br / > < sub > < b > Mathias Bernardeau< / b > < / sub > < / a > < br / > < a href = "https://github.com/zenika-open-source/open-source-promotion-cheat-sheet/commits?author=mbernardeau" title = "Documentation" > 📖< / a > < / td >
2019-09-13 21:20:36 +02:00
< / tr >
2019-08-30 23:06:40 +02:00
< / table >
<!-- ALL - CONTRIBUTORS - LIST:END -->
This project follows the [all-contributors ](https://github.com/all-contributors/all-contributors ) specification. Contributions of any kind welcome!