拿开源套壳就是自主研发?事情没那么简单

去年8月国内科技圈出了一件非常丢人的事情,想必大家已经都知道了,某个号称自主研发的IDE完全使用开源的VSCode改名而来。没错,就是改名!

哦,对了,还加上了vip功能!

为什么这家公司可以如此堂而皇之地将VSCode改成自主研发?在该公司最新的道歉声明中提到了缺失MIT协议:

MIT协议到底是什么,里面有哪些要求,微软可以告他侵权吗?

在文章的最后我要聊一下软件的开源的意义在哪里,到底怎样才能真的叫"自主研发"。

1、MIT协议是什么

以GitHub为例,打开源代码的根目录,一般会有一个名为license的文件,这个license就是这套代码的许可证信息。

可能这个license的文件内容很多,而且是英文的,不过不必担心,我给大家归纳总结一下就明白了。

直接看这张由阮一峰大佬总结的图,可以看到开源许可证主要限制的点就一目了然:

正因为VSCode采用的是最宽松的MIT协议,它的MIT协议几乎没有什么约束。

整个协议非常的简短,不到两百个单词。我们直接看看VSCode的MIT协议全文长啥样:

首先第一句,这个许可是免费的,任何人都可以拿到软件的副本以及附带的文档。

然后还能做啥呢?使用,复制,修改,合并,发布,分发,再许可/或出售该软件的副本。

也就是说你爱咋整都可以,拿来卖钱也可以,但只有一个要求,就是要把这个许可证放到软件的副本中!

所以大家看懂了上面这家公司的道歉声明了吗?他们道歉的点就是没有把MIT许可证放入其中,这也是MIT许可证唯一的要求。

后面据说他们也在GitHub上开源了CEC-IDE:

不过被骂得太惨,最后还是消失了。

既然是套壳VSCode,微软能告他侵权吗?

答案是不太行。因为MIT许可证本身就是一个不起诉的承诺。

2、做CEC-IDE意义何在

为什么他们要做这个CEC-IDE呢?真的指望它vip能赚钱吗?

作为同样是程序员的我,其实对CEC-IDE的做法并不陌生。

例如我们公司也搞了一个开发平台,为了不惹麻烦了,我就不说是啥了,我就简单叫做by吧。

它其实就把springboot gitlab等等一些东西糅合在一起,然后把包名,比如spring替换成by:

其实我觉得嘛,这玩意要是对内使用,作为公司统一开发的规范,除了包名被换了比较恶心外,问题不算大,反而这样还可以统一管理开发组建的版本。

而CEC-IDE最大的问题就是把这种本来应该内部使用的东西公开化,而且大肆炒作"自主研发"。

一般大企业内部都有研发立项资金,每年都有一定的申报额度,各个部门都会绞尽脑汁去做各种工作。

当然并不是做个ppt就完事了,上面人也不傻,现在一般大企业内部都很卷,为了拿到上面批下来的研发经费,无论如何都要造出点与众不同的地方。

毕竟kpi考核内部竞争也很激烈,所以大多数情况都会提前做一个"好看"的版本,配合一定的亮点宣传,"自主研发"显然是最契合的。

而MIT许可证规避了法律风险,确实是个"完美"的方案。

其实他们也是"聪明"的,只挑MIT许可证的,从他们的道歉声明可以看出,他们最初拿VSCode动手也是做了一定的功课的,错就错在太高调了!

3、软件开源的意义

为什么很多人和公司会选择把自己开发的软件开源?

开源不可避免会导致代码被其他人"拿来主义",那么开源软件的意义在哪里?是因为他们太有钱做慈善吗?

首先要说明白一点,开源不代表与商业化冲突,反而优秀的开源软件能带来更多的商业化机会。

我举一个例子,假如我发明了一个人脸识别算法,这个算法有一个特别优势:可以在性能非常非常差的硬件上运行。但前提有一个条件,就是需要对指定硬件做适配,于是我把优化好的一个版本放在GitHub上,获得了很多人的关注,甚至也有很多人帮我改进代码中的一些bug。

有一天,一家大公司看中了我的代码,这时候会有两种情况:

第一种就是把我的代码"拿走",用到自己的产品中,不给我一分钱!

第二种是把我"收编"了,或者给我一笔费用,让我为其提供有偿的技术支持,并能持续迭代适配这家公司的更多低端设备。

稍微有点远见的公司老板,肯定会选第二种。毕竟拿一段无人维护的陌生代码是有很大的风险的。有时候代价比自己做一套还要大。

对于企业来说,开源也不是做慈善,反而有战略作用。

例如代码开源,但你要获取的技术支持是付费的,这也是非常常见的盈利模式。

还有一个典型就是比如开放云服务形式,这也是AI领域常见的开源盈利模式。

在我看来,大家遵守游戏规则,尊重他人的劳动成果,软件开源肯定是有利于整个行业发展的。

4、怎么定义自主研发

自主研发严格定义应该是:企业主要依靠自己的资源,技术,人力,依据自己的意志,独立开发,并在研发项目的主要方面拥有完全独立的知识产权。

除此之外,自主研发还包含一层意思,自己做主,行使权利,而不受他人的控制或限制。

什么叫突破西方卡脖子?

去"突破"人家免费送的东西算哪门子自主!

我承认,做自主研发不可能完全从零开始,在别人的源代码基础上做衍生开发是再正常不过的事情。但起码要让人看到做这件事情的价值。

如此浮躁,急功近利,毫无底线,这件事无疑给国产化、信创行业更加蒙上一层阴影。

相关推荐
AAI机器之心2 小时前
LLM大模型:开源RAG框架汇总
人工智能·chatgpt·开源·大模型·llm·大语言模型·rag
杨荧3 小时前
【JAVA开源】基于Vue和SpringBoot的洗衣店订单管理系统
java·开发语言·vue.js·spring boot·spring cloud·开源
FIT2CLOUD飞致云8 小时前
测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布
开源·接口测试·metersphere·团队协作·持续测试·测试管理
杨荧10 小时前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
杨荧1 天前
【JAVA开源】基于Vue和SpringBoot的水果购物网站
java·开发语言·vue.js·spring boot·spring cloud·开源
x-cmd1 天前
[241005] 14 款最佳免费开源图像处理库 | PostgreSQL 17 正式发布
数据库·图像处理·sql·安全·postgresql·开源·json
customer081 天前
【开源免费】基于SpringBoot+Vue.JS洗衣店订单管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
杨荧1 天前
【JAVA开源】基于Vue和SpringBoot的周边产品销售网站
java·开发语言·vue.js·spring boot·spring cloud·开源
时光追逐者1 天前
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
前端·microsoft·开源·c#·.net·layui·.netcore
customer082 天前
【开源免费】基于SpringBoot+Vue.JS美容院管理系统(JAVA毕业设计)
android·java·vue.js·spring boot·spring cloud·开源