Intellectual Property Rights of Linux compatible kernels (2)

Source: Internet
Author: User
Intellectual Property Rights of Linux compatible kernels (2)-Linux general technology-Linux programming and kernel information. For details, refer to the following section. In the first part of this article, I have made some explanations and discussions on whether Linux-compatible kernel development will infringe on Microsoft's intellectual property rights. The conclusion is: as long as we are careful, in general, the development of Linux and kernel capacity does not involve Microsoft's intellectual property rights. However, it is only compatible with the kernel itself. An operating system is not just a kernel, but also requires the participation of system software running in the user space to provide the necessary environment for the running of application software. Taking Linux as an example, in addition to the kernel, there must be at least a Shell and a dynamic Connection Library (in Unix/Linux terminology, it is called "shared object", that is, SO) the emergence of the C Runtime Library, but also the X11 graphical interface software that appears as a service process, and so on. So what kind of system software and dynamic Connection Library will be required for the compatible kernel? Will the use or development of these software infringe on Microsoft's intellectual property rights? The second part of this article will discuss this issue.

In principle, once compatible with the kernel, you only need to migrate all the application software, system software, and all the middleware systems on Windows, including the dynamic Connection Library, because these programs will see a Windows Kernel at runtime, or an equivalent kernel to Windows. At the same time, all device drivers that can be dynamically installed, that is, the. sys module, can also be copied and loaded into a compatible kernel for running. However, from a purely technical perspective, there is indeed a problem with intellectual property rights. For example, if you copy Microsoft's "Control Panel" or "Notepad" to a compatible kernel and use it, then Microsoft's copyright is obviously infringed, this is no different from using pirated software. Therefore, in fact, the intellectual property rights of user space software need to be taken seriously. We need to develop our strategy based on the specific analysis of these software. This analysis requires both static and dynamic.

Static analysis is to analyze the source of the software. The source of Windows user space software can be roughly divided into five types.

The first category is software developed and provided by a third party, including open source software. If you have bought these products or obtained them through other legal means, you certainly have the right to run them on compatible kernels. As long as it is not replicated or distributed, there is no intellectual property right problem.

The second type is developed and provided by Microsoft, but is provided to end users by a third party as a supporting software. For example, if a third-party software developer buys the development environment (Visual Studio) of MFC, the running of the application software developed in this environment depends on the Runtime Library of MFC. Developers can statically connect this library to their products, that is, the executable image of the application, or use the corresponding dynamic Connection Library. If a dynamic connection library is used, the dynamic connection library should be provided while delivering its products to users. Since the user has purchased the product from the product provider, he has obtained the right to use the corresponding dynamic Connection Library. Third-party software developers have the right to distribute dynamic MFC connection libraries to users when purchasing an MFC development environment from Microsoft. This is not a matter of infringement of Microsoft's copyright.

The third category is software developed by Microsoft and sold separately as products. For example, Microsoft's Office suite is like this. Office suites are not sold together with Windows operating systems. You can purchase them separately. Since a user buys an Office suite from Microsoft, this particular suite is the property of the user. Of course, the user can make it run on the compatible inner core, and there is no infringement here. Users may use similar products developed by a third party, such as OpenOffice, for some reason (for example, the price is low). This is the user's choice and has nothing to do with compatibility with the kernel. Whether OpenOffice or so involves Microsoft's intellectual property rights cannot be generalized and needs to be analyzed in detail. In general, the development of application software is more likely to involve some patents as "methods", so you need to be more careful. However, whether or not the specific application software infringes on intellectual property rights is not related to the compatible kernel. If the compatible Kernel provides a running platform for infringing application software, the Windows Kernel also provides such a platform, because pirated software can also run on the Windows kernel.

The fourth type is software developed by Microsoft and sold only with Windows operating systems. For example, Internet Browser IE. Such bundled sales are at least unreasonable. There are different opinions on whether the law is illegal. The United States and Europe often have litigation against Microsoft's bundled sales, and some people are promoting legislation on such bundled sales, because bundled sales have become a means of monopoly. Specifically in China, I think there should also be people to promote anti-bundle sales legislation, even if the United States cannot prohibit bundle sales at the moment, China can be ahead. However, in any case, it always takes a long time. When the law permits such bundled sales, since such software cannot be purchased from Microsoft alone, it has to be copied. As mentioned above, the imitation of application software is more likely to involve patents and should be carefully engaged. However, for Internet Explorer, neither ILA nor Firefox has heard of any suspicion of patent infringement.

The fifth category is software that is developed by Microsoft and should indeed be categorized into the operating system category and thus should be bundled with the operating system. In this regard, some "system DLL" on Windows, that is, the system dynamic Connection Library, are typical examples. Specifically, Windows has four dynamic connection libraries, namely DLL, which play a crucial role, namely user32.dll, gdi32.dll, kernel32.dll, and ntdll. dll. Without these DLL, applications on Windows cannot run. Broadly speaking, all the DLL values between the Win32 API interface and the kernel should be classified as such. In addition, some system tools, similar to those in the Linux system directory/bin and/sbin, should also be classified as such. Obviously, there are quite a few software in this category. Of course, these software cannot be separately purchased from Microsoft and can only be copied. In fact, the Wine project has copied most important Windows system DLL for the Linux kernel. Since it is a copy, as mentioned above, you should avoid patent involvement. Is there any suspicion of copying Wine projects? At least I have not heard of it. Here, Microsoft's lawsuit against Lindows in the past few years can be used as evidence. Lidows products are based on Wine, but Microsoft has reported that the word "Lindows" is too close to "Windows", so there is a possibility of unfair competition, however, we did not set a word for Wine. From this we can see that Microsoft does not consider Wine as infringing its copyright or patent.

To sum up, it is necessary to copy the fifth type of software and some fourth type of software. To put the compatible kernel into practical use, the fifth type of software is essential and must be copied. The fourth type of software is usually specific application software. In fact, most of such software already has counterfeit products, or open-source or third-party products that are not imitation but have similar functions.

It should also be noted that the above discussion applies not only to user space software, but also to device drivers that can dynamically mount the kernel. In the Window system, this is the device driver module suffixed with. sys. Similarly, the. sys module can be provided by Microsoft or a third party. The. sys module provided by Microsoft should be regarded as part of the Windows operating system and should be classified into the fifth category. In other words, if necessary, the. sys module provided by Microsoft must be copied to avoid copyright issues. As a matter of imitation, we need to pay attention to the patent issue.

This is a static analysis, a dynamic analysis, or a control flow analysis during application software running.

We know that the interface between the application software and the Windows operating system is W32 API. Once the application software calls a function of the W32 API, the control will flow out of the application. However, in general, the control does not flow into the kernel at this time, because W32 API is not a Windows Kernel System Call interface. In fact, there are always some DLL between these two interfaces. These DLL are called system DLL. Control must flow through one or more system DLL to enter the kernel through the system call interface. Sometimes it doesn't go into the kernel, but it just goes back to the application after these DLL links.

If you enter the kernel, you can divide it into two categories based on the control flow track.

One is to exit the kernel, return to the DLL, and then exit the DLL, and return to the original application after the kernel has been switched around. Throughout this process, the control flow remains in the same process (excluding process scheduling unrelated to this control flow), but flows vertically in the "depth. The purpose of the control flow entry into the kernel is to complete some substantive operations. Most applications, especially those in traditional models, belong to this category. Obviously, for this type of control flow, the intermediate DLL is the only way to go, so these DLL are system DLL provided by Microsoft, which belongs to the fifth category above and must be copied, in fact, Wine has been copied.

Another type is to take the initiative to schedule and switch processes after the kernel has been transitioned to another process, that is, the "service process", according to the predefined requirements ". Then, after the service process is invited to complete some substantive operations, the control flow enters the kernel again, process scheduling and switching occurs, and finally returns to the original application. Obviously, this is the C/S mode. In this mode, the customer's process control flow enters the kernel only for inter-process communication, and substantive operations are completed by the service process, although these substantial operations may eventually be completed by the Service Process in the kernel through some system calls. In this mode, the control flow is not only vertical flow, but also "horizontal" flow. In this way, not only the system DLL is the only way to go, but also the service process is essential. Therefore, it is a problem who provides the software executed by the service process. If it is provided by a third-party software vendor, of course there is no problem. If it is provided by Microsoft, it depends on whether it is bound with the kernel. If it is bound, it can only be copied, And the imitation should pay attention to the patent issue.

To sum up, in terms of software outside the kernel itself, the method to avoid infringement of Microsoft's copyright is imitation, And the imitation should be careful, so as to avoid infringement of patents, especially "method" patents. To this end, we need someone to focus on and study patents in computer technology in major countries and regions such as the United States and Europe. Of course, what's more important is Chinese patents, because our future users are mainly in China.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.