Sustaining research software at the Apache Software Foundation
Presented at BOSC 2015, Dublin on 2015-07-11. http://www.open-bio.org/wiki/BOSC_2015
Source: http://slides.com/soilandreyes/20150611-bosc2015-apache
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
2015-07-11 Apache Taverna - BOSC 2015
1. Sustaining research software atSustaining research software at
the Apache Software Foundationthe Apache Software Foundation
Apache TavernaApache Taverna (incubating)(incubating)
BOSC, Dublin 2015-07-11
Stian Soiland-Reyes
Univ of Manchester
stain@apache.org
@soilandreyes
http://orcid.org/0000-0001-9842-9718
is licensed under a
.
This work
Creative Commons Attribution 4.0 International License
2. What is Apache Taverna?What is Apache Taverna?
Scientific Workflow system
Taverna Workbench (design/run on Desktop)
Taverna Command Line (run/inspect wf)
Taverna Server (REST/WSDL for running)
Taverna Player (web UI for running)
... and more!
http://taverna.incubator.apache.org/
3. History of TavernaHistory of Taverna
2001-2006: Prototyping (0.1 ➔ 1.3)
2006-2009: Productizing Taverna 1.x (1.4 ➔1.6)
2007-2014: Taverna 2.x (2.0 ➔ 2.5)
2012-: Taverna 3.x
2014-: Apache Taverna (incubating)
4. Evolution ofEvolution of
Research Software (1)Research Software (1)
Ideas, discussions, current research
➔ prototypes, proof of concept
Collaborations, Funding calls
➔ proposal for $proj1
5. Evolution ofEvolution of
Research Software (2)Research Software (2)
Funded for $proj1
Develop v1.x
Releasing as open source
Slowly building user-base
Project-specific requirements
➔ custom code
Danger: Code for Review symptom
6. Evolution ofEvolution of
Research Software (3)Research Software (3)
Funded for $proj2
Slightly different direction
➔ generalize code-base
Develop v2.x - open source
User-base from $proj1 now growing
..but want v1.x support
hampered by earlier customizations
7. Evolution ofEvolution of
Research Software (4)Research Software (4)
Third-party developers showing up
Code documentation
Plugin and integration support
When to release?
Different ambitions for the software
Conflicting directions
8. Evolution ofEvolution of
Research Software (5)Research Software (5)
Further funding - but kind of unrelated
.. $proj1 and $proj2 users still need support
limited time available from original devs
Third-party developers increased activity
- but do they have any control of core code?
Where are decisions made? Who?
Is the process open?
How can you tell it is open?
9. Need for OpenNeed for Open
DevelopmentDevelopment
Open Source since 2001
but anything "core" still done by Manchester
Manchester effectively leader
.. major developments happening elsewhere
Questions about sustainability
Single institution is more vulnerable
"Have to" add Manchester to grant proposals?
10. Moving towardsMoving towards
Open DevelopmentOpen Development
Office discussions, meetings
➔ issue tracker, mailing lists, wiki
Projects ➔ People
Building collective ownership
Getting the community more involved
12. Who could "own" Taverna?Who could "own" Taverna?
Considered:
Taverna Foundation
/
(now gone silent)
.. just leave it at ?
Software Freedom Conservancy
GNU Project Free Software Foundation
Eclipse Foundation
Outercurve Foundation
Apache Software Foundation
GitHub
13. Apache SoftwareApache Software
FoundationFoundation
Non-profit organization, forming a community of open-
source software projects.
Strong emphasis on openness, collaboration and a
consensus-based development process.
Examples: Apache HTTP server, Tomcat, Maven,
Jena, CXF and OpenOffice.
14. Why Apache?Why Apache?
Fully open development
Encourage further developer involvement
Remove impression of Univ of Manchester as leader
..reducing us vs them conversations
Independent and neutral
16. http://incubator.apache.org/
1. Find a champion within Apache
2. Create and discuss proposal
3. Find mentors
4. Voted over by Apache Incubator
5. Invited as a podling
6. Transition infrastructure
7. Develop and grow community
8. Release under Apache
9. Graduate to Top Level Project
Becoming part of ApacheBecoming part of Apache
Software FoundationSoftware Foundation
17. Apache lingoApache lingo
TLP: Top-Level Project, self-managed Apache project
Incubator: A special TLP for new projects
Podling (incubating): New project within the Incubator
PMC: Project Management Committee
IPMC / PPMC: Incubator/Podling PMC
18. Apache rolesApache roles
Champion: Helps at proposal stage
Mentor: Guides towards graduation
Committer: Granted write-access to a project
PMC member: Votes on releases and committership
Apache Member: Decides on Apache-wide rules
PMC Chair: Vice President, reports to the Board
19. Mentors of Apache TavernaMentors of Apache Taverna
Andy Seaborne
Chris Mattmann
Suresh Marru
Marlon Pierce
Suresh Srinivas
Thank you!
21. Changing the licenseChanging the license
Taverna was licensed as LGPL 2.1
Needed to change to Apache License
Univ of Manchester main copyright holder
Contributor License Agreements
22. The boring bitThe boring bit
package org.apache.taverna.scufl2.api.core;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
23. NOTICENOTICE
Apache Taverna Language
Copyright 2010-2014 University of Manchester, UK
Copyright 2015 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
---------------------------------------------------------
ODFDOM
Copyright 2008, 2010 Oracle and/or its affiliates. All rights reserved.
---------------------------------------------------------
PAV ontology http://purl.org/pav/
(c) Copyright 2008-2014 Massachusetts General Hospital; Harvard Medical School;
Balboa Systems; University of Manchester
---------------------------------------------------------
W3C PROVenance Interchange Ontology (PROV-O)
http://www.w3.org/ns/prov-o.rdf
http://www.w3.org/TR/2013/REC-prov-o-20130430/
W3C PROV Access and Query Ontology (PROV-AQ)
http://www.w3.org/ns/prov-aq.owl
http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/
Copyright (c) 2011-2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
W3C liability, trademark and document use rules apply.
http://www.w3.org/Consortium/Legal/2015/doc-license
24. Legal protectionLegal protection
Software must have clean Intellectual Property
➔ Software Grants, CLAs, NOTICE.txt
Commercial users can use your software
without fearing a law suit
25. Voting on releasesVoting on releases
From: Stian Soiland-Reyes <stain@apache.org>
Date: 11 June 2015 at 15:48
Subject: [VOTE] Release Apache Taverna Language 0.15.0-incubating RC2 (shortened)
To: dev@taverna.incubator.apache.org
I am pleased to be calling this vote for the source release of
Apache Taverna Language 0.15.0-incubating
The release candidates to be voted over are available at:
https://dist.apache.org/repos/dist/dev/incubator/taverna/source/taverna-language-0.15.0-incubating-RC2/
SHA-1 checksum: 7032e9d2be834f7c029aae562b62613481bf6939
Build the release candidate in the above order, using: mvn clean install
The release candidates correspond to the following git commits:
https://git-wip-us.apache.org/repos/asf?p=incubator-taverna-language.git;a=commit;h=3340e2090e604b40ac0b88675
Release candidates are signed with a GPG key available at:
https://dist.apache.org/repos/dist/release/incubator/taverna/KEYS
The vote is open for at least 72 hours and passes if a
majority of at least three +1 Apache Taverna PPMC votes are cast.
[ ] +1 Release this package
[ ] 0 I don't feel strongly about it, but don't object
[ ] -1 Do not release this package because...
26. The Apache WayThe Apache Way
Community over Code
Open:
If it didn't happen on the mailing list, it didn't happen
Everybody has a say
Merit - win by doing it
Personal merit - not organizational
27. Community developmentCommunity development
Users and Developers
..are they really separate?
Ask not what can I do for the user,
but what can the user do for me
Give teasers to potential committers
"I think the problem is somewhere in this file"
... without saying "You're on your own, mate"!
Recognize any contributions, not just code
Docs, training, examples, help, discussions, ...
28. How to become anHow to become an
open source committer?open source committer?
Submitting patches/pull requests
Contributing to mailing lists
Contributing to testing, documentation, website
Contributing a plugin or new feature
Participate in votes and discussions
Act as if you are already a committer
PMC vote (in private) on a proposed new committer
29. Google Summer of CodeGoogle Summer of Code
Students paid to work on open source projects
Google sponsored
2015: 137 organizations, 988 students
ASF: 49 students
Apache Taverna: 3 students
30.
31. Where do research softwareWhere do research software
communities form?communities form?
Project mailing lists/forum
Issue trackers
Support mail
Private communications
Chat channels
Domain-specific forums
and
Domain-specific conferences and workshops
StackOverflow Biostars.org
32. Transitioning to ApacheTransitioning to Apache
Moving all infrastructure:
Mailing lists, Source code repositories, wiki,
issue tracker, web pages
GitHub pull request workflow
integrated with mailing list
All transitioning discussed in public
..might scare people :-(
34. Is moving easy?Is moving easy?
Depends..
Taverna - lots of infrastructure
Jira w/1000s of old and new issues,
Wordpress,
30 GitHub repositories
months
Commons RDF: Single GitHub repository, GitHub pages.
1 week
35. ConclusionsConclusions
ASF gives strong template for community building
.. and initial bureaucracy :-(
Worth it in the long run!
Licensing is boring, but necessary
Mentors are kind and helpful
Community building takes effort
Community growth is fun
Giving up "control" gives peace and openness
36. Is Apache fit for my project?Is Apache fit for my project?
It's not your project, but your community's project!
So your existing community should decide
Find a champion from an existing Apache project
Are you ready for Open Development?
Are you already there?
Do you have time to guide the community
towards "the Apache Way"?
Apache not a magic bullet
You still need to do the work!
37. Team Taverna (PPMC)Team Taverna (PPMC)
Andy Seaborne, Chris Mattmann, Suresh Srinivas,
Suresh Marru, Marlon Pierce, Alan R Williams,
Aleksandra Nenadic, Christian Y. Brenninkmeijer,
Dmitriy Repchevsky, Donal K. Fellows, Ian Dunlop,
Julián Garrido, Robert Haines, Shoaib Sufi,
Stian Soiland-Reyes, Stuart Owen