热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

厂商支持的开源数据库是否已死?Dotan

我们看到太多流行的开源数据库例如mongodb、redis、elasticsearch,它们被控制的厂商重新许可为更严格的开源许可或核心模型或非OSS许可。这是因为这些厂商不知道如



我们看到太多流行的开源数据库例如 mongodb、redis、elasticsearch,它们被控制的厂商重新许可为更严格的开源许可或核心模型或非 OSS 许可。这是因为这些厂商不知道如何围绕开源构建可持续的商业模式,并回到传统的厂家锁定策略。这就是为什么真正的开源,在其横向扩展阶段,不应由厂商所有,而应由社区支持治理,最好是在开源基础下。
Grafana Labs宣布重新授权其流行的开源监控工具Grafana、Loki 和 Tempo,从 Apache2.0 到更严格的 GNU AGPLv3 许可证。
SSPL 本身是由MongoDB于 2018 年发明的,用于从 AGPLv3 重新授权其流行的数据库。尽管 MongoDB(以及现在的 Elastic)试图将 SSPL 描绘成一种开源许可,但负责开源许可的机构开源计划(OSI)拒绝了这些尝试。
除了 MongoDB 之外,近年来还有一些其他供应商发明自己的非 OSS 许可证来限制开源项目的例子,通常是在一个开放核心模型中,其中没有将功能引入开源项目,而是单独打包在非 OSS 许可证。例子包括:

  • Redis Labs,它在 BSD 许可的核心Redis之上引入了根据Redis 源可用许可(RSAL)许可的附加“模块” 。
  • Timescale,它在 Apache 2.0 许可的核心TimescaleDB之上引入了Timescale 许可(“TSL”)下的功能。
  • Cockroach 实验室,其中引入了在功能业务来源执照(BSL)和Cockroach 社区许可的Apache 2.0许可内核的顶部(“CCL”)CockroachDB。

 
有些人声称这些公司并不是真正的开源玩家。我倾向于不同意。了解这些公司的工作和他们的投资后,我相信他们一开始就致力于开源,并且投入了大量的工程时间来构建和维护。
然而,这些公司所没有的是支持它的商业模式。他们忘记了简单的规则:

开源不是一种商业模式。
商业供应商旨在最大限度地提高其投资利润 (RoI)。另一方面,开源旨在共享知识并造福社区,无论是个人、初创公司还是大型公司。
 

开源不是商业模式
一些公司想出了一种商业模式。Red Hat、SUSE 和 Canonical 就是最好的例子。有些公司还没有,就撞墙了。然后他们的开源开始破解。这就是 MongoDB、Elastic、Grafana 和上述其他公司的情况。用他们自己的话说,他们见证了亚马逊等巨头的竞争。
尽管原理相同,但它需要与传统方法略有不同的思维方式。
使用服务模型,公司可以围绕专业服务构建其业务,以实现成功的开源。
有了产品模型,公司需要清楚地了解其独特的价值主张(UVP),将这个秘密武器构建到其 IP 中,其他一切都可以全心全意考虑开源。
由于开源项目往往有一个非常集中的目标,因此其他生产级的问题经常被忽略或没有完全涵盖,无论是运营、管理、安全、合规性还是其他。这些无人关注的问题都是厂商的商机。
这当然不是一成不变的,而是一个不断发展的东西。随着项目的成熟及其在生产环境中的使用量的增长,社区自然会推动更多地关注这些问题。这要求供应商不断创新和完善其 UVP。不幸的是,供应商常常错过这一点,而是采取防御性的反应,阻止社区围绕这些问题贡献开源代码。这是一个早期的危险信号,可能预示着以后的重新许可行动。

 

推荐阅读
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Redis 是一个高性能的开源键值存储系统,支持多种数据结构。本文将详细介绍 Redis 中的六种底层数据结构及其在对象系统中的应用,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象。通过12张图解,帮助读者全面理解 Redis 的数据结构和对象系统。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • 深入解析Dubbo:使用与源码分析
    本文详细介绍了Dubbo的使用方法和源码分析,涵盖其架构设计、核心特性和调用流程。 ... [详细]
  • 深入理解Redis中的字典实现
    本文详细介绍了Redis中字典的实现机制,包括其底层数据结构、哈希表与哈希节点的关系、元素添加方法及rehash操作的具体流程。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 整理于2020年10月下旬:总结过去,展望未来Itistoughtodayandtomorrowwillbetougher.butthedayaftertomorrowisbeau ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
author-avatar
踢出个未来为我鼓掌
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有