
Foreword
I am a second year undergraduate student of the SKFU of the Institute of Mathematics and Natural Sciences in the specialty Applied Mathematics and Mathematical Modeling. It so happened that the topics of coursework and subsequent master's work were devoted to the project, which I have been doing for more than 7 years - the operating system ReactOS. In this regard, I believe that the final material should not just gather dust on a disk or shelf and should be published. Just want to warn you that:
- I never purposefully received a law degree;
- the text may contain excessive quoting (up to borrowing), some factual, semantic, punctuation, and spelling errors contrary to my desire to correct them;
- For the reasons mentioned above, I cannot call my work close to the ideal.
For a more convenient reading, I suggest downloading the
full version of the work in PDF or ...
... welcome under cat.
INTRODUCTION
The purpose of this work is to study the legal aspects of developing an operating system ReactOS.
Any operating system as an object of law should be viewed from different angles: as a complex product - combining the results of several different types of intellectual labor; as software developed and distributed under a specific license.
')
Any complex software product, as a rule, has in its supply package means of individualization and identification of the manufacturer (logos, trade and / or service marks, brand names, presentation), fonts, graphic works (icons, wallpapers, other images), audio works (sounds, notifications, musical works), object and, in some cases, source program code. Each of these components is subject to varying degrees of legal protection in accordance with international agreements and state laws. There are three areas of right protection: the protection of means of individualization, the protection of copyright and related rights and patent law. The main starting point for their application is the definition of the state (ie, jurisdiction), the legislation of which will regulate the process of developing and distributing software.
The main organization managing the development of the project is the Reactos Foundation. The Reaktos Foundation was established on June 5, 2002 and is registered in the Russian Federation as a non-profit organization in accordance with its legislation. The Fund operates in accordance with the guidelines of the Charter of the Reactos Foundation and is engaged in supporting the project, assisting in the development of ReactOS and various subprojects within its competence. In addition, the Fund deals with issues of trademark management, financing, and other legal issues. There is also ReactOS Deutschland eV, which is a non-profit organization registered in Rheda-Wiedenbruck, Germany on January 24, 2009. She is responsible for accepting donations from residents of the Americas, the European Union, and also deals with several other organizational issues.
Due to the above-mentioned circumstances of territorial and state registration, the ReactOS project in its activity is primarily focused on the legislation of the Russian Federation and the European Union. At the same time, declaring international status, the project respects the laws of other states and makes reasonable efforts to avoid potential conflicts.
1. QUESTIONS OF TRADEMARKS, SUBMISSIONS, LOGOS.
The ReactOS project seeks to respect other people's trademarks, and also takes measures to ensure the protection of its brands. The project’s trademark policy is as follows:
1. The safety of the brand ReactOS must be maintained at all times. Developers should use the ReactOS brand carefully, and always ensure that the mark is present after the first use in any published material.
2. Any participant in the project writing such published materials as documentation, news articles, website content, etc., should take all necessary measures to protect other people's signs by indicating the appropriate marks (s) when using this sign for the first time.
3. Use of similar trade and service marks, logos. The provision on the non-use of similar trademarks and service marks prohibits the use of “famous” marks or well-known trademarks that can be confused with another well-known mark. ReactOS uses only one brand, directly the ReactOS brand, and does not raise any questions about the use of any other trademarks.
4. Trade dress (Trade dress in the USA and India, Passing off in the UK). A trade dress is a product design style that is protected by the laws of individual countries on a par with trademarks. The most famous examples are the Coca-Cola bottle and the user interface of an Apple Macintosh computer. Respect for the marketability of other products is a project policy. Currently, the project is not aware of any conflicts with the presentation of other products. Developers continue to make efforts so that ReactOS has its own style, different from other products, which will allow to avoid problems with someone else’s presentation.
2. QUESTIONS OF COPYRIGHT
Programs and databases are protected by copyright. This gives the specific implementation of the program legal protection against unauthorized use. In most countries of the world, the term of such protection is 70 years from the date of the author’s death.
Under Russian law, software rights are protected in the same way as copyrights to works of literature. However, in contrast to literary works, the state has provided an additional means of protection with respect to the computer program - registration with the federal executive body on intellectual property (Rospatent).
The state registration of computer programs and databases in Russia is regulated by article 1262 of the Civil Code of the Russian Federation.
2.1 Certificate of official registration of the program in the Russian Federation for computers
The goals achieved by state registration are to create one of the proofs of ownership of rights to a specific person and deposit materials. The proof is based only on the opinion of the applicant, which is not confirmed either by experts, or even by third parties. Therefore, the certificate of state registration of the computer program itself is not a title deed.
However, the data specified in the certificate of registration, pass only a technical check on the availability of the necessary documents and materials, their compliance with the requirements for registration, and are not checked on the merits. Rospatent does not check whether the program is working and whether the code being registered is the source code of the program at all.
The information entered in the Register of computer programs is considered reliable, because nothing else has been proven (clause 6 of Article 1262 of the Civil Code of the Russian Federation). This provision corresponds to the general presumption of authorship - the author is considered to be the person indicated as the author on the original or copy of the work, unless otherwise proved (art. 1257 of the Civil Code of the Russian Federation) and, therefore, adds nothing to protection.
Rospatent is not responsible for the information that he enters in the certificate. It does not even violate the rights of the author, if he introduces false information, because The certificate itself is not a normative act and cannot be challenged in itself. In the event that a proper author proves his authorship in court, Rospatent, on the basis of a court decision, will have to make changes to the Registry.
2.2 Copyright ReactOS
The ReactOS project develops and distributes most of the source and object code under the second version of the GNU GPL license (General Public License). Each project developer receives copyright in the source code being developed, but irrevocably licenses the code under the GPL license for use in the ReactOS project.
Some parts of ReactOS may have other licenses representing large vaults, including the BSD, the GNU Lesser GPL, or may be transferred to the public domain. Usually this is allowed only when it is necessary to ensure compatibility with other projects.
The GNU GPL free software license, created under the GNU project, its second version was released in 1991. The license was developed and maintained by the Free Software Foundation (FSF), registered in Boston, Massachusetts, USA. The license allows the free use, modification, copying of source codes of software products that fall under its scope (including for commercial purposes). If they are used in their development and distribution of a derived object code, the developer is obliged to provide the source codes of derivative products on demand and to license them under the same license.
World judicial practice has confirmed the legitimate status of the GNU GPL license during the trials of SCO against IBM, SCO against Novell, Red Hat against SCO.
An analysis of the provisions of the GNU GPL license shows that this document is a mixed-type agreement, combining the provisions of the author's agreement and the contract of sale.
The GPL, like the EULA (end-user license agreement - “end user license agreement, the agreement between the owner of a computer program and the user of its copy, the most typical example of such licensing is Microsoft Windows), can be described using legal concepts of Russian civil law. In accordance with the provisions of the Civil Code of the Russian Federation, the GPL is a contract of accession, the terms of which are determined by one of the parties in a standard form and can be accepted by the other party only by joining the proposed contract as a whole. The moment of entry into force of the GPL for the user is clearly indicated in the license: if the user made changes or distributed copies of software licensed under the GPL, he thereby confirmed his adherence to the license as a whole, including the conditions governing copying, distribution and modification.
For example, the EULA takes effect and becomes mandatory for the user if he has opened the packaging of the software product or installed the software on his computer. This way of expressing the intention to conclude an agreement is described in civil law manuals a lot of times and is called in the legal theory “impartial actions”, that is, actions expressing the person’s will to conclude a deal, but not in the form of an oral or written will, but with behavior make a conclusion about such an intention.
The principal difference between the GPL and the EULA is to prohibit the EULA from taking a number of actions (copy, distribute and modify), while the GPL allows and encourages them under certain minimum conditions.
In general, on the basis of articles 421, 432 of the first part and articles 1235, 1236, 1270, 1286 of the fourth part of the Civil Code of the Russian Federation and the letter of the Ministry of Economic Development of the Russian Federation of 05.05.2009 N D05-2235, it can be concluded that the use of free software subject to the corresponding the GNU GPL version of the license conforms to the requirements of the Russian legislation on copyright and is legitimate.
However, the application of the GPL in Russia may experience some difficulties, which are divided into two blocks. The first ones are in the field of private international law (civil law relations with the participation of foreign persons or civil law relations complicated by another foreign element. Art. 1186 of the third part of the Civil Code of the Russian Federation), and are also related to differences in copyright legislation of Russia and the United States. The latter are more practical in nature - in particular, it is a question of the status of the Russian translation of the GPL, which can be essential in protecting the interests of free software developers in court.
Therefore, unlike in the United States, in Russia, electronic channels for distributing the distribution of an operating system licensed under the GNU GPL must be complemented by the distribution of this operating system on a tangible medium, accompanied by the original printed text of the license in English, as well as one of its recommended unofficial translations into Russian tongue. At the same time, in case of discrepancies in the texts in the Russian and English languages, the text in English will prevail.
By the order of Rosstandart dated December 6, 2011 N 718-st was approved and put into effect on January 1, 2012 GOST R 54593-2011. The standard applies to free software.
GOST R 54593-2011 establishes general provisions in the field of creation, distribution and use of free software, including for state and municipal needs.
This standard is also intended for use by organizations, enterprises and other subjects of scientific and economic activity, regardless of the form of ownership and subordination, as well as by the state authorities of the Russian Federation at all stages of the free software life cycle.
The paper outlines the merits of introducing free software in corporations and the public sector. Key terms are defined for open, free, and proprietary software, open standards, protocols, and specifications. Presents the goals, objectives, classification and criteria of free software, as well as, should include the infrastructure for developing and using open source software.
For example, security, reliability, financial attractiveness, ensuring technological independence of development, avoiding being tied to a specific manufacturer, independence in choosing a hardware platform, low initial equipment cost, early detection of software defects and the possibility of their quick fix are mentioned as advantages of open source software. the absence of a mandatory fee for the right to use products, stimulating the development of the domestic program development industry, Opportunities for the participation of domestic developers in the performance of work and the provision of services for state and municipal needs. GNU / Linux distributions, Apache http server, OpenOffice.org, Firefox and FreeBSD are noted as examples of successful free applications. Mention the successful experience of the use of open source software in government institutions in France, Brazil, Spain and China.
However, it is worth noting that in the Russian Federation, the federal law on technical regulation No. 184- of December 27, 2002 separates the concepts of "technical regulation" and "standard", therefore, all standards should lose their binding nature and be applied voluntarily.
2.3 ReactOS Exceptions to Licenses Related Binary Products
The GNU GPL generally prohibits the combination of non-free software with software licensed under the GPL, such as ReactOS. Despite this (as well as with respect to other similar policies), the official position of the ReactOS project regarding linking with non-free modules is as follows: ReactOS can be used and distributed with non-free software, such as commercial device drivers and commercial applications. This exception does not supersede any other licensee obligations under the GPL.
This exception is considered by the project as a compromise. We do not encourage the use of proprietary software on ethical principles. We urge the use of equipment that does not require the use of non-free software for normal operation, and we support and recommend companies that provide free drivers, software and tools. In addition, the project encourages developers to continue creating free drivers for hardware devices for which only non-free drivers currently exist.
2.4 Copyright owned by third parties
The ReactOS project is dependent on copyright laws in protecting its code, and, at the same time, it respects other people's copyrights.
The following are the copyright policies of the ReactOS project.
Copying third-party software code is absolutely not permissible, unless the copied code is in the public domain or distributed under a free software license, allowing its combination with a program under the GPL license, such as ReactOS (that is, GPL-compatible code) . You should always assume that a license is missing, unless it is explicitly granted.
Source code with non-free licenses cannot be included with ReactOS. This includes header files, support files, and source code files. This code can be used to study, however, it is assumed that the student has a license to own this code. For example, in the case of the absence of explicit agreements, as well as with a valid license, it is possible to study and learn with examples of non-free code.
A significant side effect of a non-free license is the impossibility of copying and pasting code from a non-free system into ReactOS. In addition, simply re-typing an existing code is copying and is copyright infringement. To create code that works similarly to the existing code sample, the developer is allowed to reverse engineer the program to study and understand the existing code, taking into account the licensing conditions. The developer, however, must create a new code from scratch, based on the generalized knowledge obtained by him.
Developers are advised NOT to try to copy non-free code writing style. Although the style of writing may not fall under copyright, however, the style of writing free code, similar or completely identical to the style of writing non-free code, causes distrust of this new code.
Comments from the source code are also subject to copyright, and they can NOT be copied, even to a completely different original work, except in cases of fair use.
The source code obtained under a non-disclosure agreement (NDA) is a special case that requires an examination of the non-disclosure agreement itself. Before using the knowledge gained from studying such a code, you should discuss the specifics of the non-disclosure agreement with the administrators of the ReactOS project.
In any case, the ReactOS project requires its members to adhere to the license terms of all software used in the development of ReactOS. The preferred strategy is to completely avoid the use of any non-free licenses.
Fair use. The copyrighted materials carry with them certain irrevocable rights to fair use. One of these is the right to study copyrighted work for educational purposes. That is why outsiders, not protected by a non-disclosure agreement, development kits are being studied so that project participants can create compatible software.
Reverse engineering. Many non-free software packages contain in their licenses items that prohibit their reverse development. The creators of the ReactOS project are of the view that these licensing restrictions only apply to the extent that they prohibit the intentional conversion of the object code into the corresponding source code with a subsequent statement of ownership of this source code. Reverse engineering in the part that takes place every time a developer tracks (traces) code in the operating system kernel using a debugger in order to find problems with his code is a valid fair use. Any source code directly obtained through reverse engineering should be treated in the same way as any other non-free source code — useful for studying and understanding the system, but not allowed for inclusion into ReactOS.
Disassembling object code is considered a form of reverse engineering. Listings of the disassembled code have the same licensing restrictions as the object code itself.
Tainted Developers. There is a legal theory, which is sometimes expressed in the performance of work similar to those already published earlier and protected by copyright. There is a fear that if the creators of the new work have seen the original work, they will not be able to create such a work without infringing the copyright of the original. The position of the project is that this theory is invalid for a number of reasons. As a rule, there is no reason why a developer who has seen non-free code cannot write code for ReactOS, which is similar only from the point of view of the general logic of work.
Project coordinators make every effort to ensure that the code base meets the requirements of all copyrights and licenses throughout the code that is part of the system. However, due to the size and complexity of the system, it is impossible to guarantee that such a violation will never occur. The project website contains a special form for receiving complaints about such violations. Project coordinators undertake to immediately remove any code containing such violations from the code base after reporting such a violation, subject to the provision of relevant documentary evidence and a confirmatory analysis by the project administrator.
2.5 Development Tools
ReactOS requires several third-party SDKs for its development. Each of them presents unique legal issues. The following SDKs are used in the development of ReactOS:
- Microsoft Platform SDK (including its associated SDK and SDK components): This SDK is located at
www.microsoft.com/msdownload/platformsdk/sdkupdate . It contains header files, libraries, documentation and other support files, as well as sample source code for programs that illustrate the use of the API defined in the SDK. This is the main development tool used to create third-party software that runs on Microsoft operating systems and is compatible with them.
- Microsoft Driver Development Kit (DDK): a special SDK designed for developing kernel-mode software (including device drivers).
- Microsoft Installable File system Kit (IFS): A special-purpose SDK for developing specific kernel-mode components known as file systems. This kit is distributed under a limited license and costs approximately $ 1000.
SDK license restrictions. Some of the SDKs that project participants often use are distributed under non-free licenses. Some of these licenses include various restrictions on the use of software developed using this SDK. In particular, Microsoft has imposed restrictions on which operating systems drivers created using their DDK can be used on. These restrictions apply only to those drivers that directly include the header or library files provided by Microsoft in the form of object or source code. However, such restrictions are not valid in relation to the documentation that comes with these SDKs, and source codes (in particular, header files) can be accessed for the purpose of studying them and ensuring compatibility, as mentioned above.
The ReactOS project takes the view that some components of these SDKs are not covered by copyright. The project considers that the names of symbolic constants, types of data structures, etc., are not copyrighted material, as they are functional elements and do not include creative expression. Therefore, the project advocates the position that developers can name their own corresponding data structures, declared constants, listed types, etc. similar to those found in copyrighted works.
In addition, the names of the data structures and components must be identical to ensure compatibility with extraneous object code, and, therefore, are similar to those found in the Microsoft SDK.
In order to achieve full compatibility of ReactOS with Windows, the data structures in ReactOS should correspond exactly to those expected by third-party software. , , ReactOS () , , SDK.
3.
() . , , ( 20 ) , , .
, « » ( , , «software patent»), . « » , , « » (computational idea patents).
, .
« » . 52 , . .
, ReactOS, . , . , .
, - «, , » , , . , . , :
, ReactOS . , , ReactOS, , , , .
, ReactOS, . , ; , , , , , .
, , . , . , , , , , / , .
The project participants agree that they will not patent any new developments implemented jointly with ReactOS, or, alternatively, agree to transfer ownership of these patents to the ReactOS Foundation, or to provide a permanent, irrevocable, royalty-free license to anyone who would like to use the patented invention in conjunction with the ReactOS system or any derivative works of the system (in other words, something like “patent-left”).Developers who had access to the patented source code of third parties, which was originally a commercial secret (including, for example, leaked Microsoft Windows source code), are a special case. Copyright issues, as well as patent issues, are immutable, but any developer who receives a code after signing a non-disclosure agreement or otherwise does not have a license to own this code. Otherwise, there is a clear violation by the developer of a trade secret. Thus, this code is not suitable even for study. Refusing to accept help from developers who own or use any such proprietary third-party code in their development work for ReactOS is a project policy.Project coordinators undertake to immediately remove any code containing the implementation of patented inventions from the code base after reporting such a violation, subject to the provision of relevant documentary evidence and a confirmatory analysis by the project administrator. The project website contains a special form for receiving complaints about such violations.4. QUESTIONS OF COMMERCIAL SECRET, NON-DISCLOSURE AGREEMENTS.
, ReactOS , . , .
, , , . , ReactOS, , . . , , , .
Lack of trade secrets is a project policy. This means that project participants should not have access to trade secrets in the context of their work on ReactOS.ReactOS project participants may sometimes face the need to accept any non-disclosure agreements (NDA). Due to the fundamental incompatibility of the project and the concept of non-disclosure, the project does not endorse any non-disclosure agreements for any reason., . , , , , , IRC-, .. , , .
, , , , , .., . , , . «» . , , .
CONCLUSION
, – , , . «» . , , .. , . , , , . , , , , – GPL. .
A.
Application Programming Interface (API): , , , , .., . , API, . «API» , .
Software Development Kit (SDK): Software and documentation used to create computer programs that interact with the vendors of these SDKs. Typically, these kits include C header files, object code libraries, and various forms of documentation on how to use the kit, as well as detailed information about the programs that the kit is intended to support.Copyright (Copyright): A government-defined form of monopoly that protects creative expression, such as writing, audio and video recordings, songs, visual art, computer source code, etc. Copyright protects the literal expressions contained in the work, and not the ideas and concepts that work embodies. Copyright arises automatically in any work that is subject to copyright protection at the time when it is recorded in tangible form, including writing computer source code and, sometimes, object code.Library: A file with an object code containing frequently used software components. In the operating system, system libraries must be used by third-party software in order to “link” functions with the operating system so that the software can properly work on the operating system.Disassembler: Software used by developers to convert object code into human readable code in assembly language. Used by developers to make it easier to find and fix flaws in their software; In addition, a disassembler can be used to help developers better understand the system for which their product is intended. Disassembler can also be used to restore the source code in case of loss of its original.Device Driver ("Driver"): Software designed to directly or indirectly control hardware on behalf of the operating system. Sometimes also used to refer to any software designed to run as a plug-in directly in the kernel of the operating system. Drivers are usually at a very low level, and, after loading, become part of the operating system kernel. Basically, they are very closely related to the architecture of the operating system.Source code: Representation of computer programs in a programming language (for example, C or C ++). This term refers to a special form of software that is easily readable by humans and used to write and maintain software. The source code usually contains comments that help the reader understand the software. Also, the source code includes header files.Trade secrets: Information that is valuable to its owner (usually a company), and may damage the company's competitiveness in its disclosure, to protect which its owner takes decisive measures.Compiler: A software development tool that translates human-readable source code into object code for execution in the target environment.Logotype (from other Greek. Λόγος - word + τύπος - imprint): a graphic mark of a company name in the form of stylized letters and / or ideogram. Logos are widely used to depict trademarks and as emblems of legal entities.Non-free (proprietary) software: Software that is the private property of the authors or rights holders and does not meet the criteria for free software (there is not enough open source code).The copyright holder of proprietary software retains a monopoly on its use, copying and modification, in full or in significant points. Most commercial products still fall into this category.Public Domain: Work suitable for copyright protection may be transferred to the public domain with the explicit consent of the creator of the work. Once a work has been assigned to the public domain, it is not protected by any copyright and has no protection of any kind.Object code: The result of a compiler or other similar program designed to translate human-readable source code into a format suitable for execution in the target environment. Usually, this term denotes machine-language instructions that can be executed directly on a microprocessor. Object code is the opposite of source code, which is converted into object code (usually using a compiler).Operating system (OS): A special class of computer software designed to organize an environment that allows you to run basic programs. The operating system interacts directly with computer hardware, and provides a standardized set of services with which programs can interact. OS includes, for example, Microsoft Windows XP, GNU / Linux, and Apple Macintosh.Debugger: Software used by developers to facilitate fixing flaws in their software; In addition, the debugger can be used to help developers better understand the system for which their product is intended. Examples of debuggers are SoftICE from Compuware and WinDbg from Microsoft.: , . , , , , ..
: , - .
( ): , , Free Software Foundation (http://www.gnu.org). GNU General Public License (GPL) .
( ): , . , , .
: , C C++, .
, API, , . , , , , .
1. () 20 1996 [ ]. – URL:
www.wipo.int/treaties/ru/ip/wct/wct.html2. () [ ]. – URL:
www.rupto.ru/norm_doc/sod/norm_doc/mejd_doc/trips.html3. « » ( ) 18.12.2006 N 230-, 4 01.09.2013 [ ]. – URL:
www.consultant.ru/popular/gkrf4 , 1992-2013
4. 01 2012 № 54593-2011 « . . ».
5. 05.05.2009 N 05-2235 [ ]. – URL:
www.subschet.ru/subschet.nsf/docs/0C3E2997FDF34C30C32576220019BE2D.html6. GNU GENERAL PUBLIC LICENSE [ ]
jxself.org/translations/gpl-2.ru.shtml7. Richard Stallman. Giving the Software Field Protection from Patents (.). Free Software Foundation (2 February 2013) [ ]. – URL:
gnu.org/philosophy/limit-patent-effect.html8. “Fighting Computer Piracy: Responsibility for Violating Software Copyright and RF Laws on Protecting It,” legal review by Adobe Systems [Electronic resource]. - URL: www.adobereal.ru/legal/russian_legislation_on_copyright_protection_for_software.php#adobe_019. GNU General Public License. / "Analysis of" free "licenses for their applicability in the Russian legal system." Legal overview of the company Altlinuks. [Electronic resource]. - URL: www.altlinux.ru/media/otchet_dlia_publikacii/part4.html#mozTocId39195810. Legal overview of the operating system ReactOS [Electronic resource]. - URL: old.reactos.org/ru/dev_legalreview.html11. « GPL » «» №13 09 2002 [ ]. – URL:
old.computerra.ru/2002/438/1725712. « ?»,
habrahabr.ru/post/176101