前段时间,国内智能设备优米(UMIDIGI)公司发生了一件令人尴尬的事情,被一位科技博主 Naomi Wu (机械妖姬)直接上门索取源码,这个博主把相关视频放在网上,一时间引发科技圈热议。事件起源于波兰科技爱好者 Patrycja 在推特发文称,希望优米公司能公开旗下 UMIDIGI F2 手机(基于 Android 10)的内核源码,尤其是 “ft8719_dsi_fhdplus” 显示/屏幕驱动程序,并向优米公司发送了邮件请求。中国科技博主 Naomi Wu(机械妖姬)询问 Patrycja:“如果优米公司不提供相关源码,他们就会违反相关许可证的清单吗?”Patrycja 表示这些源码属于 Linux 内核分支,基于 Linux 的 GPLv2 协议,GPLv2是一个开源协议,根据这个协议规定,任何开发者对源码的任何修改都需要开源。Patrycja 也公开了优米公司回复邮件截图,表示很无奈:“这是他迄今为止最喜欢的企业互动!”。通过这份邮件截图显示:一名自称为 Ben 的优米内部员工表示,这些代码大部分是属于联发科的,他们也无权公开。Patrycja 可以在工作时间到他们深圳的办事处来索取源代码,但是 Ben 特别强调了他们的员工只会说中文,并附上了公司地址:深圳市南山区塘岭路1号金骐智谷大厦4楼405-407。最后,Naomi Wu(机械妖姬)表示她可以提供帮助,帮助 Patrycja 向优米公司索取内核源码。8 月 20 日,Naomi Wu 在推特上公开了一小段视频显示,Naomi Wu 既没有找到自称 Ben 的员工,也没有得到相应的源码文件。有网友表示,优米公司这种做法违背开源社区的开源精神,强调自己员工只会说中文和希望外国开发者亲自上门,促使开发者放弃索要源码这件事。也有网友认为,只有这样做,才可以让这些厂家遵守开源协议。最新消息
事情原本到此也就告一段落,没想到又来了 180 度反转。8 月 26 日机械妖姬发文称,UMIDIGI 内核源码已经到手了,她在个人 YouTube 频道上传了此次事件的完整视频,从这个视频中能够看到,优米公司的工作人员最终接待了机械妖姬,最终经过后续的沟通,机械妖姬拿到了源代码。目前源代码可从优米(Umidigi)官网(如图一所示)或 GitHub (如图二所示)上获得,有条件的开发者可以亲自审查一下代码是否有问题。我们这件事的主人公 Patrycja 最后也在推特上发文称:“感谢机械妖姬的帮助!这些资源对移植到 Umidigi F2 上真的很有帮助 ,目前正在处理 postmarketOS 端口(她没有另一部手机来拍照,所以只能截图显示)最后机械妖姬表示:这件开源事件,也向全世界展示了中国人是尊重开源协议,具有开源精神的。此次涉及的优米公司旗下 UMIDIGI F2 手机是2019年推出的一款安卓手机,F2运行的系统叫postmarketOS,采用了基于 Android 10 的内核源码,而 Android 系统的 Linux 内核又是基于 GPL v2 开源协议。GPLv2协议规定,一个软件如果使用了基于GPLv2协议的代码,就有义务基于同样的协议开源,也就是说,这个要求合情合理。
但是,如果严格按照GPLv2协议,优米公司也可以完全拒绝Naomi Wu和Patrycja索要源代码的要求。
以下引用CSDN博客博主@于仕琪(南科大)的回答:
如果你仔细阅读过GPLv2开源协议,或者听过自由软件精神领袖也就是GPLv2的制定人Richard Stallman的报告,你就知道Patrycja和Naomi Wu以及UMIDIGI公司都没有深刻理解GPLv2协议。
GPLv2是一个非常“苛刻”的协议,该协议核心思想是将源代码交与软件用户。很多人只关注了前者“开放源代码”,而忽略了后者。后者的要求是软件的用户。如果你不是软件的用户,你没资格去要源代码。
根据报道,Naomi Wu和Patrycja手中应该没有优米公司的手机,所以他俩都不是优米软件的用户,所以优米可以拒绝给他们源代码。
那么问题就来了,真正的优米手机用户有无拿到源代码呢?我相信也没有,所以优米还是违反了GPLv2。
UMIDIGI怎么做才能不违反GPLv2呢,下面几种方法选一种做就可以了:
UMIDIGI手机的某用户拿到源代码之后,说“我要把这个手机软件给全世界的任何一个感兴趣的人用,他们都将是软件用户,所以按照GPLv2我应该交付代码给他们”,然后反手把整个代码放到Github上了。
以上都完全符合GPLv2。
Naomi Wu和Patrycja怎么做,UMIDIGI就必须交付代码呢?很简单,展示自己拥有UMIDIGI手机的证据,这样他们就是UMIDIGI软件用户,UMIDIGI必须交付他们源代码。
- https://community.umidigi.com/forum.php?mod=viewthread&tid=20572&extra=&page=1
- https://github.com/Hadenix/kernel_umidigi_f2_mt6771_4.14
- https://blog.csdn.net/u010670887/article/details/120079021