每个开发商都应该了解哪些法律事务?

发布于 2024-08-04 09:10:49 字数 312 浏览 3 评论 0原文

今天我有一个糟糕的惊喜了解了GPL许可证的一些含义,主要是我不能像我想象的那样自由地使用它。

现在我知道了。

我还应该知道什么,更广泛地说,每个开发人员都应该了解此类法律问题的哪些内容?

您可以将员工、自由职业者、开源项目贡献者(等)分开,或者给出更广泛的答案。

Today I had a bad surprise learning about some implications of the GPL license, mainly that I couldn't use it as freely as I thought.

Now I know.

What else should I know, and more widely, what should every developer know about legal things like that?

You can separate employees, freelancers, open source projects contributors (etc.) or give a more broad answer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(15

醉生梦死 2024-08-11 09:10:49

软件开发的十二个法律注意事项

  1. 如果软件向公众提供,则该软件受版权保护。不再需要在应用程序或源代码中添加版权声明。版权所有者是作者或向作者付费的公司。

  2. 软件的著作权可以由著作权人转让,也可以由著作权人保留,由著作权人将软件许可给用户。

  3. 开发中使用的库可能在使用和分发方面有限制。 GPL 并没有使库成为公共领域,库附带开发平台的事实也没有使库成为公共领域。在分发应用程序之前,您应该阅读并理解许可证。一些库需要支付版税,尽管近年来这种情况已不太常见。

  4. 软件专利诉讼毫无意义。当然,您不应该故意侵犯软件专利。然而,有些公司确实有可能因侵犯其专利而起诉您。即使您独立开发软件,您从未听说过该专利,并且该专利涵盖了直观上显而易见且几乎与您的软件完全无关的技术,也可能会发生这种情况。鉴于美国专利商标局当前的政策,除了购买保险之外,您没有什么办法可以避免这种情况。好消息是,专利流氓通常会花很多钱起诉大公司。

  5. 如果您使用员工或自由职业者来开发软件,您应该以书面形式明确谁拥有该应用程序的版权,包括源代码。一些自由职业者和合同开发公司将源代码视为自己的财产,从而使公司依赖于原始开发人员。如果开发协议中有规定,则这是合法的。

  6. 如果您有一名员工“不加班”地开发软件,您应该明确谁拥有该软件,以及该员工应该能够在公司外部编写和分发哪种软件。

  7. 如果您是开发软件的员工或自由职业者,您应该在开始开发之前明确谁将拥有您的应用程序的版权。此外,您应该知道或澄清谁拥有您自己编写的软件。一些公司在雇佣协议中包含条款,声称对开发人员在雇佣期间(无论是在家还是在工作)编写的任何软件拥有所有权。许多公司在雇佣协议中都有非竞争条款,限制员工可以生产并在公司外部分发的软件。有时这些限制相当广泛。

  8. 商标是名称或符号,而不是软件本身。如果您分发软件,您应该 (a) 确保您的应用程序名称和名称的“标记”或设计不与其他应用程序“令人困惑地相似”,并且 (b) 注册您的商标。首次使用日期对于解决冲突非常重要,因此您应该记录应用程序首次在商业中使用的时间。

  9. 当您为应用程序命名时,请检查注册商标,同时还要检查 Google。首次使用该名称的应用程序可能会在您的申请成功后获得您的名称和商标,即使他们尚未注册该商标而您已经注册。

  10. 当您使用或签署合同或协议时,请确保双方均理解。在雇佣协议中,提前提及任何潜在的敏感领域可以防止以后出现很多问题。在开发协议中,如果双方都知道谁拥有源代码,或者谁负责升级,或者谁负责维护等,进入开发项目,那么申请后发生诉讼的可能性就会小很多已完成。在分销协议中,确保分销商了解协议的责任和条款。

  11. 每个重要的应用程序都有错误(或“设计考虑因素”:-))。任何用户协议或分发协议都应明确您不对无错误的软件负责,并且不能指望您修复所有错误。明确指出更改、修复和升级是由开发人员选择(或尽最大努力)进行的,并明确谁为修复和升级付费。

  12. 即使您就软件开发和分发协议咨询了律师,您也应该阅读其他软件公司的协议,看看他们的律师提出了什么建议。

    即使

  13. 我不是律师,这不是法律建议。

Twelve Legal Considerations for Software Development

  1. Software is copyrighted if it is made available to the general public. It is no longer necessary to put a copyright notice on the application or in the source code. The owner of the copyright is the author(s) or company paying the author(s).

  2. The copyright of software can be assigned by the owner of the copyright, or it can be retained by the owner and the software can be licensed to the user or users by the owner.

  3. Libraries used in development probably have restrictions in their use and distribution. GPL does not make a library public domain, nor does the fact that the library comes with a development platform. You should read and understand the license before you distribute your application. Some libraries require royalty payments, although this has become less common in recent years.

  4. Software patent lawsuits are crap shoots. You should not, of course, knowingly violate a software patent. However, there is a small but real chance some company will sue you for violating their patent. This may happen even if you develop your software independently, you never heard of the patent, and the patent covers a technique that is intuitively obvious and almost completely unrelated to your software. There is not a lot you can do to avoid this, given the current USPTO policies, other than buy insurance. The good news is that patent trolls generally sue large companies with lots of money.

  5. If you use an employee or freelancer to develop software, you should make it clear, in writing, who owns the copyright to the application, including the source code. 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.

  6. If you have an employee who develops software "off the clock," you should make it clear who owns that software, and what kind of software the employee should be able to write and distribute outside of the company.

  7. If you are an employee or freelancer developing software, you should make it clear who will own the copyright to your application, before you begin development. Also, you should know or clarify who owns software you write on your own time. Some companies have clauses in employment agreements claiming ownership to any software written by a developer during the period of employment, whether at home or at work. Many companies have non-compete clauses in employment agreements that restrict the software an employee can produce for distribution outside the company. Sometimes these restrictions are pretty broad.

  8. A trademark is a name or symbol, not the software itself. If you distribute software, you should (a) make sure your application name and "mark" or design of the name is not "confusingly similar" with other applications, and (b) register your trademark. Date of first use is important in resolving conflicts, so you should document when the application is first used in commerce.

  9. When you name an application, check for registered trademarks, but also check Google. An application with first use of the name may be able to take your name and trademark after your application is successful, even if they have not registered the trademark and you have.

  10. When you use or sign a contract or agreement, make sure both parties understand it. In an employment agreement, mentioning any potentially sensitive areas up front can prevent a lot of problems later. In a development agreement, if both parties know who owns the source code, or who is responsible for upgrades, or who is responsible for maintenance, etc., going into the development project, then there is much less likelihood of a lawsuit after the application has been completed. In a distribution agreement, make sure the distributor understands the responsibilities and term of the agreement.

  11. Every non-trivial application has bugs (or "design considerations" :-)). Any user agreement or distribution agreement should make it clear that you are not responsible for bug-free software, and you cannot be expected to fix all bugs. Make it clear that changes, fixes, and upgrades are made at the option (or best efforts) of the developer, and make it clear who pays for fixes and upgrades.

  12. Even after you consult a lawyer about software development and distribution agreements, you should read agreements from other software companies and see what their lawyers came up with.

  13. I am not a lawyer, and this is not legal advice.

旧街凉风 2024-08-11 09:10:49

如有疑问,请联系律师。

When in doubt, contact a lawyer.

把人绕傻吧 2024-08-11 09:10:49

我不是律师,但随着时间的推移,我从法律人士那里收集了一些经验法则,您可以使用它们来节省时间:

  • GPL 许可证是“copy-left”或“病毒式”。这意味着您编写的任何依赖于 GPL 组件的代码也必须在 GPL 下发布。一个好的经验法则是,如果您需要 GPL 组件来编译您的软件,您的软件必须在 GPL 许可证下发布。
  • 如果您不分发软件,则没有义务提供源代码。例如,如果您出于内部目的或在 Web 服务器上运行该软件,则无需发布源代码。这就是为什么 Google 不需要发布使用 GPL 库的软件。这是 GPL v3 中的一个关键争论点。
  • LGPL(库或较小的 GPL)仅要求您将自己的源代码 GPL 化,前提是您以不可替代的方式合并 LGPL 库。如果您只“使用”该库,您自己的软件不需要是 GPL。包含头文件并链接到库的 .dll/.so 是您无需承担任何义务即可“使用”LGPL 代码的方法之一,除了适当的版权声明。
  • BSD 许可证(Apache 许可证非常相似)允许您创建使用开源组件的商业扩展。这就是 Apple 选择 FreeBSD 而不是 Linux 作为 OSX 内核的原因。
  • MPL 非常商业化,因为 Netscape 认为在编写许可证时他们可能会从 Mozilla 中赚到一些钱。

联系开源项目的维护者通常会有所帮助。他们最有能力向您提供关于许可证的初衷以及他们自己对开源的看法的建议。有时维护人员愿意发布多个许可证下的软件来帮助您。通常情况并非如此。取决于拥有版权的人。

KDE 项目有一个方便的矩阵

I'm no lawyer but over time I have gathered a few rules of thumb from legal people that you can use to save time:

  • GPL license is 'copy-left' or 'viral'. It means that any code that you write that depends on a GPL component must also be released under GPL. A good rule of thumb is that if you need a GPL component to compile your software, your software must be released under a GPL license.
  • You are not obliged to make your source available if you're not distributing your software. For example, if you run the software for internal purposes or on a web server you do not need to release the source. That is why Google doesn't need to release their software that use GPL libraries. It was a key contention point in GPL v3.
  • LGPL (Library or Lesser GPL) only requires you to GPL your own source code if you incorporate the LGPL-ed library in such a way that it becomes irreplaceable. Your own software do not need to be GPL if you only 'use' the library. Including header files and linking against a .dll/.so of the library is one of the ways you can 'use' LGPL-ed code without any obligations, except for the proper copyright notice.
  • BSD License (the Apache License is very similar) allows you to create commercial extensions of that use the open source component. That is why Apple chose FreeBSD over Linux as the kernel for OSX.
  • MPL is very commercial friendly because Netscape thought that they might make some money out of Mozilla at the time the license was written.

It often helps to contact the maintainer of the Open Source project. They are in the best position to advice you about the original intention of the license as well as their own views on open source. Sometimes maintainers are willing to release software under multiple licenses to help you out. Often they are not. Depends on the person who owns the copyright.

The KDE project has a handy matrix

夏の忆 2024-08-11 09:10:49

我认为网络和法律指南Stephen Fishman 律师的软件开发正是您所寻找的。

替代文本

评论

一本很棒的书!答案差不多
您能想到的所有法律问题
还有一些你从未想过的
的。 ——约翰·德沃夏克,PC 杂志

涵盖每一个可以想象到的细节
对于如此快速增长的公司来说非常重要
和无形媒介。 ——企业家

这本书通过了我个人的测试
法律指南——得分较高
比任何其他法律指南。 ——杰夫
Duntemann,《PC 技术》编辑
杂志

产品描述

保护您的权利和您的辛勤工作!

涉及网站和软件的法律
发展过程复杂且混乱,
但如果你不解开它们
可能会花费你数千美元
律师费和诉讼费。

幸运的是,网络和法律指南
软件开发解码这个
复杂的法律领域,彻底
并采用读者友好的英语。它
还提供合同、协议
以及 CD-ROM 上的法律表格,其中
填写分步说明
他们出去,这样你就可以保护你的
软件和网站无需付费
律师的赎金。

使用网络和法律指南软件
开发学习:

  • 您需要什么样的法律保护
  • 每种保护类型的优点和局限性
  • 如何避免侵权
  • 起草协议时需要哪些条款
  • 如何获得使用他人材料的许可

您将找到完整的分步指南
起草说明:

  • 雇佣协议
  • 承包商和顾问协议
  • 开发协议
  • 许可协议

网络法律指南第五版
&软件开发完全
更新以提供最新的判例法
和法律修订。

其他一些建议:

I think Legal Guide to Web & Software Development by Stephen Fishman Attorney is what you're looking for.

alt text

Review

An amazing book! Answers nearly
every legal question you can imagine
and some you would have never thought
of. -- John Dvorak, PC Magazine

Covers every imaginable detail
important to such a rapidly growing
and intangible medium. -- Entrepreneur

This book passes my own personal test
for legal guides --with higher marks
than any other legal guide. -- Jeff
Duntemann, Editor, PC Techniques
Magazine

Product Description

Protect your rights, and your hard work!

The laws covering website and software
development are complex and confusing,
but if you don't untangle them, it
could cost you thousands of dollars in
attorneys' fees and lawsuits.

Fortunately, Legal Guide to Web &
Software Development decodes this
complex area of the law, thoroughly
and in reader-friendly English. It
also provides contracts, agreements
and legal forms on CD-ROM, with
step-by-step instructions for filling
them out, so you can protect your
software and website without paying a
lawyer's ransom.

Use Legal Guide to Web & Software
Development to learn:

  • what kind of legal protection you need
  • the strengths and limitations of each type of protection
  • how to avoid infringement
  • which provisions you need when drafting an agreement
  • how to obtain permission to use other people's materials

You'll find complete, step-by-step
instructions to draft:

  • employment agreements
  • contractor and consultant agreements
  • development agreements
  • license agreements

The 5th edition of Legal Guide to Web
& Software Development is completely
updated to provide the latest case law
and statutory revisions.

Some other suggestions :

青丝拂面 2024-08-11 09:10:49

如果是自由职业者或承包商:请确保您拥有良好的责任保险并了解其承保范围。

例如,我的保险不承担可能暴露信用卡号码的代码错误的责任。所以我不再碰那些东西了!

If a freelancer or contractor: make sure you have good liability insurance and know what's covered under it.

For instance, mine doesn't cover liability for mistakes made in code that might expose credit card numbers. So I don't touch that stuff any more!

携君以终年 2024-08-11 09:10:49

对于员工:我们应该能够向您的客户提供第一轮建议 - 比如他们/我们可以在他们的应用程序中使用我们想要的组件吗?

对于自由职业者:我们必须能够为您的客户提供强有力的建议;并选择我们可以为他们开发的应用程序使用哪些组件。

当然,你的话不如律师给你的建议那么好;但你已经可以帮助第一轮了;例如,说“我们绝对不能使用这个,因为这意味着……”

最后,律师会对极端案例了解很多——但如果你能帮忙一点……

对于 OSS 贡献者:如果您关心人们可以用您的代码做什么(重新分发?修改?在商业应用程序中使用它?在专有应用程序中使用它?),了解免费许可证之间的一些差异可能很重要。

For employees : we should be able to give a first round of advice to your clients -- like can they/we use the component we want, in their application ?

For freelancers : we must be able to give strong advice to your clients ; and choose which components we can use for the applications we develop for them.

You course, your word is not as good as the advices a lawyer can get you ; but you can already help for a first round ; for instance, to say "we definitly can't use this because it would mean..."

In the end, the lawyer will know much about corner cases -- but if you can help a bit...

For OSS contributors : knowing some differences between free licences can matter if you care what people can do with your code (redistribute ? modify ? use it in commercial application ? use it in proprietary application ? )

口干舌燥 2024-08-11 09:10:49

一个答案断言法律不像代码。我不同意。

早期,IBM 按指令向程序员支付报酬。 一个人说他和一个通过这种方式致富的程序员一起工作。显然这个人不知道如何使用机器的索引寄存器;他编写了一个内存清零例程,在每个内存地址中手动存储零。)

(我认识的 还有一个时期(很久以前),律师是按字面报酬的。这有助于普及一些做法,例如称呼人们为“最受尊敬的某某”以及其他冗长的措辞。

我刚刚读到一个关于 VB.NET 2008 仍然允许行号的答案。您仍然可以在现代 PC 上运行纯 DOS。所有 COBOL 程序都是通过增量变化从一个共同的祖先传下来的,这个笑话是有道理的。向后兼容性和“历史原因”在我们的领域很普遍。

这堪比法则境界。有些法律会对其他法律进行小(或大)修改。你已经陷入了一种依赖地狱。有一些荒唐的历史法律(在塔斯马尼亚州的霍巴特,日落之后男人穿女装是违法的——因为从前,罪犯会打扮成女人,扮鬼脸),没有人会梦想去执行,就像软件中有一些历史功能现在没有人再使用了。

法律通常会产生意想不到的后果(错误!),以创造性的方式使用(黑客!),包含漏洞(安全漏洞!),其中一些是故意的(后门!),被修改(补丁!)或被推翻(卸载!) 。

是的,法律(与法规不同)需要解释。但我认为这很像代码维护。它有助于调整法律以适应新的社会规范。

直接回答这个问题:每个开发人员都应该知道,法律就像一个已经开发了数百年的极其庞大的软件项目。 (实际上,每个国家都有自己的项目,他们以不同的方式解决问题。)理论上,读完许可证后你就会知道你可以用你的代码做什么和不能做什么。但是,如果一个有能力的程序员仅仅通过阅读代码无法发现代码中的所有错误,那么非律师又有什么机会分析法律文档的极端情况和灰色区域呢?

与软件源代码一样,您通常可以通过阅读法律文档来了解其要点,但如果您需要了解特定内容,请询问专业人士

One answer has asserted that the law is not like code. I disagree.

In the early days, IBM paid programmers by the instruction. (Someone I knew said he worked with a programmer who got rich this way. Apparently the guy didn't know how to use the machine's index register; he wrote a memory-zero routine that manually stored zero in each memory address.)

There was also a time (long ago) when lawyers were paid by the word. This helped to popularise practices such as addressing people as "the most highly esteemed such-and-such" and other verbosities.

I just read an answer on SO that said VB.NET 2008 still allows line numbers. You can still run pure DOS on a modern PC. And there is much truth to the joke that all COBOL programs are decended from a common ancestor by incremental changes. Backwards-compatibility, and "historical reasons", are rife in our field.

This is comparable to the realm of law. There are laws which make small (or big) changes to other laws. You've got a kind of dependency-hell. There are some ridiculous historical laws (in Hobart, Tasmania, it's illegal for a man to wear a woman's dress after sunset - because once upon a time, convicts would dress up as women and mug people) that nobody would dream of enforcing, just as there are some historical features in software that nobody uses anymore.

Laws often have unintended consequeuences (bugs!), get used in creative ways (hacks!), contain loopholes (security vulnerabilities!), some of which are intentional (backdoors!), get modified (patches!) or overturned (uninstallation!).

Yes, laws (unlike code) are subject to interpretation. But I think this is rather like code maintenance. It helps to adjust laws to new social norms.

To answer the question directly: every developer should know that law is rather like a ridiculously enormous software project that has been in development for hundreds of years. (Actually, each country has its own project, and they solve problems in different ways.) In theory, after reading a licence you will know what you can and can't do with your code. But if a competent programmer can't spot all the bugs in his code just by reading it, then what chance does a non-lawyer have of analysing the corner cases and grey areas of a legal document?

Like with software source code, you can usually get the gist of a legal document by reading it, but if you need to know something specific, ask a professional.

ま柒月 2024-08-11 09:10:49

NOLO(我不为他们工作)为外行出版了一套很好的法律书籍。

http://www .nolo.com/products/a-legal-guide-to-web-&-software-development-SFT.html

NOLO (I don't work for them) publishes a good set of legal how to books for the layman.

http://www.nolo.com/products/a-legal-guide-to-web-&-software-development-SFT.html

白衬杉格子梦 2024-08-11 09:10:49

我会以同样的方式回答这个问题,就像我回答“每个律师应该了解编程什么?”一样。也就是说,你要知道,你不可能对这个领域有足够的了解,能够做比最简单的事情更多的事情。找专家吧。

I would answer this in the same way that I would answer "what should every lawyer know about programming?" That is to say, know that there's no way you can possibly know the in-depth field well enough to do more than the simplest of things. Get an expert.

错々过的事 2024-08-11 09:10:49

您应该了解您将要使用的许可证的基本权利和义务。这并不难,即使有很多,你也只需要仔细阅读那些你将要使用或接触的内容。只需阅读它们即可,大多数情况下它们都非常清楚。

您可能还需要什么其他东西,这取决于情况。申请专利?商标?如果您需要这些东西,很可能您在一家公司,并且有一个法律部门可以为您做这件事。

You should know the basic rights and obligations of the license you are going to use. It's not that hard, and even if there are plenty of them, you need to read carefully only those you are going to use or touch. Just read them, in most cases they are quite clear.

Anything else you could need, well, that depends. Patenting ? Trademarks ? If you need these things, chances are that you are in a company and have a legal department to do this for you.

鲸落 2024-08-11 09:10:49

我总是假设项目的开发人员希望使用他们的作品的任何软件都在完全相同的许可证下发布。请阅读他们的常见问题解答和法律页面以获取更多信息,如果您仍然不确定,请随时联系开发人员/维护人员。

如果您需要帮助了解许可协议的详细信息,请咨询律师。

I would always assume that the developers of a project want any software using their work to be released under the exact same licence. Read their FAQs and legal pages for more information and don't hesitate to contact the developers/maintainers if you are still unsure.

If you want help understanding the details of a licence agreement, talk to a lawyer.

满栀 2024-08-11 09:10:49
  1. 不要在律师数量多于开发商数量的国家工作。
  2. 所有(美国)软件专利中很大一部分是伪造的,但您不能付费或等待它们被无效。
  3. 如果您想使用/开发开源软件,请使用现有许可证并且不要修改它。不要接近许可证含义的边界。
  1. Don't work in a country that has more lawyers than developers.
  2. An extremely large percentage of all (U.S.) software patents are bogus, but you can't pay or wait for them to be invalidated.
  3. If you want to use/develop open source software, use an existing license and don't modify it. Don't go near the borders of what the license is supposed to mean.
策马西风 2024-08-11 09:10:49

一位优秀知识产权律师的名字。

The name of a good IP lawyer.

久而酒知 2024-08-11 09:10:49

6.如果您有一名员工“不加班”地开发软件,您应该明确谁拥有>该软件,以及员工应该能够编写和分发什么样的软件
公司外部。

大多数宪法中规定的言论自由权(特别是如果开发者不时提供免费软件)可能会使这些条款在法庭上惨遭失败

6.If you have an employee who develops software "off the clock," you should make it clear who owns > that software, and what kind of software the employee should be able to write and distribute
outside of the company.

freedom of speech right as stated in most constitutions (esp. if devs make free s/w off-the-clock) can make such terms fail miserably in courts

醉生梦死 2024-08-11 09:10:49

法律不像代码。这并不是一套精心设计、可以明确理解的步骤和规则。

The law is not like code. It is not a well cast set of steps and rules that can be unambiguously understood.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文