Some knowledge about the GPL

Source: Internet
Author: User

1. What is the GPL

GPL License Agreement (GNU General public License): As long as the software contains products or code with other GPL agreements, the software must also be licensed under the GPL and open source and free of charge. Has the following characteristics:

Copy free : Allows the software to be copied to anyone's computer without limiting the number of copies.

Freedom of communication : it is allowed to spread in various forms.

charge spread : Allow the software to be sold in a variety of media, but it is necessary to let the buyer know in advance that the software is free of charge and explain the rationale for the charges (in general, it is possible to provide users with some kind of service in the form of technical services).

freedom to modify : Allows developers to add or remove functionality from the software, but must remain licensed under the GPL license agreement. In a word, the amendment must be authorized by the GPL to release the source.

Several core issues of 2.GPL

The GNU general Public License is a "Copyleft" form of "copyright" that guarantees the right of any person to use, modify, and republish the GPL-licensed products and their derivative products, without modification of the terms of publication. What do you mean, derivative products (Derived work) of any GPL-licensed product must be published under the GPL agreement? The core of the problem, however, is what is derived from the Linux kernel, which has several deadly problems that the industry has debated for more than ten years.
1, using the Linux kernel header file definition, the system calls the program will be classified as derivative products?
2. Are the programs that link the use of other GPL-like libraries classified as derivative products?
3. Will the Linux kernel dynamically load modules LKM (Loadable Kernel Modules) be classified as derivative products, and the Linux drivers developed in LKM form are not derivative products?

The first problem: once by the author of the Linux kernel Linus Torvalds and the kernel developers have repeatedly clarified that the normal system calls are non-GPL scope, and even cured in the Linux kernel source code COPYING document, for the Linux user space program using non-GPL The licensing license lays the foundation.

The second question: The answer is a derivative product. Including source code contains, static link and dynamic link three kinds of cases.

The third question: The answer is a derivative product.

3.Android is how to circumvent the GPL

Includes two aspects: drive and GLIBC

First of all, GLIBC,GLIBC is the mainstream C runtime library on Linux, and almost every Linux program has a dependent C runtime library. Since GLIBC is licensed under the GPL, if GLIBC is used as a CRT, these programs must be open source in accordance with the second article of the aforementioned question. So Android uses Bionic as the C run-time library instead of glibc to circumvent the GPL.

Besides the driver, Android is based on the Linux kernel and the Linux kernel is licensed under the GPL. The traditional driver is to be added to the kernel as a kernel module. In accordance with the third problem mentioned above, kernel modules are derived from the Linux kernel and are subject to the GPL open source release. Android is a joint effort by the Open Mobile Alliance to protect the interests of handset makers in the alliance, and drivers cannot be fully open source. So Android introduced Hal and opened a backdoor to the Linux kernel, adding some system calls. Hal in the kernel part according to the requirements of the GPL open source. Driver developers can use these new system calls to complete driver development in User Configuration. Thereby avoiding the GPL in terms of drive.

Some knowledge about the GPL

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.