Your / mine / our code

    A colleague once asked: “And who legally owns the code that the developer writes?” After finding out from the lawyers all the subtleties of the rights to the code, I decided to share the knowledge gained. First of all, let's look at the simplest question: who legally owns the code that the developer writes at work? So, according to paragraph 2 of Art. 1295 of the Civil Code of the Russian Federation: the employer is the copyright holder of the program developed by the employee. The employee (author) is not entitled to dispose of the results of intellectual activity capable of legal protection created during the period of work in the company and the performance of his labor duties.



     We translate from the legal language into the regular language: the code that you wrote during working hours, on the work computer, for a specific project belongs to the employer. The company receives the code, you receive the salary. In the future, the company transfers the project to the customer (if any), and who already in this case owns what you wrote with your colleagues decides the contract between the two legal entities. But that's another story.

    Let's say your team wrote an excellent project, it was put into operation, and you switched to a new one, but very similar to the previous one. Here the question involuntarily arises: should not the old developments be used? The fact is that at the legislative level there are no exact instructions and explanations on this issue, and the border here is very thin and foggy. Therefore, the old developments must be modified so that it can be easily proved that the rights of the previous customer are not violated, and the project that he paid for is not transferred to another company. Fortunately, each project is unique, and most likely, transferring the old idea to a new project, you will have another program. But still, there are cases of “copy-paste”, and we will tell 2 stories.

    Example


    The A development team wrote a program, Starry Sky. Then one of the developers moved to B, where he became one of the authors of the Night Sky program. Somehow (now no matter how) “A” found out about the “Night Sky” program and sued “B” for the theft of intellectual property (and, of course, asked for compensation). The court ordered an examination of fragments of the source codes “Starry Sky” and “Night Sky”. As a result, it turned out that the programs differ in two lines in the name of the registry branch for storing settings that determine the functioning of the program, and instead of:

    \ Software \ Company_A \
    starry sky \ Alerts there was: \ Software \ Company_B \ night sky \ Alerts.

    What ended the case is easy to guess.

    Second story


    3 developers of the company “E” wrote a software package for enterprise automation and even registered it in the State Register of Programs. But then they had a conflict with the employer, and they moved to the company “D”, where they wrote the Automation System for enterprises engaged in commercial activities. She was also registered in the registry. At some point, “E” found out about the “D” program and filed a lawsuit. An examination by the court revealed that the enterprise automation system “D” is the result of processing, and not a unique program. As a result, the court granted the lawsuit, forbade D to use the program and imposed a fine.

    * The stories are taken from real legal practice, however, for the peace of these companies, all names are changed to conditional.


    Consider a different program rights situation. You write the code for yourself at home and publish it on GitHub. After some time, you realize that your work fits in perfectly with the project. Is it possible to use a personal code on a project, how to do it correctly, and to whom will it belong?

    If your personal development was created to meet the requirements of a particular customer during the period when you worked on his project, then it will be recognized as an official task (according to Article 1295 of the Civil Code of the Russian Federation). This means that the rights to the code belong to the employer, even if you did it in your free time and posted it on OpenSource. If your development is in no way tied to a specific project, you did it on a personal computer and published it on OpenSource, then it “gets” an open license, and then you are its full owner.

    Often, customers restrict or completely prohibit the use of such developments on a project. In this case, by agreement with the customer, the option of alienating the rights to such a program in favor of the employer with its subsequent removal from public access is possible This will mean that you transferred the rights to the program to your employer or customer. If there is no such restriction, then you can offer to draw up a license agreement with the company for the use of your developments on the project. But the customer must be notified of the use of such a program. Either as part of the reporting documentation, or in the text of the program itself, a license agreement must be enclosed with an open license or a link to it. If this is not done, to understand whether the developer’s library is used on the project, or whether the developer “stole” the customer’s code, is difficult from a legal point of view, and the case may go to court for intellectual property rights.

    So far, Russian judicial practice does not know claims in cases related to OpenSource, possibly because article 1286.1 of the Civil Code of the Russian Federation on open licenses appeared in our country only in March 2014.

    3 simple conclusions


    • The code that is written for a specific project belongs to this project. But the idea of ​​the program is not. But confuse these two concepts is not worth it.

    • Before using OpenSource programs on a project, find out how the customer relates to them.

    • We all copy small pieces of code when you need to replace only one character, but copying whole large fragments creates a large amount of similar code, the same fragments have to be manually changed, at the risk of missing something. So copy-paste, on the contrary, can only complicate things and add errors.

    Thanks for attention!

    Also popular now: