作为一种软件开发的方式,开源已经伴随我们几十年了。二十多年来,像Apache软件基金会这样的组织一直支持开源软件项目的开发,这些项目带来了全球数十亿人喜爱的新应用程序和在线服务。

在2020年和未来几年,开源将会发生什么?开源运动是否会继续有效地支持和推动软件的开发,或者我们是否需要应对一些风险?

预测1:云和开源之间的问题不会消失

2019年,Confluent、Elastic和MongoDB等公司对其开源项目的许可方式进行了更改,以防止云服务提供商只用这些项目赚钱而不回馈。这导致开源社区就这些步骤是否正确、对社区发展的影响以及对开源世界的影响进行了长时间的辩论。

虽然这些辩论仍在继续,但这些变化的影响尚未显现。对于一些云服务提供商来说,拿过来一个开源项目的旧版本,分叉该项目,就足以让开发人员感到高兴——而开源项目却一点收入也没有。对于其他云运营商来说,与开源社区合作是一种使自己与众不同的方式。

2020年会发生什么?这个问题很复杂。开源许可将继续是开源社区、支持公司和云提供商之间的一个问题。一些项目将继续增长,因为它们能够在云中使用,而不管它们的官方可用性如何。一些项目因为提供了宝贵的东西而继续增长。一些项目会被更严格的许可证阻碍增长。

预测2:Kubernetes的增长将更加强调特定的开源工具

Kubernetes继续被那些希望管理其容器的公司采用,特别是跨多云部署的公司。在容器管理和编排领域,Kubernetes仍然遥遥领先。它将继续快速发展,以满足开发人员的需求。

其余的IT运维跟上成为一项挑战。Kubernetes本质上是复杂的,很难管理,但它必须集成跨IT的所有运维和自动化任务。因此,需要更加重视工具和集成。

对于开源,集成和管理任务的Kubernetes operator的增长将是必不可少的。这些开发将与新应用程序驱动程序的可用性一样重要,以便更容易地采用。对于社区来说,创建和共享这些operator将支持更轻松地与新的微服务应用程序集成。

相反,如果没有这些operator,应用程序将很难按开发人员和用户期望的速度扩展。

预测3:公司在开源社区开发中的作用将更加明显

长期以来大家一直认为,开源贡献可以来自任何人。然而,大多数开源项目的大部分贡献来自软件公司直接赞助的开发人员,或者来自对这些项目有重大战略承诺的公司。

到2020年,所有支持开源的公司都应该考虑如何更好地支持并使这些项目更广泛地可用。这包括有能力促进商业发展的企业,随着时间的推移,这会对项目如何被采用和支持产生巨大影响。

例如,商业组织对于项目的知名度和可见性很重要——软件公司如Confluent、DataStax、红帽和Canonical在支持Kafka、Apache Cassandra和Linux社区的开发、增长和方向方面发挥着关键作用。然而,这些社区也必须能够决定发展方向。在Cassandra里,来自Netflix、Instagram、苹果和Uber等公司的代表参与决定项目未来的发展方向和发布时间。商业方面必须更好地支持社区主导的方法。Cassandra现在有了Cassandra Enhancement Process(CEP),它围绕主要新特性的添加创建格式。预期的结果是社区中每个人都更好地沟通和协作。

除了将商业目标和社区目标耦合起来为开源项目提供关注点之外,还有许多其他方式为项目提供支持。例如,对于那些某个项目不熟悉的人来说,制作和提供文档是必不可少的,这有助于为日常工作以及需要下功夫的领域提供指导。

预测4:微服务将推动更多的开源应用

越来越多的公司在应用程序设计中使用微服务,因为这种方法更容易按需扩展组件或服务。这种采用模式在2019年有所增长,并将在2020年继续推进。

实际上,这意味着组件本身将变得更小、更专业。这将导致更多地采用开源项目来提供满足应用程序特定目标的服务,最重要的是,这是一个易于使用的API。但是,这些组件需要能够以正确方式接收数据的数据库基础设施。虽然简单地从这些组件流式传输数据并对结果进行操作可能很有诱惑力,但这种方法有局限性。有些功能更适合于数据库技术。在有效支持微服务应用领域,更多的开源数据库项目将在2020年出现,特别是扩展这些服务以满足需求。

2020年,云计算将继续增长,成为新应用部署的主导方法。开源软件组件将发挥关键作用,特别是在大规模运行应用程序方面。然而,开源运动将不得不适应云部署实践——这强调了开放方法对社区成员和企业组织的价值。随着越来越多的部署在混合和多云环境中进行,开源将是必不可少的。

原文链接:

https://www.idgconnect.com/opinion/1503697/predictions-open-source-2020

信息化和软件服务网 - 助力数字中国建设 | 责编:左右