One-day learning of open-source Linux software and related organizations

Source: Internet
Author: User
Open-source software and its features open-source code software (OSS) referred to as open-source software refers to open-source software. You can modify, use, copy, and distribute the source code of the software. Features of open-source software: open-source software is generally released for free...

Open-source software and its features

 

Open Source Software (OSS) is an Open Source Software. You can modify, use, copy, and distribute the source code of the software.

Features of open-source software: open-source software is generally released for free. you can freely download it on the Internet without the need to pay the License fee. Open-source software is headed by a core organization and usually developed by a large community on the Internet in collaboration. This market-based development model usually has a higher quality than closed source code software. You can get the source code of the software, which is easier to customize according to your special requirements. The life cycle of open-source software does not depend on a company, so it has a stronger vitality.

 

 

 

 

 

> Development of the GNU program

 

Richard Mathew Stallman, the GNU program launched in 1984, has an indelible position in today's free software wave. The purpose of this plan is to build a Free and open Unix operating system (Free Unix ). But how easy is it to build an operating system? In addition, at that time, GNU was the only one to fight for it. it was too troublesome, but he didn't want to give up on the plan. so the smart Shi Torman simply did the opposite, since the operating system is too complex, I should first write a small program that can run on Unix. In this regard, Shi Torman began to refer to the existing software on Unix and develop software with the same functions based on the functions of the software, in addition, Shi Toman never looks at the original codes of other software during the development period to avoid litigation. Later, a bunch of people knew free GNU software and found that it was not much different from the original patented software, so they switched to use GNU software, so the GNU program gradually became known. But the visibility is not enough. in this case, Shi Toman thought: no matter what software, it must be compiled into a binary program before it can be executed. if it can write a good compilation program, isn't that the software that everyone needs? Therefore, he began to write C language compilation programs, which is now a well-known gnu c Compiler (gcc )! There are many versions of C language compilation programs, but they are all patented software. if the C compilation program he wrote is good enough and the effect can be good, it will make the GNU program appear in front of everyone!

 

But it was not smooth when he started writing GCC. For this reason, he first wrote the Emacs editor he had previously written into software that can run on Unix and published the original code. Emacs is a program editor that checks the syntax of a program when the user writes the program. this function reduces the time for the programmer to debug the program! Because Emacs is so good, many people directly buy it from him.

At this time, the Internet is not popular, so Stoman made a little money by selling tape (tape) through Emacs, and began to write other software. The FSF and Free Software Foundation were established. more engineers and volunteers were invited to write the Software. Finally, GCC is complete. In addition, he wrote more C-function libraries (gnu c library) that can be called and the basic interface BASH shell that can be used to operate the operating system! These are all completed around 1990!

 

In 1985, he and his lawyers drafted a well-known General Public License (GPL ), it is also called copyleft (relative to copyright of patented software !).

It must be noted that there are several important software developed by GNU, such as Emacs, gnu c (GCC), and gnu c Library (glibc) bash shell allows many software developers to use these basic tools for program development, further expanding the free software group. However, for GNU's initial conception of "building a free Unix operating system", these excellent programs still cannot be satisfied, because there is no free Unix core at present, so these software can only work on patented Unix platforms until the emergence of Linux...

 

Mr. Stallman, who founded the GNU program in 1984 and the FSF Foundation, believes that the greatest joy of writing a program is to let everyone use the well-developed software, since the program is intended to be shared with everyone, the software and hardware used by everyone is different. in this case, the Source code of the program) it should be released at the same time, so that everyone can easily modify and apply to everyone's computer? The act of releasing the original code together with the Software program is called the Free Software movement.

 

In addition, Shi Toman also believes that if you share the Source code of your program, if the program is excellent, then many people will use it, while everyone can refer to the source code for this program. in the invisible way, there will be a group of people to help in debugging, and this program will grow stronger and better.

In order to prevent the self-developed Open source software from being used as patented software, Stallman simultaneously hangs the GPL copyright notice on the software developed by GNU and FSF. The core concept of FSF is that the copyright system is a means to promote social progress, and copyright itself is not a natural power.

 

Why is it called GNU? In fact, GNU is short for GNU's Not Unix. it means that GNU is Not Unix! So what is GNU? GNU's Not Unix !..... If you have written a program, you will know that the GNU = GNU's Not Unix is an infinite loop!

What is Open Source? The so-called source is the Source code written by the programmer. the Open source means that the author's original code is published together when the software is released.

 

GPL (GNU General Public License, GPL)

 

 

 

GPL, written by Stoman, is used for the GNU program. It is based on earlier versions of the GNU Emacs, GDB, and GCC license protocols. These license agreements all contain some GPL copyright ideas, but only for specific programs. Stoman's goal is to create a license agreement that can be used within four seas, which will benefit many source code sharing programs. In this way, GPL version 1 was born in January 1989.

 

By 1990, there had been a demand for more loose licensing protocols than GPL due to some shared libraries. So when GPL version 2 was released in June 1991, another License agreement-Library General Public License (LGPL) was also released, it is recorded as "version 2" to supplement GPL. The version number is no longer the same when LGPL 2.1 is released, and LGPL is renamed as the GNU wide universal Public License protocol (Lesser General Public License) to reflect the GNU philosophy.

 

Why do we need to copyright the free software with GPL? What are the benefits of this copyright announcement for the author? First of all, Stallman always emphasizes "Free" for GPL. this "Free" means "Free software" is a matter of liberty, not price. to understand the concept, you shoshould think of "free speech", not "free beer ". "Free software" refers to the users 'freedom to run, copy, distribute, study, change, and improve the software

Free Software is a kind of Free power, not a price. For example, you can have the freedom to breathe and the freedom to make comments. However, this does not mean that you can drink free beer everywhere ). That is to say, the focus of free software is not free, but freedom software. Stoman further illustrates the significance of Freedom: users can freely execute, copy, re-release, learn, modify and strengthen free software.

 

After a software copyright is published with GPL, it naturally becomes a free software with the following features:

O get the software and original code: you can execute the free software as needed;

O replication: you can freely copy the software;

O modification: you can modify the obtained original code to suit your work;

O re-release: you can release your modified programs again without conflict with the original writers;

O feedback: you should give back your modified program code to the community!

However, please note that none of the free software you modified should be like this:

O modify authorization: you cannot authorize a GPL-authorized free software to cancel the GPL authorization after you modify it ~

O simple selling: you cannot simply sell free software.

 

Many people still have doubts. aren't there many Linux developers currently? Why can they sell Linux GPL-authorized software? The reason is simple, because most of them sell after-sales services. Therefore, the free software they use can be downloaded on their website (of course, the tool software developed by each vendor is not the GPL authorization software !). However, you can purchase their Linux CD. if you purchase the CD, they will provide the relevant manual instruction files, it also provides additional value for consulting, after-sales service, software upgrade, and other cooperative work within several years. Therefore, at present, almost all the freelancers who rely on them to survive are in the field of service. After all, free software is not written by everyone. When someone needs your free software, they will ask for your assistance. in this case, you will be charged through the service. From this perspective, free software does have commercial space!

 

What advantages does GPL have for free software authors:

O better software security;

O software execution efficiency is better;

O short software debugging time;

O the original contribution code will always exist.

 

This is because it is Open Source's free software, so your program code will be checked by many people, so that program vulnerabilities and program optimization will be very fast. Therefore, in terms of security and efficiency, free software is not lost to commercial software at all. In addition, because in GPL authorization, the modifier cannot modify the authorization. Therefore, if you have contributed program code, you will also be famous!

 

Free Software Foundation (FSF)

 

It is a non-profit organization of the United States that promotes free software and is committed to eliminating restrictions on computer program replication, distribution, understanding and modification. Many organizations are distributing all freely available software. Unlike the Free Software Foundation, which is committed to developing new free software and building it into a coordinated system, the need to use private software will be completely eliminated. It was established by Richard Stoman in October 1985. Its main task is to execute the GNU program and develop more free, free, and free-flowing software. From its establishment to the 1990 s, the foundation for free software was primarily used to hire programmers to develop free software. Since the 1990 s, there have been too many companies and individuals writing free software, so the employees and volunteers of the Free Software Foundation primarily work on the legal and structural aspects of the free software movement.

 

OSI, FSG, and OSDL

 

Open Source Initiative is a non-profit organization that initiates, authenticates, and protects Open Source software. Open-Source official website: http://www.opensource.org /.

Free Standards Group (FSG) is a non-profit international open source organization dedicated to developing open source software industrial Standards. A number of standards working groups were established under which each was responsible for the formulation of specific standards. The most famous is LSB (Linux Standard Base ). The official site of FSG is http://www.freestandards.org /.

Open Source Development Labs (OSDL) is an international non-profit organization supported by large IT enterprises. OSDL has been committed to promoting typical applications of open source software in the industry. The official site of OSDL is http://www.osdl.org /.

 

POSIX

 

Unix was born in the AT&T Bell Laboratory in 1969, and was rewritten using the C language in 1973. Since then, Unix has good portability. However, when AT&T was able to enter the computer market in 1984 due to its split, it triggered a war in the Unix industry. At that time, the two most important versions were AT&T's System V and Berkeley's BSD. There are many differences between the two in terms of technology (such as terminals) and culture, making it difficult for applications to smoothly transplant on different systems. to solve this problem, the IEEE (Institute of Electrical and Electronic Engineers) 1003 Committee developed a series of standards, which were later POSIX (Portable Operating System Interface for UNIX) standards. The objective is to develop application programming interface (API) specifications for applications compatible with various UNIX variants to ensure the compatibility of these applications. These standards were subsequently adopted by ISO/IEC and became ISO/IEC 9945 standards.

 

This standard originated from a project that started around 1985. POSIX is an easy-to-remember name proposed by Richard Stoman at IEEE's request. It is basically the abbreviation of Portable Operating System Interface (the Interface that can be transplanted to the Operating System), and X indicates its inheritance of Unix APIs.

The purpose is to improve the portability of applications between various Unix operating system environments. That is, any POSIX-compliant application can be re-compiled and run on any POSIX-compliant OS.

 

 

 

 

IEEE Institute of Electrical and Electronics Engineers Institute of Electrical and Electronics Engineering

 

It is an International Association of Electronic Technology and Electronics Engineers established in January 1, 1963 and one of the world's largest professional technology organizations.

IEEE is positioned in "science and education, and is directly oriented to the organization of research on electronic and electrical engineering, communication, computer engineering, computer science theories and principles, as well as the art and science of related engineering branches ". To achieve this goal, IEEE assumes the role of multiple scientific journals and conference organizers. It is also a broad industrial standard developer. its main fields include electric energy, energy, biotechnology and health care, information technology, information security, communication, consumer electronics, transportation, aerospace technology and nano-technology. Actively develop and participate in the field of education, such as implementing the school authorization system for electronic engineering courses in colleges and universities.

 

IEEE has developed 30% of the world's literature in the field of electronics, electrical, and computer science. In addition, it has developed more than 900 existing industrial standards. It also initiates or cooperates to hold more than 300 international technical meetings each year. IEEE is composed of 37 associations and also organizes specialized technical fields. each year, local organizations hold more than 300 regular meetings. IEEE publishes a wide range of peer review journals and is the main international standard institution (900 current standards and 700 R & D medium standards ).

 

Most IEEE members are electronic engineers, computer engineers, and computer scientists. However, the wide interest in the organization attracts engineers from other disciplines (for example: mechanical engineering, civil engineering, biology, physics and mathematics ).

 

IEEE is located in New York State and was established in 1963 by the Radio Engineer Association (IRE, founded in 1912) and the American electrical engineer Association (AIEE, founded in 1884, it has an organizational structure that is complementary to technologies and uses geographical locations or technical centers as organizational units (for example, the IEEE philadatek branch and the IEEE Computer Association ). It manages distributed organizations of recommendation rules and execution plans (for example, members, professionals and the public who are clearly serving the IEEE-USA in the United States ).

 

LSB (Linux Standards Base)

 

At present, there are many Linux releases. to promote compatibility between different Linux releases, LSB has developed a series of standards so that various software can run well on systems compatible with the LSB standard, this can help software vendors develop products on Linux systems or port existing products to Linux systems.

LSB is a de facto standard in the field of Linux standardization. its icons (see the figure) clearly describe its mission: to set standards for Penguins (Linux) that represent freedom. Given the shape and 3D standards of penguins, software developers can design and cut out various styles of clothing (applications), so that no matter which Penguin they wear will fit very well.

 

.

Based on the existing standards, LSB develops the binary interface between the application and the runtime environment, which is mainly based on the following standards:
Single UNIX Specification (SUS)
System V Interface Definition (SVID)
Compilers for the Intel Itanium processor
C ++ ABI
System V Application Binary Interface (ABI)

At the same time, LSB fully draws on the experience and lessons learned from the efforts of UNIX standardization and avoids some problems related to these standards. For example, POSIX only defines the standard of the programming interface, but it cannot guarantee binary compatibility. While OSF/1 and other standards try to solve the problem of binary compatibility, the restrictions are too strict. LSB achieves a balance between the two. it contains a binary compatibility layer and eliminates the differences between POSIX and OSF/1.

LSB defines the interfaces provided by each database and the data structures and constants related to each interface, and provides components contained in the LSB 3.1 environment. These components include the shared libraries (including C ++) and file system hierarchies (FHS) required by developers) specifications used for object file formats, commands and tools, application packages, users and groups, and system initialization :.
Components of the LSB specification:


Main LSB versions:

From: Yufei blog

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.