all repos — site @ 140d9e4b552986c4aa7a63dd77ced6fca8982f54

source for my site, found at icyphox.sh

blog: cloud foss post
Anirudh Oppiliappan x@icyphox.sh
Mon, 07 Feb 2022 21:57:58 +0530
commit

140d9e4b552986c4aa7a63dd77ced6fca8982f54

parent

81f18a93dbf4d08d77733e77babe6b186f1fa9ca

1 files changed, 130 insertions(+), 0 deletions(-)

jump to
A pages/blog/cloud-foss.md

@@ -0,0 +1,130 @@

+--- +template: +slug: cloud-foss +title: Cloud (F)OSS is good model +subtitle: On building (mostly) open source startups +date: 2022-02-07 +--- + +Of late, I've been thinking a lot about what makes a startup work, and I +think open sourcing your product -- or a good portion of it -- is a +great approach. To be clear, I'm only talking about SaaS platforms, and +not any other kind of product. Hence, I'm dubbing this as "Cloud FOSS". + +The title of this post was initially "Cloud FOSS is the way", but I +quickly realised that I know next to nothing about actually building +companies and I'm really just talking out of my rear end. Nevertheless +it's still pretty fun to try and reason about why the open source model +is great for startups, so reason we shall. + +Broadly speaking, there are two kinds of "Cloud FOSS" companies: +- the open source and cloud versions are identical, entirely free software (à la + [sourcehut](https://sourcehut.org)) +- the cloud version has exclusive "premium" features that aren't present + in the open source version -- a.k.a the open core model; it seems to + be gaining a lot of popularity in recent times with the likes of + Gitlab etc. + +Let's dissect each approach and see what drives them. + +## the all-FOSS absolutist model + +As mentioned above, sourcehut is a great -- if not the only -- example +of a company built this way. Unless of course, I'm gravely mistaken +(wouldn't be the first time!), and you know of another, or are building +one yourself -- please [email me](mailto:x@icyphox.sh); I'll be happy to +mention it here. + +For those unaware, sourcehut is an entirely free software +company/startup that's building a software development platform; a suite +of tools and services like git/hg hosting, CI, mailing lists, issue +tracking etc. All of these can be self-hosted, with [plenty of +docs](https://man.sr.ht/installation.md) to get started doing so. Or, +you can of course, pay for the hosted service at [sr.ht](https://sr.ht), +their flagship instance. + +Granted, this one's probably quite hard to pull off, especially if you're VC +backed or have investors of any kind. When your product is free +software, you can't really bake in analytics and other creepy +user-tracking shit that's common these days; what pages perform better, +what buttons do users click more often, the likes. And naturally, you +don't really have metrics to show your investors that your latest +feature du jour is doing great (or not). + +Thankfully for us, sourcehut is completely bootstrapped. They've +[written +about](https://sourcehut.org/blog/2022-01-09-how-does-our-business-work/) +their business model, and it's beautifully simple: they make money from +users subscribing to their service -- the hosted version of the +sourcehut software -- and from other free software consultation gigs. +That's it. And they're quite profitable. Very cool sourcehut. + +## the less absolutist open core model + +The open core model, according to Wikipedia's definition: + +> primarily involves offering a "core" or feature-limited version of a +> software product as free and open-source software, while offering +> "commercial" versions or add-ons as proprietary software. + +Typically in SaaS offerings, the "commercial" version is a hosted +version of the open source software, _plus_ the usual suspects like +analytics, project management, user management, and a seat count for +different subscription tiers. Some startups may simply continue to +operate this way, with feature parity between the open source and cloud +versions (minus the meta "features"); however, this may not always be +the case. + +Oftentimes, in accordance with the definition above, the open source +version may be _feature-limited_, with some parts of the core feature +set only available on the cloud version. In most cases, this probably +doesn't matter to the average self-hoster, since the paywalled features +will most likely be irrelevant to them -- usually catering to larger +deployments (support for say, CockroachDB), or enterprise-level +deployments (Active Directory support, SSO), etc. + +The business model is quite simple -- get initial traction via the +self-hosted open source software, while building out your cloud +offering. The community built around the self-hosted software are your +initial pool of potential paying customers. Generally, these are either +early-stage startups (seed to series A) who don't have a large enough +team to manage additional infrastructure, or large enterprises who are +happy to pay for well, the enterprise features. These enterprise deals +may even transition into large on-prem contracts. + +One thing to note about most open core projects is they'll most likely +enforce a CLA or a Contributor License Agreement. This usually says +something to the effect of "while you own the copyright to your code, +you grant us the rights to make money off it, or even relicense it +should we wish to do so". It's [probably not a good +idea](https://drewdevault.com/2018/10/05/Dont-sign-a-CLA.html) to sign +one. + +## why cloud FOSS works + +Cloud FOSS as a basis for building a company probably works because of a +bunch of reasons. As a startup, getting an initial foothold in the +market can be hard, and offering a fully open source version of your +platform can simplify that a whole lot. Setup a GitHub organization, do +a Show HN and Bob's your uncle. Obviously, it isn't _that_ easy, but you +get the idea. + +Having an initial userbase from open source can be very useful. You +essentially get free insight into what features work and what don't, +and what features your users want. You also get bug reports, issues from +various deployment scenarios, environments, operating systems, etc. A +goldmine of information to help drive product development decisions. + +Further, having a community built around your product helps too. High +quality contributors (sometimes), an audience for PR events, the ability +to conduct user surveys and most importantly, a hiring pool. + +With that concludes my ideas on why Cloud FOSS is a good way to build a +startup. Again, I must reiterate that I literally have no idea what I'm +talking about and whatever I posit is merely a result of "Oh I've seen +it work this way before". I'm happy to hear what you think. + +<hr> + +This post was inspired by a conversation with +[Prithu](https://prithu.dev).