论开源

g
guvest
楼主 (未名空间)

开源软件乃是建立在Bill Gates文章为开端的,对软件的一系列权力的主张的基础上的。70年代微软就打一系列官司。你做一个硬件,可以兼容Windows,他就可能和你打官司,收钱,这绝对不是夸张。开源软件承认这个人造的”软件”概念。放弃的那部分,我认为和主要的法权没有关系。所以可以看作是对闭源软件根本部分的再次确认。也是对这个所谓的“软件产业”的发展。

但是这显然不是先天真理。我可以承认代码,不承认软件。代码的权力归于其物理驻地(硬件)。这话说着拗口,其实很简单。最早代码都是随着硬件免费给的。iphone一开始就是如此。卖法决定设计。既然软硬件是不分的,那么一体化设计占上风。
70年代以前,美国有几样家用电器是一体化设计上的杰作。80年代日本的walkman,德
国的相机收音机
什么的也展示了同样的风格。

就算今天,我在屋子里转一圈,只有windows的laptop,两个游戏机,router是软硬件分开的。
冰箱,微波炉,电视机遥控器,...mac book pro...几十个东西都是一体设计的产物。

我认为以下两个集合有很大可能重叠:
1.形状丑陋的电器
2.用linux开源的驱动软件之类的开源软件的电器

所以我的说法是有实证根据的。一个屋子里一体设计的消费电子设备,从数量上讲,占多数,为什么?我认为这是因为人们的生活不需要分割成那么多可替换的部分。电视机遥控器,按个按钮刷firmware?手机玩的还不累吗。

但是也有反例。我听说的,过去美国的拖拉机,农民都可以自己修修,小改一下什么的。近来一个拖拉机公司,用发动机软件锁死了农民修拖拉机的权力,引发了游行。厂商给的理由是:
“One tweak could cascade throughout an entire software system and lead to
unintended consequences,” says Julian Sanchez, Deere’s director of
precision agriculture strategy and business development.

这就跟mbp用八角螺丝钉,焊死内存条...差不多。但apple似乎没有在法权上,不准你
改。

w
wyemlyy

问个可能偏题的问题,所以说所谓软件的知识产权也可以是被熟悉法律的来利用成为某种绑架是不是
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 开源软件乃是建立在Bill Gates文章为开端的,对软件的一系列权力的主张的基础上的
: 。70年代微软就打一系列官司。你做一个硬件,可以兼容Windows,他就可能和你打官司
: ,收钱,这绝对不是夸张。开源软件承认这个人造的”软件”概念。放弃的那部分,我
: 认为和主要的法权没有关系。所以可以看作是对闭源软件根本部分的再次确认。也是对
: 这个所谓的“软件产业”的发展。
: 但是这显然不是先天真理。我可以承认代码,不承认软件。代码的权力归于其物理驻地
: (硬件)。这话说着拗口,其实很简单。最早代码都是随着硬件免费给的。iphone一开
: 始就是如此。

d
danielfeng

macOS/iOS这些的userland直接从FreeBSD来的。没开源要自己搞一套也够呛啊

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 开源软件乃是建立在Bill Gates文章为开端的,对软件的一系列权力的主张的基础上的
: 。70年代微软就打一系列官司。你做一个硬件,可以兼容Windows,他就可能和你打官司
: ,收钱,这绝对不是夸张。开源软件承认这个人造的”软件”概念。放弃的那部分,我
: 认为和主要的法权没有关系。所以可以看作是对闭源软件根本部分的再次确认。也是对
: 这个所谓的“软件产业”的发展。
: 但是这显然不是先天真理。我可以承认代码,不承认软件。代码的权力归于其物理驻地
: (硬件)。这话说着拗口,其实很简单。最早代码都是随着硬件免费给的。iphone一开
: 始就是如此。卖法决定设计。既然软硬件是不分的,那么一体化设计占上风。
: 70年代以前,美国有几样家用电器是一体化设计上的杰作。80年代日本的walkman,德
: 国的相机收音机
: ...................

g
guvest

古代unix是跟主机走的吧?第一版我记得是汇编写的。
后来搞软件法权问题鸡毛鸭血,谁都没法用了。
sloaries怎么走的,可能你们诸位老师傅更清楚。我道听途说,它也不是微软的分出来软
件这个路子。

我的意思是,开源是纯软件成立的前提下的开源。
跟电视机遥控器,电饭锅,这些不是一回事。后者也会长期生存。

纯软件成立,实际上是把硬件当作deploy平台。硬件不许再收一次钱,软件可以换。
但是很多硬件不需要时不时的换软件。所以os也不一定成立。
另外做硬件的也不是傻子,软件坏了它会让你买新的。

这些东西的分析,其实就是怎么卖软件和硬件,EE应该开课讲清楚。可惜学校都不讲。对一般人来说,都是怎么卖决定怎么做。技术能导致卖法不同的,极其罕见。
学校专注于怎么做,有点南辕北辙。
【 在 danielfeng (公孙欠扁) 的大作中提到: 】
: macOS/iOS这些的userland直接从FreeBSD来的。没开源要自己搞一套也够呛啊

d
danielfeng

软硬件也不好这么泾渭分明分开。你从产品角度看的话,目的是要把服务跑起来,软件硬件的都是资源,最终反映到成本上。这些成本往下摊,才能摊到具体的软件花了多少,硬件花了多少。再往下算,怎么能降低成本,那就减员增效。软件的开源把效率这部分提高得太多了,现在单个码工或者一个小组几个码工的生产力完全吊打十年前一个大公司的所有码工,因为有开源社区加持。开源社区就是隐形的超大公司

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 古代unix是跟主机走的吧?第一版我记得是汇编写的。
: 后来搞软件法权问题鸡毛鸭血,谁都没法用了。
: sloaries怎么走的,可能你们诸位老师傅更清楚。我道听途说,它也不是微软的分出来软
: 件这个路子。
: 我的意思是,开源是纯软件成立的前提下的开源。
: 跟电视机遥控器,电饭锅,这些不是一回事。后者也会长期生存。
: 纯软件成立,实际上是把硬件当作deploy平台。硬件不许再收一次钱,软件可以换。: 但是很多硬件不需要时不时的换软件。所以os也不一定成立。
: 另外做硬件的也不是傻子,软件坏了它会让你买新的。
: 这些东西的分析,其实就是怎么卖软件和硬件,EE应该开课讲清楚。可惜学校都不讲。
: ...................

g
goodtudou

1:开源的目的
作为物联网大数据平台,TDengine属于基础软件,可以划到数据库、大数据工具的范畴。对于用户而言,基础软件特别是数据库软件的迁移成本极高,因此对于新的基础软件,即使性能和功能都超强,其推广也有很大难度。原则上来讲,新产品的推广销售成本是市场成熟垄断产品的5倍以上,因此新产品的性价比要比市场现有产品好5倍以上,才可能对它产生冲击。

开源是一种很好的推广方式,最典型的成功案例是Linux和MySQL。这两个产品在开源的初期,技术和产品上与专业的Sun Solaris, Oracle等产品没有可比性,但由于开源免
费,受到开发者的欢迎,很多开发者也参与进去,因此形成了一定的用户群,而且用户群逐步扩大,最终成为主流产品。

集群开源后,在GitHub趋势榜上连续5天霸榜

另外一方面,基础软件必须面向全球市场,如果仅限于中国市场,难以做大。由于盗版,付费和服务的意识还未养成,中国市场基础软件的销售只占全球5%都不到,我们不能无视海外巨大的市场。而且基础软件属于典型的技术产品,使用是没有国界地域之分的。同时,对于操作系统、数据库这些软件,只有全球前三名才可能生存。因此涛思数据从成立之日起,就决心瞄准全球市场。

而进军海外市场,市场推广更加困难,普通的开发者会对来自中国的基础软件有很多质疑和不信任。开源是增加信任和消除质疑的最好方法。同时,开源可以吸引全球开发者的关注,其中一部分还可以成为贡献者,是全球协作开发,吸引全球人才的最好方式。数据库领域,大家熟悉的开源软件ClickHouse是俄罗斯人开发的,Redis是意大利人开
发的,但现在都已经成为全球流行的软件。

随着RedHat被IBM以340亿美元收购,MongoDB, ElasticSearch等成功上市,开源软件,特别是Open Core的模式,已经被证明是一成功的商业模式。还有一面,目前市场上流
行的时序数据库都有开源社区版,如果我们没有,推广将更加困难。从这个角度来看,不开源是不可能的。

总之,我们开源是为了解决市场推广的问题,目的是快速获得市场份额,甚至市场的垄断地位,形成品牌。

TDengine 2.0 官网(www.taosdata.com)

2:License的选择
首先要明确一点的是,开源并不意味代码可以随意使用。使用者必须接受License里的
规定,否则就是违规。开源产品有很多License, 流行的有Apache, BSD, MIT, GPL等等。我们选择的是AGPL,这个License是GPL上的增强版。GPL 属于dual license,如果要免费使用,使用者的代码也必须开源,否则需要付费。AGPL是云计算的背景下出来的,有更强的限制。

我们采用AGPL的目的是防止云厂商用开源代码提供服务,独占利润,而不是强迫其他使用者开源他们的软件。因为云计算是趋势,市场占比越来越高,而且市场只会容纳几家云厂商。如果云厂商自己组织一支专业的技术支持队伍,那么涛思数据将失去盈利的一重要渠道。但我们乐意与云厂商合作,一起提供TDengine服务,共享利润。MongoDB就
是采用的AGPL,一年前,开始使用自己的带有更强限制的开源协议,其目的是不容许云厂商免费使用。

还有一点需要明确的是,我们开源的协议是可以更改的,等我们有时间,我们将制定一个仅仅限制云厂商使用的开源协议,只是已经release的版本按照当时的开源协议执行
即可。采用AGPL是我们目前这个阶段,最简单最合适的保护方式。

3:哪些需要开源?

开源有两种,一种是100%的开源,还有一种是部分开源。对于100%开源的,目前取得商业成功的只有RedHat,而部分开源的则有很多家商业成功的公司。现在流行的是Open
Core, 就是将核心代码开源。

我们是一家要获得商业成功的公司,因此我们需要采取大家认同的商业模式Open Core
。那么对于TDengine而言,我们需要将真正有技术突破和核心的模块开源,包括:存储引擎、查询计算引擎、RPC等等。如果这些核心模块不开源,难以说服开发者使用,因
为他们有很多可替代的选择。

2019年7月宣布开源的时候,从后续宣传、商业拓展的角度考虑,决定将集群闭源(注
:集群功能刚于2020年8月3日开源)。但在美国期间,与Steven以及众多公司的交流来看,我们应该将其开源。原因有几点,1:我们的竞争对手InfluxData, Promethus,
TimeScale的开源版都不提供集群功能,那我们提供的话,产品将有更大的竞争力;2:时序数据处理市场,还属于战国时代,产品的定义、市场格局还在不停的改变,还没到定局的一天,因此现在开源利大于弊;3:我们要在这个群龙混杂的时代脱颖而出,必
须先人一步,敢做对手不敢做的事情。

原则上来讲,所有基本功能,特别是展现我们技术优势的模块都需要开源。

4:哪些无需开源?

哪些不需要开源呢?原则上是大客户才有需求的功能。对于大的企业客户,有不少需求,没有什么技术挑战,也不是核心模块,可以自己开发,但限于人力和时间成本,乐意采购。对于TDengine而言,有以下一些功能:
数据加密:数据文件加密保存
异地容灾:一个虚拟节点组可横跨几个机房
审计:查看DBA的各种操作记录
用户认证接口:支持LDAP、Active Directory等
多级存储:节省存储成本
多租户:一般只有大型企业或提供云服务的企业才有这个需求
系统监测:TDengine自身的监测要纳入到企业整体的监测体系,减轻运维压力
图形化后台管理界面

原则上来讲,辅助性的功能不需要开源。

5:开源之后,销售什么?

开源卖的是辅助功能:最基础的核心功能确实能用,而且用的很好。但任何一家大规模的企业,作为IT负责人,一定要考虑数据的安全(包括容灾、备份、审计、加密、审计等等),考虑运营维护的复杂度(与现有IT监测系统能否集成,是否有专业管理工具),这些功能,他们自己可以在开源版基础上开发,但是开发维护的成本一定是比购买原厂的产品高。大型的互联网公司,比如谷歌, 阿里,腾讯等,他们因为数据规模巨大,他们会乐意组织团队在开源版本上开发,因此,可以断定,这些巨无霸互联网公司不会付费买我们产品。但我们依然需要鼓励他们采用,因为他们是标杆型客户,能起宣传作用。

开源卖的是保险和服务:一家大企业的CIO/CTO根本不会为公司一年节省几百万的费用
,而让整个数据系统处于一个不可靠的状态。采用开源软件,确实好,但如果没有原厂支持,出了任何技术问题,让整个系统宕机几分钟、甚至一个小时,就更不用说一天,那损失是巨大的,甚至IT负责人都被撤职。没有人能保证软件不出问题,这个是所有IT人的共识。因此只要是一个专业有经验的CIO/CTO,他一定会购买专业的产品和服务,
至少出问题时能找人背锅。因此销售过程中,明确告诉对方,只要是免费客户,我们只能在GitHub或技术社区里提供服务,无法保证实时性。但对于付费客户,我们会有专人服务,会实时反应。客户使用过程中,即使没撞到BUG,但怎么做最优配置、与其他系
统更好的集成,包括技术培训、软件升级等,只有原厂厂商最清楚,这也是我们可以提供的服务。

6:开源后的销售策略

开源后,一般的客户使用开源版即可。但对于一些客户,需要使用我们闭源的功能,或者只是想获得我们的技术支持,就需要购买我们的企业版。企业版的定价策略与传统软件没有区别,但我们需要强调服务的价值,争取按照年服务费的方式销售。

但开源改变了销售的方式,一般的客户都成为了免费客户,让我们无利可赚。但是这些免费客户形成了TDengine的庞大用户群,他们给TDengine带来了传播,给TDengine提供了快速的市场反馈,而且无形中将我们竞争对手的市场空间大幅减小。

通过开源,我们获客的渠道主要来自线上渠道,而且主动咨询我们的客户已经对产品有了一定的了解,PoC的环节也将大为缩短,直接的销售成本将大幅下降。从我们7月份开源后的效果来看,三个月的时间,主动联系我们的客户已经有数百家。对于传统的2B软件销售而言,这个数字是相当惊人的数字。

但是销售本身并没有改变,开源只是带来了大量有效的销售线索,我们仍然需要销售人员与客户进行仔细的沟通。这种沟通,在我们品牌地位完全建立之前,除电话、微信沟通外,还需要面对面的进行,详细了解他们的痛点、帮助他们解决,无捷径可走。

因此我们目前的销售策略是:线上引流,线下成交。

T
TeacherWei

我也卖物联网平台,我就不扯啥大数据!数据大小有没有数据,是用户说了算。和他有啥鸟关系?我的系统数据,本地就消化了!直接SQLite存SD卡里面了。

【 在 goodtudou (goodtudou) 的大作中提到: 】
: 1:开源的目的
: 作为物联网大数据平台,TDengine属于基础软件,可以划到数据库、大数据工具的范畴
: 。对于用户而言,基础软件特别是数据库软件的迁移成本极高,因此对于新的基础软件
: ,即使性能和功能都超强,其推广也有很大难度。原则上来讲,新产品的推广销售成本
: 是市场成熟垄断产品的5倍以上,因此新产品的性价比要比市场现有产品好5倍以上,才
: 可能对它产生冲击。
: 开源是一种很好的推广方式,最典型的成功案例是Linux和MySQL。这两个产品在开源的
: 初期,技术和产品上与专业的Sun Solaris, Oracle等产品没有可比性,但由于开源免
: 费,受到开发者的欢迎,很多开发者也参与进去,因此形成了一定的用户群,而且用户
: 群逐步扩大,最终成为主流产品。
: ...................

d
dracodoc

看你们两方讨论,明显考虑的场景是不一样的。

如果软件是编程语言,库,它的用户是开发者,本来就是和硬件需要分开的,谁卖个编程语言必须买开发机(有和硬件平台捆绑的特例就正好是反例)?和什么gates文章没
有关系。这样的软件开源的优点远大于缺点。编程语言的作者开源扩大用户的动力也远大于闭源获得收入的动力。

作为面向普通用户的纯软件(桌面,移动端)如果是开源的,其优势就不明显,用户一般关心使用体验远超过对开源的要求

router 之类本来是硬件,用开源软件更是特例,一部分是厂家没有开发能力,一部分
是消费者群体的特殊性使得开源软件对某些用户有吸引力,是个卖点

一般面向最终用户消费者的电器没有什么开源需求。

【 在 TeacherWei(TW) 的大作中提到: 】
<br>: 我也卖物联网平台,我就不扯啥大数据!数据大小有没有数据,是用户说了算。
和他有
<br>: 啥鸟关系?我的系统数据,本地就消化了!直接SQLite存SD卡里面了。
<br>

T
TeacherWei

撕破脸皮讲讲哲学。

那个TDEngine,以及淘宝Amazon成天扯蛋的所谓百亿千亿IoT,其实说白了,就是继续
割人民的韭菜。光通过手机收割不够了,要通过天下万物,收割所有人一举一动一言一行。

你仔细想一想,要是不去偷,哪有那么多IoT数据给他存?

后现代后工业化,聪明人已经没多少人事儿可干了。只能想方设法去偷去骗祸害人了。

正因为如此,才会有用户5美金买一个所谓智能wifi开关,上电就强制上云,网断了灯
都不可控,而且每天上传几十MB的数据到云上。

反正钱印出来,直接就通过华尔街到了这帮孙子手里。本版绝大多数人,包括那个
TDEngine,都是可以从中分一勺羹的。

事实上,除了security alarm进了贼需要发出一个信号以外,这些IoT 99.999%不需要
送出去任何数据。向外送基本就是偷。

我的平台,有开源的部分,也有闭源的部分。开源闭源不是重点。重点是坚决不偷,而且在设计和实现上,杜绝任何人去偷。撕破脸皮把这个事儿说清楚放在首页上。

【 在 dracodoc(david) 的大作中提到: 】

: 看你们两方讨论,明显考虑的场景是不一样的。

: 如果软件是编程语言,库,它的用户是开发者,本来就是和硬件需要分开的,谁卖个编

: 程语言必须买开发机(有和硬件平台捆绑的特例就正好是反例)?和什么gates
文章没

: 有关系。这样的软件开源的优点远大于缺点。编程语言的作者开源扩大用户的动力也远

: 大于闭源获得收入的动力。

: 作为面向普通用户的纯软件(桌面,移动端)如果是开源的,其优势就不明显,用户一

: 般关心使用体验远超过对开源的要求

: router 之类本来是硬件,用开源软件更是特例,一部分是厂家没有开发能力,
一部分

: 是消费者群体的特殊性使得开源软件对某些用户有吸引力,是个卖点

: 一般面向最终用户消费者的电器没有什么开源需求。
: ...................

g
guvest

对一组对象整体性质的谈论,跟哲学不是一回事。例如:

(1)每个布尔代数表达式都可以被evaluate出来。
(2)Nested 括号,总能被消除掉。

你说的是对用户,产品等的总体性的考虑。这是实证中来的,很好的知识。学校学不来的。其实不需考虑哲学二字。

【 在 TeacherWei(TW) 的大作中提到: 】
<br>: 撕破脸皮讲讲哲学。
<br>: 那个TDEngine,以及淘宝Amazon成天扯蛋的所谓百亿千亿IoT,其实说白
了,就
是继续
<br>: 割人民的韭菜。光通过手机收割不够了,要通过天下万物,收割所有人一举一动
一言一
<br>: 行。
<br>: 你仔细想一想,要是不去偷,哪有那么多IoT数据给他存?
<br>: 后现代后工业化,聪明人已经没多少人事儿可干了。只能想方设法去偷去骗祸害
人了。
<br>: 正因为如此,才会有用户5美金买一个所谓智能wifi开关,上电就强制上
云,网
断了灯
<br>: 都不可控,而且每天上传几十MB的数据到云上。
<br>: 反正钱印出来,直接就通过华尔街到了这帮孙子手里。本版绝大多数人,包括那个
<br>: TDEngine,都是可以从中分一勺羹的。
: ...................
<br>

T
TeacherWei

我的发言里面有一段话是哲学。
不想再重复了。得罪的人已经够多了。

【 在 guvest(我爱你老婆Anna) 的大作中提到: 】

: 对一组对象整体性质的谈论,跟哲学不是一回事。例如:

: (1)每个布尔代数表达式都可以被evaluate出来。

: (2)Nested 括号,总能被消除掉。

: 你说的是对用户,产品等的总体性的考虑。这是实证中来的,很好的知识。学校学不来

: 的。其实不需考虑哲学二字。

:
c
chebyshev

是。实名发言要谨慎。
【 在 TeacherWei (TW) 的大作中提到: 】
: 我的发言里面有一段话是哲学。
: 不想再重复了。得罪的人已经够多了。
:
: 对一组对象整体性质的谈论,跟哲学不是一回事。例如:
:
: (1)每个布尔代数表达式都可以被evaluate出来。
:
: (2)Nested 括号,总能被消除掉。
:
: 你说的是对用户,产品等的总体性的考虑。这是实证中来的,很好的知识。学校
: 学不来
:
: 的。其实不需考虑哲学二字。
:
: