GPL, BSD, Apache introduction and the difference between the three and the relationship between Android and them

Source: Internet
Author: User

First, the GPL

To explain the GPL, be sure to say something about GNU.

GNU: is the recursive abbreviation for "GNU is not Unix". Its goal is to create a completely free operating system, but for technical or other reasons, the GNU organization provides only some of the software that is running on Unix:gcc, vi.

GPL: is the abbreviation of general Public License. Also the terms of the agreement contained in the GNU. The GPL is the GNU's attempt to ensure that you are free to share and modify free software-ensuring that free software is free to all users. Software that is protected by the GPL must expose all code that is modified or added to the source program, as long as the user develops or fixes the bug two times.


1 . Ensure that the software is published in open source form from start to finish, protecting development results from theft for commercial sale. Any set of software, provided that the source of the third-party software protected by the GPL is used and published to non-developers, the software itself automatically becomes a GPL-protected and constrained entity. In other words, it must open the source code at this time.

2. The GPL is generally a left-hand copyright (Copyleft, or translated as "anti-copyright", "copyright belongs to the left", "copyright is not", "version of the responsibility", etc.) embodiment. You can get rid of all the original copyright information, as long as you keep open source, and with the source code, binary plate with the GPL license, so that posterity can be very clear about this software licensing information. The essence of the GPL is that, as long as the software in the case of full open source, as far as possible to allow users to free play space, so that the software to achieve faster and better development.

3, regardless of the form of software release, you must also attach the source code. For example, to provide a download on the Web, you must download the same page in the binary version (if any), providing a clear link to the source code download. If you publish as a disc, you must also attach a CD-ROM of the source file.

4 . Companies or individuals who develop or maintain software developed under the GPL may charge a service fee for the user. But it is an old saying-the full source code of the software must be provided free of charge, and the source code should not be bundled with the service or bundled in any disguised form.


Second, BSD

BSD is the abbreviation for Berkeley Software Distribution (Berkeley software suite). Developed and released from 1977 to 1995 by the University of California, Berkeley. The main developer was Bill Joy, and Bill Joy created a 1982 with the other two.

Solar Microsystems (Sun Microsystems). Why is BSD born at Berkeley rather than at other prestigious universities? The reason is simple, the founder of Unxi system, Ken Thompson to his alma mater to "teach". This opportunity provides the foundation for Bill Joy's development of BSD.

Historically, BSD has been considered a UNIX-"BSD Unix" because it shares the underlying code and design with the-t UNIX operating system. In the 1980s, many variants of UNIX licensed software were derived. Compare the famous Ultrix of Dec and Sun Company's SunOS. In the 1990 's, BSD was largely superseded by system v4.x and OSF/1 systems, and the late BSD version provided a platform for several open source software development and has been in use today. Today, "BSD" is not specifically a BSD derivative version, but a generic term for a branch of a UNIX-like operating system.


Third, Apache

Apache is the world's most used Web server software. It can run on almost all widely used computer platforms and is one of the most popular Web server-side software due to its widespread use across platforms and security. It is fast, reliable, and can be augmented with simple APIs to compile perl/python and other interpreters into the server.

Apache HTTP Server (Apache) is an open source Web server of the Apache Software Foundation, which can run in most computer operating systems, and is one of the most popular Web server-side software due to its extensive use of multiple platforms and security. It is fast, reliable, and can be compiled into the server by a simple API extension, such as the Perl/python interpreter.

Apache HTTP Server is a modular server, originated from the NCSAHTTPD server, after several modifications, to become the world's first use of the Web server software.

It can run on almost all of the widely used computer platforms.

Apache originates from the NCSAHTTPD server and has been modified many times to become one of the most popular Web server software in the world. Apache is taken from the "a patchy server" pronunciation, meaning is full of patches of the server, because it is free software, so constantly someone to develop new features, new features, modify the original flaw. Apache is characterized by simple, fast, stable performance, and can be used as a proxy server.

At the same time, Apache in Linux, Unix, Windows System platform can operate normally, this also proves that its portability is strong.


Iv. the relationship between the GPL, BSD, and Apache

Words do not say much, borrow a picture on the internet to explain, simple and clear.

650) this.width=650; "src=" Http://s2.51cto.com/wyfs02/M01/8C/70/wKioL1hsu4KDM7tHAABhJFJM5AQ278.png "title=" 0t633j06-0.png "alt=" Wkiol1hsu4kdm7thaabhjfjm5aq278.png "/>


Five, Android

To sort out the relationship between Android and the GPL, BSD, and Apache, you might want to look at it first.

650) this.width=650; "src=" Http://s5.51cto.com/wyfs02/M02/8C/74/wKiom1hsvqHDmLi1AANpOAQ8PSo261.png "title=" License_inheritance-03.png "alt=" Wkiom1hsvqhdmli1aanpoaq8pso261.png "/>

Is the Openfoundry drawing Android license structure, you can see in the Android multi-tier software stack, only the core of the Linux kernel uses the GNU general Public License, at this level, all Google changes to the Linux kernel must be fed back to Linux major version tree (Android kernel will be in the Linux 3.3 version of the regression, two versions of the Linux kernel fusion).

Its upper class library and application framework, as well as the so-called user-space section, mostly use "moderate" Apache-2.0 software licensing, allowing developers on Android to develop their Android-based source code without feedback to the community. Based on the first question discussed in the GPL above, the class library of user space and the system calls that the program uses the Linux kernel are not considered to be derivative products of the Linux kernel, and thus are free to publish using Apache-2.0 's software authorization. The dividing line between the GPL world and the non-GPL world lies in a class library called Bionic Libc. The key to Bionic LIBC is that if Bionic Libc is "infected" with the kernel GPL, it will ripple through the modules of the non-GPL user space.

Android's Bionic LIBC class library, with BSD license authorization. At the 2008 Google IO Conference, a famous PPT: "Android Anatomy and Physiology" talked about Android using the Bionic LIBC class library to replace the Linux common Gnu glibc, one of the main The reason is "We want to keep GPL out of User-space".



This article is from the "Maxie" blog, make sure to keep this source http://maxie.blog.51cto.com/10683256/1889018

GPL, BSD, Apache introduction and the difference between the three and the relationship between Android and them

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.