我正在研究一个正在进行的项目,并看到一个机会来提取和抽象一些作为项目一部分的功能并将其作为开源发布.
我很难接受这个功能应保持专有的想法,并相信开源社区将从中获得重大好处.
没有咨询我的雇主,这会不道德吗?
另外,我的老板有点控制,并且经常喜欢谷歌的人,所以我怀疑他会尽快发现我的开源版本.
由于他严格反对将任何功能作为开源发布,并且会因为这样做而引发我的兴趣,是否还有其他途径可用于发布此代码?
其他人如何处理这种困境?
我正在考虑重写代码,以便除了我的雇主代码的功能之外无法区分 - 这会有所帮助,还是我在通往监狱的路上思考这种方式(这个代码需要被释放! - 这让我发疯了!)?
看来你已经回答了自己的问题,因为你知道你的老板会反对.但是,如果这还不足以让你重新考虑发布你所关心的雇主雇用的代码,那么请考虑Perl开发人员"Tilly"的实际例子 - Slashdot:谨防就业合同.
Tilly编写了Perl中使用的重要代码.Perl社区依赖于他的工作,当他的雇主威胁要起诉他释放他在合同期间开发的代码时,它震撼了Perl开发社区.最终,雇主决定不对已发布的代码追求其权利,但事情可能很快就会出错.
让自己,您的雇主和您的代码的潜在用户受益:不要发布您不拥有的内容.如果您想在使用时争取释放代码的权利,那么在获得依赖于您的代码的毫无戒心的用户群之前,请立即获胜.
您可能想阅读Tilly关于职业雇员和雇佣工作主题的想法.
即使您重写代码,我也看不出您在未经雇主同意的情况下将您的雇主代码作为开源发布的任何法律或道德依据.如果您这样做并且您的雇主发现,最好的情况是您被解雇了.最糟糕的情况是你被起诉.如果我是你的雇主,我会做后者.
顺便说一句,既然你说你的雇主经常谷歌搜索员工,在这里以你自己的名义发布这个问题可能不是一个好主意.
是否符合道德标准取决于您对正确与错误的看法.在这种情况下,您和您的老板可能会有不同的想法,因此我不确定这个问题是否有意义.
你真正想知道的是它是否合法.这取决于您当地的法律和您的雇佣合同条款.至少在比利时,除非合同条款明确另有规定,否则公司将对您为公司所做的所有工作拥有版权.我相信这通常也是其他地方的规则.例如,美国版权法将此作为" 出租作品 ":
(b)为雇用而制作的作品. - 如果是为雇用工作,雇主或为其准备工作的其他人被视为本标题的作者,除非当事人在其签署的书面文书中另有明确约定,否则拥有版权所包含的所有权利.
所以不,你不能只是接受这项工作并在其上拍一张免费软件许可证.
但是,版权仅涵盖实施,而不是创意.再次来自美国版权法:
在任何情况下,原创作品的版权保护都不会扩展到任何想法,程序,过程,系统,操作方法,概念,原则或发现,无论其描述,解释,说明或体现的形式如何.在这样的工作.
这是专利与版权之间的区别.因此,如果没有关于这些想法的专利,您可以自由地创建新的实现.
编辑:正如一些评论者所说,您的雇佣合同可能包括甚至可能适用于重新实施的非竞争或不披露条款.
编辑2:如果违反了不公开条款,则可以适用商业秘密法.正如你可以阅读该法律(或Tim Howland 的答案)那样,"盗窃商业秘密"的处罚可能非常严厉.
它是非法的和不道德的,如果你自己写它而不"重写"原始代码,你就违反了你的雇佣合同.
顺便说一句,开始寻找工作.我是你的老板.
您不仅要为支付您创建代码的雇主搞砸,而且还要将任何善意采用您的代码的人作为其项目的一部分.如果您将代码传递给您没有合法权利使用的其他人,那么当您的盗窃行为 - 以及盗窃行为被发现时,您将强迫他们撕掉您的代码并从头开始重新实施.
编辑:以下几位评论者似乎感到困惑,并认为这是版权法的一个问题,并且不会将借用雇主的源代码归类为盗窃,因为雇主仍然拥有其原始财产.然而,雇主已经失去了对他们的业务可能非常有价值的东西 - 他们对代码的独家访问,为他们提供了竞争优势.这与版权无关(尽管如果您根据自己的版权发布雇主的代码,如大多数开源许可证所要求的那样,您显然是在进行欺诈) - 问题在于这是盗窃商业机密.如果代码是雇主业务的组成部分,那么它可以被视为商业秘密.商业秘密不必在政府注册,所以如果你的雇主生气,你很可能会去法庭.如果您有一位优秀的律师,您将立即解决,以避免被起诉.
故意泄露商业秘密 - 也称为商业秘密盗窃 - 是一种联邦和州的犯罪行为,可处以最高10年的监禁和500,000美元的罚款.换句话说,你不仅仅是搞砸了你的雇主,搞砸了任何善意采用你的代码的项目,但是你也在为自己的重大法律危险做好准备.