注册

我也惊呆了!关于数字广东对于 CEC-IDE 重大事件的道歉声明网友解读

喜大普奔


8 月 21 日,在某 gov.cn 官网上有一篇文章作出以下报告:



国内首款适配国产操作系统、自主可控的集成开发环境工具 CEC-IDE;国内首款数据安全极限生存保障产品——数据安全守护软硬件一体化产品;国内首款国密指纹认证鼠标……



image.png


《喜大普奔:全新自主研发的超强 CEC-IDE ,打破国外垄断》一文中有简要叙述。


网友挖掘


8 月 24 日,众多网友经过文件分析并在 vscode 官方仓库创建了编号为 #191279 和 #191229 的 issues,引来网友在该帖进行大量讨论。大量证据都在表明 CEC-IDE 涉嫌造假。


image.png


8 月 25 日,CEC-IDE 官网已无法访问。


image.png


import * as fs from "fs-extra";

const sourceExePath = "path/to/vscode.exe";
const iconFilePath = "path/to/new-icon.ico";

const sourceExeBuffer = fs.readFileSync(sourceExePath);
const iconFileBuffer = fs.readFileSync(iconFilePath);

const targetExeBuffer = replaceIconData(sourceExeBuffer, iconFileBuffer);

fs.writeFileSync("path/to/output.exe", targetExeBuffer);

function replaceIconData(sourceBuffer: Buffer, iconBuffer: Buffer): Buffer {
const targetBuffer = sourceBuffer.clone();
const iconDataOffset = 0x1234;
targetBuffer.fill(
iconBuffer,
iconDataOffset,
iconDataOffset + iconBuffer.length
);

return targetBuffer;
}

众所周知,对于软件开发,立项人是谁,目标是什么,开发人员是谁,测试人员是谁,验收人员是谁,这些都是很清楚的。


致歉声明


8 月 26 日,官方公众号发表致歉声明,这应该也侧面证实了此事。


CEC-IDE 道歉声明.png


声明解读



  • 8 月 24 日晚,我司获悉有网友发帖讨论我司 CEC-IDE 系统

在 8 月 21 日时各网络和电视媒体已进行 CEC-IDE 的宣传报告,表明在 21 日前按正常的开发流程来说,系统已经过测试、发布上线、验收。而我司获悉时是在 24 日,此前那么多时间都在做什么?流程都在做什么?众所周知,此类项目要走的时间和流程都是挺多的。



  • 公司管理层高度重视

从这个事件来看,至少在 26 日前是没有重视的。在 26 日后是不是真的重视?如何体现高度、体现重视,要采取什么样的措施,达到什么样的效果,只字未提。可能是保密调查?



  • 诚恳接受网友批评,并认真开展核查

image.png


诚恳接受网友批评这几个文字与未开启评论区形成鲜明对比。要知道发表当天 6 小时不到就有 6 万人阅读,但 0 评论。



  • CEC-IDE 系统由开发工具、后端系统和组件库组成...

作为一份致歉声明,有近 1/4 的内容是在讲述“列举工作”。



CEC-IDE 系统由开发工具、后端系统和组件库组成,其中开发工具使用开源 VSCode,进行了少量改造,增加了部分功能,后端系统开发了用户、权限、项目、需求等管理,以及任务协作和知识共享等功能,组件库中开发了公共能力组件。




  • 未用于商业用途

今年7月投入试运行,目前仍处在探索阶段,未用于商业用途。意思是不是在说:我们也才刚开始做就被发现了,所以问题不大。而且我们真的没有用于商业用途!但程序截图上的VIP登录和标志显得额外耀眼。


image.png



  • 因版本迭代更新中出现疏忽,近几个版本中缺失了 MIT 协议文件

出现疏忽导致近几个版本缺失 MIT 协议文件,疏忽一词避重就轻,表示我们只是不小心。但大家都知道从 近几个版本中缺失 来看,以前是有此文件(因为原仓库就有此文件)的,只是后面的版本中都被赤裸裸的删除了。


import * as fs from "fs-extra";
import * as yauzl from "yauzl";

const sourceExePath = "path/to/vscode.exe";
const targetExePath = "path/to/output.exe";
const mitLicenseText = "MIT License"; // 要删除的MIT协议文本

fs.copyFileSync(sourceExePath, targetExePath);

yauzl.open(targetExePath, { lazyEntries: true }, (error, zipfile) => {
if (error) throw error;

zipfile.readEntry();

zipfile.on("entry", (entry) => {
if (/\/$/.test(entry.fileName)) {
// 目录项,继续读取下一个entry
zipfile.readEntry();
} else {
// 文件项,处理文件内容
zipfile.openReadStream(entry, (error, readStream) => {
if (error) throw error;

let data = "";
readStream.on("data", (chunk) => {
data += chunk.toString("utf-8");
});

readStream.on("end", () => {
const updatedData = data.replace(mitLicenseText, "");
const writeStream = fs.createWriteStream(entry.fileName);
writeStream.write(updatedData, "utf-8");
writeStream.end();

zipfile.readEntry();
});
});
}
});

zipfile.on("end", () => {
console.log("MIT license removed successfully!");
});
});


  • 产品表述中“自主研发”等用语被网友质疑

被质疑,被 XX。等一系列的词,总让人有一种不能内省的感觉。而“自主研发”此类词语根本就不是单纯的自不自主那么简单。担忧从来不是自不自主开发,而是自信的磨灭、情怀的磨灭。



  • 数字广东公司向所有开源贡献者致以衷心


开源软件的使用极大提升了我司产品研发效率,开源项目为我司提供了巨大帮助,开源精神是程序员共同的同心圆,数字广东公司向所有开源贡献者致以衷心的感谢和崇高的敬意。



广大开源者可能不专门需要此敬意。但对 VSCODE 开发组应有,对默默真正投入自主研发的人应有此敬意。


相关链接


0 个评论

要回复文章请先登录注册