SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Beware of
your creations
     iText,
     a Free / Open Source PDF library
     Case Study: IPR project
     by Bruno Lowagie
What is iText?

iText is a Free / Open Source Software library that allows
Java and .Net developers to enhance their applications with
PDF generation and manipulation functionalities. iText is used
by Google, Adobe, JasperSoft, IBM, NASA, the DoD, KLM,
NMBS, FedEx, UPS, many different governments, banks,
insurance companies, and so on.

 If you want to find our more about iText
 visit http://www.lowagie.com/iText/
 Or read the book “iText in Action”



                                                            2/20
Context of the IPR project


IBM and SUN are competitors
IBM created the Eclipse Foundation to compete with
SUN on the Java front
Eclipse is an Integrated Development Environment (IDE)
Eclipse is a Java oriented Open Source Community
Eclipse offers a suite of Open Source products
Different Eclipse projects are lead by different companies;
Each project/product has its own release cycle




                                                        3/20
Context of the IPR project


The Callisto Simultaneous Release (july 2006) was the
first time a suite of selected products was released
simultaneously
This release was fully tested by IBM and hosted on
servers from the Eclipse Foundation.
Eclipse/BIRT was part of this simultaneous release
Eclipse/BIRT is a Business Intelligence & Reporting Tools
project lead by Actuate
Eclipse/BIRT uses iText for PDF Generation



                                                      4/20
Context of the IPR project


IBM only wanted to host iText on their servers if:
  The iText license (MPL/LGPL) was changed to EPL
  The iText code was vetted and accepted by IBM’s legal
  department: the IP of the iText source code had to be
  100% OK.

None of these conditions were met; as a result iText was not
 a part of the Callisto Simultaneous Release; users had to
 download it separately.
The Eclipse Foundation tried to put pressure on Bruno to
 release iText under the EPL.


                                                          5/20
Context of the IPR project


Bruno’s response:
 Changing to EPL is a No-Go for the iText community.
 If IBM doesn’t want to use iText: it’s not our problem; it’s
 IBM’s problem! But Actuate wanted to use iText…
 Solution: a Research Agreement was signed between
 Actuate and Ghent University (Bruno’s employer) to create
 a detailed IP Report for iText and to solve all possible IP
 issues reported by IBM Canada.
 The goal was the integration of iText in the Eclipse Europe
 release (july 2007). By the way: we made the release!


                                                          6/20
The Problem with F/OSS Software


A F/OSS library is a joined effort of many different people.
A F/OSS library such as iText grows organically.
Looking at the source code of many projects, you have:
 a White zone: code of which the IP is 100% clear; you
 know because you have written the code yourself.
 a Gray zone: code that was contributed by others. Where
 did they get this code? Did they write the code? Were they
 allowed to contribute that code?
 a Black zone: code that was integrated in the library, but
 for which there was no license or authorization.


                                                         7/20
The White Zone


You have written the code yourself, but…
 What about your employer? Does your employer own (part
 of) the code? Do you have a formal agreement with your
 employer with respect to F/OSS?
 Where did you get your inspiration? IBM developers are
 forbidden to look at any code that is not formally approved
 by IBM’s legal team. Good practice or burden?

Note: you don’t always need to own the IPR to do business
 with F/OSS! For instance: in the past, iText licenses were
 sold by PDF Sages (now acquired by Adobe Systems)

                                                         8/20
The Gray Zone


The code was contributed, but…
 Did the contributor agree with the license?
 Did the contributor’s employer agree?
 Where did the contributor get his inspiration?

The Apache Foundation demands contributors and their
 employers to sign a Contributor License Agreement (CLA)
SUN demands contributors to sign a Sun Contributor
 Agreement (SCA) from the moment the contributions
 contain more than 20 lines of code


                                                     9/20
The Gray Zone


The code was taken from another project, but…
 Are the licenses compatible?
 Do you respect the other project’s license?
 Where did the other project get its code from?

Always keep an online inventory of:
 All Contributors (if possible: let them sign a CLA)
 All F/OSS Projects used (subset / derivative work)




                                                       10/20
The Black Zone


Unfortunately it may happen that you were not allowed to
 use some specific code that is part of your project.

Solution:
 either you ask (and get!) permission,
 or you remove the code.




                                                       11/20
Examples


Turning Gray and Black into White
A selection of issues that were solved in the context of the
 Research Agreement between Actuate and Ghent
 University. These issues were reported by IBM’s Legal
 Department in Canada.
These issues were solved by Bruno Lowagie, and they give
 an idea of the work involved when maintaining a
 successful F/OSS project.
Writing code is the easy part of the job ;-)




                                                         12/20
Example 1: JavaWorld article


State Machine to parse XML quickly:
 http://www.javaworld.com/javaworld/javatips/jw-javatip128.html
 Source code taken from/inspired by this article
 Fine print: http://www.javaworld.com/javaworld/common/jw-copyright.html
 Copyright - All contents of JavaWorld, including text, programs,
 applets, source code, and images are copyrighted and owned by IDG
 or the copyright holder specified, all rights reserved. No material may
 be reproduced electronically or in print without written permission.


Solution: write JavaWorld and author, get permission!
 There were many other places where licenses were
 incomplete or missing!

                                                                    13/20
Example 2: RC4

Class names and variable names referring to RC4

 RC4 was initially a trade secret, but in September 1994 a description
 of it was anonymously posted to the Cypherpunks mailing list.
 It was soon posted on the sci.crypt newsgroup, and from there to
 many sites on the Internet. Because the algorithm is known, it is no
 longer a trade secret.
 The name "RC4" is trademarked, however. The current status seems
 to be that "unofficial" implementations are legal, but cannot use the
 RC4 name.
 RC4 is often referred to as "ARCFOUR" or "ARC4" (meaning Alleged
 RC4, because RSA has never officially released the algorithm), to
 avoid possible trademark problems.

Solution: change RC4 into ARCFOUR in all files

                                                                  14/20
Example 3: IntHashtable


Class IntHashtable
  Taken from ACME.com
// This is 90% based on JavaSoft's java.util.Hashtable.
// Visit the ACME Labs Java page for up-to-date versions of this and other
// fine Java utilities: http://www.acme.com/java/

  JavaSoft is a name used by Sun in the past in their Java activities.
  Sun indicates use of the class java.util.Hashtable which is subject to
  unfriendly Sun license
  It is unlikely that this code is available under a license that permits this
  use. Without information indicating that Sun approved of this usage
  the class should not be used.
Solution: use the same class released by Apache under
 the APL in Apache-Commons instead of the ACME class.

                                                                         15/20
Example 4: EPS

EPS Functionality
 Taken from an example released by SUN under a Sample License.
 The Sample License allowed the use of the code, but the source code
 contained this text:
 /*
  * Copyright 1998 by Sun Microsystems, Inc.,
  * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
  * All rights reserved.
  *
  * This software is the confidential and proprietary information
  * of Sun Microsystems, Inc. ("Confidential Information"). You
  * shall not disclose such Confidential Information and shall use
  * it only in accordance with the terms of the license agreement
  * you entered into with Sun.
  */

Solution: after a very long argument about this comment
 section versus the Sample License, EPS functionality was
 dropped.


                                                                     16/20
Example 5: Fedora Linux and nuclear facilities


JAI code
 Taken from JAI (by SUN) originally released under a very
 liberal License.
 However, the license text contains the following clause:
 /*
  * You acknowledge that Software is not designed, licensed or
  * intended for use in the design, construction, operation or
  * maintenance of any nuclear facility.
  */

 As long as the word “license” isn’t removed, iText can’t be
 distributed with Fedora Linux.
Solution: direct communication with the core developers to
 solve the problem.

                                                                 17/20
Finally


You can save a lot of work by doing things the right
  way right from the start.
If it’s too much work, or if it gets in the way of doing
  your work, you are not alone!




                                                     18/20
Finally


If you have built castles in the air,
Your work need not be lost;
That is where they should be.
Now put the foundations under them.
(Henry David Thoreau – Walden)




                                        19/20
Questions




            Q&A



                  20/20

Contenu connexe

En vedette

Pidilite Fevistik 3gm Case Study 200306
Pidilite Fevistik 3gm Case Study 200306Pidilite Fevistik 3gm Case Study 200306
Pidilite Fevistik 3gm Case Study 200306shekharbadve
 
Product Branding of Fevistick And Komfo by- Amit Singh
Product Branding of Fevistick And Komfo by- Amit SinghProduct Branding of Fevistick And Komfo by- Amit Singh
Product Branding of Fevistick And Komfo by- Amit Singhamit_k102
 
Measuring Effectiveness of Fevicol Advertisements
Measuring Effectiveness of Fevicol AdvertisementsMeasuring Effectiveness of Fevicol Advertisements
Measuring Effectiveness of Fevicol AdvertisementsImran Sayed
 
Patent Basics and Intellectual Property Rights
Patent Basics and Intellectual Property Rights Patent Basics and Intellectual Property Rights
Patent Basics and Intellectual Property Rights Rahul Dev
 
A Study Of Production Optimization Of An Oil Copy
A Study Of Production Optimization Of An Oil   CopyA Study Of Production Optimization Of An Oil   Copy
A Study Of Production Optimization Of An Oil Copyaadrish
 
Workshopvin3 Isbo Vin Virtual Individual Networks
Workshopvin3 Isbo Vin Virtual Individual NetworksWorkshopvin3 Isbo Vin Virtual Individual Networks
Workshopvin3 Isbo Vin Virtual Individual Networksimec.archive
 
VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...
VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...
VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...imec.archive
 
Conditional Sentences
Conditional SentencesConditional Sentences
Conditional SentencesAlexou86
 
Bart Meekens - rmoni wireless @ iLab.t
 Bart Meekens - rmoni wireless @ iLab.t Bart Meekens - rmoni wireless @ iLab.t
Bart Meekens - rmoni wireless @ iLab.timec.archive
 
Piet Demeester - Future Internet
Piet Demeester - Future InternetPiet Demeester - Future Internet
Piet Demeester - Future Internetimec.archive
 
Presentatie mfconnect Museum Boerhaave en Twitter
Presentatie mfconnect Museum Boerhaave en TwitterPresentatie mfconnect Museum Boerhaave en Twitter
Presentatie mfconnect Museum Boerhaave en TwitterVera Bartels
 
Brokerage 2007 presentation image
Brokerage 2007 presentation imageBrokerage 2007 presentation image
Brokerage 2007 presentation imageimec.archive
 
Transe careb mwhitepaper_finaal
Transe careb mwhitepaper_finaalTranse careb mwhitepaper_finaal
Transe careb mwhitepaper_finaalimec.archive
 
Ecrea3d Opgenhaffen Michael Ppt
Ecrea3d Opgenhaffen Michael PptEcrea3d Opgenhaffen Michael Ppt
Ecrea3d Opgenhaffen Michael Pptimec.archive
 
Dirk Osstyn - Leylab
Dirk Osstyn - LeylabDirk Osstyn - Leylab
Dirk Osstyn - Leylabimec.archive
 
Use of social media to facilitate dissemination of medical knowledge
Use of social media to facilitate dissemination of medical knowledgeUse of social media to facilitate dissemination of medical knowledge
Use of social media to facilitate dissemination of medical knowledgeRikaz Sheriff
 
Lisa Pattyn - Plug&Play program
Lisa Pattyn - Plug&Play programLisa Pattyn - Plug&Play program
Lisa Pattyn - Plug&Play programimec.archive
 

En vedette (20)

Pidilite Fevistik 3gm Case Study 200306
Pidilite Fevistik 3gm Case Study 200306Pidilite Fevistik 3gm Case Study 200306
Pidilite Fevistik 3gm Case Study 200306
 
Ipr case study
Ipr case study Ipr case study
Ipr case study
 
Ipr and patents
Ipr and patentsIpr and patents
Ipr and patents
 
Product Branding of Fevistick And Komfo by- Amit Singh
Product Branding of Fevistick And Komfo by- Amit SinghProduct Branding of Fevistick And Komfo by- Amit Singh
Product Branding of Fevistick And Komfo by- Amit Singh
 
Intangible Assets, Patents, Copyrights
Intangible Assets, Patents, CopyrightsIntangible Assets, Patents, Copyrights
Intangible Assets, Patents, Copyrights
 
Measuring Effectiveness of Fevicol Advertisements
Measuring Effectiveness of Fevicol AdvertisementsMeasuring Effectiveness of Fevicol Advertisements
Measuring Effectiveness of Fevicol Advertisements
 
Patent Basics and Intellectual Property Rights
Patent Basics and Intellectual Property Rights Patent Basics and Intellectual Property Rights
Patent Basics and Intellectual Property Rights
 
A Study Of Production Optimization Of An Oil Copy
A Study Of Production Optimization Of An Oil   CopyA Study Of Production Optimization Of An Oil   Copy
A Study Of Production Optimization Of An Oil Copy
 
Workshopvin3 Isbo Vin Virtual Individual Networks
Workshopvin3 Isbo Vin Virtual Individual NetworksWorkshopvin3 Isbo Vin Virtual Individual Networks
Workshopvin3 Isbo Vin Virtual Individual Networks
 
VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...
VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...
VACF1-Verslag van een onderzoek naar en uitbouw van een innovatief webplatfor...
 
Conditional Sentences
Conditional SentencesConditional Sentences
Conditional Sentences
 
Bart Meekens - rmoni wireless @ iLab.t
 Bart Meekens - rmoni wireless @ iLab.t Bart Meekens - rmoni wireless @ iLab.t
Bart Meekens - rmoni wireless @ iLab.t
 
Piet Demeester - Future Internet
Piet Demeester - Future InternetPiet Demeester - Future Internet
Piet Demeester - Future Internet
 
Presentatie mfconnect Museum Boerhaave en Twitter
Presentatie mfconnect Museum Boerhaave en TwitterPresentatie mfconnect Museum Boerhaave en Twitter
Presentatie mfconnect Museum Boerhaave en Twitter
 
Brokerage 2007 presentation image
Brokerage 2007 presentation imageBrokerage 2007 presentation image
Brokerage 2007 presentation image
 
Transe careb mwhitepaper_finaal
Transe careb mwhitepaper_finaalTranse careb mwhitepaper_finaal
Transe careb mwhitepaper_finaal
 
Ecrea3d Opgenhaffen Michael Ppt
Ecrea3d Opgenhaffen Michael PptEcrea3d Opgenhaffen Michael Ppt
Ecrea3d Opgenhaffen Michael Ppt
 
Dirk Osstyn - Leylab
Dirk Osstyn - LeylabDirk Osstyn - Leylab
Dirk Osstyn - Leylab
 
Use of social media to facilitate dissemination of medical knowledge
Use of social media to facilitate dissemination of medical knowledgeUse of social media to facilitate dissemination of medical knowledge
Use of social media to facilitate dissemination of medical knowledge
 
Lisa Pattyn - Plug&Play program
Lisa Pattyn - Plug&Play programLisa Pattyn - Plug&Play program
Lisa Pattyn - Plug&Play program
 

Similaire à Ipr08 2 Beware Of Your Creations Bruno Lowagie

Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business CaseFITT
 
FITT Toolbox: Open Source Business Case
FITT Toolbox: Open Source Business CaseFITT Toolbox: Open Source Business Case
FITT Toolbox: Open Source Business CaseFITT
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...Niklas Heidloff
 
Ip in it
Ip in itIp in it
Ip in itIP Dome
 
Startup Legal and IP
Startup Legal and IPStartup Legal and IP
Startup Legal and IPBruno Lowagie
 
Intellectual property and licensing
Intellectual property and licensingIntellectual property and licensing
Intellectual property and licensingiText Group nv
 
worklight_development_environment
worklight_development_environmentworklight_development_environment
worklight_development_environmentAravindharamanan S
 
ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall Martin Thompson
 
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxIgalia
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5Gaurav Kohli
 
France ug 11302010
France ug 11302010France ug 11302010
France ug 11302010FranckThomas
 
Informix User Group France - 30/11/2010 - Informix & Open Source - J Roy
Informix User Group France - 30/11/2010 - Informix & Open Source - J RoyInformix User Group France - 30/11/2010 - Informix & Open Source - J Roy
Informix User Group France - 30/11/2010 - Informix & Open Source - J RoyNicolas Desachy
 
UGIF 12 2010 - France UG
UGIF 12 2010 - France UGUGIF 12 2010 - France UG
UGIF 12 2010 - France UGUGIF
 
Open Source is Not An Alternative, It is The Solution
Open Source is Not An Alternative, It is The SolutionOpen Source is Not An Alternative, It is The Solution
Open Source is Not An Alternative, It is The Solutionwiradikusuma
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platformsguestfa9375
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platformssmancke
 
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...Luciano Resende
 
EclipseCon Europe 2012 Tabris Workshop
EclipseCon Europe 2012 Tabris WorkshopEclipseCon Europe 2012 Tabris Workshop
EclipseCon Europe 2012 Tabris WorkshopHolger Staudacher
 

Similaire à Ipr08 2 Beware Of Your Creations Bruno Lowagie (20)

Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business Case
 
FITT Toolbox: Open Source Business Case
FITT Toolbox: Open Source Business CaseFITT Toolbox: Open Source Business Case
FITT Toolbox: Open Source Business Case
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Ip in it
Ip in itIp in it
Ip in it
 
Startup Legal and IP
Startup Legal and IPStartup Legal and IP
Startup Legal and IP
 
Intellectual property and licensing
Intellectual property and licensingIntellectual property and licensing
Intellectual property and licensing
 
worklight_development_environment
worklight_development_environmentworklight_development_environment
worklight_development_environment
 
Opensource
OpensourceOpensource
Opensource
 
ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall
 
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
 
France ug 11302010
France ug 11302010France ug 11302010
France ug 11302010
 
Informix User Group France - 30/11/2010 - Informix & Open Source - J Roy
Informix User Group France - 30/11/2010 - Informix & Open Source - J RoyInformix User Group France - 30/11/2010 - Informix & Open Source - J Roy
Informix User Group France - 30/11/2010 - Informix & Open Source - J Roy
 
UGIF 12 2010 - France UG
UGIF 12 2010 - France UGUGIF 12 2010 - France UG
UGIF 12 2010 - France UG
 
Open source
Open sourceOpen source
Open source
 
Open Source is Not An Alternative, It is The Solution
Open Source is Not An Alternative, It is The SolutionOpen Source is Not An Alternative, It is The Solution
Open Source is Not An Alternative, It is The Solution
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
 
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
From Data to AI - Silicon Valley Open Source projects come to you - Madrid me...
 
EclipseCon Europe 2012 Tabris Workshop
EclipseCon Europe 2012 Tabris WorkshopEclipseCon Europe 2012 Tabris Workshop
EclipseCon Europe 2012 Tabris Workshop
 

Plus de imec.archive

iMinds-iLab.o, Open Innovation in ICT
iMinds-iLab.o, Open Innovation in ICTiMinds-iLab.o, Open Innovation in ICT
iMinds-iLab.o, Open Innovation in ICTimec.archive
 
Accio presentation closing event
Accio presentation closing eventAccio presentation closing event
Accio presentation closing eventimec.archive
 
PRoF+ Patient Room of the Future
PRoF+ Patient Room of the FuturePRoF+ Patient Room of the Future
PRoF+ Patient Room of the Futureimec.archive
 
Results of the Apollon pilot in homecare and independent living
Results of the Apollon pilot in homecare and independent livingResults of the Apollon pilot in homecare and independent living
Results of the Apollon pilot in homecare and independent livingimec.archive
 
Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...
Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...
Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...imec.archive
 
NMMU-Emmanuel Haven Living Lab
NMMU-Emmanuel Haven Living LabNMMU-Emmanuel Haven Living Lab
NMMU-Emmanuel Haven Living Labimec.archive
 
The Humanicité workshops
The Humanicité workshopsThe Humanicité workshops
The Humanicité workshopsimec.archive
 
A Real-World Experimentation Platform
A Real-World Experimentation PlatformA Real-World Experimentation Platform
A Real-World Experimentation Platformimec.archive
 
ENoLL @ AAL Forum 2012
ENoLL @ AAL Forum 2012ENoLL @ AAL Forum 2012
ENoLL @ AAL Forum 2012imec.archive
 
ENoLL 6th Wave Results Ceremony (Jesse Marsh)
ENoLL 6th Wave Results Ceremony (Jesse Marsh)ENoLL 6th Wave Results Ceremony (Jesse Marsh)
ENoLL 6th Wave Results Ceremony (Jesse Marsh)imec.archive
 
The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...
The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...
The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...imec.archive
 
Apollon-23/05/2012-9u30- Parallell session: Living Labs added value
Apollon-23/05/2012-9u30- Parallell session: Living Labs added value  Apollon-23/05/2012-9u30- Parallell session: Living Labs added value
Apollon-23/05/2012-9u30- Parallell session: Living Labs added value imec.archive
 
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across bordersApollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across bordersimec.archive
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internetimec.archive
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internetimec.archive
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internetimec.archive
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internetimec.archive
 
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across bordersApollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across bordersimec.archive
 
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation EcosystemsApollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystemsimec.archive
 
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation EcosystemsApollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystemsimec.archive
 

Plus de imec.archive (20)

iMinds-iLab.o, Open Innovation in ICT
iMinds-iLab.o, Open Innovation in ICTiMinds-iLab.o, Open Innovation in ICT
iMinds-iLab.o, Open Innovation in ICT
 
Accio presentation closing event
Accio presentation closing eventAccio presentation closing event
Accio presentation closing event
 
PRoF+ Patient Room of the Future
PRoF+ Patient Room of the FuturePRoF+ Patient Room of the Future
PRoF+ Patient Room of the Future
 
Results of the Apollon pilot in homecare and independent living
Results of the Apollon pilot in homecare and independent livingResults of the Apollon pilot in homecare and independent living
Results of the Apollon pilot in homecare and independent living
 
Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...
Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...
Delivery of feedback on Health, Home Security and Home Energy in Aware Homes ...
 
NMMU-Emmanuel Haven Living Lab
NMMU-Emmanuel Haven Living LabNMMU-Emmanuel Haven Living Lab
NMMU-Emmanuel Haven Living Lab
 
The Humanicité workshops
The Humanicité workshopsThe Humanicité workshops
The Humanicité workshops
 
A Real-World Experimentation Platform
A Real-World Experimentation PlatformA Real-World Experimentation Platform
A Real-World Experimentation Platform
 
ENoLL @ AAL Forum 2012
ENoLL @ AAL Forum 2012ENoLL @ AAL Forum 2012
ENoLL @ AAL Forum 2012
 
ENoLL 6th Wave Results Ceremony (Jesse Marsh)
ENoLL 6th Wave Results Ceremony (Jesse Marsh)ENoLL 6th Wave Results Ceremony (Jesse Marsh)
ENoLL 6th Wave Results Ceremony (Jesse Marsh)
 
The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...
The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...
The Connected Smart Cities Network and Living Labs - Towards Horizon 2020 - K...
 
Apollon-23/05/2012-9u30- Parallell session: Living Labs added value
Apollon-23/05/2012-9u30- Parallell session: Living Labs added value  Apollon-23/05/2012-9u30- Parallell session: Living Labs added value
Apollon-23/05/2012-9u30- Parallell session: Living Labs added value
 
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across bordersApollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
 
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future InternetApollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
Apollon - 22/5/12 - 16:00 - Smart Open Cities and the Future Internet
 
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across bordersApollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
Apollon - 22/5/12 - 11:30 - Local SME's - Innovating Across borders
 
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation EcosystemsApollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
 
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation EcosystemsApollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
Apollon - 22/5/12 - 09:00 - User-driven Open Innovation Ecosystems
 

Ipr08 2 Beware Of Your Creations Bruno Lowagie

  • 1. Beware of your creations iText, a Free / Open Source PDF library Case Study: IPR project by Bruno Lowagie
  • 2. What is iText? iText is a Free / Open Source Software library that allows Java and .Net developers to enhance their applications with PDF generation and manipulation functionalities. iText is used by Google, Adobe, JasperSoft, IBM, NASA, the DoD, KLM, NMBS, FedEx, UPS, many different governments, banks, insurance companies, and so on. If you want to find our more about iText visit http://www.lowagie.com/iText/ Or read the book “iText in Action” 2/20
  • 3. Context of the IPR project IBM and SUN are competitors IBM created the Eclipse Foundation to compete with SUN on the Java front Eclipse is an Integrated Development Environment (IDE) Eclipse is a Java oriented Open Source Community Eclipse offers a suite of Open Source products Different Eclipse projects are lead by different companies; Each project/product has its own release cycle 3/20
  • 4. Context of the IPR project The Callisto Simultaneous Release (july 2006) was the first time a suite of selected products was released simultaneously This release was fully tested by IBM and hosted on servers from the Eclipse Foundation. Eclipse/BIRT was part of this simultaneous release Eclipse/BIRT is a Business Intelligence & Reporting Tools project lead by Actuate Eclipse/BIRT uses iText for PDF Generation 4/20
  • 5. Context of the IPR project IBM only wanted to host iText on their servers if: The iText license (MPL/LGPL) was changed to EPL The iText code was vetted and accepted by IBM’s legal department: the IP of the iText source code had to be 100% OK. None of these conditions were met; as a result iText was not a part of the Callisto Simultaneous Release; users had to download it separately. The Eclipse Foundation tried to put pressure on Bruno to release iText under the EPL. 5/20
  • 6. Context of the IPR project Bruno’s response: Changing to EPL is a No-Go for the iText community. If IBM doesn’t want to use iText: it’s not our problem; it’s IBM’s problem! But Actuate wanted to use iText… Solution: a Research Agreement was signed between Actuate and Ghent University (Bruno’s employer) to create a detailed IP Report for iText and to solve all possible IP issues reported by IBM Canada. The goal was the integration of iText in the Eclipse Europe release (july 2007). By the way: we made the release! 6/20
  • 7. The Problem with F/OSS Software A F/OSS library is a joined effort of many different people. A F/OSS library such as iText grows organically. Looking at the source code of many projects, you have: a White zone: code of which the IP is 100% clear; you know because you have written the code yourself. a Gray zone: code that was contributed by others. Where did they get this code? Did they write the code? Were they allowed to contribute that code? a Black zone: code that was integrated in the library, but for which there was no license or authorization. 7/20
  • 8. The White Zone You have written the code yourself, but… What about your employer? Does your employer own (part of) the code? Do you have a formal agreement with your employer with respect to F/OSS? Where did you get your inspiration? IBM developers are forbidden to look at any code that is not formally approved by IBM’s legal team. Good practice or burden? Note: you don’t always need to own the IPR to do business with F/OSS! For instance: in the past, iText licenses were sold by PDF Sages (now acquired by Adobe Systems) 8/20
  • 9. The Gray Zone The code was contributed, but… Did the contributor agree with the license? Did the contributor’s employer agree? Where did the contributor get his inspiration? The Apache Foundation demands contributors and their employers to sign a Contributor License Agreement (CLA) SUN demands contributors to sign a Sun Contributor Agreement (SCA) from the moment the contributions contain more than 20 lines of code 9/20
  • 10. The Gray Zone The code was taken from another project, but… Are the licenses compatible? Do you respect the other project’s license? Where did the other project get its code from? Always keep an online inventory of: All Contributors (if possible: let them sign a CLA) All F/OSS Projects used (subset / derivative work) 10/20
  • 11. The Black Zone Unfortunately it may happen that you were not allowed to use some specific code that is part of your project. Solution: either you ask (and get!) permission, or you remove the code. 11/20
  • 12. Examples Turning Gray and Black into White A selection of issues that were solved in the context of the Research Agreement between Actuate and Ghent University. These issues were reported by IBM’s Legal Department in Canada. These issues were solved by Bruno Lowagie, and they give an idea of the work involved when maintaining a successful F/OSS project. Writing code is the easy part of the job ;-) 12/20
  • 13. Example 1: JavaWorld article State Machine to parse XML quickly: http://www.javaworld.com/javaworld/javatips/jw-javatip128.html Source code taken from/inspired by this article Fine print: http://www.javaworld.com/javaworld/common/jw-copyright.html Copyright - All contents of JavaWorld, including text, programs, applets, source code, and images are copyrighted and owned by IDG or the copyright holder specified, all rights reserved. No material may be reproduced electronically or in print without written permission. Solution: write JavaWorld and author, get permission! There were many other places where licenses were incomplete or missing! 13/20
  • 14. Example 2: RC4 Class names and variable names referring to RC4 RC4 was initially a trade secret, but in September 1994 a description of it was anonymously posted to the Cypherpunks mailing list. It was soon posted on the sci.crypt newsgroup, and from there to many sites on the Internet. Because the algorithm is known, it is no longer a trade secret. The name "RC4" is trademarked, however. The current status seems to be that "unofficial" implementations are legal, but cannot use the RC4 name. RC4 is often referred to as "ARCFOUR" or "ARC4" (meaning Alleged RC4, because RSA has never officially released the algorithm), to avoid possible trademark problems. Solution: change RC4 into ARCFOUR in all files 14/20
  • 15. Example 3: IntHashtable Class IntHashtable Taken from ACME.com // This is 90% based on JavaSoft's java.util.Hashtable. // Visit the ACME Labs Java page for up-to-date versions of this and other // fine Java utilities: http://www.acme.com/java/ JavaSoft is a name used by Sun in the past in their Java activities. Sun indicates use of the class java.util.Hashtable which is subject to unfriendly Sun license It is unlikely that this code is available under a license that permits this use. Without information indicating that Sun approved of this usage the class should not be used. Solution: use the same class released by Apache under the APL in Apache-Commons instead of the ACME class. 15/20
  • 16. Example 4: EPS EPS Functionality Taken from an example released by SUN under a Sample License. The Sample License allowed the use of the code, but the source code contained this text: /* * Copyright 1998 by Sun Microsystems, Inc., * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This software is the confidential and proprietary information * of Sun Microsystems, Inc. ("Confidential Information"). You * shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with Sun. */ Solution: after a very long argument about this comment section versus the Sample License, EPS functionality was dropped. 16/20
  • 17. Example 5: Fedora Linux and nuclear facilities JAI code Taken from JAI (by SUN) originally released under a very liberal License. However, the license text contains the following clause: /* * You acknowledge that Software is not designed, licensed or * intended for use in the design, construction, operation or * maintenance of any nuclear facility. */ As long as the word “license” isn’t removed, iText can’t be distributed with Fedora Linux. Solution: direct communication with the core developers to solve the problem. 17/20
  • 18. Finally You can save a lot of work by doing things the right way right from the start. If it’s too much work, or if it gets in the way of doing your work, you are not alone! 18/20
  • 19. Finally If you have built castles in the air, Your work need not be lost; That is where they should be. Now put the foundations under them. (Henry David Thoreau – Walden) 19/20
  • 20. Questions Q&A 20/20