Offering extra features is a great way to monetize an existing open source project. This model is often called “Open-core”, and it means you keep a “core” version of your code that is available for free, but also offer another version, with more features, that is available for paying users only.
While the actual features you can offer may be different from project to project, the concept remains the same. To use the Open-core model, You keep two repositories on your Github account:
A public repository (the one you have today) – where you will keep the free version of your code with its core features.
A private repository – where you will keep another version, that will have the added features or functionality, only accessible to paying users.
Depending on your project, decide which features you would like to offer, and create a version of your code with those features.
There are many things you can offer. Make sure you are offering something that is worth paying for.
When you’re ready, use Github’s built-in tools to create a private repository containing the paid version of your code, and update your public repository to hold the ‘core’ version.
When your private repository is ready, import it to xs:code using our Github app. Just click on “Import repository” on xs:code, follow the instructions and set your monthly subscription price.
After import is complete, set your project to “Published”.
Then, Use your repository page URL to send users to your project and start their subscription.
The best place to start promoting your paid version is on your readme file on Github. Use our readme example to learn how to announce your paid version, and explain exactly what you are offering, along with a link to your xs:code project.
You can also use social media, blogs and developer community websites to let everyone know your project has another, paid version available.