今天,我对GPL许可证的某些含义感到惊讶,这主要是因为我不能像我想的那样自由地使用它。
现在我明白了。
我还应该了解什么,并且更广泛地讲,每个开发人员应该对类似的法律知识了解什么?
您可以将员工,自由职业者,开源项目贡献者(等等)分开,或者给出更广泛的答案。
Answers:
软件开发的十二个法律注意事项
如果该软件可供公众使用,则该软件受版权保护。不再需要在应用程序或源代码上放置版权声明。版权拥有者是作者或付费作者的公司。
软件的版权可以由版权所有者分配,也可以由所有者保留,并且软件可以由所有者授权给一个或多个用户。
开发中使用的库可能在使用和分发方面受到限制。GPL不会使图书馆成为公共领域,图书馆也没有附带开发平台这一事实。在分发应用程序之前,您应该阅读并了解许可证。一些图书馆需要支付版权使用费,尽管近年来这种情况已不那么普遍了。
软件专利诉讼就是废话。当然,您不应故意违反软件专利。但是,有些公司会以极小但真实的机会起诉您侵犯其专利。即使您是独立开发软件,却从未听说过该专利,而且该专利所涵盖的技术在直观上是显而易见的,而且几乎与您的软件完全无关,否则可能会发生这种情况。鉴于美国专利商标局当前的政策,除了购买保险外,您没有很多方法可以避免这种情况。好消息是,专利巨魔通常以大笔钱起诉大公司。
如果您使用员工或自由职业者来开发软件,则应以书面形式明确指出谁拥有该应用程序的版权,包括源代码。一些自由职业者和合同开发公司将源代码视为自己的财产,从而使公司依赖于原始开发人员。如果在开发协议中,这是合法的。
如果您有一个“不间断”开发软件的员工,则应明确说明谁拥有该软件,以及该员工应该能够在公司外部编写和分发哪种软件。
如果您是开发软件的员工或自由职业者,则应在开始开发之前明确说明谁将拥有您应用程序的版权。另外,您应该了解或澄清谁自己拥有自己编写的软件。一些公司在雇佣协议中有条款要求在开发期间,无论是在家中还是在工作中,开发人员编写的任何软件均拥有所有权。许多公司在雇用协议中都有非竞争条款,这些条款限制了员工可以生产供公司外部发行的软件。有时,这些限制非常广泛。
商标是名称或符号,而不是软件本身。如果您分发软件,则应(a)确保您的应用程序名称和“标记”或名称设计与其他应用程序“不容易混淆”,以及(b)注册您的商标。首次使用的日期对于解决冲突很重要,因此您应记录该应用程序在商业中的首次使用时间。
为应用程序命名时,请检查注册商标,同时还要检查Google。首次使用该名称的应用程序在您的申请成功后仍可以使用您的名称和商标,即使它们尚未注册商标也已注册。
当您使用或签署合同或协议时,请确保双方都理解。在一份雇佣协议中,提前提及任何潜在的敏感区域可以防止以后出现很多问题。在开发协议中,如果双方都知道谁拥有源代码,谁负责升级,或者谁负责维护等进入开发项目,那么在申请后提起诉讼的可能性就会大大降低已经完成。在分销协议中,请确保分销商了解协议的责任和条款。
每个不平凡的应用程序都有错误(或“设计注意事项” :-)。任何用户协议或发行协议都应明确说明您对无错误软件不承担任何责任,也不希望您修复所有错误。明确指出,更改,修复和升级是开发人员的选择(或尽力而为),并明确指出谁为修复和升级付费。
即使您就软件开发和发行协议咨询了律师,您也应该阅读其他软件公司的协议,并看看他们的律师提出了什么。
我不是律师,这不是法律建议。
Some freelancers and contract development companies consider the source code their own property, leaving the company dependent on the original developer(s). This is legal if it's in the development agreement.如果您不做自由职业者,则最好额外付费。如果您花时间设计一个干净的基础系统,为什么要让他们带到一些车身修理厂获得回报呢?您已经在代码库中进行了投资,这就是您使投资获得回报的方式。此外,这还使您可以将其他地方的通用逻辑重用于下一个客户端。
如有疑问,请联系律师。
我不是律师,但是随着时间的流逝,我已经从法人那里收集了一些经验法则,可以用来节省时间:
.dll/.so进行链接是您无需任何义务即可“使用” LGPL编码的方法之一,除非获得适当的版权声明。通常可以帮助联系开源项目的维护者。他们最能为您提供关于许可证的初衷以及他们对开源的看法的建议。有时,维护人员愿意根据多个许可发布软件以帮助您。通常他们不是。取决于拥有版权的人。
KDE项目有一个方便的矩阵
我认为您正在寻找斯蒂芬·菲什曼律师(Stephen Fishman Attorney)撰写的《网络与软件开发法律指南》。

评论
一本了不起的书!回答几乎所有您能想到的法律问题,以及一些您从未想过的问题。-PC杂志John Dvorak
涵盖了对于这种快速增长且无形的媒介重要的所有可想象的细节。 - 企业家
这本书通过了我自己对法律指南的个人测试-得分高于任何其他法律指南。-《 PC技术杂志》编辑Jeff Duntemann
产品描述
保护您的权利和辛勤工作!
有关网站和软件开发的法律既复杂又令人困惑,但是如果您不加以理会,则可能要花费数千美元的律师费和诉讼费用。
幸运的是,《网络与软件开发法律指南》以通俗易懂的英语彻底解释了法律的这一复杂领域。它还在CD-ROM上提供了合同,协议和法律表格,并附有逐步填写的说明,因此您可以保护软件和网站,而无需支付律师的赎金。
使用法律指南进行网络和软件开发以学习:
- 您需要什么样的法律保护
- 每种保护类型的优势和局限性
- 如何避免侵权
- 起草协议时需要哪些规定
- 如何获得使用他人材料的许可
您将找到完整的分步说明来起草:
- 雇佣协议
- 承包商和顾问协议
- 发展协议
- 许可协议
网络和软件开发法律指南的第5版已完全更新,以提供最新的判例法和法定修订本。
其他一些建议:
一个答案断言该法律与法规不同。我不同意。
在早期,IBM通过指令向程序员收费。(我认识的人说他曾与这样富有的程序员一起工作。显然,这个家伙不知道如何使用机器的索引寄存器;他编写了一个内存为零的例程,该例程在每个内存地址中手动存储了零。)
还有一段时间(很久以前),律师付钱给了他。这有助于普及一些做法,例如称呼人们“最受尊敬的某某某某”和其他冗长的词句。
我刚刚在SO上读到一个答案,说VB.NET 2008仍然允许行号。您仍然可以在现代PC上运行纯DOS。这个笑话有很多道理,那就是所有COBOL程序都是通过增量更改而脱离同一个祖先的。向后兼容和“历史原因”在我们领域中盛行。
这相当于法律领域。有些法律会对其他法律进行较小(或较大)的更改。您有一种依赖地狱。有一些荒谬的历史法则(在塔斯马尼亚州的霍巴特,日落之后男人穿女人的衣服是违法的-因为从前,罪犯会打扮成女人和杯子的人),没人会梦想执行,就像软件中有一些历史功能,不再有人使用。
法律通常会产生意想不到的后果(错误!),以创造性的方式使用(黑客!),包含漏洞(安全漏洞!),其中一些是有意的(后门!),被修改(补丁!)或被推翻(卸载!)。 。
是的,法律(与法规不同)需要解释。但是我认为这很像代码维护。它有助于使法律适应新的社会规范。
要直接回答这个问题:每个开发人员都应该知道法律就像一个可笑的巨大软件项目,已经开发了数百年。(实际上,每个国家/地区都有自己的项目,它们以不同的方式解决问题。)从理论上讲,阅读许可证后,您将知道您可以使用或不能使用您的代码。但是,如果有能力的程序员不能仅通过阅读就能发现其代码中的所有错误,那么非律师有多少机会分析合法文档的特殊情况和灰色区域?
像使用软件源代码一样,通常可以通过阅读来获得法律文档的要旨,但是如果您需要了解特定的知识,请咨询专业人员。
NOLO(我不为他们工作)出版了一系列法律书籍,供外行预订。
http://www.nolo.com/products/a-legal-guide-to-web-&-software-development-SFT.html
您应该知道将要使用的许可证的基本权利和义务。这并不难,即使有很多,也只需要仔细阅读将要使用或接触的内容即可。只需阅读它们,在大多数情况下,它们都非常清楚。
您可能需要的其他任何东西都取决于。申请专利?商标?如果您需要这些东西,很可能您在公司中并且有一个法律部门可以为您做这些。
法律不像法规。它不是一组可以明确理解的步骤和规则。