However, free software is like free lunch -- it doesn't exist. It takes time and tools to develop software and resources to market and distribute it. But just as you have the freedom to take lunch, some believe you should have the freedom to copy, modify and distribute software. This freedom is not available with freeware, shareware or proprietary software -- source code does not accompany these products. But source code does accompany open-source software.
Open-source software is developed and modified by programmers who often devote their time, energy and skills for recognition, not remuneration. The open-source community fixes bugs, enhances software, documents those enhancements, and posts all for the world to see and use on the Web. These programmers put their reputations on the line. If problems develop, users know where to go for resolution, or they are free to resolve the problems themselves using the source code. Be aware that open-source software, like proprietary software, is protected by copyright and restricted by license.
The software industry uses copyright law to protect the rights of software owners and developers, and uses licenses to control the exercise and transfer of those rights to other parties. Under copyright, software is protected when it is first created and fixed on media, regardless of whether the creator or author explicitly reserves the copyright with a notice or registers it with the U.S. Copyright Office. Copyright law secures and protects the right of software vendors to copy, distribute and prepare derivative works. These rights are separable and can be transferred to other parties by license.
Proprietary software vendors have a financial interest in maximizing their return on investment by prohibiting modifications to products, limiting the number of copies a customer can make and restricting their distribution. Open-source software vendors are less restrictive and allow the enterprise not only to run and copy the software but to modify it and distribute the modifications under certain conditions that vary depending on the license. Licenses distinguish open-source software projects or packages and separate a community of users into those who encourage open-source development in the enterprise and those who discourage it.
License or Larceny?
The degree of freedom given to enterprise users by open-source software is related to the vendor's aim in distributing the software. Vendors that wish to distribute software widely relax license restrictions and let users copy, modify and even distribute the modifications with minimal restriction. For example, programmers at University of California Berkeley developed the BSD (Berkeley Software Distribution) operating system when AT&T stopped providing Unix with source code free to some academic institutions. Their intent was to create a Unix clone and distribute it as widely as possible. As a result, BSD distributed its source code with a license that lets users modify it and distribute the modified version with or without source code.
The permissive BSD license accomplished the purpose of wide distribution. The open-source community modified the code and returned it as FreeBSD, OpenBSD and NetBSD. A commercial interest also developed BSD OS. BSD has been a benefit to the enterprise. Sun Microsystems originally distributed BSD free with hardware and later turned it into a proprietary OS. BSD code can also be found in Microsoft Windows NT and Apple MacOS X.
The current BSD license simply requires source or binary redistributions or both to retain a list of restrictions that includes maintaining the original copyright notices and a disclaimer for express or implied warranties. Also required is that an "author may not be used to endorse or promote products derived" from the software without permission.
The X11 license for an open-source X Window System is even simpler. Like the BSD license, the X11 license requires distributions to carry the original copyright notices. For X11, copyright holders include Compaq Computer Corp., Hewlett-Packard Co., IBM, Hummingbird Communications, Silicon Graphics, Sun and The Open Group. Everyone, including enterprise developers, benefits from less permissive open-source licenses.
This is not the case when open-source licenses force developers to contribute to the open-source community, a system that began with the GNU Project's General Public License (GPL). As with the BSD and X11 licenses, software protected by the GPL is free for everyone to run, copy and distribute unmodified. However, if enterprise developers modify the software, the modifications can be distributed only with the source code.
Hence, compiling open-source code with proprietary code forces developers to contribute back to the open-source community. It doesn't take a lawyer to tell you that compiling and contributing proprietary code with GPL-protected code is tantamount to larceny and that the GPL enforces a closed shop on open-source software, hostile to enterprise developers. As a result, some vendors are crafting licenses that promote open-source software to the enterprise.
The Open Source Initiative (OSI) promotes the use of open-source software in the enterprise. It grants seals of approval to licenses that meet the Open Source Definition (version 8.1) and maintains copies of approved licenses for reuse.
Although the OSI promotes the free redistribution of software with access to both source and compiled code, it does not discriminate against proprietary ventures. OSI-approved licenses include BSD, GPL and X11, and the IPL
(IBM Public License), the MPL (Mozilla Public License), the
SPL (Sun Public License) and the APSL (Apple Public Source
License).
Open-source code protected by the IPL and MPL incorporates enterprise development by separating the protected code from the modifications. An enterprise developer can modify the protected code with proprietary software without redistributing the entire code.
Instead, the developer discloses the changes made to the protected code, thus keeping the proprietary code private. The SCSL uses the same division between protected and modified code but requires developers to maintain compatibility among deployed versions of the protected code and, depending on the Sun technology, to pay Sun royalties.
Although the proliferation of licensing schemes by proprietary interests provides more code and choices for enterprise developers, it adds to the complex issues in open-source development.