“木蘭”竟是Python?換皮能有多少技術含量?

1

2020年1月15日,中科院計算所發布了一款“完全自主設計、開發和實現的編程語言”,還配套了徹底自主實現的編譯器和集成開發工具,是“真正掌握核心技術的編程語言”——木蘭編程語言。

不過當木蘭發布以后,大家發現,之前新聞稿中所說的“編程語言+編譯器+集成開發工具+跨平臺”軟件體系,縮水成了一個僅能在Windows平臺上運行交互shell的exe可執行文件。

這是什么概念?

差不多可以理解為,中科院向開發者們承諾了滿漢全席,最后在萬眾矚目之下,上了一盤炒雞蛋。

你以為現在該噴中科院計算所的這盤炒雞蛋“貨不對版”了?

呵呵,故事才剛剛開始。

2

我通過中科智芯(中科院計算所企業)網站(http://www.dongshouke.com/)下載的這個可執行文件,圖標長成這樣:

作為一個使用過PyQt+PyInstaller的Python工程師,我在看到這個圖標的一瞬間就被中科院計算所的“工匠精神”雷住了。

這個圖標,是用PyInstaller打包時候自帶的默認圖標啊!

也就是說,這個exe可執行文件,是用PyInstaller打包出來,而且工程師懶到連圖標都沒換。當然,可以順便確定,這個文件的生產流程,基本上就是先用Python寫、然后用PyInstaller打包成exe的。

說好的徹底自主研發的編程語言呢?說好的徹底自主實現的編譯器?咋回事,轉了一圈發現,怎么還在用早在1991年就問世的Python?

同行十二年,不知“木蘭”是Python?

(目前木蘭在中科智芯官網下載地址已經被404,但迅雷還有緩存,將下載地址http://www.dongshouke.com/download/ulang-0.2.2.exe復制到迅雷中,即可成功下載,有興趣的小伙伴可以自己嘗試一下)

3

事情逐漸變得有趣起來了。

我們既然已經知道“木蘭”是用PyInstaller打包的,當然也就有解包的方法——PyInstallerExtractor。

去SourceForge網站下載一個名為pyinstallerextractor.py的腳本,之后在命令行中執行pythonpyinstallerextractor.pyulang-0.2.2.exe(如果腳本與木蘭不在同一文件夾中,記得補全exe文件路徑),就可以將木蘭的源文件ulang-0.2.2.exe解包成為一個文件夾,便于我們一探究竟。

通過PyInstallerExtractor,其實已經可以看出,木蘭用的是Python3.7版本了,沒有加密,沒有換圖標……我們不著急,繼續向下扒。

解包后,可以很直觀的看到木蘭內部長這樣:

現在已經可以基本可以確定,這就是Python了。

我們再深入進去,看看目錄下面這個奇怪的PYZ-00.pyz_extracted文件夾里面是些什么東西。

這些后綴為.pyc的文件,是Python程序的字節碼文件。文件夾中的這些Python程序,都是Python的標準庫(就是Python語言自帶的一些實用功能)。把它們存放在這里,顯然是因為木蘭會在這里統一調用Python3.7的內部函數和接口。

這基本就是石錘了:

中科院計算所的“純自主研發”的木蘭編程語言,其實就是把Python3.7這門全球最流行的開源編程語言打了個包、包裝成一個exe可執行文件,還忘了換圖標……

如果你要問技術含量有多少,大概等于我買了個iPhone11然后包上了一張廢報紙就號稱這是徹底自主研發的古老濕100S智能手機、最后還毫無工匠精神的忘了畫上我自己的Logo。

換皮能有多少技術含量?況且還換成這個樣子?這是欺負碼農眼瞎嗎?

其他夸下的海口,例如跨平臺之類,瞬間就可以理解了:Python本身就是一門跨平臺語言,既然“木蘭”只是換皮版Python,那么當然具備Python的一切特性。

我還幫中科院想好了一句廣告詞——“徹底兼容Python生態環境”,一下子就有走出國門沖向世界的潛力了,豈不美哉?

4

扒到這里,“木蘭”的真身已經曝光在陽光下了。

但是,還有多少個虛假的“自主研發”項目仍然隱藏在黑暗中?

2002年,上海交通大學微電子學院院長陳進從美國買來10片MOTO-freesca56800芯片,找來幾個民工將芯片表面的MOTO等字樣全部用砂紙磨掉,然后加上漢芯的LOGO,騙取了高達上億元的科研基金,成為2000年后中國最著名的學術造假案件。

2004年,號稱“自主研發”和“自主知識產權”的國產服務器操作系統“麒麟”正式對外公布,隨后遭到質疑,相關報告顯示“麒麟”操作系統中至少有60%的代碼來自于FreeBSD5.3,并且二者在函數命名上的相似度高達99.45%。

2018年,號稱“世界第五顆也是唯一一顆屬于中國人自己的瀏覽器內核”的紅芯瀏覽器被曝光使用Blink內核,整個瀏覽器與Chrome瀏覽器嚴重雷同,就是一個“Chrome套殼瀏覽器”,與其宣稱的“自主研發”南轅北轍。

……

像這樣的IT鬧劇,在中國還有無數,打著“自主研發”的幌子,戴著“愛國無罪”的帽子,肥的是誰的肚皮?傷的又是誰的錢財?

軟件工程行業的游戲規則極其簡單:好的代碼,全世界都會用,但大家必須遵守原作者的要求(例如不同的軟件License對使用者有不同的限制),絕不能用了人家代碼還說這是你“自主研發”的“自主知識產權”。這就不叫“共享精神”了,這叫“偷”。

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

那些至今只敢嘴上厲害、卻一再延遲公開源代碼的“自主研發”產品,能不能把代碼放到聚光燈下,證明你們并不是另一出“愛國”的“換皮”鬧劇呢?

來源:創事記

IT時代網(關注微信公眾號ITtime2000,定時推送,互動有福利驚喜)所有原創文章版權所有,未經授權,轉載必究。
創客100創投基金成立于2015年,直通硅谷,專注于TMT領域早期項目投資。LP均來自政府、互聯網IT、傳媒知名企業和個人。創客100創投基金對IT、通信、互聯網、IP等有著自己獨特眼光和豐富的資源。決策快、投資快是創客100基金最顯著的特點。

相關文章
“木蘭”竟是Python?換皮能有多少技術含量?

精彩評論

?