Easy Tutorial
❮ Verilog2 Display Js Precision Problem And Solution ❯

Introduction to Various Open Source Licenses

Category Programming Technology

There are probably hundreds of open source licenses in the world, and today we will introduce several common open source agreements. There are mainly GPL, BSD, MIT, Mozilla, Apache, and LGPL, etc.

Apache License

The Apache License is a free software license issued by the Apache Software Foundation.

The Apache License is an agreement adopted by the renowned non-profit open source organization Apache. Similar to the BSD, it also encourages code sharing and the copyright of the original author, and also allows for source code modification and re-publication. However, the following conditions must be followed:

The benefits of using this agreement are:

-

Permanent rights Once granted, they are owned permanently.

-

Global rights Authorized in one country, it applies to all countries. For example, if you are in the United States and the license is authorized from India, there is no problem.

-

Free of charge No royalties, no fees before or after.

-

Non-exclusive authorization Anyone can obtain authorization.

-

Irrevocable authorization Once granted, no one can revoke it. For example, if you have developed a derivative product based on the product code, you don't have to worry about being banned from using the code one day.

BSD

BSD is an abbreviation for "Berkeley Software Distribution," which means "Berkeley Software Distribution."

BSD open source agreement: It is an agreement that gives users a lot of freedom. You can freely use and modify the source code, and you can also republish the modified code as open source or proprietary software. When you release code that uses the BSD agreement, or when you develop your own products based on the BSD agreement code, you need to meet three conditions:

BSD code encourages code sharing but requires respect for the author's copyright. Because BSD allows users to modify and republish the code, and also allows the use or development of commercial software based on BSD code for release and sale, it is a very friendly agreement for commercial integration. Many companies prefer the BSD agreement when choosing open source products because they can fully control these third-party codes and modify or develop them when necessary.

GPL

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

Linux uses GPL.

The GPL agreement is very different from agreements that encourage code reuse, such as BSD and Apache License. The starting point of GPL is the open source/free use of the code and the open source/free use of referenced/modified/derived code, but it does not allow modified and derived code to be published and sold as closed-source commercial software. This is why we can use various free Linux, including commercial Linux companies and various free software developed by individuals, organizations, and commercial software companies on Linux.

LGPL

LGPL is an open source agreement designed for LGPL, mainly for library use. Unlike GPL, which requires any software that uses/modified/derived GPL libraries to adopt the GPL agreement, LGPL allows commercial software to use LGPL libraries through library references without open-sourcing the commercial software code. This makes open source code adopting the LGPL agreement suitable for being referenced as a library by commercial software and published and sold.

However, if the LGPL agreement code is modified or derived, all modified code, additional code involving modifications, and derived code must adopt the LGPL agreement. Therefore, open source code under the LGPL agreement is very suitable for being referenced as a third-party library by commercial software, but it is not suitable for commercial software that wants to modify and develop based on the LGPL agreement code.

Both GPL/LGPL protect the intellectual property rights of the original author and prevent someone from using open source code to copy and develop similar products.

MIT

MIT is as permissive as the BSD license, originating from

❮ Verilog2 Display Js Precision Problem And Solution ❯