Commit in open source as a developer? We deal with the rights (hi, nginx)



The situation with the rights to the code in the Russian Federation is quite interesting: according to the law, the developer (individual) is very, very protected. It’s necessary to somehow quite decently mess up to be wrong. But the employer needs to run a lot and painstakingly with a tambourine and papers in order to get rights to the same code that is written on his own salary.

Let's look at what code rights laws say on both sides:

  • When and what rights do you have (as an individual) to the code.
  • How the transfer of property rights to the code to the employer is arranged.
  • Timlid, who did the review, is he a co-author or who?
  • Is it possible to commit to my pet-project from a working computer during working hours?
  • What hemorrhoids have to go through in order to use the code correctly if you ordered it?

Etc.

Go!

- What is code copyright?


In the Civil Code, copyright is written in chapter 70. If it is very short, then the code is a computer program. According to the legal regime, it is equated with the works of science, literature and art. It is as if you wrote a story or a particularly successful verse.

The author of such a work (computer program) can only be an individual. A legal entity cannot write anything: there is always some kind of person who was the author. Or a few people if the code was written by two, three, ten. Then they are called co-authors.

Copyright arises at the time the work is created. They do not need to be registered anywhere or somehow confirmed (although, if you want, you can later register). The registry of software rights maintained by Rospatent does not solve the problem of creating a right, but evidence that you own the software rights. The data of this registry can be considered in court during proceedings about who the copyright holder is, but they will never be a 100% guarantee of your success.

The authors (or co-authors, if the team worked) have personal non-property rights and property rights. Personal non-property - this is the right of authorship, the right to a name, the right to inviolability of a work, and the right to make it public. They cannot be alienated in any way. Any contract for the transfer of these copyrights will be declared null and void under current law. You can transfer only the property right to the software, which is otherwise called the exclusive right. In addition, if you have the exclusive right or received permission from the copyright holder, then you can sell software licenses.

- If I transferred property (exclusive) law, then how are personal non-property realized?


Suppose you have signed an agreement and a stack of papers (more about them later), which indicate that you have developed something on the instructions of the employer, created a work - a computer program - and immediately transfer the exclusive right to it. That is, they wrote a code, and now the employer can dispose of it. But at the same time, you retain non-property rights: you can tell everyone that you wrote this code, you can ensure that your work is signed somewhere in the program (at least in the wilds, but so that you can see it), and you can to say that if someone added their dirty bug to your beautiful code, then this is not your code. Because yours and only yours is in a completely unchanged beautiful pristine state.

What happens if someone writes a new one based on your code? About this - a little later.

The important thing is that if you suddenly want to transfer the right to a name, you cannot do this.

Personal non-property rights are protected indefinitely, and the exclusive right is 70 years (plus the time until January 1 of the following year) from the moment of the death of the last co-author. During these 70 years, when you are already dead, any person can protect your interests: he can go to court and say that your rights are violated. Then the attacker will be punished.

- Does this mean that you can use the code in the portfolio?


No, if you do not have the exclusive right to a code or licenses for such use, then you can only speak publicly that you wrote it, but not demonstrate this code itself.

- Is it possible to use the code without specifying the name of the author?


Yes. The right to a name means that the author may require attribution and requires this by default. But in principle, you can allow not to sign your code. In practice, this often happens when transferring a code to an employer, when transferring photos to various publications, and so on.

- Who are the co-authors? Is my team leader co-author?


The author is considered only the person who wrote the code with his own hand. If someone helped to create a work, but did not write, this is not the author. Only technical, consulting, material, organizational assistance does not help these contributors to become authors of the work. That is, if you were given materials for writing code (not another code, but, for example, a development environment, laptop, chair and table), if you were advised on the code or set tasks (even in great detail), but did not change anything in it, - the author is still only you. This is directly related to the review: if you gave your code to the team lead review, and he only explained to you where you are deeply wrong, then he is not the author. But if he began to make changes to the code, then he becomes a co-author. And the degree of your participation with him from a legal point of view becomes conditionally the same: it is believedthat the finished work could not have appeared without the efforts of each of you, even if the amount of work was very different. True, such a rule is valid only by default. So, if you do not like such leveling, you can conclude an agreement with the co-authors about otherwise.

It is important to understand that co-authorship can only be talked about when several people write the same version of the same program. If someone changes the finished software that you already wrote earlier, then you do not become co-authors, because you are the authors of two different programs (more on this below).

By the way, if the code for you was written not by a person, but by AI, you may have problems with recognizing any rights to such a code at all. Our state (and not only ours) has not yet decided unambiguously how to relate to the generated codes. Let us hope that in the near future the situation will become clearer.

- How is the code quantized? If everyone wrote a separate function, and then a large application turned out, are we the authors of individual works or one general?


Here everything depends on what will be recognized as a work: all together will be considered a single work or individual parts will be recognized as different software. In practice, this depends on many things, including the task that the employer poses. Most often we are talking about a complete work, that is, all the developers of the first version will eventually be co-authors. But it must be borne in mind that even in this case, one of the co-authors can use the part written by him personally at his discretion, if this part has independent significance.

With the next software versions the situation is a bit more interesting.

- What happens if someone wrote a new one based on my code?


There are related rights, this is when the great composer Johann Sebastian Bach wrote music, and Ivan Pupkin performed it in a garage on skewers and a pan lid. In this case, individual Bach has the right to music, and individual Ivan has the right to an adjacent work, that is, foreign music in his unique authorial performance on skewers and a lid. But, as you understand, this is not particularly relevant to our FAQ, because we are discussing precisely software changes.

If any changes are made to your code by another developer, a derivative work is obtained. To create a derivative work, you must have the exclusive right to the work that underlies, or to obtain the right to process the original work by purchasing the appropriate license. You can also freely process software in the public domain.

After making changes to the works, two become: the old and the newly created new - derivative - work. This creates one interesting feature of protecting the rights of developers, about which we will talk below.

- Who is the copyright holder?


The copyright holder is the one who has the exclusive right. If the author can be only an individual, then the right holder can be anyone: an individual, a legal entity, a subject of the Federation, or a country in general.

The exclusive right to a computer program is the ability to use the software and the code for it in any way imaginable.

Sometimes the copyright holder is also called the one who uses the work under license, but from the point of view of the Civil Code, the term "copyright holder" refers only to the owner of exclusive rights.

You can conclude a license agreement with the copyright holder in order to be able to use the work in some specific ways in a certain region and for a period of time.

- Does the existence of an employment contract mean that all my code belongs to the employer?


No, an employment contract is not enough. In an employment relationship, the employer must have to prove that the employee has created the work in the framework of his labor function in order to have his exclusive right.

And then begins a chain of documents that need to be drawn up for the correct transfer of exclusive rights to the employer. But even if you go through it to the end and get covered with papers according to all the rules, this does not guarantee 100% that the court will side with the employer. As well as there is no unconditional guarantee that if nothing is done at all, the court will side with the employee. The issue of proper design is a matter of reducing risks. Let's just say, in my estimation, you can be 99% sure that everything will be in order if everything is done to the end.

But the presence in the employment contract of the phrase that “the exclusive right to official works arises from the employer”, so far gives nothing to the employer at all.

- If there is an employment contract, where is the position indicated - programmer?


Already a little more chances, but they are still low, because it is not indicated what exactly you are doing. Perhaps you were hired to write the code for the ICS, and you wrote the code to control the video camera in the office of the chief secretary. If the employer did not directly set such a task for you, then it was a hobby, not a work activity.

- OK, but an employment contract with a job plus job responsibilities?


No, because it does not indicate which code and for which TK you should write. For example, if you were the admin and wrote the code for some kind of automation, this does not mean at all that you should have done it: from the point of view of the law, this is like bringing a device assembled with your own hands at home and using it at work. Very simplifying, of course.

- And then what is needed?


  1. An employment contract indicating the position.
  2. Job description indicating that you must, among other things, create official works - computer programs.
  3. , - . ( , , ), , , . , « - », , ( ), , « », .
  4. . : - - , .
  5. -, . .
  6. It would also be nice to adopt some kind of regulation in the company, in which this entire chain will be described in detail.

The more points the employer fulfills, the more likely it is that in court the computer program will be recognized as belonging to him.

- And what, all the while rushing about with papers?


Yes. We, for example, rush. And you are recommended at least for the first versions.

- Why for the first versions?


Because I promised one interesting feature of derivative works. Remember that any (or almost any) change in the code creates a new object - a derivative work? Do you remember that for this you need to have a property right or a license with the right to process the source software? Well, if an employee dopilil or used some code in his program, and then he had friction with the employer, then the employee will have to prove that he had the right to modify the original work. If for the first time all the papers were correctly executed, then there is not much chance that he will be recognized for the right to freely use all of the following versions.

That is, if a company has been doing the same program for five years, then for each change (which is smaller than the release and smaller than the sprint), you need to make a set of papers with acceptance and transfer certificates and that’s all for that. Regardless of whether the feature went into release or not. But sometimes they don’t bother with this after the appearance of the first finished work, because in court the developer will need to explain that he did not steal the original code.

- If this is not an employment contract, but a GPC agreement?


A GPC agreement is a civil contract. As a rule, we are talking about a contract and a contract of copyright order (two in one). If your contractor is not a “physicist”, but an organization, then the article will be applied not about the contract of author’s order, but about the work created by order. Almost the same, but there are nuances. When you order a work from a freelancer or contractor, you need to sign a similar set of documents. True, some will have slightly different names: GPC instead of an employment contract, TK instead of a job. The job description, of course, is not needed at all, the report is also not needed. As with labor: there is no 100% guarantee that the court will take sides on one side, since there can always be some pitfalls. But you can reduce your risks to almost zero.

With obtaining rights from the contractor, there is one more important point: you need to make sure that the contractor himself has obtained the rights from his employees. That is, ideally, you need to request the entire set of documents from the list above. It is likely that they will not be presented to you just like that, so it will not hurt to spell out the contractor’s corresponding duty in the contract at the time of conclusion.

If the contractor did not formalize the transfer of rights from the workers to himself, then he cannot transfer these rights to you (since he did not have them). You can continue to sue him for losses, but you will not get the rights to the code. This can be revealed at any time during the life of the developer and another 70+ years.

- If I work in the company from 10:00 to 18:00, and write an open source project at home, where are what rights?


Everything that is not related to the job assignment is yours. Let me remind you that according to the law, the developer almost does not need to prove his rights to the work, on the contrary, the employer needs to prove the correct transfer of rights from the employee. In the described situation, most likely, the rights to official works are somehow formalized, therefore at work you make a code for transferring property rights to the employer, and at home - your own.

- If I do this on a working computer?


In most cases, it doesn’t matter what and where you did. You can commit in the open source during working hours from a working computer, you can write your own projects. Since the employer did not set such a task for you, questions about the rights to the code will not arise. There will be questions about what you do during working hours. But evacuation from official duties (and this is it) does not create the right to what was done during this evacuation.

I also heard about such a legal life hack: employers prescribe that storing the code on the workstation, which is the property of the employer, is equivalent to accepting the transfer of rights to this code. But, in my opinion, its effectiveness raises questions.

- If I transferred exclusive property rights to public use, can I create a derivative work?


Yes, you certainly can. Although the possibility of free transfer of their software to the public domain under Russian law is at least controversial.

- So, I have more questions ...


Ask questions in the comments or email earkhipov@croc.ru.

Separately, I note that we often see "victims of digitalization" to whom contractors incorrectly transmit the code. Here in the post of my colleague there are several life examples of what size the damage can be.

All Articles