前些日子发生了一个事情,大致如下:
深圳一家公司UMIDIGI开发和销售Android设备,波兰的一个开发者Patrycja 希望 UMIDIGI 能公开该公司的 UMIDIGI F2 手机(基于 Android 10)的内核源码,他对里面 “ft8719_dsi_fhdplus” 显示/屏幕驱动感兴趣,并向 UMIDIGI 发送了请求邮件。之所以这样做是因为Android是GPLv2协议开源协议。
结果UMIDIGI要求波兰的Patrycia到深圳上门自取,这不是故意刁难人嘛。然后一个中国的科技网红Naomi Wu(我点开她的主页就立刻关闭了,太吓人了!)代波兰的Patrycia到这家公司,上门取代码,第一次吃了闭门羹;后面还是拿到了代码。
严格按照GPLv2协议,UMIDIGI公司可以完全拒绝Naomi Wu和Patrycja索要源代码的要求。
如果你仔细阅读过GPLv2开源协议,或者听过自由软件精神领袖也就是GPLv2的制定人Richard Stallman的报告,你就知道Patrycja和Naomi Wu以及UMIDIGI公司都没有深刻理解GPLv2协议。
GPLv2是一个非常“苛刻”的协议,该协议核心思想是将源代码交与软件用户。很多人只关注了前者“开放源代码”,而忽略了后者。后者的要求是软件的用户。如果你不是软件的用户,你没资格去要源代码。
根据报道,Naomi Wu和Patrycja手中应该没有UMIDIGI公司的手机,所以他俩都不是UMIDIGI软件的用户,所以UMIDIGI可以拒绝给他们源代码。
那么问题就来了,真正的UMIDIGI手机用户有无拿到源代码呢?我相信也没有,所以UMIDIGI还是违反了GPLv2。
UMIDIGI怎么做才能不违反GPLv2呢,下面几种方法选一种做就可以了:
-
将所有源代码放到其手机里面;
-
如果担心占用手机有限的存储空间,可以把源代码刻到光盘里,光盘作为附件随手机一起发布。
-
将源代码放到公司主页,或者其他网站,然后让其手机的用户去下载,并禁止非UMIDIGI手机用户下载。
UMIDIGI手机的某用户拿到源代码之后,说“我要把这个手机软件给全世界的任何一个感兴趣的人用,他们都将是软件用户,所以按照GPLv2我应该交付代码给他们”,然后反手把整个代码放到Github上了。
以上都完全符合GPLv2。
Naomi Wu和Patrycja怎么做,UMIDIGI就必须交付代码呢?很简单,展示自己拥有UMIDIGI手机的证据,这样他们就是UMIDIGI软件用户,UMIDIGI必须交付他们源代码。