魏永明:少谈情怀少作秀,多写代码多创新

简介: 魏永明:少谈情怀少作秀,多写代码多创新
魏永明,清华大学工学学士、硕士,飞漫软件创始人,开源软件杰出贡献人物。1999年发布知 名开源软件 MiniGUI并持续研发至今。出版有《Minicul 剖析》、《Linux 设备驱动程序》(二、三版)等技术著作。2018年11月,发起合壁操作系统开源协作项目。 2020 年8月,领街撰写国内第一部码农体长篇小说《考鼎记》并在线发表。2020年8月,提出并开发全新编程语言HVML。

本文首发自魏永明公众号:考鼎录,以下为文章全文

目前国内有一种风气,搞软件的言必谈开源,还有人强调,开源协作是软件开发模式的一种创新。中国最早的开源项目 MiniGUI 开发者、HVML 编程语言发明人、合璧操作系统架构师、开源软件杰出贡献人物魏永明,拥有 30 年的基础软件开发经验,深谙开源之道,谈到开源时感慨万分。他说:“开源,的确是一个世界级浪潮。但大多数人被这个浪潮裹挟着往前走,人云亦云,很少有人仔细去思考开源到底是什么。甚至有人认为开源是拯救中国基础软件甚至是所有软件产业的救命稻草,我觉得言过其实了。我认为开源本质上就是一种软件的分发手段,大家不要去神话它。”

首谈开源垃圾

魏永明指出:大家都说开源好,但实际情况也不尽然,任何事物都有两面性,开源也不例外,这几年,开源的坏处越来越多地展现了出来:

  1. 出现很多大量低水平复制其他开源软件设计思想甚至代码的开源软件,质量参差不齐,魏永明称之为“开源垃圾”。举个栗子,JSON 解析器,在互联网上可以搜到大大小小的 JSON 解析器十几种甚至是几十种的实现,大同小异,没有任何的价值。面对这么多良莠不齐的开源软件,大家怎么去分辨和评价它的优劣?这就要花费更多的时间和精力去辨别。
  2. 很多使用广泛的基础开源软件得不到良好的维护。例如,有 20 多年历史专门用来压缩、解压缩的函数库 zlib,处于无人维护的状态。还有一些软件维护特别吃力,发现安全漏洞也迟迟没有人去解决,即使有人解决了也不会回馈给开源社区。
  3. 更为恶劣的是故意在开源软件里面遗留隐藏很深的缺陷或者漏洞。2020 年 Linux 内核就出现过一次这样的事故:一个中国人在美国做一项调查,目的就是看开源社区的治理是否能拦住一些恶意的代码。结果开源社区没拦住,恶意代码堂而皇之地登堂入室,后来被发现了,此事上升为很恶劣的道德事件。

拧巴的关系:大投入与难发展

魏永明指出国内的开源运动有一个很有意思,但其实很拧巴的现象:一方面,高科技公司在开源软件方面投入很多人力物力和财力,尤其是以互联网大厂为代表。像华为,BAT 等这些大型互联网公司有专门的团队在做开源软件相关工作,比如维护 Linux 内核、维护 Linux 发行版等,每年的投入轻松超过亿元规模。但另一方面,软件的价值却越来越无法用直接的软件许可或者服务收入来衡量。很多开发自主基础软件的公司,很难从市场上获得它期望的收益。魏永明说道:“看一看我国的上市公司,几乎没有一家公司的主要利润来源于自主开发的基础软件。”

软件的价值取决于技术和市场,而非是否开源

魏永明指出:我们总是在说开源,甚至为了开源而开源,但是有没有想过开源软件怎么生存?如果生存都成了问题,那么开源就是无源之水,无本之木。软件要想具有生命力,能够长期持续健康发展,首先要思考几个问题:软件的竞争优势在哪里?软件的用户价值在哪里?软件的市场价值在哪里?如果这几个问题没有答案,那么不好意思,虽然软件开源听起来好像很高大上,但是有多少人会去下载,有多少人会去看代码,又有多少人会去提交缺陷报告,甚至是帮你去修正里面的错误呢?非常少。看看国际知名开源软件的情况,所有直接或间接被经济利益驱动的开源项目都发展得相对比较成功,如 Linux、Chromium、MySQL、Qt、MongoDB 等,而那些没有间接或直接的经济利益驱动的开源软件,典型的如 LibreOffice 和 FireFox,则发展缓慢,步履维艰。魏永明说:“这揭示了一个非常重要的秘密:开源软件作为一项技术或产品,其发展也要遵循同样的市场竞争规律,开源也解决不了软件是否有市场竞争力的问题,单凭情怀和激情是难以为继的。因此,我非常不赞同现在言必谈开源,甚至忽悠大家为情怀而无偿贡献开源的说法和做法。凭一时的热情永远做不了长久的事情,尤其是软件,它必须要靠持续的投入和维护才有可能有未来。”

正确看待开源

魏永明指出:软件开源之路很漫长,我们要正确看待开源。他说:“开源的本质只是一种软件的分发方式。如果你开发一个软件的目的是为了赚钱,那开源这个软件的行为,通常应该被定义为一种营销手段——希望通过开源的方式来让潜在用户或客户快速地用起来。但现实的情况是,我们强调开源以及所谓开源社区治理等等高大上的概念时,忘了一项技术或者一个产品,能否得到广泛应用,首先要考虑的是市场是否有这个需求,或者这项技术、这个产品,能否给用户带来切实的好处。其次是如何直接或者间接从这项技术或产品上获得开发和维护的资金。”

基础软件的开源

前几年物联网很热闹,国内很多大厂纷纷推出了自己的物联网操作系统。魏永明一针见血地指出:这些物联网操作系统,代码规模不大,技术路线雷同,乏善可陈,但仍然有一些社区或者开发者,乐此不疲地开发新的物联网操作系统,只为借开源和国产操作系统的营销风儿搞个噱头。这种做法,其结果一定是产生了更多的开源垃圾而已,并不能促进开源软件的进步和发展。而基础软件,其本质是工具。因此,在基础软件领域,如果一项新的技术或者产品,不能用来提高生产效率,解放生产力,那一定不是好的技术或产品。魏永明对国内那些鼓吹开源的人们大声呼吁:“少谈开源和社区治理,少开点会,少作秀,多花些精力研究市场需求和用户价值,多花些功夫在技术和产品上。”

不务虚名,魏永明在行动

2020 年 7 月,魏永明提出了一个全新的编程语言 HVML,并公开了相关的规范。魏永明认为:一个操作系统区别于其他操作系统最为重要的技术特征就是围绕某个特定编程语言形成的应用开发框架和编程接口(API)。他将这个技术特征比喻为操作系统的基因。要设计一个全新的操作系统,就必须在某个编程语言基础上设计一套完备的、可扩展的、易用的应用编程接口,而 HVML 就是魏永明为正在开发中的下一代操作系统“合璧操作系统”而设计的全新编程语言。HVML 和我们知道的很多编程语言,比如 Basic、Python、C/C++ 之类的完全不同,HVML 提出了一个数据驱动的概念,而代码里边也没有 if-then,do-while 之类的流程控制语言,所有的操作都基于数据。简单而言,HVML 是全世界第一个可编程的标记语言。魏永明解释说:他不喜欢重复别人的道路,比如做一个类似苹果 Swift 或者谷歌 Dart 那样的编程语言;要做就做点不一样的东西。2021 年 7 月,魏永明成立了一个攻坚团队,正式开始了 HVML 解释器(PurC)的开发。2021 年 8 月,魏永明通过”开源操作系统百家谈“公众号发表 HVML 的开发月报,向关注 HVML 的人们汇报相关研发进展。根据目前的进度预测,我们马上就可以看到 HVML 程序运行起来的样子!2021 年 8 月,魏永明看到国内基础软件的薄弱现状,他,作为千千万万码农中的一员,响应国家大力提倡的自主创新的号召,想以一己之力呼唤起千万人的担当与责任,凭借自身三十年的代码经验,毫无保留地推出微信视频号“考鼎录”。“考鼎录”收录了魏永明关于基础软件、编程语言、软件设计的思考和教程,上线后每一期都被微信视频号推荐,受到人们的青睐。

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
JSON API 数据格式
Postman 导入导出API 的用法
大家好,我是阿萨。昨天学习了如何使用Postman里的collections?关于API 脚本的最基本场景我们就学习完成了。 日常工作中会碰到各种各样的情况需要导入或者导出API。
1537 0
Postman 导入导出API 的用法
|
安全 网络安全 PHP
网络安全-RCE(远程命令执行)漏洞原理、攻击与防御
网络安全-RCE(远程命令执行)漏洞原理、攻击与防御
1718 0
网络安全-RCE(远程命令执行)漏洞原理、攻击与防御
|
JavaScript 前端开发
HTML VSCode 自用插件列表 (包含Vue)
HTML VSCode 自用插件列表 (包含Vue)
439 0
|
6月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
1065 7
ERPNext 搭建教程:Linux 一键部署与维护
爆赞!终于有大佬把网络安全零基础入门教程给讲明白了!
网络安全的一个通用定义指网络信息系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的破坏、更改、泄露,系统能连续、可靠、正常地运行,服务不中断。网络安全简单的说是在网络环境下能够识别和消除不安全因素的能力。 网络安全在不同环境和应用中有不同的解释,例如系统运行的安全、系统信息内容的安全、信息通信与传播的安全等。 网络安全的主体是保护网络上的数据和通信的安全,数据安全性是指软硬件保护措施,用来阻止对数据进行非授权的泄漏、转移、修改和破坏等,通信安全性是通信保护措施,要求在通信中采用保密安全性、传输安全性、辐射安全性等措施。
|
关系型数据库 分布式数据库 数据库
2024年全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)等你来战!
2024年全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)等你来战!
818 15
2024年全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)等你来战!
|
存储 监控 容灾
社交软件红包技术解密(五):微信红包系统是如何实现高可用性的
本次分享介绍了微信红包后台系统的高可用实践经验,主要包括后台的 set 化设计、异步化设计、订单异地存储设计、存储层容灾设计与平行扩缩容等。听众可以了解到微信红包后台架构的设计细节,共同探讨高可用设计实践上遇到的问题与解决方案。
397 5
|
机器学习/深度学习 API Python
阿里云百炼上线Qwen2.5-Turbo模型,可支持100万超长上下文
Qwen2.5-Turbo已上线,支持100万超长上下文,相当于100万个英文单词或150万个汉字。该模型在多个长文本任务评测集中表现出色,超越GPT-4,同时在推理速度上实现4.3倍提升。限时免费赠送1000万tokens额度,欢迎体验。
4820 0
|
缓存 Prometheus 监控
Metrics-Server指标获取链路分析
Metrics-server基于cAdvisor收集指标数据,获取、格式化后以metrics API的形式从apiserver对外暴露,核心作用是为kubectl top以及HPA等组件提供决策指标支持。
2621 6