Open Source from a. Larry ootpa Troan



Similar documents
Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

The Red Hat Enterprise Linux advantages over Oracle Linux

An Oracle Technical Article November Certification with Oracle Linux 6

An Oracle Technical Article March Certification with Oracle Linux 7

GPL, MIT, BSD, GEHC (and me)

OSADL License Compliance Audit (OSADL LCA)

How To Use Open Source Software

An Oracle Technical Article October Certification with Oracle Linux 5

How To Migrate To Redhat Enterprise Linux 4

An Introduction to Open Source Software and Licensing

Siemens Schweiz AG Building Technologies Division Intellectual Property Gubelstrasse 22 CH 6300 Zug Switzerland

What You Should Know About Open Source Software

C-DAC Medical Informatics Software Development Kit End User License Agreement

Open Source Software: Recent Developments and Public Policy Implications. World Information Technology and Services Alliance

University of Edinburgh. School of Informatics. Intellectual Property and the Digital Age. Chris Martin

Dynamic Kernel Module Support. Matt Domsch, Software Architect Dell, Inc.

Open Source Software: Strategies and Risk Management

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

Presentation. Open Source is NOT Free. For ISACA. By Dave Yip / Gamatech Ltd. Agenda

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Code Estimation Tools Directions for a Services Engagement

Open Source Announcement

An Oracle Technical Article November Certification with Oracle Linux 7

Oracle Linux Strategy and Roadmap

GNU LIBRARY GENERAL PUBLIC LICENSE. Preamble

If you are submitting changes to the project, please see CONTRIBUTIONS file for more instructions.

How To Run A Password Manager On A 32 Bit Computer (For 64 Bit) On A 64 Bit Computer With A Password Logger (For 32 Bit) (For Linux) ( For 64 Bit (Foramd64) (Amd64 (For Pc

Shared Source, Eventual Source, and Other Licensing Models

Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX

GroundWork Monitor Open Source Installation Guide

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Solution Recipe: Improve PC Security and Reliability with Intel Virtualization Technology

Symantec NetBackup Enterprise Server and Server 7.x OS Software Compatibility List

Using Red Hat Network Satellite Server to Manage Dell PowerEdge Servers

System Requirements - Table of Contents

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

QuickBooks Enterprise Solutions. Linux Database Server Manager Installation and Configuration Guide

ORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK

Storage Management for the Oracle Database on Red Hat Enterprise Linux 6: Using ASM With or Without ASMLib

SUSE Linux uutuudet - kuulumiset SUSECon:sta

Avnet Guide to Oracle: Oracle Linux

ClearSpeed Software Developer Kit Installation guide

How to Configure Intel Ethernet Converged Network Adapter-Enabled Virtual Functions on VMware* ESXi* 5.1

PLEASE READ THIS AGREEMENT CAREFULLY. BY INSTALLING, DOWNLOADING OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.

Unit 10 : An Introduction to Linux OS

Hitachi Backup Services Manager Certified Configurations Guide 6.5

CommandCenter Secure Gateway

Using VMware Player. VMware Player. What Is VMware Player?

FME SOFTWARE LICENSE AGREEMENT

Abstract. Microsoft Corporation Published: November 2011

IBM Tivoli Web Response Monitor

Red Hat Enterprise Linux for zseries, S/390: Extending Linux throughout the Datacenter

Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31

BRecommended Software. Environments and Minimum System Requirements. Publication Date: July 31, TIBM Enterprise Marketing Management Products

Samba in the Enterprise : Samba 3.0 and beyond

The FOSSology Project Overview and Discussion. » The Open Compliance Program. ... By Bob Gobeille, Hewlett-Packard

Ahsay BackupBox v1.0. Deployment Guide. Ahsay TM Online Backup - Development Department

Deploying IBM Lotus Domino on Red Hat Enterprise Linux 5. Version 1.0

Intuit QuickBooks Enterprise Solutions. Linux Database Server Manager Installation and Configuration Guide

Invest in your business with Ubuntu Advantage.

Patch Assessment Content Update Release Notes for CCS Version: Update

System Requirements and Platform Support Guide

Patch Management for Red Hat Enterprise Linux. User s Guide

Exam : IBM : Iseries Linux Soluton Sales v5r3

NVIDIA GRID 2.0 ENTERPRISE SOFTWARE

1. Third Party Software or Free Software License Information

Allscripts Professional EHR

Linux Distributions. What they are, how they work, which one to choose Avi Alkalay

This document presents the new features available in ngklast release 4.4 and KServer 4.2.

Support Notes for SUSE LINUX Enterprise Server 9 Service Pack 3 for the Intel Itanium 2 Processor Family

VMware Server 2.0 Essentials. Virtualization Deployment and Management

SECURE YOUR NETWORK WITH FIREWALL BUILDER

Best Practices for Log File Management (Compliance, Security, Troubleshooting)

Adaptec Event Monitor Utility. User s Guide

HOT TOPICS IN OPEN-SOURCE SOFTWARE LICENSING. By Robert J. Scott and Christopher Barnett

Linux Kernel Development

Big Data, SAP HANA. SUSE Linux Enterprise Server for SAP Applications. Kim Aaltonen

Open Source Software Project Management A Case Study Red Hat Enterprise Linux. Bob Johnson, Red Hat

Red Hat Enterprise Linux and management bundle for HP BladeSystem TM

Configuring IKEv2 VPN for Mac OS X Remote Access to a GTA Firewall

Installation Guide. McAfee VirusScan Enterprise for Linux Software

Next Generation Now: Red Hat Enterprise Linux 6 Virtualization A Unique Cloud Approach. Jeff Ruby Channel Manager jruby@redhat.com

A free software license for the BUFR software

Transcription:

Open Source from a Proprietary Perspective Larry ootpa Troan

Corporate Preparation It is imperative that people used to working with proprietary code and their management be educated on the differences between it and open source before they begin working with open source and participating in the open source community. Furthermore, it is critical that a company be aware of all open source work going on within its walls and that this work be reviewed and approved prior to project kickoff and again prior to product announcement and ship. Copyright Larry Troan 2005 2006. Used with permission. Page 2

Open Source Education Key to working in a company with both proprietary and open source software is open source education IBM requires software engineers, their management and documentation personnel to complete a 1 2 hour class on open source before accessing it Class taught by an attorney or an acknowledged expert in this area Engineers would often ask so what did they say after completing education Presenter created a second class that brought open source legal concepts to the engineer s level Working on outside open source projects also requires prior management approval Class covers Licensing and copyright Contamination Packaging and distribution Required availability of source code Practical examples Copyright Larry Troan 2005 2006. Used with permission. Page 3

Agenda Presenter's Background Corporate Preparation Overview of Linux Structure Legal Aspects Contamination Red Hat Examples Packaging Redistribution Requirements Searching for Problems Copyright Larry Troan 2005 2006. Used with permission. Page 4

Presenter's Background Retired from IBM after 33 years as a Senior Software Engineer working in Development on a variety of hardware and software products Last two years on an embedded Linux Network Attached Storage (NAS) product Project s primary interface to IBM Legal, IBM Open Source Steering Committee and IBM Linux Technology Center and with Red Hat Four years working for Red Hat Senior Technical Account Manager Currently, Senior Partner Manager Working on a series of articles and hopefully a book on Open Source Software Licensing with Mark Webbink, Deputy General Counsel at Red Hat This presentation reflects the presenter's opinions based on his knowledge and experience working with both proprietary and open source software and is not intended to represent either IBM's or Red Hat'sposition on open source First presented subject at the Licensing Executives Society meeting in May 2005 Copyright Larry Troan 2005 2006. Used with permission. Page 5

Robustness versus Acceptance An operating system's robustness is often measured by the number of days, weeks or months between reboots, its raw number crunching power or its ability to support a large number of users running several tasks simultaneously. An operating system's acceptance, however, is based on the quantity and robustness of the application software available to run on it Larry Troan May 2002 Copyright Larry Troan 2005 2006. Used with permission. Page 6

Corporate Control of Open Source Projects IBM Open Source Steering Committee Initial conception Completion of open source education class Technical checkpoints Management checkpoints Legal checkpoints Approval prior to product announcement HP has Open Source Review Board Similar function as IBM OSSC Copyright Larry Troan 2005 2006. Used with permission. Page 7

Legal Aspects Legally, very little in open source is black or white, but there are many shades of gray since there is no legal precedent set by the courts. Therefore... Decisions must be made and actions taken based on license interpretation and the amount of perceived risk. Copyright Larry Troan 2005 2006. Used with permission. Page 8

Copyright All rights relinquis hed Rights in Copyright All rights retained Public Domain Non- Protective OS Licenses Protective Open Source Licenses Proprietary Licenses Trade Secret Rights Copyright Mark Webbink 2005. Used with permission. Public Domain free of all restrictions Non Protective retain copyright but grant all rights to copyright the licensee Protective non protective plus restrictions, typically requirement to publish source Proprietary retain copy and grant few rights (perform and display) Trade Secret all rights retained Clear copyright or all holders permission required to add or change a license Samba requires submissions by individuals (not companies and copyright assignment) Compatible licensing: BSD => GPL but not reverse Copyright holder can license under multiple license types: BSD+GPL+Proprietary Copyright Larry Troan 2005 2006. Used with permission. Page 9

License Copyright Mark Webbink 2005. Used with permission. Copyright Larry Troan 2005 2006. Used with permission. 10 Page

Warranties and Indemnification Most Open Source licenses disclaim all warranties, including the warranty of non infringement. Disclaimed to protect programmers who voluntarily contribute code to Open Source projects Some Open Source licenses, like the GPL, permit parties to offer and to charge for warranty coverage if they should so choose. Indemnification for infringement Any software company can elect to indemnify its customers for infringement claims at any time Prudent risk management practices dictate against providing such protection in all cases and/or providing it as a standard license provision Times where software companies deem it to be in their own self interest to provide such indemnification Significant advantage Open Source distributors enjoy is their source code is available for inspection Copyright Larry Troan 2005 2006. Used with permission. Page 11

Derived Works A work based upon one or more preexisting works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which a work may be recast, transformed, or adapted. A work consisting of editorial revisions, annotations, elaborations, or other modifications, which, as a whole, represent an original work of authorship, is a "derivative work (U.S. Code 101 ) Legal Posturing There is no legal precedent set by the courts User space Proprietary applications using standard libraries and system calls are permissible running on Linux Changes to GPL/LGPL libraries or system calls or combining with GPL code is not permitted unless the resulting work is also GPL Kernel space Anything statically linked with the Linux kernel is a derived work and must be licensed under the GPL Dynamically loaded modules inserted during runtime that use standard kernel headers and exported variables are permissible provided they do not include any GPL code Strongest case if ported from another operating system If new driver, where did it come from? Shim layer using open source that can be recompiled to reflect kernel changes Must do more than simply remap calls one for one Macros Maximum 10 lines or less of code (lower limit of copyrightable material) Header files Uncertain whether they can be copyrighted. Best to abide by licensing to be safe Copyright Larry Troan 2005 2006. Used with permission. 12 Page

Contamination Do not let employees work concurrently with proprietary and open source Red Hat does not permit its engineers to see proprietary code Cubical wall rule Shim layer especially important Copyright Larry Troan 2005 2006. Used with permission. Page 13

Pedigree Know where the source code originated and who has touched it since it was created Potential copyright infringement Potential intellectual property (patent) infringement Chances better if your package distributed by major Distribution Suggest database with package history Field Entry Module/Package Name Description Function User/kernel Space Origin Download Date Download Person License License Comments Modified Source Potential Patent Concerns Major Distributions Approved by Legal Approval Date Additional Comments Full name of package Short description of package Function of package Package contains files that are user or kernel space or both Location where package was obtained Date download into project database Name of person downloading package Type of license Comments or location of additional license information Yes/No (Used to determine if source must be externalized) Legal or technical staff comments regarding patent concerns Major Distributions shipping this package Name of attorney Date approved by Legal Department Other relevant comments Copyright Larry Troan 2005 2006. Used with permission. 14 Page

The Community The Cathedral and the Bazaar* In a proprietary model, products driven by schedules with corporate resources. Licensing usually determined by Legal department and not an issue. Shipped as binary only. In an open source model, products driven by community interest with some resources provided by distributors. Licensing determined by authors and source is usually readily available. Questions: What is a Distribution? What is Community Participation? How is Unix/Linux structured? * The Cathedral and the Bazaar, by Eric S Raymond, O'Reilly, January 2001, ISBN 0 596 00108 8 Copyright Larry Troan 2005 2006. Used with permission. Page 15

User space Applications Oracle DB Apache web server Desktop Daemons Kernel space Operating System kernel Device Drivers Video Network Sound CD/DVD Hard Drives Unix/Linux Organization Copyright Larry Troan 2005 2006. Used with permission. 16 Page

Unix/Linux Organization... Copyright Larry Troan 2005 2006. Used with permission. 17 Page

Definition of a Distribution In Linux, a distribution is a collection of packages that provide a set of operating system services and applications. Community Function A version a Function F version f Function K version k Function P version p Function U version u Function Z version z Function B version b Function G version g Function L version l Function Q version q Function V version v Function # version # Function C version c Function H version h Function M version m Function R version r Function W version w Function % version % Function D version d Function I version i Function N version n Function S version s Function X version x Function $ version $ Function E version e Function J version j Function O version o Function T version t Function Y version y Function * version * Distribution A Package Test Release Version X Distribution B Package Test Release Version Y Distribution C Package Test Release Version Z Copyright Larry Troan 2005 2006. Used with permission. Page 18

Community Contributions The strength of Linux is based on having a large, vigorous, development community Not overpowered by a single commercial entity Red Hat is the leading commercial engineering contributor Kernel "Influence" Ranking - 2004 0 2000 4000 6000 8000 Changes Influenced Andrew M. Linus T. Red Hat IBM Novell Intel SGI HP MontaVista Connectiva Dell* Sun Other Kernel BitKeeper analysis, January 2005 Influence = feature creator, reviewer, or acceptor * Some companies primarily contribute through Andrew Morton's tree Copyright Red Hat 2005. Used with permission. Page 19

#1 - Red Hat contributes directly to open source projects & sponsors the Fedora distribution project #2 - Red Hat adds the engineering required to make open source projects deployable in commercial enterprise environments Additional development Integration & Hardening QA testing & Benchmarking Delivery Hardware & Software Certifications #3 - Red Hat provides services to commercial customers: 7 years Maintenance and Updates Technical Support Training & Consulting Services Red Hat Development Model Copyright Red Hat 2005. Used with permission. Page 20

Red Hat Enterprise Linux Delivering consistent commercial solutions 2004 2005 2006 2007 2008 Red Hat Enterprise Linux 3 Red Hat Enterprise Linux 4 7-year Support Lifetime Red Hat Enterprise Linux 5 Red Hat Enterprise Linux 6 Linux 2.6 kernel SELinux Virtualization (Server/Storage) Performance/scalability 32-bit and 64-bit workloads Security: Expanded MAC; compiler/runtime technologies Directory integration Multi-core/platform features Client: Wireless/Stateless Copyright Red Hat 2005. Used with permission. Page 21

Examples Practical examples of what can and can not be done. Copyright Larry Troan 2005 2006. Used with permission. Page 22

User Space Example Proprietary Code #include "glibc" New lib routine Ad d in g n ew lib ro u tin e d irectly to GPL /L GPL lib rary glibc GPL lib ro u tin e L GPL lib ro u tin e L GPL lib ro u tin e GPL lib ro u tin e X New lib routine must be GPL licensed Proprietary Code #include "glibc" #include "mylib" Proprietary lib routine Proprietary lib routine glibc GPL lib ro u tin e L GPL lib ro u tin e L GPL lib ro u tin e GPL lib ro u tin e mylib glibc used without modifications Proprietary lib routines may remain non-gpl Copyright Larry Troan 2005 2006. Used with permission. Page 23

Kernel Example Prudent posturing rather than legal precedent Copyright Larry Troan 2005 2006. Used with permission. Page 24

Layer Explanation Proprietary Interface Pro p rietary co d e Source/binary kept proprietary, not released to Linux OS Community Example of Isolation Technique "Ideal Interface" using proprietary headers Port abilit y Layer Linux kernel Interfaces using GPL/LGPL headers VFS Interface 2.4 Linux ker nel Op en So u rce Headers created independent of Linux kernel header files Not one-for-one mapping to Linux structures or headers Not mixed with Open Source code Not contaminated by GPL/LGPL Standard Linux kernel header files No proprietary hooks or patches Vendor developed source code (must be returned to Open Source Community) Copyright Larry Troan 2005 2006. Used with permission. Page 25

Example of Isolation Technique Proprietary Code Initial Project Development GA: Release 1 New Project Development Developer can not have access to "D" Open Source Linux alterations. Project does not plan to include new Open Source functions or to obtain their headers from Open Source... GA: GA: Release 3 Release 4 GA: Release 2 New Project Development A (Proprietary ) Project Interface: source & headers Open Source B (Proprietary ) Project Interface: source & headers "fo rk" B (G PL Lic ens e) Project Interface: source & headers "D" has Proprietary "C" code and additional Open Source functionality... Project "forks" code each time they have a new release. Project Interface: source & headers C (Proprietary ) "fo rk" Project Interface: source & headers C (GPL Lic ens e) New O pen Source Development Project Interface: source & headers E (Proprietary ) "fo rk" verbal/written com m unication Project Interface: source & headers E (G PL Lic ens e) Project Interface: source & headers D (G PL Lic ens e) "E" has Proprietary "E" code but missing Open Source "D" functionality... F (Proprietary ) Project Interface: source & headers "fo rk" F (G PL Lic ens e) Project Interface: source & headers "F" has Proprietary "F" code but not "D" open source functionality Copyright Larry Troan 2005 2006. Used with permission. Page 26

Dark Side of Binary kernel Modules Kernel modules may require recompilation for kernel updates IBM first released afs (Andrew File System) as binary Problems and bad press in attempting to keep up with ever changing kernel Decided to released as open source Security fixes are asynchronous and unannounced and they may include kernel changes Shim Layer helps nvidia IBM Copyright Larry Troan 2005 2006. Used with permission. Page 27

Dynamic Kernel Module Support DKMS Framework allowing individual kernel modules such as device drivers to be upgraded without changing whole kernel Makes it easy to rebuild modules as you upgrade kernels Allows Linux vendors to provide drops without having to wait for new kernel releases Invented by Gary Lerhaupt at Dell References: http://linux.dell.com/projects.shtml http://linux.dell.com/dkms http://freshmeat.net/projects/dkms Copyright Larry Troan 2005 2006. Used with permission. Page 28

Packaging Keep GPL and proprietary code on separate media Both can be installed on same computer hard drive You can tar or otherwise compress GPL and non GPL as long as they can be extracted back into their separate parts A non redistributing end user can never violate the GPL Copyright Larry Troan 2005 2006. Used with permission. Page 29

Requirements to Redistribute BSD license allows you to redistribute binaries without making source available GPL code may be used without sharing the source as long as it remains within your premises Redistributing it outside firewall requires the source to be made available GPL source availability With binaries on media or via Internet If via Internet, then web site must be easily available for period of 5 years Upon request May charge reasonable redistribution fee to cover cost media and shipping Non commercial only: accompanied with the offer the redistributing party received as to the availability of the source code Beware of incompatible licenses NDMP and GPL Only provide source through ndmp.org website vs GPL must provide source Copyright Larry Troan 2005 2006. Used with permission. Page 30

Searching for Problems Command line rpm2cpio /filename cpio id Expands Red Hat rpm package grep r string > tmpfile Where string is icense, opyright, ommercial, Greps for the specified string down through the tree Black Duck Provides products and services for understanding and safely managing software licensing compliance http://www.blackducksoftware.com/ Copyright Larry Troan 2005 2006. Used with permission. Page 31

Questions?

Daily Trivia What's with this ootpa nickname? My son Erik was an early participant in the Linux movement One of the first engineers to work at Red Hat His initials are ewt Alan Cox (Red Hat Fellow) started calling him oot based on his initials I joined Red Hat in 2002 Someone asked me if I was related to oot during my company orientation, perhaps his father (or pa ) The nickname stuck as ootpa Copyright Larry Troan 2005 2006. Used with permission. Page 33