Learn from real open projects that make money
Top real world repos to learn from: Commercial Open-Source projects
Commercial Open-Source projects or COSS is a new business model where a company's core offering is developed as open source code. Code is not just openly available, but they offer a real path to self-hosting the core offering. This is great for many reasons, the most important for us is that we can learn from projects that have professional teams working on it. So we get to see how pros do it. When I was starting out in programming I usually had many doubts on how I implemented features, with these repos you can confirm professional devs do the exact same thing you're probably doing! It's all glued over from StackOverflow and blog posts :)
The business model is super interesting, because traditional closed-source SaaS offerings often provide a path were you pay them and the give you robust set of features you can use right away. The pain is in the pricing though. Per seat pricing is great when you're starting cause you get all the features for cheap but when companies scale it becomes a real pain in the excel. So COSS products started appearing! Offering the same quick "hey just sign up here and you'll have all great features for a cheap monthly fee" with the addition that you can escape the pricing curve when it gets too high by self-hosting it. Having the option there is gold, because it gives the freedom to your company to decide when/whether to eject to the self-hosted option(*).
So lets jump to this ever growing list of COSS companies:
- Cal.com - Scheduling infrastructure for everyone. Sounds open-ended but that's because this is huge. All your teams and clients scheduling needs solved. Repo here, mostly Typescript.
- Spreecommerce.org - Shopify alternative. Repo here, Ruby codebase.
- Casdoor.com - An identity management and SSO platform. Repo here, written in Go.
- Dub.co - Superpowers for links. Not only it is a link shortener but it add powerful analytics, branding options and personalization to them. Repo here, mostly Typescript.
- Odoo.com - Started off as an ERP, now it has everything. You can choose one app you like and dig further. Repo here, mostly python but it has a lot of JS too.
- Maybe - Personal finance tracker. Used to raise money, went dark, now revived as a COSS project. Still early on the transition to OSS. Repo here, Ruby on Rails.
- Uninbox.com - Modern email. Think of an alternative to hey.com, front.com or superhuman. Repo here, Typescrupt.
- Formbricks.com - Surveys everywhere. By link, website surveys and in-app ones. Repo here, Typescript.
- Docuseal.com - Docusign alternative. Document signing software. Repo here, Ruby codebase.
These repos are good examples of real world codebases you can freely browse. In order to get something out of them, you need to put in some effort though. These repos are big and it'll be hard to try to understand them completely. Look for technologies you know and then try to focus on a specific section or workflow of the code. Some useful questions you might want to check on these are:
- How does it handles cookies? Are they signed? When do they expire?
- What CORS setup is it using on production?
- Which periodic jobs does it needs to perform to make this service work?
- Check out the Authentication system - not fun but super useful to know - or the Authorization one (think of roles, permissions and access).
- Is there a caching layer? What do they cache? When do they invalidate records?
It's great to have these resources out there. With a bit of effort and dedication you can get a lot of of these. You can even get to these projects forums and even get involved! Most of these companies end up hiring contributors so that's even more upside.
(*) When you go to the self-hosted option you're probably not getting a 1-1 experience as you had before. These COSS companies need to choose carefully where to put the line between the managed and self-hosted options.