HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 2021-06-18
  • 本文字数:2296 字

    阅读完需:约 8 分钟

工作之余加班加点开发的项目被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-06-18 18:005199
用户头像
罗燕珊 InfoQ中文站编辑

发布了 479 篇内容, 共 314.8 次阅读, 收获喜欢 792 次。

关注

评论 3 条评论

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

ubuntu 18及以上版本配置IP的方法,你get了吗

伍工

Linux 网络

二、应用高可用设计要点

穿过生命散发芬芳

5月月更 高可用设计

读《Software Engineering at Google》(22)

术子米德

架构师成长笔记

MyBatis 的动态 SQL超详细讲解

顾言

mybatis 动态SQL

如何在 WordPress 中创建登录页面

海拥(haiyong.site)

WordPress 5月月更

TypeScript 概述

Emperor_LawD

typescript 5月月更

在线Excel转YAML工具

入门小站

工具

读《Software Engineering at Google》(21)

术子米德

架构师成长笔记

读《Software Engineering at Google》(18)

术子米德

架构师成长笔记

[Day33-03]-[二叉树] 二叉树展开为链表

方勇(gopher)

LeetCode 二叉树 数据结构和算法

读《Software Engineering at Google》(19)

术子米德

架构师成长笔记

Go链表与切片比较

jinjin

List 链表 slice Go 语言 切片

读《Software Engineering at Google》(24)

术子米德

架构师成长笔记

SAP 电商云的 Spartacus Storefront 部署到 CCV2 的前提条件

汪子熙

typescript 电商 SAP commerce 5月月更

【愚公系列】2022年05月 二十三种设计模式(二)-抽象工厂模式(Abstract Factory Pattern)

愚公搬代码

5月月更

maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)

程序员欣宸

Java Docker 5月月更

电阻电路的等效变换 (Ⅱ)

謓泽

5月月更

《Linux是怎么样工作的》读书笔记

懒时小窝

Linux Linux Kenel

读《Software Engineering at Google》(16)

术子米德

架构师成长笔记

读《Software Engineering at Google》(20)

术子米德

架构师成长笔记

C语言总结_字符串全方位练习

DS小龙哥

5月月更

LeetCode 242:有效的字母异位词

武师叔

5月月更

Nacos 源码简析之 Nacos Client 自动注册原理

道嗔

源码 nacos

Centos7升级Python2到Python3

入门小站

Linux

Apache Calcite整体架构及处理流程

不穿格子衬衫的程序员

大数据 Apache Calcite database SQL解析

SecurityContextHolder之策略模式源码分析

急需上岸的小谢

5月月更

Netty篇之内存管理器

邱学喆

内存管理器 netty内存管理 jemalloc管理器

[Day33-02]-[二叉树] 恢复二叉搜索树

方勇(gopher)

LeetCode 二叉树 数据结构和算法

某年某周每一天的时间是多少

入门小站

工具

读《Software Engineering at Google》(17)

术子米德

架构师成长笔记

读《Software Engineering at Google》(23)

术子米德

架构师成长笔记

工作之余加班加点开发的项目被MD5“夺走”,两年诉讼终失败_安全_平川_InfoQ精选文章