你在使用哪种编程语言?快来投票,亲手选出你心目中的编程语言之王 了解详情
写点什么

工作之余加班加点开发的项目被 MD5“夺走”,两年诉讼终失败

2021 年 6 月 18 日

工作之余加班加点开发的项目被MD5“夺走”,两年诉讼终失败

在家里花业余时间开发的软件


今年年初,英国的一名开发人员在与数字取证公司 MD5 的软件所有权争夺战中败诉。该软件是他在这家公司任职期间编写的。


该名开发人员叫 Michael Penhallurick,他声称在为 MD5 工作期间,在家里利用业余时间从事“虚拟取证计算”(VFC)软件的开发,并且他保留了软件的版权所有权,只是将其授权给了该公司。


然而,MD5 则声称,编写这款软件是公司与 Penhallurick 雇用关系的基本组成部分,也是为什么他每月可以获得 5000 英镑的酬劳,因为这个原因和其他一些因素(比如他签的协议),MD5 拥有了这份代码。


该软件主要供警方使用,让调查人员可以从缴获的硬盘中提取文件,并在虚拟机上查看,因此可以避免更改硬盘上的任何证据。


位于英国伦敦的知识产权企业法院在判决中支持了MD5,Richard Hacon 法官指出,MD5 和 Penhallurick 签署的一份合同实际上赋予了 MD5 对其发布和出售的软件的所有权。


Penhallurick 是一名前南约克郡警察,他说他的雇佣合同涉及到他在取证方面的专业知识,他最初被雇佣就是基于这一点。按照他的说法,他受聘“协助完成警方提供给 MD5 的案件取证工作,主要职责是进行取证电脑调查、准备证人供词、出庭和提供证据。”他还指出,他是在家里,花了很多业余时间,在自家的电脑上开发了这个软件。


与此同时,MD5 则辩称,Penhallurick 的职责“比这更灵活、更广泛”,而法官指出:“MD5 进一步表明,如果 Penhallurick 先生是在入职前创建了任何 VFC 软件,那么它就不属于为 MD5 创建的 VFC 软件的一部分。”


合同即法律


法官判定,事实是,每个人都知道 Penhallurick 在开发 VFC 软件,他创建了多个改进和增强版本,MD5 把这些版本出售,并付给程序员销售提成。


Penhallurick 于 2005 年开始开发 VFC,这是基于 3 年前他在克兰菲尔德大学(Cranfield University)攻读硕士期间进行的研究,他在 2001 年就已了解了 VMware 及其虚拟化工具。


当见到 MD5 的经理时,他概要介绍了他用来提取文件并在虚拟环境中进行查看的手工方法,并与 MD5 达成一致,开发可以自动执行该任务的软件,他也这样做了。他在 2006 年底加入了这个公司,到第二年,MD5 就开始向客户销售 VFC。


但在软件最终归谁所有的问题上,双方存在明显的分歧。MD5 认为自己拥有所有权,他们给 Penhallurick 发工资,并将销售收入的一部分作为报酬;Penhallurick 觉得最终他还是这个软件的主人。这种分歧使得 Penhallurick 和 MD5 在 2008 年签订了一份合同。根据合同规定,MD5 向 Penhallurick 发放 VFC 年度销售额 7.5%的奖金。2011 年,双方又达成了进一步的协议,将奖金额提高至 10%——Penhallurick 认为,这支付的是许可费,而不是奖金。


关键是,尽管 Penhallurick 坚称他是把软件授权给 MD5,但在案件审理过程中,没有证据表明存在这样的授权协议。与此同时,在与该应用程序绑定的最终用户许可协议中,MD5 是许可方,Penhallurick 已经认可了这种说法。


法官指出,这些合同没有一份是由律师起草的,留下了一些模棱两可的内容,最终导致了诉讼。他觉得,从多年来签署的各种文件中,可以很明显地看出,是 MD5 雇佣程序员开发并更新这款软件,该公司从第一个官方版本开始就拥有版权。


2016 年 Penhallurick 辞职,2018 年 1 月,MD5 停止向他支付代码费用,他们的关系彻底破裂了。这场争论却变得更加激烈,MD5 指控 Penhallurick 在离开公司时留下的是删除了某些功能的第三版软件,而且据称 Penhallurick 告诉第三方,MD5 没有该软件的版权。


但这些争议在法院的裁决中基本上被忽略了。在 7 月份的一场听证会之后,法院于 2 月 15 日公布了裁决结果,裁定 MD5 拥有已发布和售出的软件,并已向 Penhallurick 支付了费用,仅此而已。


这给所有软件开发人员上了有益的一课:如果你在做一个“个人项目”,务必检查下你的雇佣合同和员工权利,以确保你的工作成果最终不属于你的老板。


开发者的业余项目算谁的?


相信大家对 Nginx 之父 Igor Sysoev 被捕一案或多或少还有印象,当时 Sysoev 的老东家 Rambler 声称:Nginx 是 Sysoev 在 Rambler 公司任职期间开发的,所有权也应该是公司的。


事件发生时,同样在网络上引发了热烈讨论——开发者利用业余时间编写的软件到底属于谁?不同人有不同的观点。目前没有明确的统一的法律来判定,只是,员工和雇主一旦出现分歧,“视合同而定”的确是最有效的判断方式。


值得一提的是,从一个业余项目发展成为大公司的案例不在少数。Dropbox 的创始人 Drew Houston 在做 Dropbox 的时候任职于一家初创公司 Bit9,并曾表示“一些工作是在 Bit9 的办公室完成的”。辞职时他咨询了律师并得到了签名信,以表明 Bit9 在 Dropbox 中没有任何股权、所有权。


陈士骏是 Facebook 前 15 号员工,在脸书上班的时候消失了一段时间,回来工作后立刻辞职。离开脸书后,他创办了 YouTube。


程序员的业余项目,有助于提高员工自身能力的全面发展,也能一定程度的避免职业倦怠。有的公司对此持鼓励态度,比如微软有 moonlight 计划,支持员工业余做自己的项目,只要符合一定的要求就行,比如不能使用公司资产,不能与公司现有产品竞争以及不能有利益冲突等。作为员工,只要你别太过分,雇主一般不会纠结于你业余做了什么。


但将业余项目做大的开发者,还是会面临一些风险。项目吸引力越大,风险越大。当大企业诉诸法庭时,靠拖都能拖垮一家小企业。因此,开发者应该好好关注任职期间跟公司签约的合同上是否有明确说明“企业拥有员工在所有时间、所有地点所作出的所有项目的拥有权”。


那么,业余项目究竟属于开发者个人,还是属于开发者所在的企业呢?你留意过你的企业有这样的明文规定吗?如果是你遇到类似的情况,你会怎么做?


参考链接:UK dev loses ownership claim on forensic software he said he wrote in spare time and licensed to employer

2021 年 6 月 18 日 18:004419
用户头像
罗燕珊 InfoQ中文站记者

发布了 116 篇内容, 共 41.1 次阅读, 收获喜欢 181 次。

关注

评论 3 条评论

发布
用户头像
业余时间开发的项目被公司夺走了,那这个业余时间算不算加班时间?我要求公司支付加班费不过分吧
2021 年 06 月 26 日 09:04
回复
这个说得在理
2021 年 06 月 29 日 13:42
回复
用户头像
签合同的时候要注意有没有这条:"企业拥有员工在所有时间、所有地点所作出的所有项目的拥有权”,如果有就得改了. 改不了就换公司吧,我们是去找工作的,有上班时间的雇佣关系,不是7x24小时的卖身关系。
2021 年 06 月 19 日 10:11
回复
没有更多了
发现更多内容

我为什么要开启InfoQ写作

Nick

物联网技术栈之网关技术

老任物联网杂谈

物联网网关

我肝了一个月,给你写出了这本Java开发手册。

cxuan

Java25周年

全面解读信创行业 关注国产操作系统

统小信uos

操作系统

什么是工作

史方远

随想 工作

选择适合自己的 OLAP 引擎

程序员小陶

大数据 开源 OLAP

Android10版本引发的生产故障及安全知识归纳

大刘

android https TLS 加解密

定在下午面试的那位候选人,说他不来了

无箭的丘比特

团队管理 面试 简历优化 招聘

程序员的晚餐 | 5 月 11 日 久违的大蒜的味道

清远

美食

故障的传播方式与隔离办法

Wales Kuo

ZigBee3.0 节点入网流程分析

taox

网络协议

手把手带你体验 HTTP/3

清远

程序员的晚餐 | 5 月 10 日 能让你流泪的不只是洋葱

清远

美食

初探Electron,从入门到实践

Geek_Willie

前端 Electron SpreadJS

由纪念日想到杨德昌

Elizen

随笔 电影

一文读懂阿里云通信的产品体系、技术架构与智能化应用场景实践

阿里云Edge Plus

人工智能 云通信 短信 语音 智能联络中心

如何快速更改qcow2镜像文件

奔跑的菜鸟

云计算

谈谈控制感(3):让孩子更好地成长

史方远

心理学 控制感 教育

怀念小时候吗?

安静的下雪天

个人感想

AtomicStampedReference是怎样解决CAS的ABA问题

捉虫大师

Java

Tomcat安全配置

wong

Tomccat security

产品不需要刻意强调创新

Lucien

产品 创新突破 PCon

这种场景你还写ifelse你跟孩子坐一桌去吧

小傅哥

小傅哥 drools ifelse 复杂代码优化 规则引擎使用

油管博主路透 3080Ti 参数、黄教主烤箱中拿出 DGX A100 预热发布会

神经星星

人工智能 互联网巨头 gpu 互联网 英伟达

回顾经典,Netflix的推荐系统架构

王喆

人工智能 学习 推荐系统 netflix

程序员的晚餐 | 5 月 14 日 虎皮青椒

清远

美食

全球经济动荡下,超流币逆袭而来!

极客编

线程通信知识点扫盲!

Simon郎

Java 后端 多线程

ThreadLocal到底会不会内存泄漏?实战直接告诉你答案!

刘超

Java 多线程 ThreadLocal

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (六)测试哪些内容:Right-BICEP

编程道与术

Java 编程 软件测试 TDD 单元测试

程序员的晚餐 | 5 月 13 日 果木鸡丁的夏天

清远

美食

围绕“三个问题”开展的网易云音乐数据基础建设

围绕“三个问题”开展的网易云音乐数据基础建设

工作之余加班加点开发的项目被MD5“夺走”,两年诉讼终失败-InfoQ