阅读量5
案例引入:2024年底,杭州一家AI基础设施创业公司遇到了一个令创始人彻夜难眠的问题。公司前首席架构师王某离职后加入了竞品公司,三个月后,创始人在刷GitHub时震惊地发现:王某正以个人名义向竞品公司的开源项目频繁提交代码,其中包含大量与他在原公司负责的数据库优化方向高度重合的技术方案。更令人不安的是,王某提交的某个PR(Pull Request)中的一段核心算法代码,与公司闭源产品的代码逻辑几乎一致。
创始人的第一反应是”他违反了竞业限制协议”,但当他们的法务团队仔细审查与王某签署的竞业限制条款后,却发现一个致命漏洞:条款只约定了”不得入职竞品公司”,完全没有涵盖通过开源社区间接贡献代码、或者以个人开发者身份参与竞品技术社区的行为。
这不是个例。当传统的竞业限制条款撞上软件行业的开源文化和远程协作特征,大多数公司的竞业协议形同虚设。
一、传统竞业限制在软件行业的”失效”
1.1 法律框架概览
法条解读:根据《劳动合同法》第二十三条,用人单位与劳动者可以在劳动合同中约定保守用人单位的商业秘密和与知识产权相关的保密事项。对负有保密义务的劳动者,用人单位可以在劳动合同或者保密协议中与劳动者约定竞业限制条款。根据第二十四条,竞业限制的人员限于高级管理人员、高级技术人员和其他负有保密义务的人员,限制范围包括”到与本单位生产或者经营同类产品、从事同类业务的有竞争关系的其他用人单位”。
问题在于:第二十四条的立法语言诞生于工业时代。“用人单位”指的是有组织机构代码、有营业执照、有办公场所的实体企业。它不涵盖一个程序员以个人GitHub账号向开源项目提交代码的行为——哪怕这个开源项目由竞品公司主导维护,哪怕这些代码贡献直接增强了竞品公司的产品竞争力。
1.2 三个典型的”灰色地带”
- 开源贡献:程序员离职后以个人名义向竞品公司的开源项目提交代码。竞品公司获得了实质性的技术贡献,但双方之间不存在劳动关系——竞品公司没有给离职员工发工资,没有签劳动合同,甚至可能在GitHub上标记为”外部贡献者(External Contributor)”。
- 自主创业:离职程序员自己注册公司开发竞品,这在传统竞业条款中通常已被覆盖。但如果他以”技术顾问”或”独立开发者”名义参与竞品项目,而法律形式上没有建立劳动关系,传统条款就难以约束。
- 间接竞争:离职程序员就职于一家看似与公司无竞争的企业,但实际上负责的项目或模块与公司主营业务构成竞争。在大型科技集团的多元化业务中,这种”业务线竞争”非常隐蔽。
二、竞业范围的”三层扩展”设计
面对技术人才流动的现代化特征,软件公司的竞业限制条款需要进行”三层扩展”,才能形成有效的保护网。
2.1 第一层扩展:竞品公司的广泛定义
传统条款通常列出竞品公司名称清单或”从事XX业务的任何企业”。但这在新公司不断涌现的软件行业远远不够。建议采用”功能定义+清单列举+动态更新”的三合一模式:
- 功能定义:“与公司现有产品、已公开披露的在研产品及募资计划书/Business Plan中列明拟开发产品存在直接或间接竞争关系的任何实体,包括但不限于其关联方、子公司、以及由公司竞争对手投资或控制的任何企业。”
- 清单列举:在协议附件中列出签署时的已知竞品清单,并约定公司有权每季度以书面通知方式更新该清单。
- 穿透条款:明确竞品范围延伸至竞品公司的外包服务商、技术顾问和开源项目社区(如该社区主要服务于竞品产品)。
2.2 第二层扩展:自主创业的特殊规制
对于自主创业行为,竞业限制条款应当明确:
- “员工通过自己或近亲属、代持人设立、投资、或以其他任何方式直接或间接控制竞业实体的,视为违反竞业限制义务。”
- “以顾问、导师、独立承包商、技术合伙人等任何名义为竞业实体提供服务或技术支持的行为,无论是否建立劳动关系,均属于被禁止的竞业行为。”
- 特别关注”兼职创业”的过渡期——程序员在离职前可能已经开始利用业余时间开发竞品,此时竞业义务尚未开始,但保密义务和忠实义务已经受到约束。
2.3 第三层扩展:开源贡献的明确定义
这是软件行业竞业限制最为前沿的领域。实务中建议条款设计如下:
“竞业限制期间,员工不得以任何身份(包括但不限于个人开发者、开源贡献者、技术顾问)向下列开源项目提交代码、文档、issue或PR:(1)由竞业实体主导开发或维护的开源项目;(2)与公司核心产品或技术栈存在替代性竞争关系的开源项目;(3)在前述项目中其提交的内容与员工在公司工作期间接触或开发的代码、算法、架构存在实质相似性的。”
法条链接:上述扩展条款的合法性建立在《反不正当竞争法》第十条关于商业秘密保护的基础之上。如果程序员在竞品开源项目中贡献的代码实质性地利用了在原公司获取的技术秘密(即使经过改写),不仅构成竞业违约,还可能构成侵犯商业秘密的侵权行为,需要承担停止侵害和赔偿损失的民事责任,情节严重时可能面临刑事责任。
三、GitHub贡献追踪——技术手段与法律证据的结合
发现违约只是第一步,证明违约才是法律维权的关键。GitHub作为全球最大的代码托管平台,其公开数据为竞业限制的举证提供了独特路径。
3.1 GitHub公开信息的证据价值
GitHub上的以下信息具有重要的证据价值:
- Contributions(贡献记录):每个GitHub用户页面的贡献热力图和具体commit记录,可以清晰显示其向哪些项目提交了代码、频率如何、涉及哪些模块。
- Pull Request:PR中包含完整的代码变更(diff),可以直接对比离职员工在原公司的代码与向竞品项目提交的代码之间的一致性。
- Issue/Discussion:程序员在竞品项目的issue区讨论技术方案,本身就可能构成竞争行为。
- Organization Membership:GitHub上公开显示的用户所属组织(Organization),如果包含竞品公司的开源组织,这一信息本身就可以作为证据。
3.2 证据保全的操作要点
在发现可疑的GitHub活动后,应采取以下法律证据保全措施:
- 公证截图:对GitHub上的贡献记录、PR详情、commit历史等进行网页公证截图。注意,GitHub的内容可以被用户删除或修改,第一时间公证至关重要。
- Git Log导出:对开源项目的完整git log进行导出和公证,证明特定commit的作者、时间戳和内容。
- 技术对比分析报告:委托独立的技术鉴定机构出具代码相似性分析报告,对比离职员工在原公司的代码产出与在竞品开源项目中的贡献。
- 时间线重建:构建完整的时间线,证明:接触商业秘密→离职→在竞品项目中出现→代码内容与公司代码具有实质相似性。
3.3 实务中的困难与突破
GitHub证据面临的最大挑战是”身份同一性”——你怎么证明那个GitHub账号就是离职员工本人?实务中可以从以下角度突破:
- 账号关联的个人邮箱与员工在公司的邮箱是否一致(很多程序员会使用相同的邮箱)
- 提交时间是否与员工的工作/生活时间规律相符
- 代码风格、注释习惯、变量命名规则等个人特征
- 员工在公司使用过的GitHub账号(入职时可在协议中要求披露)
建议在入职时即要求员工披露其所有活跃的GitHub/技术社区账号,并将此义务写入劳动合同或知识产权协议。
四、竞业限制补偿金——约定的艺术
竞业限制不是”免费的午餐”。企业在限制员工择业自由的同时,必须支付合理的经济补偿。
4.1 补偿金标准的法律底线
实务要点:根据《最高人民法院关于审理劳动争议案件适用法律问题的解释(一)》第三十六条,当事人在劳动合同或者保密协议中约定了竞业限制,但未约定解除或者终止劳动合同后给予劳动者经济补偿的,劳动者履行了竞业限制义务的,人民法院应予支持,补偿金标准为”劳动合同解除或者终止前十二个月平均工资的30%”。但该标准低于当地最低工资标准的,按照当地最低工资标准支付。
对于软件行业的高薪程序员,”30%”的标准虽然合法,但在实务中偏低——一个年薪80万的资深工程师,按30%计算月补偿金仅为2万元,远不足以约束其竞业行为。建议对核心技术人员约定更高的补偿比例(如50%-70%),以确保竞业限制条款在司法审查中获得”合理性”认定。
4.2 附加激励的挂钩机制
除了月付补偿金外,可以设计附加激励机制:
- ESOP加速:竞业限制期结束后如未发生违约,已归属期权的行权期可额外延长12个月。
- 忠诚奖励金:竞业限制期满后一次性支付一笔”忠诚奖励金”(如3-6个月工资),作为完整履行的对价。
- 违约全额追回:明确约定一旦违反竞业限制,不仅要按照约定支付违约金,还需退还竞业期间已收取的全部补偿金及附加激励。
五、客户资源保护——竞业限制的隐秘战场
软件行业的客户保护有两个独特挑战:
- 客户名单的”商业秘密”定性:如果客户信息(包括联系人、需求偏好、合同价格等)是公开渠道可以获取的(如招标公告),法院可能不认定为商业秘密。软件公司应当对客户数据库进行加密管理、设置访问权限、并在与员工签署保密协议时明确客户信息属于保密范围。
- “非招揽”条款的设计:竞业限制阻止的是”入职竞品公司”,而非招揽条款阻止的是”带走客户”。两者法律性质不同,应分别约定。典型的非招揽条款:”竞业限制期间,员工不得直接或间接联系、接洽或向其在公司任职12个月内接触、了解或负责的任何公司客户、潜在客户或商业伙伴提供服务。”
六、风险提示
- 竞业范围过宽的风险:如果竞业限制的行业范围定义过宽模糊(如”所有科技行业”),在司法审查中极有可能被认定为无效。必须定义在合理、具体、与公司实际业务相关的范围内。
- 三个月未支付补偿金的风险:根据司法解释,劳动合同解除后三个月未支付竞业限制补偿金,劳动者有权请求解除竞业限制约定。公司务必建立补偿金支付台账和自动提醒机制。
- “全员竞业”的风险:将竞业限制强加于保洁、行政等不接触商业秘密的岗位,法院将认定无效。竞业限制的对象必须是确实接触商业秘密或核心技术的人员。
- GitHub证据被质疑的风险:仅凭网页截图在法庭上可能被质疑真实性(PS可能性)。务必通过公证处或第三方电子存证平台(如时间戳、区块链存证)固定证据。
- 竞业期过长的风险:《劳动合同法》第二十四条规定竞业限制期限不得超过二年。超过部分无效——不需要等到司法裁决,超期条款自始无效。
七、行动建议
- 重新审查竞业条款:立即审查公司与核心技术人员签署的竞业限制条款,补充”开源贡献”和”自主创业”的扩展定义,确保覆盖三层扩展要素。
- 建立技术社区监控机制:安排法务或指定专人定期监控离职核心技术人员的GitHub、Gitee、技术博客等公开活动,作为竞业合规的常态化措施。
- 入职时披露全部账号:在劳动合同或知识产权协议中增加条款,要求员工披露其所有活跃的GitHub/Gitee/Stack Overflow等技术社区账号,并承诺离职后不通过任何账号间接参与竞品技术贡献。
- 完善补偿金管理:建立竞业限制补偿金的自动支付系统,确保离职后每月按时足额支付,并保留银行转账凭证作为履约证据。
- 违约金设计合理化:违约金不宜约定过高(法院可能调减),也不宜过低(失去威慑力)。实务中建议约定为”员工年总收入的1-3倍 + 退还全部已付补偿金 + 赔偿实际损失”的组合模式,并提供合理的计算依据。
免责声明
本文仅供一般性参考,不构成法律意见或建议。具体法律问题请咨询专业律师。文中案例基于真实事件改编,涉及的公司名称和细节已经模糊化处理。
林军律师
资深公司法律师 · 行业法律实务专家
💬 欢迎在评论区留下您的看法和理由
关于圳品律师团队
林军律师 — 今日主笔
中国政法大学民商法在职博士。兼具公司法理论深度与大量实务经验,专注公司法、股权纠纷、企业合规体系建设、数据合规与产品质量纠纷。
严格律师:律所创始人,数十年法律一线经验,具备法院、监察、司法、企业四维实操经验。
林冰律师:执业27年,法学与财务双背景,累计办理诉讼及非诉讼事务2000余件。
📞 电话:0755-82222148
📱 手机:18938871445(v) 18938871445(v)
📧 邮箱:1160727593@qq.com
🌐 网址:www.zhenpinlaw.com
📍 地址:深圳市罗湖区人民南路深房广场B座40楼4004
延伸阅读
如您在股东协议、投资条款审查或股权纠纷中需要专业支持,欢迎联系林军律师(深圳公司法律师)进行一对一咨询。








发表回复