Linux's origins and development

Linux Tutorial

Linux's origins and development

Linxu origin

In 1991, Linus Torvaldsstill a student at the University of Helsinki, Finland, he learned Minix operating system in the school curriculum, Minix: MINIX is a UNIX-like computer operating systems based on micro-kernel architecture, just a simple operating system for teaching purposes rather than a strong practical operating system, but the biggest advantage is open source. Students around the world learn the computer have come to understand the MINIX operating system the computer is running, second-year University of Helsinki University student Linus Torvalds is one, in the absorption of the MINIX essence on, Linus was written in 1991 by studying MINIX source code a sign of their own Linux operating system that is Linux, meaning that Linus's Minix (Linus's Minix), the first system version Linux0.01, is the beginning of the era of Linux

By GNU计划ideological influence, Linus released the source code is open to the network, Linus did not think that this kernel quickly caught the world's attention in 1993, there are about 100 programmers involved in the Linux kernel code write / modify work , in which the core group consists of five members, at this time Linux 0.99 version of the code about thousands of lines, there are about 10 million users, then already era of the Internet, they are not met, not met, through online discussion through the network collaboration to promote the Linux

In 1994, Linux1.0 released 170,000 lines of code, was in accordance with the agreement completely free release free, then formally adopted by the GPL agreement, Linux1.0 has become a basic kernel is available. In 1996, Linux 2.0 kernel release, the kernel has about 40 million lines of code, and can support multiple processors. At this time, Linux has entered a practical stage, there are about 350 million people worldwide use

Linux to create an unprecedented software development model. Many people work together, submit the code at any time, there are problems in time changes, all participants are not elite, but a group of fanatical supporters. Ins and Outs of many people involved in Linux development projects, the organization is not strict, there are a lot of bickering and discussion. Linus often write code, and occasionally play the role of arbitration, rather than the leadership in the traditional sense.

Dating back to Unix

Unix birth

Unix's history dates back to the distant 1969 needs, but before the first Multics system introduced again
in 1965, MIT, Bell Labs, and General Electric companies prepared to put forward a super-operating system, took a domineering name: Multics (Multiplexed Information and Computing system), multiplexing information, and a computer system. Allow more than one person can do many things at the same time, also known as multi-user multi-tasking operating system.

Multics good name, do not dry as the target is too large, the results of their dreams.

In 1969, Multics project progress is slow, was forced to stop two people involved in the project Ken Thompsonand Dennis Ritchiealso idle down. They are the people at Bell Labs. No work had been done, hit game. They were looking for a broken computer ready to play a game previously developed.

The transplanted to a game machine is idle (PDP-7) in the process, to achieve a simple operating system. By 1970, this simple system is ready for use, but only two people at the same time use. Some people laugh at them, you say this broken gadgets from Multics far worse, called Unics (UNiplexed Information and Computing Service) it. Unics is Multics antisense, They laugh so much, but rather that in ridicule Multics. Ken Thompson put their names slightly modified a bit, called Unix.

Since then, Unix epoch began. 1970 is the first year for Unix, this year is Unix46年. Unix timestamp from January 1, 1970 start time is calculated and the birth of Unix have a great relationship.

The early operating system was first written in assembly language, assembly language low-level backward, to write very painful. Unix development process, Thompson B invented language, the language based on B Ritchie improvements have been made, called the C language.

After the C language was invented, Ritchie and colleagues at Bell Labs Brian W. Kernighan co-authored a book on the C language, came to be known as K & R. Kernighan fame not big Ritchie, but not mortal, Unix Awk in the K command is Kernighan.

Early Unix is ​​written in assembly language, C language rewritten after the Unix system. Quite satisfied with the result, in fact, the success of Unix largely from its readability with high-level language C as a way of expression brings, can be modified and portability

In recent years the computer center of the world to Bell Labs, Thompson, Ritchie, Kernighan there are a lot. Thompson and Ritchie were later won the Turing Award.

Determined to grow flowers do not live, unintentional positive outcomes. Multics ambitious, not dry as, Unix and C language beginning did not think so much, but also spare time work, and eventually became Albert!

Unix and C language are evergreen computer field, timeless. From the invention it has so far maintained a strong vitality, from the invention so far are basically stay the same, which shows great!

Chaotic development of Unix

Unix, once there, attracted everyone's attention, many people find the source code to Unix-Thompson and Ritchie. It is an open era, it was a mutual learning research of the era, to share the source code of the program to someone else is a very common thing. A part of the Unix source code is spread to various laboratories, schools, companies, which form the basis of many UNIX school and laboratory research projects
although Unix is provided free of charge, but still have to get the source code for AT & T to pay a license fee in 1997, the University of California at Berkeley computer systems Research group (CSRG) acquired the UNIX source code from AT & T, and has been so altered and packaging released its own version of UNIX - Berkeley UNIX (Berkeley UNIX) this release can often be referred to as BSD, on behalf of Berkeley software Distribution (Berkeley software Distribution), with a corresponding rise in license fees of AT & T, Berkeley decided to remove the code from AT & T BSD thoroughly. The project lasted more than a year, to 1989, entirely free of AT & T Unix BSD code was born

Not another BSD originally from Bell Labs source code, AT & T does not buy it, you sue, sue, lawsuit, this is a lengthy lawsuit, the lawsuit has not yet finished, Unix copyright was resold several times. Buy the copyright of several companies to continue and BSD lawsuit, several companies have each other to court

BSD Unix eventually launched their own entirely, because of copyright issues, can not then told Unix, Unix-like systems can only be called

BSD Unix-like system is FreeBSD, MacOS predecessor. Apple computer, the operating system on the iPhone use today are from the BSD developed from this one

Lengthy lawsuit run out of enthusiasm for the BSD, BSD also to miss the best opportunities for development. Later FreeBSD, NetBSD, OpenBSD are derived from BSD differentiation, free, open source, outstanding, but made no restore former glory, because it already has Linux

Linux and Unix comparison

Different UNIX and Linux License

Fundamentally, UNIX and Linux, the biggest difference is that the former is the implementation of intellectual property protection for traditional commercial software source code. In the early development of UNIX, UNIX was copyrighted by AT & T Company. In order to promote UNIX development, AT & T companies at low or even free license to UNIX source code authorized to do with research or teaching purposes to academic institutions, many institutions to be expanded and improved this source based on the formation of so-called derivative of UNIX version, these derivative version in turn promote the development of UNIX.
Later, AT & T aware of the commercial value of UNIX, UNIX source code will no longer be authorized to academic institutions, and prior to UNIX and its variants have been claimed rights. This had a great impact on the development of UNIX. In the ensuing decades, UNIX development is often accompanied by property disputes. For UNIX, the broader application of the release of most of the commercial company to maintain, for example OracleSolaris, IBMAIX and HPUX and so on.
Linux from the beginning of the GNU General Public License (GNU General Publice License, abbreviated GNU GPL or GPL), GPL grants program accepts a free man to run the program for any purpose, and then issue a free copy as well as improved procedures and public improved free release. Therefore, any individual or company can modify the Linux code within the allowable range of the GPL, and re-issued. In addition, Linux can be applied to any field, including commercial applications.

UNIX and Linux inheritance relationships above technology does not exist

Although Linux design philosophy has been greatly affected MINIX, but this effect is not technical, more of the ideas. Linux does not use UNIX line of code, the Linux operating system built from scratch. Therefore, Linux is not UNIX derivative version, it is a new operating system

UNIX and Linux hardware requirements differ

As a long time, UNIX by a number of large companies are in maintenance, so UNIX usually matched with those produced by the company's hardware. For example, Oracle Solaris SPARC platform versions are only in the very long period of time, HP-UX runs on HP's PA-RISC computer processors, Intel's Itanium processor, IBMAlX run on IBM's Power PC architecture of on. Because of this, to a large extent limited the widespread use of UNIX

UNIX is a very comprehensive operating system, Linux in some respects beyond

After 30 years of continuous development, UNIX some of the basic technology has become very mature, and some kinds of technology has become a common operating system. Countless practice shows, UNIX operating system is one of the few to achieve mainframe reliability requirements. Many large-scale UNIX: hosts and servers running continuously 24 hours a day at home and abroad in large enterprises. For example, many large enterprises or government departments, their entire enterprise / department information system up and running on a UNIX-based server to a client / server architecture.
Linux successfully mimics the UNIX systems and functions, it is possible to achieve all of the UNIX properties on an ordinary PC computer with multi-tasking, multi-user capability. More importantly, Linux is an open source product, any individual or company can modify the Linux kernel source code, implement or enhance their desired function.
In fact, the difference between UNIX and Linux there are many, for example, UNIX has a strong network function, is developing and developed on UNIX systems as the TCP / IP protocol cornerstone of the Internet. UNIX used for supercomputer, minicomputer or workstation, growth and UNIX these technologies are inseparable. UNIX is the most influential, the most successful operating system in history

Unix and Linux links

Linux's origins date back to ancient UNIX systems. Because UNIX has been affected, before the birth of Linux. Linux has inherited the fine tradition of many UNIX, for example, powerful network functions, perfect order and good robustness and stability. Whether it is from the appearance, or functionally, UNX and Linux are very similar. For example, the most commonly used commands UNEX can find the appropriate command in Linux.
In addition, Linux is also a follow POSIX standard operating system. Thus, many UNIX application of the above can be easily ported to Linux on it. Similarly, Linux application of the above can be easily transferred to the UNIX top

Impact on the world of open source trends

Open source has become a global cultural salty, countless programmers to join the various open source project, and never bored.
In fact, the development model of community cooperation has become widely adopted. Linux, Apache, PHP, Firefox and other industry-leading software products use various types of community development and the use of some open-source license
Interestingly, the idea of open source is not only rooted in the minds of programmers, the more important is community cooperation evolved into an Internet culture.
Open source license in the world (Open Source License) there are probably hundreds, today we introduce some of our common open source license. Generally, there are GPL, BSD, MIT, Mozilla, Apache and LGPL, etc.
Linux's origins and development

Apache License

Apache License (Apache license), the Apache Software Foundation released a free software license.

Apache Licence protocol is well-known non-profit organization open source Apache used. The agreement is similar to BSD and also encourage code sharing and copyright of the original author finally, also allows to modify and redistribute the source code. But also you need to follow the following conditions:

  • Users need to code an Apache Licence.
  • If you modify the code, you need to be modified in the file description.
  • In the code-derived (and modify the code in the source code derived) requires agreement with the original code, trademarks, instructions and other patent statement contained in the original OF predetermined required.
  • If the re-release of the product is included in a Notice file, the file needs to have in the Notice Apache Licence. Notice that you can then increase its own license, but not on the performance of Apache Licence constitute changes.
  • Apache Licence also good for business applications and licenses. When the user can then modify the code to meet the needs and as open source or commercial product launches / sales.
    The benefits of using this protocol are:
  • Once the perpetual right to be authorized, permanent ownership.
  • Rights worldwide authorized in a country, applicable to all countries. If you are in the United States, authorized license from India, there is no problem.
  • Royalty free without authorization, early, there was no any late fees.
  • Non-exclusive authorized anyone authorized
  • Authorized irrevocable once authorized, no one can cancel. For example, based on the product code you developed derivative products, you do not have to worry about being banned this code in one day

BSD

BSD is an acronym for "Berkeley Software Distribution", meaning "Berkeley Software Distribution."

BSD open source license: to be a lot of freedom to the user agreement. Free to use, modify the source code can also be modified code as open source or proprietary software re-release. When you publish using the BSD protocol code, or the code based on BSD license places to do secondary development of their own products, need to meet three conditions:

  • If the re-release of the product contains the source code, you must have the original BSD license code in the source code.
  • If we publish only a binary library / software, you need to include the original BSD license code in the document libraries and copyright notices / software.
  • You can not use open source authors / agency name and the name of the original product to do marketing.
  • BSD code that encourage code sharing, but the need to respect the copyright of the author of the code. BSD By allowing users to modify and redistribute the code, also allows the use or development of commercial software distribution and sales on the BSD code, so it is an integrated business-friendly agreement. And many of the companies in the selection of products when they are open source BSD protocol of choice, because you can completely control these third-party code can be modified or secondary development when necessary.

GPL

GPL (GNU General Public License): GNU General Public License.

Linux uses the GPL .

The GPL and BSD, Apache Licence and so encourage code reuse license very different. The starting point of the GPL open source code / free use and reference / modification / derivative code open source / free, but not allowed to modify the code and derived as a closed-source commercial software distribution and sales. This is why we can use a variety of free linux, including a variety of by individuals, organizations, and commercial software free software developed by commercial companies on the linux and linux.

LGPL

LGPL is a GPL is designed for use primarily open source libraries agreement. And the use of any software requirements GPL / modify / GPL-derived library must use different protocols GPL. LGPL allow commercial software library reference (link) mode without using the open source code library LGPL commercial software. This makes use of the LGPL open source code can be used as a reference library and publish and sell commercial software.

However, if the code changes the LGPL or derivatized, all the modified code, the code involves additional code modifications and derived portions must use the LGPL. Thus the LGPL open source code is very suitable as a third-party commercial software libraries are referenced, but not for those who want to the LGPL code base, and derived by modifying the way to do secondary development of business software used.

GPL / LGPL are the original author of protecting intellectual property rights, prevent people from copying and use of open-source development of similar products.

WITH

MIT and BSD license is as wide as the range, from MIT (Massachusetts Institute of Technology, MIT), known as the X11 protocol. On just want to retain the copyright, without any other restrictions. MIT and BSD is similar, but looser than the BSD protocol, the protocol is currently the least restrictions. The only condition in this agreement is issued or modified code package license information contains the original author. Suitable for commercial software. With MIT's software projects: jquery, Node.js.

MIT and BSD is similar, but looser than the BSD protocol, the protocol is currently the least restrictions. The only condition in this agreement is issued or modified code package license information contains the original author. Suitable for commercial software. With MIT's software projects: jquery, Node.js.

MPL (Mozilla Public License 1.1)

MPL protocol allows free re-released, free to modify, but requires the initiator of the modified code is copyrighted software. This authorization safeguarding the interests of commercial software, which requires modifying the software based on the contribution of copyright to the software free of charge. In this way, all the code around copyright of the software developer launched are concentrated in the hands. But MPL is allowed to modify, free to use, too. MPL does not require software links.

EPL (Eclipse Public License 1.0)

Recipients EPL allow any use, copy, distribute, transmit, display, modify and change after the second commercial closed-source release.

EPL use agreement, subject to the following rules:

  • When the whole or part of the re-release of the open source Contributors to a source, we must continue to follow the EPL open source license to publish and not publish unless you use other protocols have been authorized original "source" Owner of.;
  • Under EPL protocol, you can not do any changes to the source code for commercial release. But if you want to publish, and modify the source code, or when you re-release is Object Code, you must declare its Source Code can be obtained, but also to inform the acquisition method;
  • When you need the source code under EPL mixed with as part of with other private source to be when a Project released, you can be the entire Project / Product to privately negotiated release, but what part of the code to declare that under the EPL, and declare that part of the code continue to follow the EPL;
  • Independent modules (Separate Module), need not open.

    Creative Commons Creative Commons

    Creative Commons (CC) license agreement and can not be said to be truly open source license, they are mostly used in the design of the class project. CC licenses variety, each of which authorize certain rights. CC having a license four basic parts, these parts may act singly or in combination. The following is a brief description of these parts:

  • It must be accompanied by attribution of works on the signature works. So after work can be modify, distribute, copy, and other uses.
  • Sharing the same manner as the work may be modified, distributed, or other operations, but all must be placed under a CC derivatives license.
  • Non-commercial use of the work can be modified, distributed, etc., but not for commercial purposes. But the language of what is "commercial" very vague explanation (provided no precise definition), so you can explain them in your project. For example, some people simple explanation "non-commercial" as this work can not be sold. While others think that you can not even use them in advertising on the site. Still others think that "commercial" means that you only use it to obtain benefits.
  • No Derivative Works

The CC license terms can be freely used in combination. Most of the more stringent CC council statement "authorship, non-commercial use is prohibited derivative" clause, which means that you are free to share the work, but you can not change it and charge for it, and must declare ownership of works . This license agreement is very useful, it allows you to spread out the work, but may retain partial or complete control over the use of the work. CC least restrictive type of agreement comes as "signed" agreement, which means that as long as people can maintain your reputation, they work for you how to use all right.

More CC license is used in the engineering design class, rather than the development of the class, but no one will prevent you or the use of the latter. You just have to know the rights of some provisions can cover and can not cover the.

Graphic analysis

Linux's origins and development

### open source community
at home and abroad recommend the open source community: Open Source China, ChinaUnix, GitHub, Apache, SourceForge ,
the open source community to foreign-based and domestic open source community due to financial, personnel, atmosphere and other issues has been very stable, and finally attach a the open source community summary graph.
[Image dump the chain fails, the source station may have security chain mechanism, it is recommended to save the picture uploaded directly down (IMG-fDGMOMsH-1576076827946) ( http://backend.fdlly.com/public/upload/2019/12/10 /1575944873386566969.jpg )]

Announcement GNU license: GPL

GNU General Public License (GNU General Public License, GNU GPL or GPL), is a Free Software license terms widely used, any GPL-based software development products must be derived from the way the GPL license at the time of publication, and must be open source .

Linux under the GPL copyright license agreement, because the development of the concept of GNU, Linux has been making rapid development, we generally referred to Linux, in fact, the full name should be GNU / Linux

GPL summary, include the following

  • The original authors retain copyright software
  • Others can modify, sell the software, new software can be developed on this basis. But we must ensure that this source code open to the public.
  • The modified GPL software is still subject to restrictions - unless it can determine the modified part is independent of the original work
  • If the software caused a loss in use, the developer assumes no liability

Guess you like

Origin blog.51cto.com/14255502/2457889