Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Learn embedded system with Brother Tao episode 07: GNU/Linux and Linux have

2025-01-27 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/03 Report--

What is the relationship among GNU, GNU/Linux and Linux? What is free software? What is the GPL protocol? What is the Free Software Foundation? What is the GNU Shame list? Linux engineers with many years of development experience probably haven't paid much attention to these issues. Today, from the perspective of free software development, we will give you some popular science about the relationship between them.

1 what is Windows? If you want to understand the relationship between them, it is probably easier to understand from Windows. Windows operating system, everyone is familiar with: when Microsoft releases a new version of OS, you can't wait to install it on your computer, boot and restart, you will find that in addition to the Windows operating system, there are many other software: office software to meet your daily office; Windows player can listen to music and movies; with Visual studio software, you can develop desktop programs and release your own software. In other words, the operating system released by Windows is not only an operating system, but also an operating system ecology: developers can use the compiler tools and third-party development tools provided by Microsoft to develop all kinds of software: QQ, PUBG, Wilderness Action, browsers, web pages, forums. People play various roles on this platform: users, developers. Work together to maintain and strengthen this ecology.

2 what is GNU? GNU is an operating system, and GNU is a recursive acronym for "GNU's Not Unix". Its correct pronunciation is: GE Nu, rather than reading G-N-U or new directly. GNU operating system is a free software operating system similar to Windows, including the whole ecology: operating system kernel, compiler, debugger and other development tools, office software, desktop games and other free software.

The 3GNU project and the free software GNU project were launched in 1984, led by Richard Stallman, the famous × × who wrote Emacs, GNU C compiler and GNU C debugger. The goal of the GNU project is to build an operating system similar to Unix, including kernel, compiler, editor, spreadsheet, mail software, graphical interface, application library, game software and so on. In other words, it is to build an operating system similar to Windows (Windows was not available at that time) to facilitate computer users and developers to use computers conveniently and happily.

The GNU project is a huge project: developing a complete set of operating systems, including kernels, compilers, debuggers, development tools, applications, etc., that cannot be done by one person or a team, so in October 1985, it became the Free Software Foundation (Free Software Foundation,FSF), which was initially used to raise funds for GNU.

Why did you launch this project? It was simple, because almost all the software on the computer at that time was proprietary (Proprietary software). What is proprietary software? Is the use, modification, distribution of restricted software, the author owns the copyright of this software, not open source, only released the compiled binary version of the program. Generally speaking, commercial companies support proprietary software. However, for the development of the industry, this is not a good thing, technology sharing, each other × × hair, can better promote the growth of the software industry.

Corresponding to proprietary software is free software (free software), which can be freely used, copied, studied, modified and distributed without restrictions. Yes, I read it right, it's so free! It requires open source code, which can be obtained by anyone, can be modified, and then released and distributed again in other versions. It should be noted here that free software is not the same as free software (freeware), it can also be bought and sold, such as the Linux operating system CD. Freedom here is a matter of rights, not price. Free software has four basic freedoms:

Freedom of use: you can get the source code for free and use the

Freedom of learning: the right to study how to operate and achieve

Freedom to modify: you can improve the software and release improvements

Freedom of release: republish your modified version

The GNU project requires that the GNU operating system, including the kernel, must be composed of free software.

The goal of the 4GNU and GNU LinuxGNU project is to build an operating system ecology, including the kernel. In the early days, with the support of the Free Software Foundation, most free software projects aimed at accomplishing a specific task. For example, Donald Knuth writes a text typesetting software (TeX); Bob Scheifler develops a window system (X Window); and Richard Stallman develops a C compiler and debugger. The GNU project is also developing an operating system kernel called hurd, but the development is not very smooth. Later, Linus Torvalds wrote a kernel similar to Unix (Linux), so that the components of the entire operating system were complete and the GNU/Linux operating system was released.

Linux is just a kernel, and you can download this source code from the official website, while GNU/Linux is an operating system, similar to the Windows operating system, including the Linux kernel, compilers, editors, desktops, applications, and so on.

As we said, the GNU/Linux operating system released by the GNU project is made up of free software, so anyone has the right to modify and distribute it. So, you will also see the distribution version of the GNU operating system: GNU/hurd, which is a bit similar to the win7, XP, and win10 versions of the Windows operating system.

Software released through the GNU project is generally named GNU. For example, GCC, the full name is GNU Compiler Collection, that is, the GNU compiler suite; if you develop a chess chess game, released through GNU, the software is: GNU Chess [official website]; you write a Lianliankan Mini Game, if released through GNU, the software name is: GNU Lianliankan.

Free Software Foundation (FSF), established by Richard Stallman. The original purpose of the establishment is to raise funds for the development of the GNU operating system, which is an American private non-profit organization. In the early days, FSF's funds were mainly used to hire programmers to develop free software. Since 1990, with more and more companies and individuals writing free software, there have been more and more copyright, legal and structural problems. Therefore, at present, employees and volunteers of free software funds are generally mainly engaged in copyright and law-related work, such as the implementation of GPL, supervision of copyright, GNU license and so on. Of course, now the Free Software Foundation will also carry out more free software projects, not only the GNU project, develop more free software, improve the concept of free software.

6 what is GPL? GPL is GNU GPL, the full name is GNU General Public License, translated into Chinese is: GNU General Public license, what is the use of the GPL agreement? We have to start with free software.

Through the above study, we know that free software is open source and can be modified and released at will. It is this feature that makes free software develop at an incredible speed. Free software not only provides convenience for thousands of users and developers, but also provides convenience for many commercial software companies. Free software is a huge treasure house, and many commercial software are developed on the basis of free software, which saves a lot of manpower and material resources. Some free software is even easier to use than commercial software, such as Linux, Git, ffmpeg, Libav, mplayer and so on.

According to the rules of free software, you get the source code of free software for free, you can modify it, you can release it. In line with the principle of one for all and one for all, the software you release must also be open source for others to learn, use and modify. The GPL agreement is used to maintain this rule: copyright restrictions on open software. If you develop a software that uses the source code released by others using the GPL protocol, then, sorry, your software must also be released through the GPL protocol, all open source.

GPL, a free and open model, is a good thing for technology sharing and learning, but it is a headache for many commercial companies. For example, what if a company wants to develop a "mini audio and video" player based on the free software FFmpeg decoding library, but does not want to share its own source code and trade secrets? It doesn't matter, in addition to the GPL protocol, there are other protocols, such as LGPL protocol, can solve this problem.

7 what is the LGPL protocol? LGPL is an acronym for GNU Lesser General Public License (GNU General Public license). The GPL agreement requires you to open up all your source code, which is killing commercial companies. The LGPL protocol can solve this problem, and the LGPL protocol is basically the same as the GPL protocol, except that it narrows the scope of your open source code: to dynamic link libraries. For example, if you want to develop a video player based on FFmpeg, if you use the FFmpeg decoding library released based on the GPL protocol, I'm sorry, you have to open up your entire software source code. If you use the FFmpeg decoding library released based on the LGPL protocol, you can use FFmpeg in the form of the library in the project, but if you modify the decoding library, you must release the LGPL protocol again, and the FFmpeg source code will eventually be applied to your commercial project in the form of the library. For other source code in your software, it is your trade secret and need not be made public.

As can be seen from above, both GPL and LGPL are a game between free software developers and commercial software developers. If all free software is released under the GPL agreement, commercial companies will not be able to use it, and the value of free software will be greatly reduced. Through the LGPL agreement, on the one hand, it can promote the development of free software, on the other hand, it can also coexist with commercial software.

8 what is the GNU pillar of shame? Free software is a huge treasure trove, and many free software is even better and more useful than commercial software. This has also attracted a large number of commercial software companies, who like to pick and choose from this huge treasure house, find out their favorite free software, modify it, package it, and sell it at a profit in the form of commercial software.

Whether it is the GPL agreement or the LGPL agreement, although it formulates the rules for the release of free software, GNU is, after all, a non-governmental organization. Compared with those business giants and business hooligans, people talk lightly and sometimes fail to fight a lawsuit. I can only use the spiritual victory method of Ah Q: I can't help you. I want to put you on the shame list, publicly humiliate you, and watch you get bored.

For example, free software FFmpeg, many players are based on this for secondary development, but used as commercial software, in violation of the free software agreement. On FFmpeg's official website, there is a list of shameful software, where many commercial software that violate free software agreements are listed, including South Korea's famous player KMPlayer and some well-known players. If you are interested, you can search it yourself, and a lot of software is pinned to this humiliating pillar. Specific to the official website to take a look, found that many have been removed, have been waiting for status updates., but there is a backup on FFmpeg's GitHub: FFmpeg stigma column.

In addition to GPL protocol, LGPL protocol, there are other protocols, such as Apache, BSD, Mozilla, etc., in addition, there are a variety of open source software, shareware, green software, free software, etc., if you are interested, you can learn about it.

Embedded learning QQ group: 3284757626 Wechat official account: home learning tribe

Teacher Wang's 51CTO Academy course Video: 51CTO College-Wang Litao-embedded Video course

Teacher Wang's Taobao shop: wanglitao.taobao.com

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report