What should every developer know about legal issues?

Today I had a bad surprise when I learned about some of the implications of the GPL, mainly that I could not use it as freely as I thought.

Now I know.

What else should I know more broadly that every developer knows about such legal things?

You can split employees, freelancers, participants in open source projects (etc.) or give a wider answer.

+80
licensing open-source
Sep 08 '09 at 20:32
source share
15 answers

Twelve Legal Aspects of Software Development

  • The software is copyrighted if it is available to the general public. You no longer have to post copyright notice in the application or in the source code. The copyright holder is the author or company that pays for the author (s).

  • Software copyright may be assigned by the copyright owner or may be retained by the owner, and the software may be licensed by the user or users by the owner.

  • Libraries used in development probably have limitations in their use and distribution. The GPL does not make the library publicly available, nor does the fact that the library comes with a development platform. You must read and understand the license before distributing your application. Some libraries require royalties, although this has become less common in recent years.

  • Software patent claims are shitty shoots. Of course, you should not knowingly violate a software patent. However, there is a small but real chance that some company will sue you for violating your patent. This can happen even if you develop your own software, you have never heard of a patent, and the patent covers a technique that is intuitive and almost completely unrelated to your software. There is not much to avoid this, given current USPTO policies other than purchase insurance. The good news is that patent trolls usually sue large companies with lots of money.

  • If you use an employee or a freelance employee to develop software, you must clearly indicate who owns the copyright in the application, including the source code. Some freelancers and contract development companies consider the source code as their property, leaving the company dependent on the original developer (s). This is legal if it is in a development agreement.

  • If you have an employee who develops the software around the clock, you must clearly indicate who owns this software and what software the employee must have in order to write and distribute outside the company.

  • If you are an employee or freelance software developer, you must clearly indicate who will own the copyright for your application before you begin development. In addition, you should know or clarify who owns the software that you write in due time. Some companies have provisions in labor agreements that claim ownership of any software written by the developer while they work, whether at home or at work. Many companies have non-competitive provisions in labor agreements that limit the software that an employee can produce for distribution outside the company. Sometimes these restrictions are quite wide.

  • A trademark is a name or symbol, not the software itself. If you distribute the software, you must (a) make sure that your application name and “mark” or name design is not “similar” to other applications and (b) register your trademark. The first use date is important for resolving conflicts, so you should document when the application is first used in trade.

  • When you name an application, check registered trademarks, but also check Google. An application with the first use of a name may use your name and trademark after a successful application, even if they have not registered a trademark and you have one.

  • When you use or sign a contract or agreement, make sure that both parties understand this. In a labor agreement, mentioning any potentially sensitive areas in front can prevent many problems later. In the development agreement, if both parties know who owns the source code or who is responsible for the updates, or who is responsible for the maintenance, etc. When entering the development project, then the probability is completed. In the distribution agreement, make sure that the distributor understands the responsibilities and duration of the agreement.

  • Every non-trivial application has errors (or "design considerations" :-)). It should be clear in any user agreement or distribution agreement that you are responsible for the software without errors, and you cannot correct all errors. Make it clear that changes, patches, and updates are made at the choice (or best) of the developer and make it clear who pays for patches and updates.

  • Even after you consult with a lawyer about software development and distribution agreements, you should review the agreements of other software companies and find out what their lawyers have come up with.

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

+137
Sep 23 '09 at 1:39
source share

If in doubt, consult a lawyer.

+28
Sep 08 '09 at 20:36
source share

I am not a lawyer, but over time I have gathered a few rules of thumb from legal entities that you can use to save time:

  • The GPL is either copy-left or viral. This means that any code you write that depends on the GPL component must also be released under the GPL. A good rule of thumb: if you need the GPL component to compile your software, your software must be released under the GPL.
  • You are not required to provide your source unless you distribute your software. For example, if you run the software for internal purposes or on a web server, you do not need to free the source. This is why Google does not need to release its software using GPL libraries. This was a key controversial point in the GPL v3.
  • LGPL (Library or Lesser GPL) only requires the GPL of its own source code if you include the LGPL-ed library so that it becomes indispensable. Your own software does not have to be GPL if you only use the library. Including header files and linking to the .dll / .so library is one way to use the LGPL-ed code without any obligation, with the exception of proper copyright notice.
  • The BSD license (the Apache license is very similar) allows you to create commercial extensions that use the open source component. That is why Apple chose FreeBSD on top of Linux as the kernel for OSX.
  • MPL is very commercially friendly because Netscape thought they could make some money from Mozilla at the time of writing the license.

Often helps to get in touch with an open source project developer. They are in a better position to advise you on the initial intention of the license, as well as their own views on open source. Sometimes developers are ready to release software under several licenses to help you. This is often not the case. Depends on the person who owns the copyright.

KDE project has a convenient matrix

+26
Sep 19 '09 at 11:57
source share

I think Stephen Fishman's Legal Guide to Web and Software Development . What you are looking for.

alt text

Overview

Awesome book! Answers almost every legal question that you can imagine and some you would never have thought of. - John Dvorak, PC Magazine

Covers all conceivable details important for such a fast-growing and intangible environment. - Businessman

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

Product Description

Protect your rights and hard work!

Laws covering a website and software development are complex and confusing, but if you don't unravel them, it can cost you thousands of dollars in attorney fees and lawsuits.

Fortunately, Legal Guide to Web & Software Development deciphers this complex area of ​​law, carefully and in a 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 buying a lawyer.

Use the legal guide for the Internet and Development Software to study:

  • what legal protection do you need
  • Strengths and limitations of each type of protection
  • how to avoid breaking.
  • what provisions do you need when drafting an agreement
  • how to get permission to use other people's materials.

You will find complete, step-by-step instructions for a draft:

  • labor agreements
  • contractor and consultant contracts
  • development agreement
  • license agreements

The fifth edition of the Web Interface Legal Guide and software development has been completely updated to provide case law and legislative changes.

Some other suggestions:

+8
Sep 20 '09 at 10:41
source share

If a freelancer or contractor: make sure you have good liability insurance and know what covered him.

For example, my company is not responsible for errors in the code that may issue credit card numbers. Therefore, I no longer touch this material!

+4
Sep 20 '09 at 10:19
source share

For employees: we should be able to give the first round of consultations to your clients - for example, can we / use the component we want in our application?

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

Of course, your word is not as good as the advice that a lawyer can get; but you can already help in the first round; for example, say: "we definitely cannot use this because it will mean ..."
In the end, the lawyer will know a lot about cases in the corner, but if you can help a little ...


For OSS members: knowing some of the differences between free licenses can make a difference if you care about what people can do with your code (redistribute? Modify? Use it in a commercial application? Use it in a proprietary application?)

+3
Sep 08 '09 at 20:36
source share

One answer claimed that the law was not like code. I do not agree.

In the early days, IBM paid programmers instructions. (Someone I knew said he worked with a programmer who got rich this way. Obviously, the guy did not know how to use the machine index, he wrote a program with zero memory size, which manually stored zero in each address memory.)

There was also a time (long ago) when lawyers were paid by this word. This has helped to popularize practices such as addressing people as “the most highly regarded 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 in the joke there is a lot of truth that all COBOL programs will be diverted from a common ancestor by incremental changes. Backward compatibility and “historical reasons” are common in our area.

This is comparable to the field of law. There are laws that make small (or large) changes to other laws. You have some kind of addiction - hell. There are some ridiculous historical laws (in Hobart, Tasmania, it is illegal for a man to wear a woman’s dress after sunset, because once upon a time convicts dressed like women and people with mugs) that no one could dream of, There are some historical features in software that no one else uses.

Laws often have unintended consequences (mistakes!), Are used for creative purposes (hacks!), Contain loopholes (security vulnerabilities!), Some of which are deliberate (backdoor!), Become modified (patches!) Or capsize (uninstall!).

Yes, laws (as opposed to code) are subject to interpretation. But I think it looks like code maintenance. This helps to adapt laws to new social norms.

To answer the question directly: every developer should know that the law is more like a ridiculously huge software project that has been developed for hundreds of years. (In fact, each country has its own project, and they solve problems in different ways.) Theoretically, after reading the license, you will know what you can and cannot do with your code. But if a competent programmer cannot determine all the errors in his code by simply reading it, then what chance does a non-lawyer have in analyzing the corner cases and gray areas of a legal document?

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

+3
Sep 23 '09 at 0:17
source share

NOLO (I do not work for them) publishes a good selection of legal books for non-specialists.

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

+1
Sep 08 '09 at 20:41
source share

I would answer it the same way I would answer: "What should every lawyer know about programming?" That is, know that you cannot know the depth of field well enough to do more than the simplest things. Get an expert.

+1
Sep 08 '09 at 20:42
source share

You must know the basic rights and obligations of the license you intend to use. It is not so difficult, and even if there are a lot of them, you need to carefully read only those that you are going to use or touch. Just read them, in most cases they are understandable.

Anything else you may need, well, it depends. Patenting? Trade marks? If you need these things, chances are that you are in the company and have a legal department to do this for you.

+1
Sep 18 '09 at 18:15
source share

I always assumed that the project developers want any software that uses their work to be released under the same license. Read their frequently asked questions and legal pages for more information, and feel free to contact the developers / maintainers if you are still not sure.

If you need help understanding the details of the license agreement, contact a lawyer.

+1
Sep 20 '09 at 11:01
source share
  • Do not work in a country with more lawyers than developers.
  • An extremely large percentage of all software patents (USA) are fictitious, but you cannot pay or wait for them to be invalidated.
  • If you want to use / develop open source software, use your existing license and do not modify it. Do not get closer to the boundaries of what is meant by a license.
+1
Sep 22 '09 at 13:51
source share

Name of a good IP lawyer.

0
Sep 08 '09 at 20:36
source share

6. If you have an employee who develops the software “around the clock”, you must clearly indicate who owns> this software and what software the employee must run in order to write and distribute outside the company.

the right to freedom of speech, as indicated in most constitutions (for example, if developers do free s / w around the clock), can make such conditions unsuccessful in court

0
Dec 07 2018-11-12T00:
source share

The law is not like a code. This is not a cast set of steps and rules that can be clearly understood.

-one
Sep 20 '09 at 11:02
source share



All Articles