同样,IANAL-因此,我建议您咨询专门了解或专门研究软件知识产权问题的律师。
但是,我认为答案相当简单:1.我认为没有必要与客户讨论“开源”一词(在对该陈述形成意见之前,请先进行阅读)2.在您的合同中,您显然需要声明以下内容:您为自己创建的客户创建的任何作品都可以创建派生作品。这意味着每个人都可以按自己的意愿使用它,包括为开源项目做贡献(当然,请咨询开源项目的IP要求)。b。您保留任何足以免费包含的现有工作产品的所有权,并且向客户颁发无限制许可以永久使用该代码,包括创建衍生作品c。
您还需要确保DAMN确保您永远不会使用没有特别限制的发明转让条款(从来没有)签署任何合同-否则您可能是SOL。请注意,有几个州(例如,加利福尼亚州)均会依法限制(但不会消除)此问题,无论合同说了什么。这在雇佣合同中是可以预期的(但可以协商确定限额),但恕不授予独立承包商合同的恕我直言。
您面临的最大挑战是让他们接受源代码的共同所有权。这与“聘用工作”原则相冲突,后者是使用承包商时在软件开发合同中经常使用的特定语言。
如果他们了解IP,他们可能会不同意-但是我猜这些不是您要处理的客户类型。我可以肯定地告诉您,至少有一家非常大型的软件公司会为为任何客户编写的任何咨询/自定义代码执行此操作-如果他们不同意,那么他们就不会这样做-但他们会将他们推荐给合作伙伴)。
如果您拥有共同所有权,则应在IP方面明智地为开放源代码项目贡献该代码,但要受该项目的任何限制。
您还希望在开源方面有所选择。如果您开源对特定行业有用的代码,这些代码将对他们的直接竞争对手有用,那么您的客户就会受到损害。如果您的客户意识到他们支付给您的用于为其自定义编写的整个应用程序是免费提供的,并且甚至可能一开始认为您只是安装了该应用程序,而不是从头开始编写,您的客户也会感到不高兴。您还只是减少了他们对您的服务的感知价值。
我认为这涵盖了您的问题1,2和4。
问题3可能是一个问题-根据您要从中创建派生作品的开源项目的许可模式,客户当然可以付钱给您,但是他们可能没有完整的甚至没有该代码的所有权。开源项目的许可模型。这并不是说您无法做到这一点-但您可能希望在合同中加入附加条款-由知识产权律师来执行-或仅在客户要求您这样做之后再这样做-并且那么您也许可以收回由律师审查有关此情况的合同补遗的费用。