SlideShare a Scribd company logo
1 of 33
Herding Cats: Managing Open Source
Projects and Communities
Peter Rice
5th November 2013
Herding Cats

• Managing an open source
community is like herding
cats.
• ‘Cat, come with me.'
'Nenni!' said the Cat. 'I am
the Cat who walks by
himself, and all places are
alike to me. I will not come.
But all the same, he
followed' (Rudyard Kipling,
Just So Stories)
A brief history of open source software

– EMACS
– Linux
– GPL
– Apache
Open source licensing

•
•
•
•
•

Source code provided
Users free to inspect, modify and redistribute
Restrictions may be applied
Freedoms may be guaranteed
Several licenses may be combined
– If they are compatible
GNU General Public License

• Originally written for the EMACS editor and
the GNU project
• Based on copyleft
– Copyright holder usually restricts rights
– In GPL, copyright holder requires all further
distributions to ensure free access
– No further restrictions may be imposed
– “Free as in speech, not as in beer”
Lesser General Public License

• The full GNU General Public License makes it
difficult to combine with other licenses as the
whole binary is covered by GPL.
• The Lesser (Library) GPL only preserves the
interface and requires LGPL library source
code to be made available.
• Applications can be under any license
• GPL code requires unlinked interfaces (APIs)
Other Open Source Licenses

• Apache 2.0 allows modified code to use
another license (including proprietary).
“Indemnity clause” can be scary but is safe
• Perl artistic license has issues with
redistributed code
• BSD license imposed a “restriction” requiring
citing the original authors, usually removed in
several “modified BSD” versions
A brief history of bioinformatics

• 1980 Staden package
– in support of Fred Sanger

• 1982 EMBL/GenBank
– Free sequence databases, later also SwissProt

• 1984 Genetics Computer Group
– Free (initially) sequence analysis package

• 1990 Sequence Retrieval System
• 1990 BLAST
• 1997 EMBOSS
Copyright and Ownership

• The Staden package was developed from 1987
to 2003 by Rodger Staden at the MRC-funded
Laboratory for Molecular Biology
• To get a copy of the software, users mailed a
cheque for £100 to the Medical Research
Council
• In 2003, renewal of funding was rejected
Copyright and Ownership

• The software was still owned by the funders
• The authors had no right to apply for
alternative funding
• … nor did anyone else
• Two years later it was formally re-released as
open source, but developers had left.
Multiple licensing

• The HMMER package provides standard
Hidden Markov Model applications for
multiple alignments of protein sequences
• HMMER 2 had a dual licensing model
– GNU General Public License
– Commercial license

• Only one of these can include third-party
contributions. The commercial license cannot.
From academia to commercial

• The Sequence Retrieval System was developed
by Thure Etzold as a PhD project, then at
EMBL Heidelberg and the European
Bioinformatics Institute.
• LION Bioscience in Cambridge started up to
maintain and develop SRS commercially
• LION merged with competitors (e.g.
NetGenics)
From academia to commercial

• NetGenics software was withdrawn
– Customers had to purchase an SRS license instead

• LION merged with BioWisdom
• BioWisdom merged with Instem
• Lesson: commercial software is high quality,
well supported, but can disappear at any time.

• Open source software avoids this risk
Branching

• BLAST was developed at NCBI as a successor
to FASTA
• Development split into BLAST and WU-BLAST
(Washington University) providing new
features
• WU-BLAST in turn became commercial ABBLAST
Competition

• BLAST and the NCBI Toolkit were an early
example of open source bioinformatics
• Most software at the time was commercial
• In 1990 the commercial providers wrote to
Congress asking for withdrawal of funding for
NCBI software because it competed with US
industry.
• They failed.
Competition

• The GCG package was developed by the
Genetics Computer Group at the University of
Wisconsin
• One of the most cited papers in biology
– If you change more than 25% of the code, you can
remove the GCG copyright

• Changed to an annual source code license
model
• Extensions (EGCG) distributed as source code
by EMBL Heidelberg and then by Sanger
Competition

• Social scientists have reported in detail on
GCG as an example of he development of
bioinformatics.
• Intelligenetics Inc objected to GCG’s unfair
competition
• Wisconsin spun off GCG Inc
• Software license fee doubled
• Usage continued
• EGCG developed to 50% of the GCG code base
Competition

•
•
•
•
•
•
•

GCG Inc looked for a new owner
Source code deemed to be their major asset
Source code distribution was withdrawn
Increased fee for source code
Very restrictive terms of distribution
EGCG was abandoned with 150 applications
EMBOSS written from scratch to replace both
– GPL/LGPL licensing
– Created by the former EGCG community
Competition

• So, to summarise
– 1984 GCG started as open source
– 1990 Became GCG Inc
– 1997 Acquired by Oxford Molecular
– 2000 EMBOSS 1.0 released as open source
Harvey, M. and McMeekin, A. (2007) “Public or
Private Economies of Knowledge? Turbulence in the
Biological Sciences”
Back to Herding Cats
Managing an Open Source Community

• The developers are only the beginning
– Users
– Installers
– Technical authors
– Helpdesk and support
– Communication
– Quality assurance
– Competitors
Contributions by developers

• New source code, new functionality
• Maintaining source code
– Bug fixes, coding standards

• Interfaces
– APIs, third party integration

• Competititors (including open source)
– New features and functionality
– Integration and active collaboration
Contributions (continued)

• Branches
– Someone needs to merge branches
• Original developers should agree to help
• Often merged by others wanting to use new features

– Ideally, merge with a single core
– Useful to merge any set of branches
– Combine with test suite(s)
Contributions (continued)

•
•
•
•

New data types
ETL procedures
Standards
Project-specific requirements
Contributions (continued)

• Documentation
– Users are good at writing/updating manuals

• Training
– Shared examples with public data and common
standards

• Support

• Feature requests
Hosting solutions

•
•
•
•

Git: Github etc.
Sourceforge
Open Bio Foundation
Locally hosted solutions:
– CVS or SubVersion

• Wiki
– Documentation: developers, users, installers
Coordination

• Projects need a coordinator
– Linux: Linus Torvalds
– Emacs: Richard Stallman
– GCG: John Devereux
– EMBOSS: Peter Rice
Coordination

• Maintaining a standard code base
– github.com/transmart

• Tracking branches and modified copies
elsewhere
• Selecting best solutions from available
branches
• Merging conflicting changes
• Continuous testing
Communication

• Community meetings (London, Amsterdam,
Paris, …) for developers and users
• Regular technical developer meetings / TCs
• Mailing lists
– Provide a useful archive

• Trackers (JIRA, Pivotal, …)
– Defining tasks/issues and resolving them

• Wiki
– Community documentation
Efficiency

• Quality assurance
– More tests are always helpful

• Automated documentation
– Creating screenshots from test outputs
• Create tests for documented examples
• Automated update when results change
• Ensure documented functionality still functions
Cat incentives

• In a small community, sanctions work
– Financial penalties for breaking the code
– Small fines for bugs
– Put back e.g. funding Xmas drinks
Cat treats

• Acknowledge contributions
• Benefit from sharing code in other branches
• Developers need to support one another
– Put out any flame wars

• Involve the user community
– Encourage non-developers to contribute

• Keep everything public
– Support the community
– Attract new cats
Herding Cats: Managing Open Source
Projects and Communities

More Related Content

Similar to tranSMART Community Meeting 5-7 Nov 13 - Session 2: Herding Cat

What You Should Know About Open-Source Software and Third-Party Vendors - Kno...
What You Should Know About Open-Source Software and Third-Party Vendors - Kno...What You Should Know About Open-Source Software and Third-Party Vendors - Kno...
What You Should Know About Open-Source Software and Third-Party Vendors - Kno...Knobbe Martens - Intellectual Property Law
 
Open Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & AnalysisOpen Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & AnalysisMarcus Hanwell
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source SoftwareRam Nath
 
Open source . . . Open Road
Open source . . . Open RoadOpen source . . . Open Road
Open source . . . Open RoadMazen Elsayed
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...WSO2
 
Avogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsAvogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsMarcus Hanwell
 
Software licenses: short unofficial overview
Software licenses: short unofficial overviewSoftware licenses: short unofficial overview
Software licenses: short unofficial overviewVisma Lietuva
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)dmgerman
 
Software Open Source in ambito industriale
Software Open Source in ambito industrialeSoftware Open Source in ambito industriale
Software Open Source in ambito industrialeBetter Software
 
Managing Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EraManaging Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EranexB Inc.
 
Chalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsChalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsIrina Zaks
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentationJavier Perez
 
Open Source Concepts
Open Source ConceptsOpen Source Concepts
Open Source ConceptsRituBhargava7
 
Exploring open source licenses
Exploring open source licensesExploring open source licenses
Exploring open source licensesMukarram Baig
 
Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)Evernym
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...dmgerman
 
Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...
Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...
Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...EmmaShort14
 

Similar to tranSMART Community Meeting 5-7 Nov 13 - Session 2: Herding Cat (20)

What You Should Know About Open-Source Software and Third-Party Vendors - Kno...
What You Should Know About Open-Source Software and Third-Party Vendors - Kno...What You Should Know About Open-Source Software and Third-Party Vendors - Kno...
What You Should Know About Open-Source Software and Third-Party Vendors - Kno...
 
Open Development
Open DevelopmentOpen Development
Open Development
 
Open Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & AnalysisOpen Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & Analysis
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
 
Open source . . . Open Road
Open source . . . Open RoadOpen source . . . Open Road
Open source . . . Open Road
 
Github
GithubGithub
Github
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
 
Avogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsAvogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and Semantics
 
Software licenses: short unofficial overview
Software licenses: short unofficial overviewSoftware licenses: short unofficial overview
Software licenses: short unofficial overview
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)
 
Software Open Source in ambito industriale
Software Open Source in ambito industrialeSoftware Open Source in ambito industriale
Software Open Source in ambito industriale
 
Managing Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EraManaging Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub Era
 
Chalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsChalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, minds
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Open Source Concepts
Open Source ConceptsOpen Source Concepts
Open Source Concepts
 
Exploring open source licenses
Exploring open source licensesExploring open source licenses
Exploring open source licenses
 
Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)
 
OSOS SEM 4 Chapter 1
OSOS SEM 4 Chapter 1OSOS SEM 4 Chapter 1
OSOS SEM 4 Chapter 1
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
 
Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...
Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...
Legal-Considerations-for-Open-Source-Software-Creative-Commons-Licenses_Sprin...
 

More from David Peyruc

tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-data
tranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-datatranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-data
tranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-dataDavid Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMART
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMARTtranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMART
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMARTDavid Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker Discovery
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker DiscoverytranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker Discovery
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker DiscoveryDavid Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...
tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...
tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Translational Drug Disco...
tranSMART Community Meeting 5-7 Nov 13 - Session 1:  Translational Drug Disco...tranSMART Community Meeting 5-7 Nov 13 - Session 1:  Translational Drug Disco...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Translational Drug Disco...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...David Peyruc
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...David Peyruc
 

More from David Peyruc (17)

tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Characterization of the c...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Advancing tranSMART Analy...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: Recent tranSMART Lessons ...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: eTRIKS - Science Driven D...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: EMIF (European Medical In...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...
tranSMART Community Meeting 5-7 Nov 13 - Session 5: The Accelerated Cure Proj...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Modularization (Plug‐Ins,...
 
Community
CommunityCommunity
Community
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Pfizer’s Recent Use of tr...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...
tranSMART Community Meeting 5-7 Nov 13 - Session 3: tranSMART and the One Min...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-data
tranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-datatranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-data
tranSMART Community Meeting 5-7 Nov 13 - Session 3: transmart-data
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMART
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMARTtranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMART
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Simulation in tranSMART
 
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker Discovery
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker DiscoverytranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker Discovery
tranSMART Community Meeting 5-7 Nov 13 - Session 3: Clinical Biomarker Discovery
 
tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...
tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...
tranSMART Community Meeting 5-7 Nov 13 - Session 2: Creating a Comprehensive ...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Translational Drug Disco...
tranSMART Community Meeting 5-7 Nov 13 - Session 1:  Translational Drug Disco...tranSMART Community Meeting 5-7 Nov 13 - Session 1:  Translational Drug Disco...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Translational Drug Disco...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Amsterdam Community Meeti...
 

Recently uploaded

Call Girl Service Bidadi - For 7001305949 Cheap & Best with original Photos
Call Girl Service Bidadi - For 7001305949 Cheap & Best with original PhotosCall Girl Service Bidadi - For 7001305949 Cheap & Best with original Photos
Call Girl Service Bidadi - For 7001305949 Cheap & Best with original Photosnarwatsonia7
 
Glomerular Filtration and determinants of glomerular filtration .pptx
Glomerular Filtration and  determinants of glomerular filtration .pptxGlomerular Filtration and  determinants of glomerular filtration .pptx
Glomerular Filtration and determinants of glomerular filtration .pptxDr.Nusrat Tariq
 
Call Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort Service
Call Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort ServiceCall Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort Service
Call Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort Serviceparulsinha
 
Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...
Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...
Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...narwatsonia7
 
Call Girl Lucknow Mallika 7001305949 Independent Escort Service Lucknow
Call Girl Lucknow Mallika 7001305949 Independent Escort Service LucknowCall Girl Lucknow Mallika 7001305949 Independent Escort Service Lucknow
Call Girl Lucknow Mallika 7001305949 Independent Escort Service Lucknownarwatsonia7
 
Low Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service Mumbai
Low Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service MumbaiLow Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service Mumbai
Low Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service Mumbaisonalikaur4
 
Call Girls Whitefield Just Call 7001305949 Top Class Call Girl Service Available
Call Girls Whitefield Just Call 7001305949 Top Class Call Girl Service AvailableCall Girls Whitefield Just Call 7001305949 Top Class Call Girl Service Available
Call Girls Whitefield Just Call 7001305949 Top Class Call Girl Service Availablenarwatsonia7
 
Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...narwatsonia7
 
Call Girls In Andheri East Call 9920874524 Book Hot And Sexy Girls
Call Girls In Andheri East Call 9920874524 Book Hot And Sexy GirlsCall Girls In Andheri East Call 9920874524 Book Hot And Sexy Girls
Call Girls In Andheri East Call 9920874524 Book Hot And Sexy Girlsnehamumbai
 
Aspirin presentation slides by Dr. Rewas Ali
Aspirin presentation slides by Dr. Rewas AliAspirin presentation slides by Dr. Rewas Ali
Aspirin presentation slides by Dr. Rewas AliRewAs ALI
 
Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...narwatsonia7
 
College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...
College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...
College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...Miss joya
 
Call Girl Bangalore Nandini 7001305949 Independent Escort Service Bangalore
Call Girl Bangalore Nandini 7001305949 Independent Escort Service BangaloreCall Girl Bangalore Nandini 7001305949 Independent Escort Service Bangalore
Call Girl Bangalore Nandini 7001305949 Independent Escort Service Bangalorenarwatsonia7
 
Ahmedabad Call Girls CG Road 🔝9907093804 Short 1500 💋 Night 6000
Ahmedabad Call Girls CG Road 🔝9907093804  Short 1500  💋 Night 6000Ahmedabad Call Girls CG Road 🔝9907093804  Short 1500  💋 Night 6000
Ahmedabad Call Girls CG Road 🔝9907093804 Short 1500 💋 Night 6000aliya bhat
 
College Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort Service
College Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort ServiceCollege Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort Service
College Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort ServiceNehru place Escorts
 
Housewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment Booking
Housewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment BookingHousewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment Booking
Housewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment Bookingnarwatsonia7
 
VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...
VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...
VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...Miss joya
 
Bangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% Safe
Bangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% SafeBangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% Safe
Bangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% Safenarwatsonia7
 

Recently uploaded (20)

Call Girl Service Bidadi - For 7001305949 Cheap & Best with original Photos
Call Girl Service Bidadi - For 7001305949 Cheap & Best with original PhotosCall Girl Service Bidadi - For 7001305949 Cheap & Best with original Photos
Call Girl Service Bidadi - For 7001305949 Cheap & Best with original Photos
 
Glomerular Filtration and determinants of glomerular filtration .pptx
Glomerular Filtration and  determinants of glomerular filtration .pptxGlomerular Filtration and  determinants of glomerular filtration .pptx
Glomerular Filtration and determinants of glomerular filtration .pptx
 
Call Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort Service
Call Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort ServiceCall Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort Service
Call Girls Service In Shyam Nagar Whatsapp 8445551418 Independent Escort Service
 
Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...
Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...
Housewife Call Girls Bangalore - Call 7001305949 Rs-3500 with A/C Room Cash o...
 
Call Girl Lucknow Mallika 7001305949 Independent Escort Service Lucknow
Call Girl Lucknow Mallika 7001305949 Independent Escort Service LucknowCall Girl Lucknow Mallika 7001305949 Independent Escort Service Lucknow
Call Girl Lucknow Mallika 7001305949 Independent Escort Service Lucknow
 
Low Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service Mumbai
Low Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service MumbaiLow Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service Mumbai
Low Rate Call Girls Mumbai Suman 9910780858 Independent Escort Service Mumbai
 
Escort Service Call Girls In Sarita Vihar,, 99530°56974 Delhi NCR
Escort Service Call Girls In Sarita Vihar,, 99530°56974 Delhi NCREscort Service Call Girls In Sarita Vihar,, 99530°56974 Delhi NCR
Escort Service Call Girls In Sarita Vihar,, 99530°56974 Delhi NCR
 
Call Girls Whitefield Just Call 7001305949 Top Class Call Girl Service Available
Call Girls Whitefield Just Call 7001305949 Top Class Call Girl Service AvailableCall Girls Whitefield Just Call 7001305949 Top Class Call Girl Service Available
Call Girls Whitefield Just Call 7001305949 Top Class Call Girl Service Available
 
Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Electronic City Just Call 7001305949 Top Class Call Girl Service A...
 
Call Girls In Andheri East Call 9920874524 Book Hot And Sexy Girls
Call Girls In Andheri East Call 9920874524 Book Hot And Sexy GirlsCall Girls In Andheri East Call 9920874524 Book Hot And Sexy Girls
Call Girls In Andheri East Call 9920874524 Book Hot And Sexy Girls
 
Aspirin presentation slides by Dr. Rewas Ali
Aspirin presentation slides by Dr. Rewas AliAspirin presentation slides by Dr. Rewas Ali
Aspirin presentation slides by Dr. Rewas Ali
 
Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...
Call Girls Kanakapura Road Just Call 7001305949 Top Class Call Girl Service A...
 
sauth delhi call girls in Bhajanpura 🔝 9953056974 🔝 escort Service
sauth delhi call girls in Bhajanpura 🔝 9953056974 🔝 escort Servicesauth delhi call girls in Bhajanpura 🔝 9953056974 🔝 escort Service
sauth delhi call girls in Bhajanpura 🔝 9953056974 🔝 escort Service
 
College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...
College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...
College Call Girls Pune Mira 9907093804 Short 1500 Night 6000 Best call girls...
 
Call Girl Bangalore Nandini 7001305949 Independent Escort Service Bangalore
Call Girl Bangalore Nandini 7001305949 Independent Escort Service BangaloreCall Girl Bangalore Nandini 7001305949 Independent Escort Service Bangalore
Call Girl Bangalore Nandini 7001305949 Independent Escort Service Bangalore
 
Ahmedabad Call Girls CG Road 🔝9907093804 Short 1500 💋 Night 6000
Ahmedabad Call Girls CG Road 🔝9907093804  Short 1500  💋 Night 6000Ahmedabad Call Girls CG Road 🔝9907093804  Short 1500  💋 Night 6000
Ahmedabad Call Girls CG Road 🔝9907093804 Short 1500 💋 Night 6000
 
College Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort Service
College Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort ServiceCollege Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort Service
College Call Girls Vyasarpadi Whatsapp 7001305949 Independent Escort Service
 
Housewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment Booking
Housewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment BookingHousewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment Booking
Housewife Call Girls Hoskote | 7001305949 At Low Cost Cash Payment Booking
 
VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...
VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...
VIP Call Girls Pune Vrinda 9907093804 Short 1500 Night 6000 Best call girls S...
 
Bangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% Safe
Bangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% SafeBangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% Safe
Bangalore Call Girls Marathahalli 📞 9907093804 High Profile Service 100% Safe
 

tranSMART Community Meeting 5-7 Nov 13 - Session 2: Herding Cat

  • 1. Herding Cats: Managing Open Source Projects and Communities Peter Rice 5th November 2013
  • 2. Herding Cats • Managing an open source community is like herding cats. • ‘Cat, come with me.' 'Nenni!' said the Cat. 'I am the Cat who walks by himself, and all places are alike to me. I will not come. But all the same, he followed' (Rudyard Kipling, Just So Stories)
  • 3. A brief history of open source software – EMACS – Linux – GPL – Apache
  • 4. Open source licensing • • • • • Source code provided Users free to inspect, modify and redistribute Restrictions may be applied Freedoms may be guaranteed Several licenses may be combined – If they are compatible
  • 5. GNU General Public License • Originally written for the EMACS editor and the GNU project • Based on copyleft – Copyright holder usually restricts rights – In GPL, copyright holder requires all further distributions to ensure free access – No further restrictions may be imposed – “Free as in speech, not as in beer”
  • 6. Lesser General Public License • The full GNU General Public License makes it difficult to combine with other licenses as the whole binary is covered by GPL. • The Lesser (Library) GPL only preserves the interface and requires LGPL library source code to be made available. • Applications can be under any license • GPL code requires unlinked interfaces (APIs)
  • 7. Other Open Source Licenses • Apache 2.0 allows modified code to use another license (including proprietary). “Indemnity clause” can be scary but is safe • Perl artistic license has issues with redistributed code • BSD license imposed a “restriction” requiring citing the original authors, usually removed in several “modified BSD” versions
  • 8. A brief history of bioinformatics • 1980 Staden package – in support of Fred Sanger • 1982 EMBL/GenBank – Free sequence databases, later also SwissProt • 1984 Genetics Computer Group – Free (initially) sequence analysis package • 1990 Sequence Retrieval System • 1990 BLAST • 1997 EMBOSS
  • 9. Copyright and Ownership • The Staden package was developed from 1987 to 2003 by Rodger Staden at the MRC-funded Laboratory for Molecular Biology • To get a copy of the software, users mailed a cheque for £100 to the Medical Research Council • In 2003, renewal of funding was rejected
  • 10. Copyright and Ownership • The software was still owned by the funders • The authors had no right to apply for alternative funding • … nor did anyone else • Two years later it was formally re-released as open source, but developers had left.
  • 11. Multiple licensing • The HMMER package provides standard Hidden Markov Model applications for multiple alignments of protein sequences • HMMER 2 had a dual licensing model – GNU General Public License – Commercial license • Only one of these can include third-party contributions. The commercial license cannot.
  • 12. From academia to commercial • The Sequence Retrieval System was developed by Thure Etzold as a PhD project, then at EMBL Heidelberg and the European Bioinformatics Institute. • LION Bioscience in Cambridge started up to maintain and develop SRS commercially • LION merged with competitors (e.g. NetGenics)
  • 13. From academia to commercial • NetGenics software was withdrawn – Customers had to purchase an SRS license instead • LION merged with BioWisdom • BioWisdom merged with Instem • Lesson: commercial software is high quality, well supported, but can disappear at any time. • Open source software avoids this risk
  • 14. Branching • BLAST was developed at NCBI as a successor to FASTA • Development split into BLAST and WU-BLAST (Washington University) providing new features • WU-BLAST in turn became commercial ABBLAST
  • 15. Competition • BLAST and the NCBI Toolkit were an early example of open source bioinformatics • Most software at the time was commercial • In 1990 the commercial providers wrote to Congress asking for withdrawal of funding for NCBI software because it competed with US industry. • They failed.
  • 16. Competition • The GCG package was developed by the Genetics Computer Group at the University of Wisconsin • One of the most cited papers in biology – If you change more than 25% of the code, you can remove the GCG copyright • Changed to an annual source code license model • Extensions (EGCG) distributed as source code by EMBL Heidelberg and then by Sanger
  • 17. Competition • Social scientists have reported in detail on GCG as an example of he development of bioinformatics. • Intelligenetics Inc objected to GCG’s unfair competition • Wisconsin spun off GCG Inc • Software license fee doubled • Usage continued • EGCG developed to 50% of the GCG code base
  • 18. Competition • • • • • • • GCG Inc looked for a new owner Source code deemed to be their major asset Source code distribution was withdrawn Increased fee for source code Very restrictive terms of distribution EGCG was abandoned with 150 applications EMBOSS written from scratch to replace both – GPL/LGPL licensing – Created by the former EGCG community
  • 19. Competition • So, to summarise – 1984 GCG started as open source – 1990 Became GCG Inc – 1997 Acquired by Oxford Molecular – 2000 EMBOSS 1.0 released as open source Harvey, M. and McMeekin, A. (2007) “Public or Private Economies of Knowledge? Turbulence in the Biological Sciences”
  • 21. Managing an Open Source Community • The developers are only the beginning – Users – Installers – Technical authors – Helpdesk and support – Communication – Quality assurance – Competitors
  • 22. Contributions by developers • New source code, new functionality • Maintaining source code – Bug fixes, coding standards • Interfaces – APIs, third party integration • Competititors (including open source) – New features and functionality – Integration and active collaboration
  • 23. Contributions (continued) • Branches – Someone needs to merge branches • Original developers should agree to help • Often merged by others wanting to use new features – Ideally, merge with a single core – Useful to merge any set of branches – Combine with test suite(s)
  • 24. Contributions (continued) • • • • New data types ETL procedures Standards Project-specific requirements
  • 25. Contributions (continued) • Documentation – Users are good at writing/updating manuals • Training – Shared examples with public data and common standards • Support • Feature requests
  • 26. Hosting solutions • • • • Git: Github etc. Sourceforge Open Bio Foundation Locally hosted solutions: – CVS or SubVersion • Wiki – Documentation: developers, users, installers
  • 27. Coordination • Projects need a coordinator – Linux: Linus Torvalds – Emacs: Richard Stallman – GCG: John Devereux – EMBOSS: Peter Rice
  • 28. Coordination • Maintaining a standard code base – github.com/transmart • Tracking branches and modified copies elsewhere • Selecting best solutions from available branches • Merging conflicting changes • Continuous testing
  • 29. Communication • Community meetings (London, Amsterdam, Paris, …) for developers and users • Regular technical developer meetings / TCs • Mailing lists – Provide a useful archive • Trackers (JIRA, Pivotal, …) – Defining tasks/issues and resolving them • Wiki – Community documentation
  • 30. Efficiency • Quality assurance – More tests are always helpful • Automated documentation – Creating screenshots from test outputs • Create tests for documented examples • Automated update when results change • Ensure documented functionality still functions
  • 31. Cat incentives • In a small community, sanctions work – Financial penalties for breaking the code – Small fines for bugs – Put back e.g. funding Xmas drinks
  • 32. Cat treats • Acknowledge contributions • Benefit from sharing code in other branches • Developers need to support one another – Put out any flame wars • Involve the user community – Encourage non-developers to contribute • Keep everything public – Support the community – Attract new cats
  • 33. Herding Cats: Managing Open Source Projects and Communities