A Practical Guide to Using Open Source Software
January 1, 2010
By: John A. Leonard
What is open source software? Open source software is software licensed under various licenses that impose certain requirements upon its users not usually found in other “proprietary” licenses. Under ordinary proprietary licenses, the owner of the software licenses software to a user for a fee. The user usually can use the software for its own business, but usually cannot distribute it or relicense it to others. In fact, with proprietary software, users usually never receive the written source code. Usually, all the user receives is compiled binary code called “object code” that can be read only by computers. However, under many licenses, open source code users have a right to receive a copy of source code and are free to modify it.
Where is open source software found? Open source software can be licensed like any other software, downloaded over the internet or can be embedded in components on chips (this is called “firmware”).
What are the consequences of using open source software? Depending upon the particular license used, the most serious consequences of using open source software is that if the software is distributed, a Company may have to provide a copy of the source code of the open source code. In addition, if a Company has modified the open source code or otherwise combined it with other code, there may be a duty to provide a copy to the public of the modified or combined source code. Thus, it is extremely important that when designing products or software, all developers need to understand how and when the use of open source code is permitted.
What software source code is subject to disclosure? There is no one answer to this question. It depends on what license the open source software has been distributed under. It also depends on whether the open source code has been modified or if it has been dynamically or statically linked to other software
What is the difference between Dynamic Linking and Static Linking? Whether a program uses static or dynamic linking may have a significant impact on determining the risk and/or benefits posed by a particular open source license. In the case of static linking, the various portions of software are linked prior to compiling. If static linking used with open source and proprietary software, then, arguably, the open source has been modified and all of the source code that was linked to the open source software would need to be disclosed upon distribution. By contrast, however, in the case of dynamic linking, it might be argued that since modified software is really only created at the time the program is actually run and dynamically linked to others software. Thus, there may be no distribution since the modified software may only be created on an end-user’s machine.
What Questions should open source users address?
- What open source code is being used?
- Where did it come from?
- What license(s) apply to the open source code?
- Has the open source software been modified?
- Has the open source software been combined with any other software?
- Has the open source software been linked to any other software?
- If linked, is it linked dynamically or statically?
- Are all license compliance requirements related to the open source software met?
What other protections can a software developer take?
Software developers should consider using indemnities when purchasing products which contain open source firmware.
How is open source licensed and what are the most popular licenses?
Open source software is created by people and then posted on the internet for download or otherwise distributed. The person or company that creates the initial version of the open source software decides which open source license to is appropriate for further distribution. Once chosen, it continues to be the license that describes the rights to the originally licensor and the duties and rights any recipient of the software has (including the rights to duplicate, distribute, create modifications). When working with open source software, the following licenses may be used:
- BSD – The Berkeley Software Distribution
- Apache 2.0.
- Mozilla Public License, v. 1.1.
- GPL v. 2.
- LGPL v. 2.1.
- GPL v. 3.
- LGPL v. 3.
- Affero GPL v. 3.
This Article is published for general information, not to provide specific legal advice. The application of any matter discussed in this article to anyone's particular situation requires knowledge and analysis of the specific facts involved.
Copyright © 2010 Fairfield and Woods, P.C.,ALL RIGHTS RESERVED.
Comments or inquiries may be directed to: