QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

工作之余加班加点开发的项目被 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:005275
用户头像
罗燕珊 AI practitioner | Tech media

发布了 519 篇内容, 共 373.7 次阅读, 收获喜欢 839 次。

关注

评论 3 条评论

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

Build On 活动预告 | 构建你的第一个基于知识图谱的推荐模型

亚马逊云科技 (Amazon Web Services)

云计算

区块链+数字资产,未来财富的新起点

易观分析

区块链 数字经济

玩转LiteOS组件:玩转Librws

华为云开发者联盟

TCP websocket LiteOS LiteOS组件 Librws

预备,请关注!DingOS先导小视频发布!

鼎道智联

华为云GaussDB(for Influx)揭密:数据分级存储

华为云开发者联盟

华为云 GaussDB(for Influx) 时序数据 数据分级存储 Influx

spring-cloud-kubernetes与SpringCloud Gateway

程序员欣宸

Java spring-cloud 4月月更

制约国内企业知识管理发展的因素

小炮

知识管理 企业知识管理 企业知识管理工具

Git技巧小能手

西门阿杰

git 版本控制

【高并发】如何解决可见性和有序性问题?这次彻底懂了!

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

什么是域名(Domain Name ) ?

源字节1号

深入解析require源码,知其根,洞其源

战场小包

前端 Node 4月月更

组件容器化Statefulset与Deployment的选型与实践

移动云大数据

Deployment statefulset

Apache ShardingSphere 如何实现分布式事务

SphereEx

Apache 数据库 ShardingSphere SphereEx

Linux驱动框架与杂项字符设备框架介绍

DS小龙哥

4月月更

Mybatis-plus在项目中的应用

Rubble

4月日更 4月月更

为什么需要可编程代理

Flomesh

负载均衡 代理 Pipy 可编程代理

湖仓一体,Hologres加速云数据湖DLF技术原理解析

阿里云大数据AI技术

sql 大数据 分布式计算 Cloud Native MaxCompute

TASKCTL 资源树刷新、重载和重置的不同区别

敏捷调度TASKCTL

DevOps 分布式 敏捷开发 自动化运维 大数据运维

百度小程序包流式下载安装优化

百度Geek说

小程序

Cilium 原理解析:网络数据包在内核中的流转过程

火山引擎边缘云

Linux 云原生 网络

面试突击41:notify是随机唤醒吗?

王磊

Java java面试

GAIA-IR: GraphScope 上的并行化图查询引擎

6979阿强

大数据 并行计算 图计算 GraphScope 图分析

HDFS小文件分析实践

移动云大数据

hdfs 小文件

行业大咖齐聚 多元主题碰撞 OpenHarmony技术日等你来

Geek_283163

OpenAtom OpenHarmony

Envoy熔断限流实践(二)Rainbond基于RLS服务全局限流

北京好雨科技有限公司

报告解读下载 | 首份《中国数据库行业分析报告》重磅发布!

墨天轮

数据库 国产数据库 达梦 polarDB gbase8a

架构实战营-外包学生管理系统架构文档

CityAnimal

架构实战营 #架构实战营 「架构实战营」

Go 入门很简单:如何在 Go 中使用日志包

宇宙之一粟

日志 log Go 语言 4月月更

阿里云发布中国云原生数据湖应用洞察白皮书

阿里云大数据AI技术

大数据 数据湖

显卡是什么?显卡和Graphics的区别在哪里?

Finovy Cloud

人工智能 算法 云服务器 GPU服务器 显卡、gpu

OceanBase 参编金科联盟标准发布,推动数据库产业规范化发展

OceanBase 数据库

oceanbase

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