极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:23
登录|注册

观点:闭源软件的局限性

讲述:初明明大小:4.93M时长:05:23
你好,欢迎收听极客视点。
很多人认为,开源是基础软件的未来,PingCAP CTO 黄东旭也不例外。他认为,基础软件的未来只有开源一条路,如果不开源,或者内核不开源,产品的生命力是有限的。此前,黄东旭分享了他对开源与闭源的看法,其中提到闭源软件的局限性,希望能给你带来新的思考。
首先回顾下一个闭源的软件的一生:立项动机可能是某公司或者个人对于某市场机会的洞见,找到了一个高价值的场景,通过开发一个软件能提高效率或创造价值,甚至拿到了一张来自甲方的合同。软件开发商经过项目开发,顺利地满足了甲方的需求。随后该公司发现,好像这个软件改一改(甚至不用改)又能卖给同行业另一位客户。看似找到了一条致富路,但好景不长,客户的场景和需求逐渐在变化,原来的软件不一定能够满足新的需求了,这就意味着,对项目领头人提出了更高的要求,要求其能够持续引领行业方向。同时,甲方也很难受,总是感觉需求的满足慢半拍,或者受限于没有源码,就算知道如何改进,也只能“干瞪眼”。
其实这个问题的本质在于:闭源软件开发商虽然可能是技术的专家,但不一定是业务或者场景的专家,软件进化的速度受限于开发团队和产品经理的认知进化速度,除非开发商强大到能够持续引领整个行业的进化方向,否则无解。
而对于这个问题的答案,引用毛泽东的话说就是“凡属正确的领导,必须是从群众中来,到群众中去。”这就是说,将群众的意见集中起来,与领导的意见相结合,再到群众中去做宣传解释,化为群众的意见,使群众坚持下去,并在群众行动中考验这些意见是否正确,如此正向循环。
这段话包含两个关键点,完美地解释了开源软件生命力的来源。

第一点,开源软件的生命力来自于场景的垄断,背后更是人才的垄断。

为什么强调从群众中来?回顾闭源软件的一生,你会发现软件的初始动机虽然来自于少数人的洞见,但持续保持洞见并不是一件容易的事情,因为一旦脱离用户,就很容易出现问题。
闭源软件厂商触及用户的手段不外乎传统的商业宣传和销售,用户从感兴趣到使用起来的门槛很高,实施的周期也很长。另外,通常销售会站在产品团队和客户中间,通过一些信息不对称来获取超额的利润,其中最大的信息不对称就是封闭的源代码本身或者定制化。这导致的问题是,相比流行的开源软件,闭源软件没办法高效地获取、吸收和理解更多场景,这对于一个通用的基础软件产品来说是致命的。如果见过的场景不够多,更没办法判断哪些产品需求是必须满足的、哪些是伪需求而坚决不做。
而对于一个流行的开源软件,本身不会有上面提到的问题,因为有足够多的用户,一定能看到足够多的场景,也能看到足够多的用法。用户的反馈、修过的 Bug 等会持续产生类似“复利”的效果,你的软件越强壮、见过的场景越广,就越会让你接触到更大的用户群,帮助软件变得更强大,如此循环。
此外,正所谓“事在人为”,场景垄断中的技术决策和实践都是人来操作的。一个流行的开源软件在变成事实标准的过程中,一定会培养出大量熟悉这个产品的工程师、用户、代码贡献者。从传统意义上讲,大家理解的开源社区只是狭义上的开发者社区,只有贡献代码才算参与,但其实,只要和这个产品发生关联的人,都算社区的一部分。“人尽其材”才是构建开源社区的终极目标,这个优势是会随着时间的流逝不断累积。就比如 A 公司的工程师在工作中使用了 TiDB, 很好地解决了问题,当这个工程师作为数据库专家跳槽到 B 公司后,遇到同样的问题时,你猜他会选什么?大概率还会选择 TIDB 来解决问题。

第二点,只有高速迭代才能立于不败之地。

关于“正向循环”,也就是迭代,同样适用于软件开发,软件从来都不是静止的,随着市场和竞争环境的变化,竞争优势也会发生变化。很多人都喜欢用静态的眼光看待问题,热衷于各种方案的横向对比,而忽略了进化速度,或许你更应该看看同一个产品的纵向对比。
举个例子,目前有 A、B、C 三个方案,可能当下看这三个方案差距不大,如果其中一个开源方案在开源社区的推动下,与半年前相比,效果有翻倍的提升,而闭源方案的进步受限于团队规模和资源。这时你一定会选择一个迭代速度更快、增长率更好、更代表未来的方案,除非你遇到的情况非常紧急,才会选择闭源的方案。
以上就是黄东旭所分享的闭源软件的局限性,你怎么看待开源和闭源软件呢?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 德斯儿
    不过感觉开源软件的代码质量要求要高一些 引出了另一个问题,开源软件的商业模式是什么样的?如何盈利?是以服务为主?
  • dra
    大型商业软件都是闭源吧
收起评论
显示
设置
留言
2
收藏
13
沉浸
阅读
分享
手机端
快捷键
回顶部