写点什么

在企业软件中负责任地使用开放源代码

用户头像
WorkPlus Lite
关注
发布于: 32 分钟前


    几乎每个现代软件开发项目都严重依赖开源软件。任何网络客户端或 node.js 软件尤其如此,一个典型的应用程序依赖于几十个开源包。任何 Java 或.NET 软件也是如此,因为这些平台都是开源的。


    作为开源软件的消费者,我们是否考虑过我们对开源生态系统的影响?我们是在扶持和支持我们正在建立的企业软件的生态系统,还是在掰着手指头希望这个生态系统不会从我们脚下垮掉?


   当然,有些开源软件有很好的资金支持,比如微软支持.NET,苹果支持 Swift,谷歌支持 Angular。有人可能会说,这些产品不需要额外的支持,因为它们有大公司的赞助。我不确定我是否同意这一点,但我确实理解这种情绪。


   在任何情况下,在构建企业软件时,我们大多数人都严重依赖于其他没有主要企业赞助人的开源产品。这些可能是 UI 小部件、生产力工具或后端库。构建一个 web 应用程序而不引入大量小型开源产品是极为罕见的,许多 Java 和.NET 后端系统也是如此。如果不依赖大量的开源产品,构建 node.js 后端几乎是不可能的。



   任何这些产品的失败都会使我们和我们的企业软件面临风险。当在我们的软件中采用任何开源产品时,我们有责任调查该产品的创造者和社区,确定他们是如何得到资助或支持的,并确定我们如何能够参与其中,以确保该产品的成功。


    开源的不言而喻的契约是,用户与创造者是同一个生态系统的一部分。我们一起成功或失败。


   有些开源产品是由赞助公司资助的,有些是通过出售咨询服务,还有一些是通过出售视频、书籍或其他培训等内容。许多人有通过 GitHub 赞助商或 Patreon 资助其工作的机制。几乎在每一种情况下,开源项目都依赖于其用户的高质量贡献--通常以错误报告、文档、社区参与和代码贡献的形式。


   我做了近 25 年的开源创作者,并与许多其他的开源创作者交流。我们都知道,绝大多数的开源消费者并没有以任何方式对生态系统做出贡献;他们只是掰着手指头希望我们永远不要感到沮丧,不要停止对框架、库和工具的工作,以创建那些基于我们工作的价值数百万美元的企业系统。


    难能可贵的用户在我们选择的讨论渠道中很活跃--提出问题,帮助回答问题,围绕产品建立社区。更有价值的是那些提交高质量的错误报告或功能建议的用户,尽管这样的人很难找到。最有价值和最特别的是那些为项目贡献文档或代码的人,他们帮助产品、生态系统和整个软件行业。


   据我所知,大多数公司的员工都签下了他们的知识产权,无法为开源做出贡献。这对这些员工的个人职业发展以及开源生态系统的健康是一个重大挑战。一种帮助的方式是在员工表示有兴趣支持开源的时候支持他们。通常,这只是一个组织文化的问题,让员工知道,对开源产品的贡献是值得重视的。


  那些不能在社区、错误报告、文档或代码方面支持对开源的贡献的组织,应该找出其他方法来支持他们的企业软件所基于的产品。最明显的解决方案是确定每个产品所依赖的收入流,并参与这些收入流。同样,这可能是通过支付咨询、培训或内容,也可能是成为赞助商或赞助人,如果产品支持 GitHub 赞助商或 Patreon。


   我们的企业软件的未来都直接依赖于开源生态系统,我们都容易受到开源产品的失败影响。作为开源产品的消费者和使用者,我们有责任支持这些产品、其生态系统和开源产业。

用户头像

WorkPlus Lite

关注

WorkPlus 私有化「数智融合」移动平台 2020.12.21 加入

WorkPlus 私有化「数智融合」移动平台

评论

发布
暂无评论
在企业软件中负责任地使用开放源代码