在工作中使用个人代码是否合乎道德?


29

我正在工作的一个辅助项目中,我发现使用我自己(在工作之外)开发的一些代码来加快我的开发是有益的。我的副项目正在开发一个C ++ GUI应用程序,以使我们的高级用户可以对几个不同平台(DB2,Oracle,SQL ServerMySQL)上的数据库运行查询(由我构建)。过去,我通常只是应要求自行运行这些文件,或为它们构建Excel VBA应用程序。现在,我已经为几个不同的人构建了多个VBA应用程序,我发现有必要构建一个仅读取自定义.sql文件并针对各种数据库执行的中央应用程序。

我正在构建的应用程序是C ++,并使用LGPL跨平台GUI工具包。但是,多年来,我有很多代码是在我自己的库中基于休闲,非工作相关项目构建的。可以在工作中使用此代码,这样可以节省我(和公司)时间吗?如果是这样,我可以将所有错误修复和增强功能移植回我的个人库吗?似乎有一条我不知道何时要越过的线。

我只想补充一点,没有任何个人代码与任何业务逻辑有关。它们只是基本的实用程序类/包装器。



Answers:


38

可以在工作中使用此代码,这样可以节省我(和公司)时间吗?

是的,这是道德的。如果您描述自己拥有该代码,则可以将其自由地提供给您的公司。他们雇用您来编写代码,以便他们信任您的代码。

如果是这样,我可以将所有错误修复和增强功能移植回我的个人库吗?

除非获得许可(请检查您的合同),否则您的合同可能禁止这样做。

最好的解决方案是与您的经理交谈。我看不到任何管理员拒绝您的请求。当您指出个人编码如何帮助公司时,也可以使您看起来不错。


如果您是从内存中进行错误修复的,而不是通过实际复制工作中完成的代码(可能会被跟踪)来完成,则很难证明该想法的来源;您很有可能在闲暇时间进行了错误修复并将其重新导入到您的工作代码中
Izkata 2011年

@Izkata:问题是关于道德,而不是可证明性。无论是否可以证明是否发生了反向移植,询问者仍将继续进行反向移植。正如汤姆·斯奎尔斯(Tom Squires)所说(如果正确),如果合同禁止这样做,那么不,这将不符合道德
罗斯·帕特森

@RossPatterson第二部分是关于移植的,与道德无关,汤姆似乎对它的解释与我相同-法律问题比道德问题更多。此外,如果错误修复是通过内存完成的,则除非是荒谬的简单修复,否则代码不太可能完全相同-不管哪种情况,都没有道德规范,只是融合设计。
Izkata 2011年

真正的问题不在于道德或信任,而是在您甚至尝试在工作中使用代码之前,是否已将代码置于适当的许可下。考虑版权,并从两方面考虑。
JensG 2013年

22

一些公司也声称您数小时之内所做的工作。这取决于公司,其中一些公司在IP控制方面非常重要。

一切都应该在您的合同中。令人担心的是,他们是否要求您从事业余时间工作,这一直是我的恐怖。


2
这绝对是值得研究的,根据合同,它已经是他们的代码,并且将其添加到他们的代码库中,几乎可以肯定地使其成为了他们的代码。
Ryathal 2011年

声称您已经完成工作了吗?可能吗?我认为这必须取决于您在哪个国家/地区工作,因为据我所知,即使在您的合同中写明,这在法国也是非法的。
克莱门特·赫雷曼

1
许多公司尝试这样做是不可能的,因为几乎所有合同都规定您不能起诉您的雇主。
Woot4Moo 2011年

1
+1 @Raythal-除非OP 他的工作许可给他的雇主,否则将其包括在他们的项目中可能会使其成为工作产品。如果他的公司发现并生气,他可能已经无法挽回地污染了他的个人图书馆。
DaveE 2011年

2
IANAL,但是许多IP协议在以下四种情况下主张IP:如果工作是在公司时间完成的,是否使用了公司的资源(硬件,软件等),是否是为雇主执行的工作(可能是通过使用受保护的公司)信息-专有算法等),或者与公司当前的任何业务或实际或预期的研究或开发有关。最后一个是最模糊的,因为任何事情都可以“预期”。我想知道是否有人在与雇主直接竞争以外的情况下被起诉了。
悬崖

6

您的公司可能拥有专门的IP部门或专家。与他们核对。您的经理应该能够与您保持联系。

当然这是道德的;我无法想象您的公司会为拥有更多的工作和智力资源感到遗憾。您想保护自己免受对自己代码的控制。您可能首先考虑做的一些事情是创建一个包含您的代码的开源项目,并为其分配与您公司的IP策略兼容的许可证。

另外,请考虑获得正式许可以发布您为其贡献的任何代码。只要开放代码与公司代码之间有明确的区别,某些(许多?)公司就可以按照开源许可证发布代码。即使您的合同说“我们拥有您所做的与工作远程相关的所有事情”,这也可能是正确的。以我的经验,他们最担心会削弱自己在核心业务中的竞争优势。这是将代码打包在适当许可的库中而不是直接导入的另一个原因。

希望这可以帮助。


2

这完全是道德的。我经常研究新技术和在家中做事的不同方式,并且不止一次地开发自己在家中使用的东西。将修补程序或增强功能带回家(或将其从家里带到工作场所)也不会有任何问题。

如果您打算独立发布作品,我只会担心。如果是这种情况,那么我根本不会将其引入,甚至不会尝试重用该设计。正如其他人所说,请检查您的雇佣合同并与您的经理讨论。如果您没有这些“您为我们24/7全天候工作”类型的合同之一,那么您可以考虑根据某些许可发布代码,并且仅在工作中使用已发布的代码。那么,与使用开源或自由软件项目并没有什么不同,我认为您已经可以做到。


1

与往常一样,这取决于。在这种情况下,a)您在代码上的许可证说明了什么,b)合同上的说明了什么。您可能想与该公司达成一项业务协议,其中涵盖了您到达那里之前编写的代码。

只要您事先考虑一下,此操作就没有一般的道德问题。


根据合同上的约定,您放置在代码上的许可证可能相关或不相关,如果您的雇主要求所有权,则您放置代码的任何许可证都将无效,因为您无权对该代码进行许可。
Ryathal 2011年

1

我完全同意以前的海报,在我看来,道德不是真正的问题,除非您签订合同禁止您使用非内部开发的脚本/软件,否则您可能会遇到道德问题。

您的问题实际上是财产权。

这是您需要考虑的几个问题。

您的合同对知识产权有何规定?

您的公司是否保留您创建的产品的权利?

您的公司在开发代码时使用什么许可证?

它与您自己的许可证兼容吗?

这些是在开发任何代码之前需要回答的问题,允许已经开发的代码进入公司的存储库或收回开发...


4
您应该编辑您的答案,以包括写下您同意的答案的人的名字,帖子的发布时间不长。
Ryathal 2011年

0

从公司窃取是不道德的,而且,如果您同意工作中的所有工作都属于他们,那么秘密地将代码移回代码库是不道德的。

寻求经理的许可可能还不够-他可能无法与您协商。因此,视情况而定,提出要求可能并不能免除您的承诺,反而可能为您赢得帮凶。

进行此类操作的正确方法是,要明确将自己拥有的外部项目带入公司,然后签署(或口头同意)单独的合同或安排,专门用于外部项目。提前执行此操作。


请注意,法律和道德方面是不同的,并不完全相同。即使符合道德规范,有时也可能未经合同而将代码投入工作是不合法的(而在其他情况下,将代码保存在家里是不合法的-如果存在以下情况,您有义务携带并使用代码)您将尽其所能,认为这将对公司有利)。

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.