Preparing to open source a project
Every day 100+ open source libraries and projects are launched in the wild.
Launching an open source project can be daunting, especially if you haven’t done it before.
Preparation + perseverance + luck are key to success here too - as much as anything else launched online.
👉 Does IT work?
The first thing you want to do before you open source something is to make sure - the project - WORKS and it is stable.
Test your code in different environments and keep track of every step, you’re gonna need it.
👉 Write a good README.
This is to me the most crucial experience of a good open source project. Be clear and aim to be successful by mentioning:
Quick Get Started / HowTo
Contributing guidelines
License
Project leads
Add as much useful Documentation as you can. It’s hard. I know.
👉 Show immediate VALUE.
A live-demo is worth a 1000 words. A good video/images are ok too! When people browse your project they want to immediately be captured and understand what you’re sharing. Here’s a great example from a recent OSP I saw launch on HN
👉 Write great DOCUMENTATION.
It matters a lot, once readers are past your README, which should include the demo, they’re going to jump and test it out immediately (if you made it easy to do so) and DIVE into the DOCUMENTATION to learn more about it.
Pro-tip: Keeping Documentations up to date is hard, there are effective portals like that can help:
- VuePress
- Gitbook
- Docusaurus
- Readmeio
- Markdoc
Pick what you prefer and your most comfortable building upon.
👉 PROMOTION of your project.
If you have an audience of thousands, leverage your audience to help you spread your project far and wide: word of mouth always beats other forms of promotion.
If you do not have an audience - hard work by creating content and posts around the web
Other forms of promotion are talking at local meetups, conferences (online/offline), guest blogging and general writing for the purpose of SEO.
Notice any pattern here? Does it feel a bit “marketing heavy”? That’s because it is - be creative!
Specifically on guest blogging if you wrote a tool to improve let’s say online payments, find companies that might work in this vertical and suggest to talk about your open source project on their blog.
👉 COMMUNITY & MAINTENANCE
Every OS project needs maintainers, writing the code and letting it sit still does NOT work well in our always-changing world.
- Updates/Vulnerabilities needs to be addressed
- Features can be added, not removed
- Issues need to be seen and triaged
MOST importantly the community of users that use and rely on your project needs to be nourished and helped.
Whether it’s entirely via your project’s tools (i.e. Github discussions, a wiki, newsgroup) or a more social tool perhaps Discord, a forum, twitter..