2015-07-11 apache taverna - bosc 2015
TRANSCRIPT
Sustaining research software atSustaining research software atthe Apache Software Foundationthe Apache Software Foundation
Apache Taverna Apache Taverna (incubating)(incubating)
BOSC, Dublin 2015-07-11
Stian Soiland-ReyesUniv of [email protected]
@soilandreyeshttp://orcid.org/0000-0001-9842-9718
is licensed under a
.
This work
Creative Commons Attribution 4.0 International License
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/
History of TavernaHistory of Taverna2001-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.x2014-: Apache Taverna (incubating)
Evolution ofEvolution ofResearch Software (1)Research Software (1)
Ideas, discussions, current research➔ prototypes, proof of conceptCollaborations, Funding calls➔ proposal for $proj1
Evolution ofEvolution ofResearch Software (2)Research Software (2)
Funded for $proj1Develop v1.xReleasing as open sourceSlowly building user-base
Project-specific requirements➔ custom codeDanger: Code for Review symptom
Evolution ofEvolution ofResearch Software (3)Research Software (3)
Funded for $proj2Slightly different direction➔ generalize code-baseDevelop v2.x - open source
User-base from $proj1 now growing..but want v1.x supporthampered by earlier customizations
Evolution ofEvolution ofResearch Software (4)Research Software (4)
Third-party developers showing upCode documentationPlugin and integration supportWhen to release?
Different ambitions for the softwareConflicting directions
Evolution ofEvolution ofResearch Software (5)Research Software (5)
Further funding - but kind of unrelated.. $proj1 and $proj2 users still need supportlimited 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?
Need for OpenNeed for OpenDevelopmentDevelopment
Open Source since 2001but anything "core" still done by Manchester
Manchester effectively leader.. major developments happening elsewhere
Questions about sustainabilitySingle institution is more vulnerable"Have to" add Manchester to grant proposals?
Moving towardsMoving towardsOpen DevelopmentOpen Development
Office discussions, meetings➔ issue tracker, mailing lists, wiki
Projects ➔ People
Building collective ownership
Getting the community more involved
Political challengesPolitical challenges
Admitting that software has bugs
Admitting that we can't do everything
Important People™
Who decides?... but it's My Baby!
Who could "own" Taverna?Who could "own" Taverna?Considered:
Taverna Foundation
/
(now gone silent)
.. just leave it at ?
Software Freedom ConservancyGNU Project Free Software FoundationEclipse FoundationOutercurve FoundationApache Software Foundation
GitHub
Apache SoftwareApache SoftwareFoundationFoundation
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.
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
OrganizationalOrganizationalindependenceindependenceOpen and strong governance
Centrally managed infrastructure
Less political
easier to say "We'll use and contribute to ApacheTaverna" in a grant proposal
Longer term sustainability - self-managed community
http://incubator.apache.org/
1. Find a champion within Apache2. Create and discuss proposal3. Find mentors4. Voted over by Apache Incubator5. Invited as a podling6. Transition infrastructure7. Develop and grow community8. Release under Apache9. Graduate to Top Level Project
Becoming part of ApacheBecoming part of ApacheSoftware FoundationSoftware Foundation
Apache lingoApache lingoTLP: Top-Level Project, self-managed Apache project
Incubator: A special TLP for new projectsPodling (incubating): New project within the Incubator
PMC: Project Management CommitteeIPMC / PPMC: Incubator/Podling PMC
Apache rolesApache rolesChampion: Helps at proposal stageMentor: Guides towards graduation
Committer: Granted write-access to a projectPMC member: Votes on releases and committership
Apache Member: Decides on Apache-wide rulesPMC Chair: Vice President, reports to the Board
Mentors of Apache TavernaMentors of Apache Taverna
Andy SeaborneChris Mattmann
Suresh MarruMarlon Pierce
Suresh Srinivas
Thank you!
Apache LicenseApache LicenseOpen Source license
Attributions required
Commercially friendly:
Binaries allowedProprietary additions allowed
Contributions automatically covered
http://www.apache.org/licenses/LICENSE-2.0
Changing the licenseChanging the licenseTaverna was licensed as LGPL 2.1
Needed to change to Apache License
Univ of Manchester main copyright holder
Contributor License Agreements
The boring bitThe boring bitpackage 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;
NOTICENOTICEApache Taverna LanguageCopyright 2010-2014 University of Manchester, UKCopyright 2015 The Apache Software Foundation
This product includes software developed atThe Apache Software Foundation (http://www.apache.org/).
---------------------------------------------------------
ODFDOMCopyright 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.rdfhttp://www.w3.org/TR/2013/REC-prov-o-20130430/
W3C PROV Access and Query Ontology (PROV-AQ)http://www.w3.org/ns/prov-aq.owlhttp://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
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
Voting on releasesVoting on releasesFrom: Stian Soiland-Reyes <[email protected]>Date: 11 June 2015 at 15:48Subject: [VOTE] Release Apache Taverna Language 0.15.0-incubating RC2 (shortened)To: [email protected]
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=3340e2090e604b40ac0b88675f57c1d12032d060
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 amajority 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...
The Apache WayThe Apache WayCommunity over Code
Open:
If it didn't happen on the mailing list, it didn't happenEverybody has a say
Merit - win by doing it
Personal merit - not organizational
Community developmentCommunity developmentUsers 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, ...
How to become anHow to become an
open source committer?open source committer? Submitting patches/pull requests
Contributing to mailing listsContributing to testing, documentation, website
Contributing a plugin or new featureParticipate in votes and discussionsAct as if you are already a committer
PMC vote (in private) on a proposed new committer
Google Summer of CodeGoogle Summer of CodeStudents paid to work on open source projects
Google sponsored
2015: 137 organizations, 988 students
ASF: 49 students
Apache Taverna: 3 students
Where do research softwareWhere do research softwarecommunities form?communities form?
Project mailing lists/forumIssue trackersSupport mail
Private communicationsChat channels
Domain-specific forums and
Domain-specific conferences and workshopsStackOverflow Biostars.org
Transitioning to ApacheTransitioning to ApacheMoving 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 :-(
Is moving easy?Is moving easy?Depends..
Taverna - lots of infrastructure
Jira w/1000s of old and new issues,Wordpress,
30 GitHub repositoriesmonths
Commons RDF: Single GitHub repository, GitHub pages.
1 week
ConclusionsConclusionsASF gives strong template for community building
.. and initial bureaucracy :-(Worth it in the long run!
Licensing is boring, but necessary
Mentors are kind and helpfulCommunity building takes effort
Community growth is funGiving up "control" gives peace and openness
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 bulletYou still need to do the work!
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