重新创建/开源您先前为另一家公司编码的程序是否合法


49

在我之前的工作中,我创建了一个通用的仪表板来自动化任务,事实证明它非常有用-当然,我以前的老板拥有我在那工作时编写的所有代码。现在,我不再在那里了,从内存中重新创建仪表板并将代码开源对我来说合法吗?如果我确实重新创建它,则代码(也许2k-3k行)可能与原始代码几乎相同,因为我的记忆力非常好,并且倾向于遵循我通常的编码风格和命名约定。

编辑:更多背景知识-这是一个相当通用的软件,仅由一家全球性公司中的一个小型团队(<10)在内部使用。“公司”甚至都不知道这个系统,因为它是我主动创建的。它基于python / django构建。几乎相同的意思是,例如django模型将具有相同的名称/字段,视图将使用类似的查询来返回相同的对象集。


15
您是否曾就开放式源代码与他们接洽?如果这不是他们的核心赚钱业务的一部分,他们可能会乐于这样做,并且还可以享受免费提供新功能的额外好处,前提是您或其他人可以扩展它。
dodgy_coder 2011年

3
在几乎所有合同中,无论您为雇主做什么,无论是否写下,都是他的知识产权。因此,将其再次吐出并提供给某个不知道该合同是违反合同的人。
stijn 2011年

1
从理论上讲是合法的,但在法庭上证明是幸运的。:(
SF。

6
这里一个有趣的区别是“法律”和“道德”之间的区别。在大多数情况下,如果您不得不问这个问题,那是因为您已经知道答案了,只是不想接受。
乔尔·埃瑟顿

1
如果这是一个通用函数,那么在任何地方重用它甚至将其发布在网上似乎都很好。那么为什么一组功能会有如此大的不同呢?
kefeizhou's

Answers:


35

这是一个很好的问题,但可能是错误的地方,因为您不会从程序员那里得到良好的法律建议。IANAL,寻求适当的法律建议。

感觉不合法。如果您发布的程序与旧公司所拥有的程序几乎相同,则很有可能会遭到起诉。那就是说,我敢肯定它会发生很多。

您可以做的一件事就是用另一种语言重新创建程序。这样一来,很明显,您并没有离开源代码公司而是将其开源。用另一种语言解决您熟悉的问题也是很有教育意义的。

我还建议您考虑改进程序,使其更可扩展等的方法。第二次您做某事几乎总是比第一次更好,因为您可以避免所有“我希望我做到了”方式”,这可能是您第一次做出的设计决策。

即使您从不释放它,也是一个很好的练习。如果最终您获得法律建议并选择发布该建议,则将得到更好的保护。


5
如果您想保留相同的语言,请考虑编写“几乎”相同的代码,但更改UI。就像mcottle所说的那样,您可以对其进行改进,如果一个网页看起来完全不同,即使它的代码与以前的代码几乎“几乎”完全相同,您也将远离诉讼问题。
奥利维尔·庞斯

1
包括UI在内的代码部分将有所不同,但由于各种原因(个人编码风格等),最终可能会变得相同。我需要走多远才能达到100%的清除率?
kefeizhou 2011年

1
-1表示“不合法”。这些建议是好的,但问题是实际的,不合法的。
肖恩·麦克米兰

2
为什么所有人都认为当您从零重写某些内容时,您会做得更好?您实际上可以使事情变得更糟。
克莱门特·

2
@ClementHerreman:同意。有时最好采用经过实践检验的东西。如果确实从头开始重写,则可能会进行很多改进,但也会引入新的错误。
kefeizhou 2011年

21

合法与否,如果您的雇主发现并决定提出该问题,您将遭受重创。即使最终被判定为正确,潜在的诉讼也可能最终对您造成破坏。您还冒着因使用受版权保护的代码污染OSS社区而引起OSS社区愤怒的风险,以及因被雇主视为不诚实行为而声誉受损的风险。

您还可能冒险接受采用您产品的任何人。最坏的情况是,使用您的产品的任何人都将不得不从您以前的雇主那里获得许可,或者将其从解决方案中删除,这会浪费时间和金钱-最终他们可能会起诉您。

似乎做正确的事会更容易-与您以前的雇主交谈,征得他们的同意,以便以开源分发的方式重复使用为他们开发的产品。他们可能只是说“继续前进”。除了法律问题外,在背后做这件事通常是一个坏主意。


几乎所有关心拥有最终产品的雇主都不会允许创建该产品的员工在其同意的情况下以任何其他方式分发该产品。否则拥有它的目的是什么?
Joe Z.

14

哪种类型的程序员有机会重建他们以前做过的事情(所获得的经验等),将产生“几乎相同”的东西。除非您相信自己编写了完美的代码???此时,您还有更大的问题要问自己。


10
懒惰的人,没有很多时间。我宁愿只使用可行的方法,也不愿在这种特殊情况下尝试两次解决相同的问题。
kefeizhou

8

仪表板一角钱。您的雇主从未拥有过该想法的知识产权。您的雇主确实拥有特定实施的版权。

您可以从头开始编写新代码。这意味着该作品不是衍生作品。记笔记很聪明,因此您可以证明这一点。


最近更新:theregister.co.uk/2011/09/30/software_copyright。期望ECJ明确声明UI本身不受版权保护,因为它属于软件程序的“思想和原则”。
MSalters 2011年

5

从技术上讲,您正在创建派生作品-熟悉现有解决方案,并从内存中重新创建它。通常使用IANAL,但是如果您的前雇主因侵犯版权而起诉您,我想他们有很强的论据,并且您有责任就为什么不应该重新创建程序提出合理的解释被视为衍生作品。

除了法律上的技术性,与前雇主提起诉讼永远都不是您想要的事-即使您获胜,您也将成为“那个家伙”,我怀疑这是明智的职业举动。


3
我不认为这是派生作品的定义方式-我认为您实际上必须包括其中的一部分。
肖恩·麦克米兰

取决于管辖权和解释,但是“派生”并不一定意味着“包括……的一部分”。
tdammers 2011年

1
@tdammers:是的,但这使得在这里提问毫无用处。我们不是一般的律师,而那些不太可能是OP的律师。我们无法回答特定的法律问题(请注意,构成“衍生作品”的内容是F / OSS界的热门讨论主题)。
David Thornley

好吧,我的意思是,即使您从内存中重新创建了内容,当法官/陪审团知道您也撰写了与您声称的新内容完全相同的原始内容时,您将很难证明它不是派生的不是衍生作品。“直到证明有罪才清白”不适用于私法。
tdammers 2011年

4

在美国,如果您的前雇主决定起诉您,那么无论法官的想法如何,您都会遇到麻烦。

从理论上讲,您的公司拥有您的工作,而不是您的大脑。因此,如果您在自己的时间再次进行工作,则他们不应对此拥有任何所有权。毕竟,由于您在雇用您之前所了解的知识,他们雇用了您。假设他们可以利用您的先验知识,但同时又否认您在离开后也这样做,这似乎是不合逻辑的。但是,IANAL也是如此。

当然,除非它们使您签署了一些疯狂的东西。除非他们申请了专利。如果他们这样做,那么他们确实拥有您大脑的那一部分。在那种情况下,构成您大脑内知识的神经细胞模式不再属于您了,您应该避免再次使用它们。谈论出售自己的灵魂。


3

我将偏离主要主题,说所有这些我真的很难过。

现在的问题是:

如果您是一个制造家具的木匠,而前一家公司为您提供了蓝图和设计,那么您会被另一家公司雇用,显然,如果您开始制造完全相同的产品,就会遇到麻烦。

如果您的前公司仅购买了您的作品的产品,并且您设计和“发明”了它们的产品(并且您可以证明),那么法律应该就在您身边。

故事的寓意:下一次从头开始开源。


当时我已经考虑过了,但是试图从一家金融公司获取一小段代码就需要太多的官僚主义。
kefeizhou's

3

(a)不要从互联网上获得法律建议(包括此建议!)

(b)即使您获胜,被起诉也是背后的真正痛苦

(c)听起来您认为没有被起诉的真正风险。如果是这样,那么您是否拥有这样做的私法权利可能并不重要。

不管它是否合法,这都取决于您要重新创建该项目的数量与您面临被起诉的风险的数量。如果您有钱,那么我建议您首先与律师谈谈您是否有权这样做,以及如果这样做可以避免诉讼费用。


0

从内存中重新创建解决方案与创建具有相同规范的原始解决方案之间可能存在法律上的区别(但是请使用IANAL,请问一个)。为了证明后者,您可能希望在博客上发布您计划开发的工具的原始且完整的规范。然后,可能有一些从未见过您早期工作的其他开发人员对其进行编码。


0

这是一种简单的方法:-从公开可用的URL中打开仪表板。-考虑使它更容易/更好/等等的最佳方法。-如先前建议,用其他语言重写。学习红宝石,haskell,lisp等的充分理由。-然后将项目开源。随时添加“灵感来自...”并链接到原始网站。


0

甚至不需要花费很多时间就可以征求他们的许可。您需要书面法律签名。掩饰自己。

但是,如果您要让他们让您重新创建已经为他们创建的东西。卖给他们。卖给他们想法。您将开源他们已经使用过的一些软件,并将其开放给潜在的重要评论和编程社区的补充。他们将不必在内部花费资源来管理和改进软件。除非他们想获得更大的利益。我的意思是说真的卖给他们。

如果他们不是向客户销售的核心业务技术,您可能会很容易获得批准。如果他们确实将产品卖给客户,那么他们就会向与同一产品竞争的竞争对手开放。只有您真正知道您以前的雇主查看该代码的重要性。如果不是在那里增加收入,只是提高生产率,您很可能会获得批准。

这是获得所需东西的最便宜,最短的途径。如果他们回答“是”,那就没问题。只花了一些时间。如果他们拒绝,您仍然想继续,请向律师询问他的意见。我希望他们拥有的唯一东西就是实现。如果您进行了足够多的更改来重新创建它,使其外观和工作方式不尽相同,那么您的情况就会好得多。

这是当前系统功能失调的状态,在这里我们不拥有自己的劳动成果。在一些最成功的社会中,人们可以自由地从自己的努力中获利。您可以将这种情况与封建土地所有权及其造成的问题进行比较。在某些时候,人们做生意的方式会有所不同。像Google一样,您有1/5的时间用于自己的项目。


0

当然,这一切都取决于您与客户之间的合同。如果您打算这样做,则应该有一个条款规定“该原始货源仍是科飞舟的知识产权...”或其他内容(我知道事后看来是20/20)。我同意其他评论,即Programmers SE并不是Legakl建议的最佳来源,无论是否合法,这都会使您陷入问题。顺便说一句,我曾经担任平面设计师,在那个行业中,几乎所有工作都是客户而非设计师的IP。


因此,如果您为一个客户绘制汽车的图片,就不能再为另一个客户绘制汽车的图片?
Nate

不可以,您不能为一个客户绘制汽车图片,然后将相同的汽车图纸提交给第二个客户。但是,您也不能向第二个客户提交任何可以合法证明与第一个客户的汽车相同或过于相似的东西。
Paul T Davies

-1

在法国,这是非法的。

代码的所有者是您的前老板。不管您如何从USB拇指驱动器或内存中检索它。

如果要使用该仪表板,则必须与所有者达成协议。


当然,每个公司对此都有自己的政策,而不是全国性法律吗?我认为这将是公司员工合同中的内容,如果有的话。
dodgy_coder

缺省情况是,您获得报酬以换取编写其代码。尽管可能存在,但我不知道其他政策。如果您是自由职业者并出售应用程序或库,则情况有所不同,在这种情况下,您是老板,并且拥有自己的代码。
mouviciel 2011年

好东西,我不在法国。
kefeizhou 2011年

1
我可以给法国-1吗?“从内存”检索与从磁盘检索完全不同。
肖恩·麦克米伦

2
这是否意味着在法国,如果您实现算法或编写某种程序,就永远无法为另一位雇主实现该算法或编写此类程序?
David Thornley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.