OW2 Open Source Accessibility Initiative presentation, OW2con'16, Paris.
Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2...
Transcript of Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2...
![Page 1: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/1.jpg)
OSCAR Quality Programme
Open-Source SoftwareRelease Management
Best Practices
![Page 2: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/2.jpg)
Agenda
OSCAR, the OW2 quality programme
Examples of open source projects release processes
Key steps and best practices in release management
Resources
2
![Page 3: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/3.jpg)
3
OW2 QualityProgramme
![Page 4: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/4.jpg)
OSCAR: a Set of Best Practices and a Platform
4Governance Engineering
Requirements
Metrics
Visual Reporting
Risk analysisOM
M Fo
rm
Metrics / Scorecards
Documentation
Privacy / GDPR
Standards
Licenses and IPFossology
SonarQube
Static code analysis
Code / Commits / Bugs
Testing / CI / Release
Cloud Deployment
OMM
Form
![Page 5: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/5.jpg)
5
Examples ofOSS Products
Release Processes
![Page 6: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/6.jpg)
Examples of Open Source Projects Release Processes
OW2 projects:Imixs-Workflow release management XWiki release plan
Syncope release-processNuxeo doc.nuxeo.com/releasingOpenStack release-managementDocker release check list
6
![Page 7: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/7.jpg)
Ex: XWiki Release Plan
7Reference: XWiki Release Plans
![Page 8: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/8.jpg)
Ex: Syncope Release Plan
8Reference: Syncope release-process
![Page 9: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/9.jpg)
9
Recommended Stepsand Best Practices
in OSS Release Management
![Page 10: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/10.jpg)
Key Recommended Steps and Best PracticesRelease versioningRelease environment setupIssue clean upContinuous integration checkPerforming the releaseRelease notesPackagingDocumentation updatePublicationAnnouncement and promotion
10
![Page 11: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/11.jpg)
Release VersioningSemantic Versioning semver.org
MAJOR.MINOR.PATCH[-alpha.xyz]
“Increment the:1. MAJOR version when you make incompatible
API changes,2. MINOR version when you add functionality in
a backwards-compatible manner, and3. PATCH version when you make
backwards-compatible bug fixes.”T. Preston-Werner co-founder of GitHub and CodeConf
11
![Page 12: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/12.jpg)
Release Environment Setup
OS environment description
List of software prerequisites
Dependencies repository configuration
Build settings, e.g. Maven settings file
12
![Page 13: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/13.jpg)
Issue Clean Up
No remaining open issues for the release
[JIRA] Transition from Resolved to Closed
[JIRA] The Fix Version attribute should include this release version
Closed issues should be documented
13
![Page 14: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/14.jpg)
Continuous Integration Check
All test MUST pass
Or failures are understood and documented
Static code analysis – e.g. SonarQube
License analysis
Code license and copyright check – e.g. FOSSology
Prepare your source code for distribution – TripleCheck, OW2con’16
Dependency management and license compliance – Inno3, OW2con’16
14
![Page 15: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/15.jpg)
Release Preparation – Ex: Maven Release Plugin
No uncommitted changes in the sources
No SNAPSHOT dependencies
Versions from x-SNAPSHOT to new version
Tag SCM information in the POM
Run tests against the modified POMs
Commit the modified POMs
Tag the code with release name
Bump the version in the POMs
Commit the modified POMs[Source: Maven Release Plugin Prepare Doc.] 15
![Page 16: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/16.jpg)
Performing the Release – Ex: Maven Release Plugin
Maven dry run of release:prepare
Check pom.xml.tag and release.properties
Check GPG signatures of binaries
Maven release:prepare for real
Publication to Nexus
[JIRA] Mark version as released[Source: Apache Syncope Prepare Source for Release]
16
![Page 17: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/17.jpg)
Release NotesTypical release notes sections:
Introduction and overall descriptionMain new featuresList of all fixed issuesTested environmentsKnown issuesMigration notesBackward compatibilityLink to documentationList of contributors
17Example: XWiki 8.3 Release Notes
![Page 18: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/18.jpg)
Packaging for Easy Integration, Usage, Cloud Deployment
As packages in language specific package repositories: e.g. Maven Central, Eclipse Update Repository, PyPI, NPM, Ruby Gems, CPAN, ...
As installable Linux distribution packages: e.g. RPM, DEB
As Cloud templates and images: e.g. AppHub, DockerHub
18
![Page 19: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/19.jpg)
Publication
Publication of binaries to:
Library repositories (Maven Central, …)
Mirrors (e.g. OW2, Apache, CDN, ...)
Linux distribution packaging systems
Cloud marketplaces (e.g. AppHub)
Publication of versioned documentation to:
Project site
FLOSS Manuals.net
19
![Page 20: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/20.jpg)
Announcement and Promotion
Mail to users and developers
Blog post
Tweets
LinkedIn announcement in specialized groups
Wikipedia page update
20
![Page 21: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/21.jpg)
AppHub: the OW2 Self-Service Cloud Deployment Platform
21
Multi-cloudMulti-technoSelf-serviceOW2 charter / OSCAROW2 governance
www.apphub.eu.com
![Page 22: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/22.jpg)
AppHub distribution
List all candidate components
AppHub template creation:
Video tutorial
Producer guide
Managing Appliance Templates
22
![Page 23: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/23.jpg)
23
Resources
![Page 24: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/24.jpg)
ResourcesOSS Watch – Best Practices in Release Management for Open Source Projects
Electric-Cloud Release Management Wiki
Automating Application Releases with Docker
24
![Page 25: Open-Source Software Release Management Best Practices · 2017-01-24 · Agenda OSCAR, the OW2 quality programme Examples of open source projects release processes Key steps and best](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f07ee997e708231d41f7b46/html5/thumbnails/25.jpg)
Open-source Software Release Management
Best PracticesThank you
oscar.ow2.org
25