程序员在公司编写的开源代码属于公司还是程序员?程序员能用来接私活吗

588 阅读3分钟

一、假设你自己写的代码具有独创性,构成著作权法意义上的计算机软件作品:

1.如果完全利用业余时间且没有利用公司任何资源的,你对这份代码自完成之日享有完整著作权;

2.如果在工作时间,为完成公司分配的工作任务独立完成,且与公司其他代码能完全区分的,那这部分代码属于著作权法意义上的一般职务作品,你享有著作权,公司有权在业务范围内优先使用。在实践中,公司一般会在员工劳动合同等文件中约定,类似代码的知识产权是归公司所有的;

3.如果主要是利用公司的物质技术条件(如电脑、网络等),并由公司承担责任的项目开发,对于这部分属于著作权法意义上的特殊职务作品,你只享有署名权,其他著作权由公司所有。

二、进一步假设你属于上述第1种情况;且假设你开源并发布的代码独立存在,未与其他贡献者开源代码相融合;且这部分开源代码适用的开源许可协议是GPL:

1.你在公司项目中引入已开源的库,根据上述第一部分第2/3点分析,即使你对开源库

享有相应权利,但当你用到公司项目中时,公司实际上因为整个项目进而对这部分代码取得了相关权利,当然如果是独立的库([动态链接库

](www.zhihu.com/search?q=%E…

2.你在公司项目中引入已开源的库,假设适用的是GPL开源许可协议

,存在将公司整个项目源代码强制开源的风险:因为开源库如果与公司项目代码存在互相调用、密切通信等情况,可能会导致公司项目源代码+开源库=开源库的演绎(或衍生)作品,进而使整个演绎作品受到GPL的约束,也即我们通常所说的GPL开源协议的传染性。

三、如果之后从公司离职了,那么自己开源的代码还可以使用吗?有没有法律风险?

1.在符合上述一系列假设条件后,如果可以与公司代码切割开来,乐观点讲,属于可以分割的合作作品,根据著作权法,作者对各自创作的部分可以单独享有著作权,但行使著作权时不得侵犯合作作品整体的著作权。但实践远没那么简单,如果去下家用了,大概率会被老东家以著作权侵权

或者侵害技术秘密起诉的,而且还会拉上你的下家,做好心理准备。

2.所以有必要弄清楚自己开源那部分适用的是哪种开源许可协议,GPL应该是最严格的,其他的协议各有不同,如果适用的GPL,即使是你的,如果随便与他人代码结合使用,可能会给他人代码带来被强制开源的风险,估计这个是他人不想看到的结果。

所以,此事需要三思而后行,否则可能不仅会给自己带来麻烦,也会给他人带来风险。