8/02/2005
Open Source Summary
I have been doing alot of researh on open source Software lately and here are some things that I have Found. Most of this is very basic and would be well suited for Students or non techies, but here it is anyway.
Open Source
Many people have never heard the term "open source" before, and if they have, they may not know what it means. By definition, the term Open Source means that the source code is available. Open source software is software with its source code available that may be used, copied, and distributed with or without modifications, and that may be offered either with or without a fee.
An open source license is certified by the Open Source Initiative (OSI), an unincorporated nonprofit research and educational association with the mission to own and defend the open source trademark and advance the cause of OSS.
Source Code
Source Code is the pre-compiled (or pre-interpreted) files, comprising a program.
When you download a piece of software from the internet or buy a one from the store (say Microsoft Word), you are buying a program built from machine code that will run on your machine. You are not buying source code.
The open source community consists of individuals or groups of individuals who contribute to a particular open source product or technology. OSI Developers are often IT employees!
- Efficient: new versions released continually
- Global: contributors from around the globe
- Collaboration using email, newsgroups, Wikis, and the Web mean access to the most current thinking, planning, and deliverables.
- High quality software built using Scientific Method
- Peer review
- Parallel Development and Debugging
- No shipping products with known bugs to gain time-to-market advantage
- Access to Source Code
- Documentation for commercial software products is notoriously skimpy.
- Having access to source code enables the developer to understand the program at a deep level and to debug and optimize her own program at a level of efficiency and skill that is often not possible with programs available only in binary form.
- Community
- Having a common source code pool and the tools provided by the Internet creates an opportunity for extensive and speedy collaboration on development projects.
- Cost. Most programs distributed as "open source" are free.
- Broad Rights.
- The broad license grant, which allows licensees to use, modify and redistribute open source programs, is a major advantage of the typical open source license. Typical commercial software products are distributed only in binary form and may not be modified.
- Often the documentation associated with commercial programs is not detailed enough to permit some kinds of "value added" programming that is possible for developers who have direct access to source code
- Free software (free as in speech, not beer): free to run the program, for any purpose.
- Free to study how the program works, and adapt it to your needs.
- Free to redistribute copies so you can help your neighbor.
- Free to improve the program, and release your improvements to the public, so that the whole community benefits.
- From the GNU (GNU’s Not Unix) Software Foundation
- Strong Copyleft
- Often referred to as “viral”, meaning any code taken from (either in its entirety or in part) a program licensed under the GNU GPL must continue to be licensed under the GNU GPL
- The Linux Kernel was licensed under the GNU GPL, therefore, all of the Operating Systems that use Linux must be licensed under the GNU GPL.
- License Market Share
- Business Friendly
- Provides a software license without such “viral” effects
- Allows for products to be embedded in or bundled with commercially licensed OEM (Original Equipment Manufacturers) and ISV (Independent Software Vendors) products.
- Encourages users like software vendors, telecoms and OEM's to bundle the product without changing their own license terms.
- Not a Strong Copyleft
- Changes to the source code must be made available to anyone whom you distribute the executable to
- Incompatible with the GNU GPL
- meaning that a module covered by the GNU GPL and a module covered by the MPL (Mozilla Public License) cannot legally be linked together
- Allows a program to be licensed under another license as well. If part of a program allows the GNU GPL as an alternate choice, that part of the program has a GPL-compatible license.
- Incompatible with the GNU GPL because it has certain patent termination cases that the GNU GPL does not require
- Allows the license to be reusable without modification by any project (including non-ASF projects)
- Allows the license to be included by reference instead of listed in every file
- Requires a patent license on contributions that necessarily infringe the contributor's own patents
- Moves comments regarding Apache and other inherited attribution notices to a location outside the license terms
- Originally created for the BSD (Berkeley Software Distribution) Operating System
- Simple, permissive non-Copyleft free software license
- GNU GPL compatible
- Derivative works are not subject to the same terms as the initial BSD license
- Users can add additional restrictions to the BSD license, preventing software from being copied