160 likes | 264 Views
Intellectual Property in FOSS and Product Lines. Daniel M. German. Motivation. Hypothetical questions: Can I use mySQL (the gratis version, GPLed) as the backend in a product? If not, what type of product? It yes, what type of product? What license can it have?. Motivation….
E N D
Intellectual Property in FOSS and Product Lines Daniel M. German
Motivation • Hypothetical questions: • Can I use mySQL (the gratis version, GPLed) as the backend in a product? • If not, what type of product? • It yes, what type of product? • What license can it have?
Motivation… • How about using standard C++ library (GPL v2) in a product? • What is the license of the resulting binary program? • Does static or dynamic linking matter?
FOSS is as components • FOSS requires projects to be split into smaller ones • Simplifies organization and communication • Each with its own governance, even if under the same umbrella (Apache F., Eclipse F., FSF, etc). • Each with its own license
Dependencies • Today most FOSS is not build from scratch • Almost any project requires some other ones • Either to provide a run-time environment • Libraries, support programs, etc • To build the product • SDKs: programming languages, configuration management tools, etc. • Frequently you don’t know the entire dependency chain • Cost is not an issue • IP is! You need to understand how and when you can use a product
Example: Bugzilla • Very “small” application • Depends on a myriad of different tools • It offers the choice to the user of • DBMS • MTA • Options • Show dependencies
Bugzilla licensing • Licensed under the Mozilla Public License 1.1 • Yet it can use MySQL (GPL v2) • And code under the “disjuntive” GPL v1/Artistic License
Licensing affects interconnection • It determines the way in which you can use a given module • Dynamic linking • Command line execution • Subclassing • Pipes • Plugins/extensions • Etc..
License proliferation • 72 OSS licenses • U. of Victoria has one (Adaptive Public License) • Nokia (NOKOS version 1.0a) • Some have been retired: • Intel OS License • But many have different versions • 3 GPL versions, 3 LGPL versions, 1 GPL-Affero license • Each license grants/restricts permissions to the user
Not all licenses are created the same • Some restrict execution: • Microsoft Public License • Some don’t care about execution: • GPLs • Side effect: you don’t have to accept the GPL to use GPLd software! • Some allow unrestricted derivate works • BSD-3 clauses • Some don’t (BSD-4 clauses)
Attempt to Curve Proliferation • Licenses are starting to converge: • Apache Public License 2.0 compatible with GPL version 3. • Artistic License 2.0 compatible with GPL version 2.0
At the core of the issue • Is my product a derivative work or not? • If so, I need a license to create a derivative work • Is my product a compilation? • If so, and I want to distribute it, I need a license to do so.
Who licenses? • Is the creator o the software? • The creator of the product sublicenses to the customer • Is the end user?The creator is the end user
Challenge: • Learning how to combine FOSS products such that the licensing terms are complied “License incompatibilities are inconveniences rather than barriers. Ultimately, one can get around almost all licensing restrictions properly by being sufficiently creative and inventive.” Larry Rosen
Product Lines and FOSS licensing • People who want to use FOSS need to be aware of FOSS licenses • What a given license means • How to (legally) circumvent it (if necessary) • (Legal) Risk management • How to choose a FOSS license • IP needs to be part of the models and methods of Product Lines that want to incorporate FOSS modules