爱国的“换皮”!818中科院吹大了的“木兰”

今日头条
Toutiao
最新回复:2020年1月19日 18点5分 PT
  返回列表
73364 阅读
36 评论
古老湿

1

2020 年 1 月 15 日,中科院计算所发布了一款「完全自主设计、开发和实现的编程语言」,还配套了彻底自主实现的编译器和集成开发工具,是「真正掌握核心技术的编程语言」——木兰编程语言。

不过当木兰发布以后,大家发现,之前新闻稿中所说的「编程语言+编译器+集成开发工具+跨平台」软件体系,缩水成了一个仅能在 Windows 平台上运行交互 shell 的 exe 可执行文件。

这是什么概念?

差不多可以理解为,中科院向开发者们承诺了满汉全席,最后在万众瞩目之下,上了一盘炒鸡蛋。

你以为现在该喷中科院计算所的这盘炒鸡蛋「货不对版」了?

呵呵,故事才刚刚开始。

2

我通过中科智芯(中科院计算所企业)网站(https://www.dongshouke.com/)下载的这个可执行文件,图标长成这样:

作为一个使用过 PyQt + PyInstaller 的 Python 工程师,我在看到这个图标的一瞬间就被中科院计算所的「工匠精神」雷住了。

这个图标,是用 PyInstaller 打包时候自带的默认图标啊!

也就是说,这个 exe 可执行文件,是用 PyInstaller 打包出来,而且工程师懒到连图标都没换。当然,可以顺便确定,这个文件的生产流程,基本上就是先用 Python 写、然后用 PyInstaller 打包成 exe 的。

说好的彻底自主研发的编程语言呢?说好的彻底自主实现的编译器?咋回事,转了一圈发现,怎么还在用早在 1991 年就问世的 Python?

同行十二年,不知「木兰」是 Python?

(目前木兰在中科智芯官网下载地址已经被 404,但迅雷还有缓存,将下载地址https://www.dongshouke.com/download/ulang-0.2.2.exe 复制到迅雷中,即可成功下载,有兴趣的小伙伴可以自己尝试一下)

3

事情逐渐变得有趣起来了。

我们既然已经知道「木兰」是用 PyInstaller 打包的,当然也就有解包的方法—— PyInstaller Extractor。

去 SourceForge 网站下载一个名为 pyinstallerextractor.py 的脚本,之后在命令行中执行 python pyinstallerextractor.py ulang-0.2.2.exe (如果脚本与木兰不在同一文件夹中,记得补全exe文件路径),就可以将木兰的源文件 ulang-0.2.2.exe 解包成为一个文件夹,便于我们一探究竟。

通过 PyInstaller Extractor,其实已经可以看出,木兰用的是 Python 3.7 版本了,没有加密,没有换图标……我们不着急,继续向下扒。

解包后,可以很直观的看到木兰内部长这样:

现在已经可以基本可以确定,这就是 Python 了。

我们再深入进去,看看目录下面这个奇怪的 PYZ-00.pyz_extracted 文件夹里面是些什么东西。

这些后缀为 .pyc 的文件,是 Python 程序的字节码文件。文件夹中的这些 Python 程序,都是 Python 的标准库(就是 Python 语言自带的一些实用功能)。把它们存放在这里,显然是因为木兰会在这里统一调用 Python 3.7 的内部函数和接口。

这基本就是石锤了:

中科院计算所的「纯自主研发」的木兰编程语言,其实就是把 Python 3.7 这门全球最流行的开源编程语言打了个包、包装成一个 exe 可执行文件,还忘了换图标……

如果你要问技术含量有多少,大概等于我买了个 iPhone 11 然后包上了一张废报纸就号称这是彻底自主研发的古老湿 100S 智能手机、最后还毫无工匠精神的忘了画上我自己的 Logo。

换皮能有多少技术含量?况且还换成这个样子?这是欺负码农眼瞎吗?

其他夸下的海口,例如跨平台之类,瞬间就可以理解了:Python 本身就是一门跨平台语言,既然「木兰」只是换皮版 Python,那么当然具备 Python 的一切特性。

我还帮中科院想好了一句广告词——「彻底兼容 Python 生态环境」,一下子就有走出国门冲向世界的潜力了,岂不美哉?

4

扒到这里,「木兰」的真身已经曝光在阳光下了。

但是,还有多少个虚假的「自主研发」项目仍然隐藏在黑暗中?

2002年,上海交通大学微电子学院院长陈进从美国买来 10 片 MOTO-freesca 56800 芯片,找来几个民工将芯片表面的MOTO等字样全部用砂纸磨掉,然后加上汉芯的LOGO,骗取了高达上亿元的科研基金,成为 2000 年后中国最著名的学术造假案件。

2004年,号称「自主研发」和「自主知识产权」的国产服务器操作系统「麒麟」正式对外公布,随后遭到质疑,相关报告显示「麒麟」操作系统中至少有 60% 的代码来自于 FreeBSD 5.3,并且二者在函数命名上的相似度高达 99.45%。

2018 年,号称「世界第五颗也是唯一一颗属于中国人自己的浏览器内核」的红芯浏览器被曝光使用 Blink 内核,整个浏览器与Chrome浏览器严重雷同,就是一个「Chrome 套壳浏览器」,与其宣称的「自主研发」南辕北辙。

……

像这样的 IT 闹剧,在中国还有无数,打着「自主研发」的幌子,戴着「爱国无罪」的帽子,肥的是谁的肚皮?伤的又是谁的钱财?

软件工程行业的游戏规则极其简单:好的代码,全世界都会用,但大家必须遵守原作者的要求(例如不同的软件 License 对使用者有不同的限制),绝不能用了人家代码还说这是你「自主研发」的「自主知识产权」。这就不叫「共享精神」了,这叫「偷」。

Linux 操作系统作者 Linus 有一句名言:Talk is Cheap, show me the code. 

那些至今只敢嘴上厉害、却一再延迟公开源代码的「自主研发」产品,能不能把代码放到聚光灯下,证明你们并不是另一出「爱国」的「换皮」闹剧呢?

相关报道:自主开发编程语言被指Python套壳,中科院开发者道歉

中科院计算所团队“完全自主设计、开发和实现”的“木兰”编程语言是Python语言的套壳产品?针对近日这一网络质疑,1月17日,项目负责人、中科院计算所编译实验室员工刘雷在科学网上发表回应称,木兰语言在8位单片机上的编译器是本团队开发的,在32位单片机上的编译器是基于Python开源编译器进行的二次开发,但在接受采访中将木兰编程语言和编译器夸大为完全自主开发。刘雷关于“木兰”编程语言的情况说明全文如下:

本人系中科院计算所编译实验室员工。基于我在编译技术上的科研积累创办了中科智芯(北京)科技有限公司,该公司围绕青少年编程教育,设计开发编程语言、编译器和集成开发环境等产品。

为了更好地在中小学中普及计算思维,本人带领团队开发了一种称为“木兰“的编程语言。它包含三个组成部分:一、在语言规范上借鉴了Lua语言的特性并进行了扩展,增加数据表达方法等新的特性;二、开发了支持少儿编程教育的可视化编程环境;三、针对8位AVR单片机,实现了相应的编译器和运行时系统,开发了能模拟多任务执行的虚拟机。以上产品已经在数百所中小学中,开展了10万人次的编程科普活动。

针对STM32单片机,我们是基于Python开源编译器进行的二次开发,也就是先将木兰语言的源程序转换为Python的中间表示(AST),再在Python虚拟机上运行。这就是在开发和运行环境中会包含Python系统的原因。

在1月15日接受媒体采访时,本人在对木兰编程语言的介绍中,犯了以下错误:

1. 木兰编程语言主要是用于中小学教育,在介绍中将它扩大到智能物联领域。

2. 木兰语言在8位单片机上的编译器是本团队开发的,在32位单片机上的编译器是基于Python开源编译器进行的二次开发,但在接受采访中将木兰编程语言和编译器夸大为完全自主开发。

对于此次在网络上造成的不良影响,本人郑重道歉,对给中科院、中科院计算所带来的不良后果表示诚挚的歉意。本人感谢大家的监督与批评,并深刻反省,保证不再出现类似问题。

此前,据中国新闻网等多家媒体报道,中国科学院计算技术研究所(以下简称中科院计算所)1月15日正式对外发布该所计算机体系结构国家重点实验室编译技术团队自主研发、面向新一代人工智能和物联网应用的“木兰”编程语言体系,并推出“木兰”开源软件包,供全球用户免费下载获取。

但随后网络上争议四起,知乎网友@沉迷单车就指出,从网络下载的“木兰”语言编辑器程序图标来看,与用著名编程语言Python生成的应用程序图标完全一致。“都不换个图标吗?”他问道。

澎湃新闻(www.thepaper.cn)记者并未在中科院计算所或计算机体系结构国家重点实验室官方网站上找到“木兰”的发布信息,亦无下载链接。

“木兰”的下载渠道在一家名为“中科智芯”的公司网站上。据企业主页介绍,中科智芯(北京)科技有限公司是中国科学院计算技术研究所孵化企业,源中科院计算所计算机体系结构国家重点实验室而成立。

“木兰”编程语言是该公司的重点产品,企业介绍称,“木兰”是“专为人工智能教育而生的中国自主知识产权编程语言,由中科智芯自主研发。语言设计上屏蔽了其他任何一种针对成人设计的编程语言特性,如编程环境调试复杂等,让学生在编程语言学习之初不为细节所牵绊,具有更易理解、易于学习、易于阅读、易于维护等特性;且支持跨平台,对Android、UNIX、Windows都可以很好的兼容。”

有计算机业内人士对澎湃新闻(www.thepaper.cn)记者表示,从目前能掌握的情况来看,“木兰”语言更像是Python语言的“套壳”产物。“这个软件就是在Python语言外边套了一层壳,还是比较简单的那种,相当于一个接口,连图标都没有改。”

“木兰”图标

使用Python制作的文件图标

“对这个exe文件进行反向编译后可以发现,整个结构就是Python环境,比如其中有一个‘lib2to3’文件夹,就是只有python才会有的,是转换python2到python3的lib。”上述业内人士对记者表示。

“木兰”反向编译结果

不过,上述业内人士也对记者表示,“还是要看‘木兰’的源代码,才能确定这个语言到底有多少自主研发成分,以及多少是来自Python语言。现在从公司网页上无法看到源代码,也就是说还没做到完全开源。”

据此前报道,刘雷介绍称,“木兰”是中科院计算所团队完全自主设计、开发和实现的编程语言,与之配套的编译器与集成开发工具也完全由团队自主实现,“是我们真正掌握核心技术的编程语言”。

其介绍称,“木兰”定位为下一代重要应用——物联网应用开发语言,打造物联网智能执行平台,其采用最新的编程语言设计理念和编译技术,在考虑性能的设备处理层,它提供面向轻量级物联网设备和领域特定专用加速器的编程特性;在应用层面,它提供面向通用计算设备的编程语言并支持多种领域的定制化元编程。

据了解,以“木兰”为基础延伸的自主研发编程软件、人工智能教材、教学装备现已投入中小学、幼儿园使用,截至目前,“木兰”应用范围已涵盖中国18个省市共700所中小学。

工商信息显示,中科智芯(北京)科技有限公司持股70%的大股东是中科编易(北京)科技有限公司,而后者的大股东正是刘雷。

中科院计算所计算机体系结构国家重点实验室网站显示,刘雷,博士,工程师一级,在编程语言和并行编译技术方向上具有丰富的科研和工程经验,先后承担过国家863项目、核高基重大专项项目的子课题,所研发的技术成果达到世界先进水平,在多个顶尖的国际会议和权威期刊上都发表论文10余篇。其开发的自动并行化编译器的加速效果要明显好于世界上最好商用编译器Intel编译器。

Python在1991年由荷兰人Guido van Rossum发明,是一种跨平台的计算机程序设计语言,近几年因机器学习大热而受到关注。

青春永万岁
1 楼
厉害国不断发生这种事 辛苦的中国人民血汗钱纳的税,被这些吸血鬼骗走
笨笨鸭
2 楼
何必戳破?
我爸1
3 楼
爱国就是皮糙肉厚,内痔外痔以及肛裂
1
123paul
4 楼
有一点可以肯定,制作"木兰"是一群爱国人士
红旗下扯蛋
5 楼
这些人是在骗谁?骗老百姓吗,当然不是,骗初二博士生那个大傻子呢。初二包子不是有个法学博士文凭吗?看看能给骗子定个什么罪?
g
givetome
6 楼
这些人应该坐牢
r
robin1111
7 楼
伟大光荣正确的裆啊
敦敏堂仆
8 楼
人家说自主研发是说我们自己在电脑跟前做的。没有外人插手。
i
inewbie
9 楼
负责换皮的学生倒霉了。估计要被开除,跳楼了。
i
inewbie
10 楼
是在读学生。估计要被开除了。
夏天的胡萝卜
11 楼
看到有个经典的冷笑话 主要是名字没取好,非要叫什么木兰 叫素贞就一点问题没有了
干仔
12 楼
层层外包骗经费,最后外包到在校生了。
t
tosefun
13 楼
做个编译器吹啥掌握核心技术,编译原理是大学计算机专业本科的必修课
对不起我是警察
14 楼
中科院迄今为止到底骗走了屁民多少钱?华为会步中科院后尘么?
对不起我是警察
15 楼
这样就该坐牢,那中科院里90%拉去坐牢没有冤枉的。
爱逛动物园
16 楼
爱国研究法,现在是条申经费的捷径。不过是个编译器的项目,真把历年各种项目全检一边,这都上不了前十
l
lanjian45
17 楼
应该是美国阴谋吧,要不好怎么莱坞拍了花木兰呢
对不起我是警察
18 楼
2纳米芯片中国成功破冰 中科院技术全球首创... 狼来了
r
rxl
19 楼
续集就是几年后爱国的“木兰”状告Python侵权...
h
hot009
20 楼
真的以后别用木兰之类的名子,可以参考下 中国Q,五毛红 这样的
Z
ZODIAC
21 楼
确实也拿不出啥东西了,翻来覆去除了猴子,哪吒就是木兰
爱逛动物园
22 楼
你仔细看完那篇帖子再评论吧
水中拉系正常
23 楼
其实, 我是坐等五毛来洗地的,哈哈
开水送服
24 楼
哈哈哈哈反正都是骗国家的钱
a
abc868
25 楼
现今时代,中共除了假大空拥有自主知识产权外,剩下的还有什么?
o
oligarch
26 楼
之所以这种欺诈行为接二连三的出现是因为即使最后被戳穿,受到的惩罚也微乎其微。就像汉芯的陈进,韩春宇,有什么事啊?什么事也没有,一旦成功就是一本万利,何乐而不为。
g
goodsignal
27 楼
中科院都这样,其它院校可想而知。悲哀。
玉玛冉姂卡
28 楼
查查mullah是什么意思,还每天木兰木兰的不停。这是在暗示什么东东
清理谣言
29 楼
撒谎都不动动脑子!
贯军
30 楼
竟敢喷“木兰”,等着“红焖”到时候蒙死你。
賭城之窗
31 楼
我倒覺得創作人很幽默呵。 花「木蘭」最重要的特徵就是:女扮男裝———騙人。我認為取名「木蘭」與「哄矇」有異曲同工之妙。 哈哈
闲人老修
32 楼
中国的科技研发就被这样一批热衷于坑蒙拐骗的伪科学家把持,说什么赶超都是谎话!清除这些刘雷式的骗子才可能有真实的开始
移动硬盘
34 楼
国内真正实干的科学家已经几乎死光了,剩下的也是成精神指导。越来越多的人看见的只有钱
热血青年2
35 楼
这个你不懂了,人家起木兰这个名字就是告诉你里面有鬼。起名的人聪明着呢。 木兰辞最后两句 雄兔脚扑朔,雌兔眼迷离; 双兔傍地走,安能辨我是雄雌? 说实话,IT真有两下子早给大公司高薪请去了,谁会留在中科院
愛国賊
36 楼