A well documented challenge of being an open source company is figuring out the right balance between open sourcing and commercializing the value you create. Recently we launched our own enterprise-grade and open source distribution of Crossplane, Upbound Universal Crossplane (UXP), and took another step towards creating a new era of infrastructure management.
Many other vendors have commercial distributions of their open source projects, but very few open source them. Because most vendors sell software licenses or standalone support for their proprietary distributions, they almost always keep their distributions close sourced. UXP is different because Upbound is different. We believe open sourcing UXP is not only great for the Crossplane community, but also aligns with Upbound’s interests and business model. In this post we’ll discuss our thinking around this decision, and our vision for building a community around UXP.
Open Sourcing UXP
UXP is a downstream distribution of Crossplane. It’s hardened, tested, and supported by Upbound. It’s also open source and free for anyone to use. The tooling around it, like the Upbound CLI, is open source as well. Our goal with UXP is to provide both the Crossplane community, as well as our enterprise customers, a stable and production-ready Crossplane distribution which integrates with the rest of Upbound’s product portfolio and which we can confidently stand behind.
Focus and Vendor Neutrality
Crossplane is where the cloud-native community is converging to de-containerize Kubernetes and extend its control plane to resources which exist outside of a cluster. For Upbound to achieve our mission of revolutionizing infrastructure management with control planes, we firmly believe Crossplane needs to remain a strong and independent open source project.
Crossplane is a CNCF project, and thus is by definition a neutral collaboration space free of vendor preference or lock-in. By virtue of it’s open governance model, even vendors who compete with one another can work together for the mutual benefit of their customers who are asking for cloud-native infrastructure management solutions. We see this in action today as infrastructure providers like AWS, Microsoft, Red Hat and others are collaborating and defining how their services can be addressed from the Kubernetes API through the Crossplane Resource Model - the XRM.
As the Crossplane community has grown, we’ve started to see feature requests like UI dashboards and VSCode plugins. While these features are valuable, they don’t fit neatly inside Crossplane’s focused charter. If Upbound were to build these features for our customers inside of Crossplane, we’d be exerting an inappropriate amount of influence and control over the Crossplane project, jeopardizing our long term ability to achieve our goals. Furthermore, building these features within Crossplane dilutes its charter and will eventually lead to reduced ecosystem adoption.
Upbound welcomes other vendors to innovate around Crossplane because we believe it’s going to take a community effort to turn the control plane vision into reality. Keeping Crossplane’s charter focused enables higher degrees of collaboration from as many vendors as possible. That way multiple vendors can offer Crossplane UIs, services, and support while still being incentivized to contribute to the project and community.
At the same time, open sourcing UXP allows us to build opinionated features for the Crossplane community which improve the ergonomics of managing control planes. Our vision for UXP, as well as the tools we’ve open sourced alongside it, is for a community to form around these projects focused on making it easier for control planes to be run and managed at scale and in production.
Stability and Production-Readiness
When adopting a new technology, especially one which manages infrastructure in production, users need to have confidence in the technology’s maturity and stability. Crossplane, by virtue of being a volunteer-run open source project, cannot guarantee that to users or companies running it in production.
At the same time, Crossplane is donated to the CNCF, so no single vendor (including Upbound) has unilateral control over the project. New features need to be thoughtfully proposed, reviewed, and approved by the community before being released.
This is also the case for bug fixes. If an Upbound customer were to run upstream Crossplane in production and encounter an issue, Upbound couldn’t offer a guarantee around patching the issue without delivering a forked version of Crossplane customers would need to somehow upgrade to. UXP enables Upbound to deliver patches to customers and users quickly with minimal friction. These patches simultaneously get committed upstream for the community to review, improve, and accept or reject as they see fit.
Power in Open Source
Our mission at Upbound is to create a new era of infrastructure management characterized by automation, deep integration with the Kubernetes ecosystem, and developer self-service. We believe this era will be the era of control planes.
Upbound is in the business of selling SaaS to enterprises deploying control planes in production, not selling shrink-wrap software or standalone support. This business model enables and incentivizes us to open source UXP, and benefit from the community which will form around it:
- The more people who make contributions to UXP, the better it is to use.
- The better UXP is to use, the more users there will be.
- The more UXP users there are, the more production deployments running in enterprises.
- The more production deployments, the more there’s a need for management consoles, real-time dashboards, and user accounts to keep them organized and running effectively.
Over time, most of these users will offload the operational complexity of managing control planes to Upbound by using our hosted UXP offering in Upbound Cloud. While the majority of Upbound’s customers today are running UXP locally and using Upbound Cloud to manage them from the cloud, we see an open source UXP as putting us on the path to having hosted UXP from Upbound become the primary deployment model.
Free to Use and Easy to Upgrade
The products we build at Upbound are part of a “better together” story. Each of Upbound’s products - whether it’s Upbound Cloud, Upbound Registry, UXP, or the Upbound CLI all play an important role in helping customers adopt, deploy, and manage control planes in production.
This is true of many companies, but what’s unique about Upbound’s approach is all of our products are free to start using as an individual. We know how important and strategic infrastructure management tools are for platform teams, and it helps everyone if there’s buy-in on Upbound’s approach and products before a purchasing decision begins. All of our products are designed so individuals can use and experiment with them for free.
For example, if you’re a passionate community member running Crossplane in your home lab, you can get a real-time dashboard to help you debug your Compositions by creating a free Upbound account, upgrading your cluster to UXP for free, and connecting your cluster to Upbound Cloud. Same is true for Upbound Registry. Community members can publish the Providers and Configurations they create for free so long as they have an Upbound account.
Once you’re ready to deploy UXP at work, you can upgrade your existing Crossplane clusters to UXP using a single command. Next, the Upbound Enterprise subscription unlocks enterprise-grade functionality across Upbound Cloud and Upbound Registry, as well as 24/7 support for UXP as you run in production.
Since we launched UXP last week, we’ve been thrilled to see the Crossplane community upgrading to it and using Upbound Cloud to manage their UXP deployments at scale. We’re also excited to see a community form around UXP focused on ergonomics and enterprise-readiness.
We think building a SaaS business is the ideal way for both open source companies and open source communities to benefit from one another. From a community perspective, being able to use Upbound products for free, including our open source distribution, has obvious benefits. From a vendor perspective, providing SaaS offerings enables us to be highly agile, innovative, and modern. We can deliver value to customers instantaneously, and we’re incentivized to keep delivering value as open source software.
If you’re interested in learning more about our products, please contact our sales team. Or if you are interested in working with us to transform IT service delivery and accelerate developer velocity, check out the open roles we have across the organization.