The best bet would be to build proprietary paid services on top of the open source infrastructure. See Laravel's projects.
There easily could have been an alternate history where Docker Inc was the first one out of the gate with an enterprise kubernetes distribution, been a positive part of the community, and been a success.
From my personal point of view, the most sustainable way of funding development of free software is through businesses that utilize that software, but whose main business is not that software. The value proposition for the business to open source their software is mainly in getting improvements from outside, and to ensure better integration with other free software. But the main reason to build software should be selfish in the sense that you can directly use it yourself, and not the idea that you could somehow sell the software in some way or form.
Less concretely, is there a business model for a low-level piece of infrastructure like Docker? Is there a business model for ncurses or readline or df or ls?
"Real world" infrastructure is typically high capex, low margin. How many VC-funded startups build bridges or tunnels? SpaceX is pivoting to Starlink to find good margins and escape the fate of being a trucking company to space.
But I agree that in general, “real world” infrastructure is low margin, I think that’s because it’s completely undifferentiated and has become a commodity
Was this number released?
[0] https://media.ccc.de/v/froscon2019-2463-open_source_as_a_bus...
Elastic, on the other hand, is a very specialized application and the main issue they've had is having to compete with cloud providers (MongoDB also shares this problem). It's a very different problem, and both companies (Elastic and Mongo) seem to be finding ways to compete and cooperate. Elastic on Amazon is a great gateway drug to Elasticco's offerings.
Why is that? Is amazon not able to run it properly?
Instead they tried really hard to make docker swarm a thing while kubernetes started taking off. To be sure, at the time, it wasn't clear which platform would succeed, and I remember that a certain OpenStack project tried to support both (like all OpenStack projects that try to be everything to everyone). Kubernetes has a lot of concepts that need to be learned, so the barrier to entry was much higher, and docker swarm seemed more straightforward.
All devs loved docker right away but in the early days I remember there being a lot of blogs about NOT running containers in production because of all the security issues. Kubernetes made that problem go away. It got adoption by different cloud providers which made it easy to deploy/use on their platform. That was maybe a tell: if devs loved docker so much and kubernetes was the tool that cloud providers supported, they could have focused on the former.
OpenFaaS has been a struggle even since it was started, even with a large community and many commercial end-users, none pay for support, services or sponsor.
Most of the time saying that Open Source isn't sustainable results in some smarty dropping Elastic or some other massive VC-backed company in like GitLab. It's not helpful.
Have you considered a hosted product? I have no idea what your audience is like, but that seems to be where we've had a lot of success. Happy to chat anytime as well: joel at browserless dot io.
https://en.wikipedia.org/wiki/Docker,_Inc.
Heroku had a lot of revenue and was acquired by Salesforce. I just learned on Twitter that YC was in the red before the Heroku acquistion !
https://twitter.com/paulg/status/1334945195532685317
I think what Heroku did right is really nail the Rails experience, and the Rails customer base. And then they expanded to multiple languages with the "Cedar" stack.
dotCloud tried to do every language from the get-go, and had a subpar experience for all of them, from what I understand.
It probably wouldn't have taken long for a Python-centric competitor to leapfrog them, but by the time they had, dotCloud was basically all in on the Docker experience, which was transformative.
I use it as a private repo host. The cost is a no-brainer. We'd probably pay 2x or 3x more compared to the value we're getting. The independence from the Cloud services (ECR, ACR, GCR) makes it a better option. Also, for now, there isnt any funny-math on multi-factor egress costs -- which become tricky to compute in real life.
We use it for containers to be run on k8s. As long as there are not super-low latency requirements for startup, I'd prefer an independent single private repo over multiple in-zone repos.