It seems everyone is rushing to get their software on the cloud. The rapid growth of cloud computing has empowered hyperscaler cloud providers to market various technologies to feed the growing demand.
Hyperscalers are now providing full-stack capabilities to increase their footprint and further lock-in customers, making the cloud seem more like a threat than an open communal space.
What does the cloud actually offer? Quite a lot, based on reports from the field:
- Reduced operating costs
- Avoidance of large capital investments in technology
- Fulfilled security and compliance requirements
- A solution to the shortage of skilled personnel
For some open source communities, though, cloud adoption can present itself as a threatening trend.
Cloud adoption can accelerate the commoditization of open source technologies. As cloud vendors onboard open source technologies and make them widely available, it leaves open source software vendors with little differentiation in the market.
Some open source technology vendors have pushed for complex open licensing models that limit how cloud providers can use their software, and many view this as a move away from true open source. Closed-core and closed-licensing models are increasing as companies and communities focus on protecting their intellectual property and getting a real chance of surviving in the marketplace.
Sometimes, small community projects lack the right number of skilled personnel required to contribute and maintain cloud-centric innovation. Cloud vendors can overpower small vendors by rapidly commoditizing their technology and not contributing back to the community.
As open source creators and technology enthusiasts analyze the market, it's clear that moving to the cloud is a must. What's not clear is how open source technologies can move to the cloud while remaining open source.
If the cloud drives commoditization and open source drives innovation, can the two coexist?
Can open source software in the cloud be real open source?
Open source is about community
Vendors that commercialize open source technologies need to architect new ways to develop software on the cloud while making it accessible to the community.
Many open source developers argue that open source technologies behind the cloud are not open enough to allow for testing and collaboration. Others argue that it's hard to separate cloud operations from the technology.
Open source technologies offered as cloud solutions or services create a barrier between common open source collaborators and the core technologies. The inability to easily download exactly the same technology for testing can feel a lot like dealing with proprietary software. Nevertheless, if creators follow open source licensing standards, then access to the core open source technology should be available. Differences might come from the features added for administration and management of the technology, which rightfully should be specific to each open source technology vendor.
Making cloud operation features as open source software can be complex and challenging because design and development are often based on opinionated decisions of effective service management. Some of these service management decisions depend on the partnership contracts with each cloud provider. Other times, it is driven by the maturity of the open source technology vendor in areas such as support, service reliability, and engineering.
Hyperscalers are joining these open source communities intending to change the status quo and support cloud adoption without adopting the well-known values of open collaboration and fair competition that open source stands for. Hyperscalers focus on customer productivity by hosting, managing, and supporting a myriad of services and applications with the goal of increasing infrastructure usage.
3 ways to make open source technologies viable in the cloud
Long-term open source contributors are the perfect candidates for slowing down the pace of commoditization. It's the community that can drive innovation, and that's an important value of open source.
It's up to open source software vendors and community developers to maintain community values and ensure innovation makes it back to the projects.
Deliver a simpler experience
Some people feel that open source solutions don't deliver the same quality of user experience as proprietary software. Right or wrong, non-open software has a reputation for being user-friendly, inviting, and easy. If your open source project is getting issues filed about how it's difficult to use, difficult to customize, or confusing to configure or navigate, then consider that your contributors have focused on innovation rather than designing outstanding user experiences. Some open source software vendors make an effort to fill the gap, but sometimes they fail to bring these developments back to the community.
As hyperscalers take the lead on offering and commercializing both open source and proprietary software, contributors and vendors need to evolve how open source technologies get packaged, supported, and designed. It's important to keep innovation within the community without the need for complex open source licensing.
Solution: Focus on designing simple experiences that provide easier setup, user-friendly interfaces, and accessible configuration management. Craft features as add-ons to the core technology so you can create an open ecosystem around your product. This model allows for technology to be kept in the community while maintaining quality and security standards.
Under this model, cloud vendors need to either piece technology together or commercialize each feature as separate products to complete a solution. The former option requires cloud vendors to contribute to the communities and have the in-house expertise to deliver complete solutions. The latter option can affect the end-user experience because piecing solutions together requires knowledge and time.
Keep open source unique
Keep a high standard and innovative approach to open source technology. Developers and IT personnel prefer open source because it delivers superb quality, improved security, and supports a variety of technologies that are cloud-native compatible.
One way to stay unique is by designing open source technologies that support hybrid cloud deployments. This requires consideration for cross-cloud abstraction, portability, and partnership with multiple cloud vendors. These considerations should provide users with simpler integration to cloud technology and easier exit cloud-switching options.
Integration with cloud technologies means providing easier access and integration, reducing the number of requirements for setup and installation, and accessibility to end-points for further integration, networking, storage, monitoring, and alerting and logging. Technology vendors can create cloud-source features to complement the open source technologies to address specific industry requirements or customer needs.
Cloud-switching options mean making open source technologies available on each cloud provider, allowing for portability and simplifying the switch of infrastructure and platform resources. This consideration may require communities to create technologies that are part of a larger ecosystem for full-stack solutions. You can only achieve this by developing in collaboration with multiple companies investing in a particular technology and in the open.
[ Read next: How to explain hybrid cloud ]
Support open source communities
Open source community projects face the pressure of cloud vendors commercializing the software but lack bringing the knowledge back to the community. This pressure can be harmful to an open source community because there's a temptation to design complex open licensing models to "protect" their innovations and investments.
Open Source contributors must focus on keeping it open. Open source technologies already have an advantage, given their superb quality. Even if cloud vendors operationalize some of these technologies and add non-open components, real open source technologies still offer the best level of quality, security, and edge. The way technology and cloud vendors operationalize the software should continue to be cloud-source because companies often have opposite ways to manage infrastructure, platforms, and even applications efficiently.
The differentiation and strength come from each community project's size and quality. Projects backed up by larger vendor companies can use the people-power to keep innovation happening. Community projects that aren't nurtured and maintained are at risk of being exploited by cloud vendors and dying faster due to a lack of skilled personnel contributing to the project.
Solution: Engage developers working for technology vendors, customers, and open source communities to keep driving innovation. Involving customers can be a game-changer if the project could understand the industry and requirements and develop with this in mind.
For projects with a global audience, moving to the cloud is not an option but a must. The scarcity of skilled personnel required to administer, maintain, and develop innovative technologies pushes the market to offer managed solutions. As such, there will be an increase of open source technologies getting offered as managed and as service solutions. The value for managed open source software will now be measured at the service level. Service Level Agreements (SLAs), Service Level Objectives (SLOs), and Service Level Indicators (SLIs) will become the standard measurements for every technology vendor delivering value at the cloud level. This requires adding other considerations to the open source technologies for allowing easier management and administration.
Technology vendors need to work with open source communities to ensure development for the cloud is considered. Technology vendors should choose at what level they engage with communities to bring innovation back effectively. Cloud computing market growth is increasing, and it's not stopping. Open source developers must adapt for the continuous cloud adoption and ensure their project's survival through this migration.
Open source proponents need to look into revising current open source licensing models to ensure contributions make it back to the community. It's important that open source technologies aren't commoditized technologies and get lost in the scrambling of cloud computing. This ensures that the investment in open source continues in a healthy and sustainable way.