What Is an Open Source Installer?

Open-source software (open-source) is a new term that is defined to describe software whose source code can be used by the public, and that the use, modification, and distribution of this software are not subject to license restrictions. Open source software is usually copyrighted, and its license may include such restrictions as: deliberate protection of its open source status, announcement of authorship, or development control. "Open source" is being registered as a certification mark by public interest software organizations, which is also a means of creating a formal definition of open source.

Open-source software (open-source) is a new term that is defined to describe software whose source code can be used by the public, and that the use, modification, and distribution of this software are not subject to license restrictions. Open source software is usually copyrighted, and its license may include such restrictions as: deliberate protection of its open source status, announcement of authorship, or development control. "Open source" is being registered as a certification mark by public interest software organizations, which is also a means of creating a formal definition of open source.
Open source software is mainly developed by a team of programmers scattered around the world, but at the same time it is also developed by some universities, government agency contractors, associations and commercial companies. The open source code is the typical embodiment and vivid annotation of the software-oriented innovation 2.0 model characterized by open innovation and common innovation brought by the development of information technology in the future. Open source software has historically been very close to UNIX and the Internet. Many different hardware needs to be supported in these systems, and source code distribution is the only practical way to achieve cross-platform portability. On DOS, Windows, and Macintosh platforms, only a few users have compilers available, and open source software is even less common. For a more detailed discussion of open source development models, see "The Cathedral and the Bazaar" by Eric Raymond. [1]
Chinese name
Open source software
Foreign name
open-source
Programming software
Software used to program the system
Registrants
Public interest software organization

Open source software history

Open source software is mainly developed by a team of programmers scattered around the world, but at the same time it is also developed by some universities, government agency contractors, associations and commercial companies. Open source software has historically been very close to UNIX and the Internet. Many different hardware needs to be supported in these systems, and source code distribution is the only practical way to achieve cross-platform portability. On DOS, Windows, and Macintosh platforms, only a few users have compilers available, and open source software is even less common. For a more detailed discussion of open source development models, see "The Cathedral and the Bazaar" by Eric Raymond.

open-source Why open-source software has a relationship with the software market

Traditional commercial software has huge advertising and trademark budgets, which has given it too much attention behind them, and has far exceeded its importance. Traditional commercial software is actually just a small part of all software. Lion was developed by various organizations and for their own internal needs. Internally developed source code, especially the sharing of important source code ordered by the US government, has a development source license. This is actually due to the fact that the vast majority of software experts do not write commercial software.
It is difficult to quantitatively describe the overall impact and average benefits of open source software, but it is clear that both are widely disseminated by the public and undervalued. Many open source softwares are now supported by commercial development. At the same time, the success of the open source business model and the high productivity and high quality of open source development convinced Netscape (company name) to decide in early 1998 to develop its browser under an open source license.
There is now tremendous momentum driving the open source movement. It's interesting to see that so many traditional business developers have to develop in order to keep pace with him. The computer industry has already seen several exciting waves of development and innovation, such as the first microcomputer in the 1970s, and the mass production of daily microcomputers from the mid-1980s to the present. The rise of (Internet). Commercial software using open source models may be the next important new trend.

The difference between open source software and free software

Many people in history have developed such software (that is, the free software foundation) for short as "free software", and the media generally call it "freeware". Unfortunately, both terms have proven to be ambiguous and ambiguous.
For most people, "free" is only used for purchases. More important than this initial cost is the cost of lack of license restrictions. These are several types of software that may be free, but are obviously not open-source software because they have some limitations or lack open source code.

The main types of open source software

Shareware
Shareware. Allow others to copy freely and charge a reasonable registration fee. Users can try it for free during the trial period specified by the software, and then decide whether to register for purchase or not. Most shareware software has functions and time limits, and the trial period is usually divided into 7 days, 21 days, and 30 days. Some shareware also restricts users from installing it only once. Reinstalling it after deleting it will fail. Software such as Winzip and ACDSee are shareware.
Demos / "Crippleware"
Free or low-cost trial software is part of commercial software. It has no freely available source code, no support, and often lacks key features.
Bundled Software
It is carried by commercial software without additional cost, but it generally has a very limited license and no freely available source code. For example: Microsoft Internet Explore. "Consortium-Ware": The source code is shared by company insiders, but there is no freely available source code for the public. For example: Motif. "Non-commercial use only": This is typical software that can be downloaded from the Internet for free, even with source code, but at the same time it has a strict license to restrict its use. For example: Netscape browsers before 1998, some Open-source license types
BSD (Berkeley Source Distribution) License: It requires copyright and authorship declaration
GPL
Restrictions on Deriving or Distributing Products under the General Public License ("CopyLeft").
LGPL
The library general license is different from the GPL license. Under this license, libraries (function libraries) can be freely linked to proprietary software.
Artistic License
Keep authors in control of further development.
NPL (Netscape Public Lincense)
New license based on the spirit of the GPL, but maintaining more control and ownership of the source code (see the "What's Netscape Development" section below)
Public Domain / Not Copyrighted / No Restrictions: Commonly used for decisive algorithms to encourage widespread use, usually used by the US government.
Some examples of Open-source software
Hundreds of mature open-source products are now widely used. Here are some of the most famous:
Corncart
The latest open source electronic software developed by OSIC Information Technology Co., Ltd. combines all the advantages of all previous electronic open source software. Currently in the secondary development stage.
BSD UN
Software developed under the "BSD" license by the University of California, Berkeley. Many commercial versions of UN are directly based on BSD source code or mostly borrowed from its design.
Linux: It has grown from a Finnish university student research project to the most popular non-Microsoft operating system in the past six years. It was originally designed for PCs only, but now it supports Palm Pilots (small palm-sized platforms), large 64-bit Digital Alphas supercomputers, and almost anything in between. It is more efficient, more reliable, and more advanced than traditional operating systems. It includes compilers, libraries, and various tools from the FreeSoftware Foundation, as well as thousands of open-source products. The Linux platform is the foundation of a small but fast-growing business industry, or software innovation. hotbed. It was developed based on the GPL by commercial companies and freelance programmers scattered around the world.
Perl language
"Internet Transport Belt", the basis of dynamic content for most web servers, is widely used for scripting language programming and automated document processing. It was developed by the Perl Institute under the Artistic license.
GCC
The GNU C compiler is the preferred C / C ++ compiler on many Unix platforms and can also run on other platforms; because it supports almost every processor, it is also popular as a cross-platform tool; it consists of FSF is maintained and developed based on GPL.
X Window System
The most widely used non-Microsoft window system with advanced cross-platform remote execution features, excellent performance, and high flexibility; developed by MIT and X Consortium under a BSD-like license agreement; other enhancements developed by The XFree86 Project.
Internet backbone:
BIND: Berkeley Internet Name Daemon; used by almost all Internet domain name resolution servers, it behaves like a globally distributed distributed database; maintained by ISC (Internet Software Consortium).
BSD SendMail: The highest standard for mail transfer agents. No commercial competitor can match it, it is absolutely safe and robust; it is responsible for handling more than 75% of mail transmission tasks on the Internet, including giant sites like AOL-millions of messages every day. Maintained by SendMail under a BSD license agreement.
INN: InterNet News Server, which handles the vast majority of Usenet News on the Internet and also includes many corporate networks. Maintained by ISC (BSD) (BSD License Agreement).
Apache: More than half of the power of web servers (far more than the combined number of Microsoft and Netscape) was used for more than one million web servers back in 1998. Developed by the Apache organization (BSD-like license maintenance).
WU-FTPD: The most popular FTP server on the Internet, used by almost all FTP sites. Originally developed by Bryan O'Connor on Louis Street in Washington University, it is now maintained by Academ Consulting Services and many volunteers (BSD license).

Key features of open source software

Reduce risk: Having source code gives customers control over the tools on which their business depends. When the developer of an open-source product raises the price, adds restrictions that are difficult to receive, or uses some methods that dissatisfied customers, another different organization will use the source code to start developing new products to solve the original institution problem. Customers can also maintain or find others to improve it to meet their own requirements. Customer control software, which is unheard of in traditional proprietary software models. Even some wealthy customers may mitigate the risk of a serious financial crisis or a company being acquired by another company due to internal problems of traditional software vendors.

Open source software quality

Some research has shown that open-source software has great reliability advantages over other comparable commercial software. More effective development models, more independent peer review of code and design, and most authors great sense of honor for their work have contributed to its excellent quality. Some companies even give material rewards to those who find bugs.

Open source software transparency

Proprietary software has a lot of "dark corners" and hides many bugs. Source code is important for troubleshooting and understanding how the product works. In large software companies, only a few people have access to the source code, and those who have access to the source code usually do not have direct access to the user. Access to source code is also very important for patching security holes. Some open source products-including some of the products listed above-have been so successful that their commercial competitors cannot survive.

Open source software tailoring

Open source gives users great freedom, allowing them to customize the software to their business needs. Large organizations can cut significant expenses and labor costs from even small customizations. User faults and improvements in turn contribute to standard open source software packages. This is not possible in traditional proprietary software development.
Favorable copyright license and price: Defined as open source allows software to be more flexible in copyright licensing than proprietary software. This can greatly reduce the cost and time of more installations, which is more beneficial to those organizations that take time and effort in the procurement process. It also gives users greater freedom to install software.
When not to use open source software
If an open source product cannot meet the needs of an organization well, but another proprietary software can, and the cost of obtaining a proprietary software that meets the characteristics is higher than the cost of re-developing an open source product, it is best not Use open source software. But refer to "Trim" above.

Open source software support

Some open-source software has traditional paid and phone support. In fact, this is not as serious as a product that has neither source code nor support. See support and open source software.
Most open-source software mainly supports UN and Linux systems, and sometimes also supports Windows NT. Other platforms, such as mainframes, are a huge challenge for porting open source software. Porting software from UN to Windows NT comes at a significant price. however. The advantages of open source can almost make the platform conversion seem more cost-effective.

Major issues with open source software

Installing open-source software sometimes requires some more technical experience, such as the ability to configure or compile source code. The advantages of source code are diminished in companies without software development experts. Open-source customization also requires configuration management experience. In any case, any organization that has the above technical capabilities will enjoy the benefits of open-source well.
If all existing systems are well supported and completed, there is no need to change them. However, it is important to review this decision frequently, as new technologies often make them obsolete.
Doubtful reasons to avoid open-source software
These arguments are often used as an excuse to avoid using open-source software, but they usually cannot withstand scrutiny.
--- Fear of the unknown.
As you can see in the "Open-source software examples" section above, many organizations already rely heavily on open-source software, regardless of whether their decision makers are aware of it. This problem has become easier to solve due to the increased market for open-source developers' publicity and use, and the emergence of more advocates.
--- We already have a huge investment in purchasing commercial software packages.
This is just one form of the "inevitable cost fallacy". Software licenses, like rents paid for office buildings, are some consumption, but not investment. If other products are good at meeting your organization's needs at a lower cost, then spending money on low-level software
Decisions should not have an impact. Keep in mind that you may face serious political opposition from old schoolers who have opted for the use of expensive, low-level products and are unwilling to acknowledge their mistakes. At the same time, given that they may be expanded again, the investment in training staff and related infrastructure is perfectly justified.
--- If something goes wrong, we need someone to take responsibility.
Although this sounds reasonable in theory, it would be far better for us to use a trusted software product from the outset than to sue a software vendor after financial loss. Almost all major software companies use end-user license support to address some of the concerns that may arise from problems with their software. Microsoft and IBM have large, first-class legal staff, making customer complaints impossible. The law may become increasingly biased towards software vendors in the future.
open-source and software technical support
Commercial support is almost a concern for companies that are using open-source software. Paid support is a legitimate issue, but this is usually available for open-source products, and generally overestimates its importance.
--- Many major open-source products have technical support contracts available.
For example, Red Hat and Caldera have telephone support for the Linux they sell. Cygnus, Collective Technologies and many small consulting companies rely on support and enhancement of open-source software, and the business is doing well. And more and more open-source software has maintained a lot of commercial maintenance and support while maintaining its open source status.
--- E-mail and Usenet News support are very effective.
Almost all organizations developing open-source software provide free email support, mailing lists and Usenet newsgroups. These mechanisms are more practical and effective than telephone support. In a survey supported by many software vendors, the "Linux User Association" won the "Best Technical Support Award" in 1997, and it also exposed a lot of dissatisfaction with the quality of service of traditional software developers.
--- Support for traditional commercial software is often limited and of low quality.
For example, Microsoft only provides a technical support phone number for all its products: 900. Many marketing and sales support staff are focused on helping beginners get started, unable to answer questions not covered in the manual. Many software companies consider traditional phone support to be expensive and reduce it, which leads to quality degradation.

Open source software application platform

web Open source software web server

WEB server is also called WWW (WORLD WIDE WEB) server, whose main function is to provide online information browsing services. WWW is a multimedia information query tool for the Internet. It is a service developed on the Internet in recent years. It is also the fastest growing and most widely used service. It is because of the WWW tools that the Internet has developed rapidly in recent years, and the number of users has grown rapidly.
Open source web server software includes apache, kangle, nginx, etc.
Blog
The full name of a blog is Web log, which means "web log" in Chinese, and it was later abbreviated as Blog. It is the fourth network communication method that appears after Email, BBS, and IM. It is a personal "Reader's Digest" in the Internet age. It is a network diary with hyperlinks as a weapon. It represents a new way of life and a new way of working. It also represents a new way of learning. In short, Blog is a comprehensive platform that uses the Internet as a carrier to quickly and easily publish your experiences, communicate with others in a timely, effective, and easy manner, and integrate colorful and personalized displays.
Open source blog software includes b2evolution (PHP + MySQL), BLOG: CMS (PHP, based on Nucleus CMS), BLOG: CMS (PHP, based on Nucleus CMS), etc.
forum
The forum is also called the network forum BBS, which is called Bulletin Board System (bulletin board service) or Bulletin Board Service (bulletin board service). It is an electronic information service system on the Internet. It provides a public electronic whiteboard on which each user can write, post information or make comments. It is an Internet electronic information service system with strong interactivity and rich content. Users can get a variety of information services on the BBS site, post information, discuss, chat and more.
Open source forum application software includes phpbb, BMForum, phpwind [, etc.

Open source software application server

An application server must be a program that exposes business logic to clients through various protocols. It provides access to business logic for use by client applications. The application server uses this business logic just like calling a method on an object. Simply put, a server that can implement dynamic web technology is called an application server.
Open source application server software includes Enhydra (Java), JBoss (Java), Open3 (XML), etc.

Open source software messaging server

As a node of the network, the message server is specifically used to store and forward data and information on the network (for example, chat information). Make an image metaphor: the message server is like a post office switch, and the fixed or mobile network terminals such as microcomputers, notebooks, PDAs, and mobile phones are like telephones scattered in homes, various office places, and public places. We exchange and communicate with the outside world in daily life and work. We must go through the switch to reach the target phone. Similarly, we use personal computers, PDAs, mobile phones, etc. to send messages, we must go through the message server, so we can say It is the message server that "organizes" and "leads" these message receiving devices.
Open source messaging server software includes ArsDigita (Tcl & Java), Exolab Group (J2EE, integrated OpenEJB, OpenJMS, OpenORA, Tyrex), Zend (PHP), etc.

Open Source Software Enterprise Program

Enterprise application is a general concept, which can be divided into enterprise resource planning (ERP), customer relationship management, project management, content management, human resource management, automated procurement software, information warehouse (CIW), production planning, Inventory management, group software, B2B and library resource integration system (ILS).
Open source enterprise applications include Compiere (ERP + CRM), Compiere, Gnome Planner, ArsDigita, phpgroupware, J2EE, Akopia, Compiere (ERP + CRM), openapplications, OpenBiblio, etc.

Open Source Software Wireless Network

The so-called wireless network includes both global voice and data networks that allow users to establish long-range wireless connections, as well as infrared and radio frequency technologies optimized for short-range wireless connections. They are very similar to the purpose of wired networks, and the biggest difference lies in the transmission medium. The difference is that using radio technology to replace the network cable can back up each other with the wired network.
Open source wireless applications are kannel, Jwap, Ophelia, etc.

Open source software database

Database (Database) is a warehouse that organizes, stores, and manages data according to the data structure. It was created 50 years ago. With the development of information technology and markets, especially after the 1990s, data management It is only storing and managing data, and transforming into various data management methods that users need. There are many types of databases, from the simplest form that stores various data to large-scale database systems capable of mass data storage, which have been widely used in various aspects.
Open source database software includes BerkelayDB, MySQL, SQLite, etc.

Open source software desktop environment

The "desktop environment" may be just a simple window manager, or it may be a complete suite of desktop applications like KDE or GNOME.
Open source desktop environment software includes GNOME, GNUstep, KDE, etc.
Window management class
Window management, also known as user interface, is the software and hardware part of the electronic computer system that realizes the exchange of user and computer information. The software part includes processing software such as the agreement between the user and the computer for information exchange, operation commands, and the hardware part includes input devices and output devices. Currently, a graphical user interface is commonly used, which uses a multi-window system to display a direct image and is easy to operate.
Open source window management software includes Afterstep, Twm, fvwm, Window Maker, etc.
CD Burning Class
The function of a CD burner is: it can burn CDs and read CDs, but it cannot read / write DVDs. The function was last used in COMBO and secondly in DVD burners. Most people now use DVDROM, COMBO, DVD burner. Performance: read-CDROM = CD burner <DVDROM = COMBO = DVD burner; write-CD burner <COMBO <DVD burner.
Open source CD burning software includes CD Record, Freeburn, Xfburn and so on.
File editing class
Document editing software is a general concept that is subdivided into office software suites, notepads, PDF-related software, technology text editors, text editors, WYSIWYG and document processing.
Open source file editing software includes Gnome Office, KeyNote, FPDF, GNU TeXmacs, FreeDOS edlin, HTMLarea, AbiWord, etc.
Education software
Educational software is a general concept, subdivided into learning support software, language related software, mathematics related software, scientific research software, typing software and other educational software.
Open source educational software includes ILIAS, FlashKard, KBruch, BioJava, GNU Typist, KEduca, etc.
Finance related software
In a broad sense, all capital flows generated by market entities such as governments, individuals, and organizations by raising, allocating, and using funds can be called finance. Therefore, not only the financial industry, the government's finances, the behavior of industry companies, and personal finance are all part of finance.
Open source financial related software includes GnuCash, JCash, JMoney, etc.
Game software
There are many types of games. Different types of games will appear in different media. Different props or number of participants will also lead to different types of games. These include: manual games, table games, board games, board games, card games, group games, video games, role-playing games, puzzle games, and others.
Open source game software includes Abuse, Falcon's Eye, Java Risk, UFO2000, XulMine, etc.
Network software
Network and Internet software is a general concept, subdivided into email, instant messaging software, communication related software, file transfer software, P2P file sharing software, remote login, web browser, Webcam, Webgrabber, network related software And other network software.
Network and Internet software includes Magic Mail Monitor 3, AMSN, Slrn, Samba, eMule, RealVNC, Galeon, Dorgem, HTTrack, Apache Tomcat, OpenLDAP, etc.
Math software
It is software specially used for mathematical operations, mathematical planning, statistical operations, engineering operations, drawing mathematical graphics or making mathematical animations.
Open source mathematical software includes GAP, MAMA, SINGULAR, etc.
Media
Body software is a general concept, subdivided into audio editing software / audio management software, graphics / picture browsing, media player, and video editing.
Source media software includes CD-DA X-Tractor, GOCR / JOCR, JCDSee, CoolPlayer, GNU VCDImager, etc.
Operating system class
Operating system (English: Operating System, OS for short) is a program that manages computer hardware and computer software resources, and is also the core and cornerstone of computer systems. The operating system is responsible for basic tasks such as managing and configuring memory, determining the priority of system resource supply and demand, controlling input and output devices, operating the network, and managing file systems. The operating system also provides an operation interface for users to interact with the system.
Open source operating system software includes open source Unix (System V / BSD), FreeDOS, Linux, Menuet, etc.
Password management
A collection of software or hardware surrounding the security and management of user accounts and passwords.
Open source password management software includes Password Safe, PINs, etc.
Personal Information Management
Personal information management system is an application software that provides personal information organization and management functions. Its purpose is to facilitate the recording, tracking and management of various personal information.
Open source personal information management software includes Elephant Memory, KAddressbook, KOrganizer, etc.
Programming language class
There are many types of computer languages. In general, they can be divided into three major categories: machine language, assembly language, and high-level language. If divided by language, it can be divided into two types: English symbol language and Chinese symbol language. (Typical examples are: easy language, easy language. Feiyang) Every action a computer makes is performed according to a program that has been programmed in a computer language. A program is a collection of instructions to be executed by a computer, and the program It's all written in the language we know. Therefore, to control the computer, people must issue commands to the computer through the computer language. There are currently two forms of common programming languages: assembly language and high-level language.
Open source programming language software includes DJGPP, GCC, Open64, Objective CAML, PHP, etc.
Screen saver software
A screen saver is a computer program. The original intention is to reduce the life of a computer monitor by generating a phosphorous imprint when it is still, by blanking the screen or filling the screen with moving images. Screen savers are now used for entertainment or security purposes.
Open source screen savers include Flurry, KISS Image Screen Saver, Really Slick Screensavers, xmatrix, etc.
Security software
Security software is a general concept that is broken down into anti-virus software, encryption software, firewalls, SSH, and other security software.
Open source security software includes Open Antivirus, GnuPG, Coyote Linux, OpenSSH, Stunnel, etc.
Other software
Here are some open source softwares that are difficult to classify:
Active2
AstroGrep Grep with GUI
Autopackage package management system on Linux
BibleTime Bible study software
Bochs PC accumulator
Cygwin Open source Unix simulation environment for Win32
Link Checker check for bad links in HTML documents
Memtest86 memory checking software
Open Scene Graph
Sun Grid Engine-computer cluster software
TeX typesetting system
Vitrite software for making windows transparent on Windows 2000 / XP
WINE run Windows software on Linux / BSD
XFree86 window system
gEDA Automation Appliance Design Tool
GPAI General Public Artificial Intelligence Platform

Open source software development trends

The popularity of the Internet brings together the original decentralized developers. As long as they have a suitable foundation and a good framework, they can develop product-level tool software (taking Eclipse, JBoss, MySQL, Subversion, GLASSFISH as examples), so Open source has become a trend. The emergence of a large number of open source software, software outsourcing will become more popular, the main characteristics are as follows: [2]
1 The enhancement of computing power, the integrated development environment is more intelligent, it is more convenient to obtain ready-made class libraries, and the application software development becomes easier. [2]
2 In addition to the characteristics of the one-time investment of the software itself, many occasions even use software to replace the hardware, and the demand for software development has increased. [2]
3. Consumer electronics are more closely related to people's lives, the emergence of small free software and small table games. The number of software developers required in various aspects has increased dramatically (the organizational form is a large number of small-scale development teams); due to this factor and pressure to reduce costs, development outsourcing has become very popular; [2]
4. Project construction tools, resource dependencies are more automated, and system development does not need to start from zero, but uses the free framework in the industry for secondary development. [2]
A well-known computer industry magazine reported that Netscape was "inspired by a large number of free and shareware licenses." In fact, Netscape is exchanging information with many famous UNIX free software developers, and it now looks very close to the BSD and GPL licenses. The Nescape Public License is different from the GPL, which gives Nescape more control over source code development and branding. [1]
Netscape's abandoned tactics are very clever. First of all, browser sales already make up a small portion of Netscape's business. The browser's open source status will not have a big impact on it, and some buyers who want formal technical support are still willing to pay. Second, it is actually issued under an open source license, which completely changes the passive situation caused by Microsoft's free delivery of Explorer. This will help increase the market share of the Nescape browser. In the end, Netscape's position gained friendship, trust, and potentially huge innovation from the open source community. Netscape's future cannot be reassured, especially on NT's Web servers; but its brave, dramatic licensing policy for Communicator will not bring any losses. [1]

Common protocols for open source software

LGPL license
The LGPL license is the abbreviation of LESSER GENERAL PUBLIC LICENSE, also known as LIBRARY GENERAL PUBLIC LICENSE, which is translated into Chinese as "relaxed public license" or "function library public license". This license applies to software packages specially designed by the Free Software Foundation and other software authors who decide to use this license-such as libraries.
The LGPL license is also a type of GNU open source software license. Most of the GNU software, including some libraries, is protected by the original GPL license. The LGPL license is applicable to a specially designed function library and is very different from the original general public license. It gives the licensee a more lenient right, so it is called a "relaxer public license". Use it in specific libraries to allow non-free programs to link with these libraries.
When a program is linked with a function library, whether it is statically linked or using a shared function library, the combination of the two can reasonably be a combined work, a derivative of the original function library. Therefore, the original General Public License allowed linking only if the entire combination met its standard of freedom. The looser general public license allows other program code to be linked with this library with a looser standard. For example, in a few cases, there may be special needs that encourage everyone to use a particular library as widely as possible, thus making it a de facto standard. To achieve this goal, non-free programs must be allowed to use this library. A more common situation is that a free function library does the same work as a widely used non-free function library. In this case, it is not of much benefit to restrict only free software to use this free function library, so We use the LGPL license.
In other cases, allowing non-free programs to use specific libraries allows more people to use most of free software. For example, allowing non-free programs to use the GNU C library can allow more people to use the entire GNU operating system, and its variants, the GNU / Linux operating system.
Although the LGPL license protects the user's freedom less, it ensures that the user of the program linked to this library has freedom and has the necessary methods to execute the program using a modified version of the library.
MPL license
MPL is short for The Mozilla Public License, a software license designed by Netscape's Mozilla group for its open source software project in early 1998. The most important reason for the emergence of the MPL license is that Netscape believes that the GPL license does not balance the needs of developers with the source code and the benefits they obtain from using the source code. Compared with the well-known GPL license and BSD license, MPL is the same in terms of many rights and obligations (because they are all open source software licenses in accordance with OSIA). However, compared to MPL, there are several significant differences:
Although MPL requires modification of the source code released under the MPL license, it must be sublicensed in the form of an MPL license to ensure that others can share the source code under the terms of the MPL. However, the definition of "release" in the MPL license is "files released in source code", which means that MPL allows an enterprise to add an interface to its existing source code library, except for the source of the interface program. The code is externally licensed in the form of an MPL license, and the source code in the source code library can be forced to be licensed without the MPL license. This leaves a gap for the behavior of using other people's source code for their own commercial software development.
Article 3, paragraph 7 of the MPL license allows the licensee to mix the source code obtained through the MPL license with other types of code to obtain his own software program.
With regard to software patents, the MPL license does not expressly oppose software patents like the GPL license, but explicitly requires that the source code provider cannot provide the source code that has been protected by the patent (unless he is the patentee and The book is free to license the source code to the public), nor can you apply for a patent related to the source code after you license the source code under an open source license.
Definition of source code. In the MPL (version 1.1) license, the definition of source code is: "Source code refers to the most preferred form of modification of the work. It includes: all source programs for all modules , Plus the definition of the relevant interface, plus the 'original' (original 'Script') controlling the installation and compilation of the executable, or the source code that is either significantly different from the original source code or selected by the source contributor Program code available from the public domain. "
Article 3 of the MPL license has a special provision that describes the modification of the source code, which requires all redistributors to have a special document describing the time and method of modification of the source code program. .
BSD license
The BSD license was originally used in various 4.4BSD / 4.4BSD-Lite versions (BSD is the abbreviation of Berkly Software Distribution) published by the University of California, Berkeley. In 1979, the University of California, Berkeley released BSD Unix, known as the pioneer of open source, and the BSD license evolved with BSD Unix. The BSD license is now adopted by open source software such as Apache and the BSD operating system.
Compared to the strictness of the GPL license and the MPL license, the BSD license is much looser. It is only necessary to attach the original text of the license, but it is more interesting that it requires all further developers to copy their own copyrights. The materials are put on it, so you may encounter a small situation when you get the software released under the BSD license, that is, these copyright materials licenses occupy more space than the program.
QPL license
QPL is short for The Qt Public License and was created by a Norwegian institution. The basic requirements of the QPL license are to obtain the source code, modify the source code, and separate the modification from the original code; the modification can be combined into the new version according to the author's wishes; the binary code can have the same name as the original code. Dynamic link libraries are especially important; anyone can fix errors, which is critical for system publishers; modified software can be released under any open source software license that meets the basic requirements of the QPL license.
QNCL license
QNCL license is the abbreviation of Qt Non Commercial License and it is the "brother version" of QPL license. Just like the relationship between GPL license and LGPL license, QNCL license is stricter than QPL license.
In terms of modification and distribution, the QNCL license is the same as the QPL license, and the difference lies in the scope of the software, or the connection. The QNCL license stipulates that If an application provides you with an entry that gives you the right to use the software to develop programs, reuse parts of programs, or parts of other software under the QNCL license, then the application Use is deemed to be the use of software under the QNCL license, and the application is subject to the QNCL license. " The QNCL license is stricter than the QPL license. The QNCL license, like the GPL license, completely prohibits the distribution of open source software obtained under this license and software that is linked to other non-system library functions under other licenses.
Common License
The full name of the Common license is the Common Public License. After meeting the prerequisites of the OSIA open source software license certification standard, the Common license has some detailed regulations that are worth reference:
Clarified patent authorization. In general, open source software has a copyright owner with clear source code that allows the public to modify its copyright rights such as the right to copy, but retains the right of attribution, and the Common license also specifies that if the source code contains a patent right, The patentee of the source code licenses the exclusive rights of reproduction and use to the public.
It is stipulated that the source code and modified source code can be combined with other types of code not subject to this license and released as a new product, as long as the source code and modified source code obtained under the license can Just publish as required by the license.
Refined the circumstances under which the license was terminated, including patent infringement lawsuits.
A principle of independent responsibility was clarified. If the user who uses the source code under this license applies the obtained source code to commercial use, then he will be liable for the use of the source code program in commercial applications The resulting infringement action is fully responsible. This rule is quite special, and most open source software licenses do not require this.
IBM License
The full name of the IBM license is the IBM Public License. On the premise of meeting the OSIA open source software license certification standards, the IBM license also has the following detailed provisions:
Clarified patent authorization. General open source software clearly states that the copyright owner of the source code licenses the copyright rights such as modification rights and reproduction rights to the public, but retains the right of attribution, and the IBM license also clearly states that if the source code contains patent rights, The patentee of the code licenses the exclusive rights of reproduction and use to the public.
Refined the termination of the license, including the release and use of source code in accordance with the requirements of the license, and the occurrence of patent infringement lawsuits.
Like the Common license, the IBM license also clarifies the principle of independent responsibility, that is, if the user who uses the source code under the license applies the obtained source code to commercial use, then he will appear in commercial applications. Is fully responsible for infringement proceedings arising from the use of the source code program.
Jabber license
The full name of the Jabber license is Jabber Open Source License, provided by the United States Jabber, Inc. The Jabber license is basically nothing special with other licenses in terms of copying and distribution of source code, but there are some details that are worth learning from:
The source code and modified source code obtained through the license can be combined with other types of code not subject to the license to be released in the form of new products, as long as the source code and modifications obtained through the license Passed source code can be distributed under other OSI-certified other open source software licenses similar to the requirements of this license.
It was clarified that the time needed to put the source code in a state available to the public should be at least 12 months.
Third party statement of legal rights. If the user finds that the source code and application program interface obtained through this license have intellectual property rights owned by one party, they should separately declare the title of "LEGAL" at the time of the release of the source code, specifying the details of the intellectual property rights claim Recipients of the source code are requested to know which intellectual property rights they have obtained, so that the recipient of the source code knows how to contact the intellectual property rights holder.
Refined the termination of the license, including the release and use of source code in accordance with the requirements of the license, and patent infringement lawsuits.
Agreement comparison
BSD open source agreement
The BSD open source protocol is a protocol that gives users a lot of freedom. Basically, users can "do whatever they want," freely use, modify the source code, and redistribute the modified code as open source or proprietary software.
BSDBSD
BSD
//BSD
/
BSD BSDBSDBSD
MIT
MIT is as broad as BSD. The authors only want to retain the copyright without any other restrictions. That is, you must include a statement of the original license agreement in your distribution, whether you distribute it in binary or source code. The MIT agreement, also known as the MIT License, was originally developed by the Massachusetts Institute of Technology. Licensee's rights: 1. Licensee has the right to use, copy, modify, merge, publish, distribute, re-authorize and sell software and software copies. 2. The authorized person can modify the authorization terms to appropriate content according to the needs of the program. Licensee's Obligation: Copyright and license notices must be included in the software and all copies of the software.
GNU GPL
Linux, which we are very familiar with, uses the GPL. GPL and BSD, Apache Licence and other licenses that encourage code reuse are quite different. The starting point of the GPL is open source / free use of code and reference / modification / open source / free use of derived code, but the modified and derived code is not allowed to be released and sold as closed source commercial software. This is why we can use a variety of free Linux, including commercial company Linux and a variety of free software developed by individuals, organizations, and commercial software companies on Linux.
The main content of the GPL agreement is that as long as it is used in a software ("use" refers to a class library reference, modified code or derivative code) GPL product, the software product must also use the GPL agreement, which must be open source and free . This is called "contagious". GPL-licensed products can be used as a single product without any problems, and can also enjoy the advantage of free of charge.
Because the GPL strictly requires that software products using the GPL class library must use the GPL protocol, open source code that uses the GPL protocol, commercial software, or departments that have confidentiality requirements for the code are not suitable for integration / adoption as the basis for class libraries and secondary development .
Other details such as the need to accompany the GPL agreement when re-release and similar to BSD / Apache.
GUN LGPL
LGPL is an open source protocol of the GPL designed primarily for class library use. And GPL requires that any software that uses / modifies / derives GPL libraries must use the GPL protocol. The LGPL allows commercial software to use the LGPL class library by linking to the class library without the need for open source commercial software code. This allows open source code that uses the LGPL protocol to be referenced and distributed by commercial software as a class library.
However, if the code or derivative of the LGPL agreement is modified, all the modified code, the additional code involving the modified part and the derived code must adopt the LGPL agreement. Therefore, the open source code of the LGPL agreement is very suitable as a third-party class library to be referenced by commercial software, but it is not suitable for commercial software that hopes to use the LGPL agreement code as a basis for secondary development through modification and derivation.
GPL / LGPL both protect the intellectual property rights of the original authors and prevent anyone from using open source code to copy and develop similar products.
Apache Licence 2.0
Apache Licence is a protocol adopted by the well-known non-profit open source organization Apache. This agreement is similar to BSD. It also encourages code sharing and respects the original author's copyright. It also allows code modification and redistribution (as open source or commercial software). The conditions to be met are similar to BSD:
Need to give users of the code an Apache Licence
If you modify the code, it needs to be explained in the modified file.
In the extended code (modified and source code-derived code), the agreement, trademark, patent statement and other original author's instructions in the original code need to be included.
If the product to be redistributed contains an Notice file, Apache Notice must be included in the Notice file. You can add your own permission in Notice, but it cannot appear as a change to Apache Licence.
Apache Licence is also a commercial-friendly license. Users can also modify the code to meet their needs and release / sell as open source or commercial products when needed.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?