The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
2. @CesarHgt @tomitribe
Who am I?
César Hernández
● Senior Software Engineer at Tomitribe
● Java Champion & Oracle Groundbreaker
Ambassador
● Duke’s Choice Award 2016, 2017
● Oracle Certified Professional
● +14 experience with Java Enterprise
● Apache TomEE, Eclipse Jakarta Committer,
Contributor for Microprofile.
● Open Source advocate, teacher and public speaker
3. @CesarHgt @tomitribe
What is Open Source?
https://opensource.com/resources/what-open-source
“The term "open source" refers to something people can modify and share
because its design is publicly accessible.”
“Open source software is software with source code that anyone can inspect,
modify, and enhance.”
4. @CesarHgt @tomitribe
Why you should be involved in open source?
● Become a part of a community
○ New friends
○ Networking
○ Recognition
● Skill Enhancement
○ Improving your programming skills
○ Understanding software architecture
○ Deeper knowledge of a specific software domain
○ Experience working on distributed teams
5. @CesarHgt @tomitribe
Why you should be involved in open source
● Experience working with with many different kinds of people
○ Resume and Portfolio Enhancement
○ Reference open source in resume
○ Use GitHub or other repos to show your work
○ Business opportunities (for example: support offering)
7. @CesarHgt @tomitribe
How open source works?
● Commercial Interests
○ Donating company
○ Sponsor
○ Open Source Support
● Community
○ Types of people involved
○ Social norms
10. @CesarHgt @tomitribe
How open source works?
● Governance
○ What are committers?
https://simpsons.fandom.com/wiki/Benjamin_(nerd)?file=Benjamin,_Doug,_and_Gary.gif
11. @CesarHgt @tomitribe
How open source works?
● Governance
○ How are decisions made?
https://en.wikipedia.org/wiki/File:All_Simpsons_characters.jpg
12. @CesarHgt @tomitribe
How open source works?
● Governance
○ Types of Licenses
82Approved
Licenses
{
MIT
APACHE 2.0
GNU GPL v3.0
Most common
licenses on GitHub
https://choosealicense.com/
13. @CesarHgt @tomitribe
The tools of open source
● GIT and the Forking Workflow
● JIRA and Bugzilla
● Maven and Build Automation tools
● Project Mailing lists
○ user@ vs dev@
● Instant Messaging / Chat
○ IRC
○ Slack
○ Gitter
15. @CesarHgt @tomitribe
Choosing an open source project
● Programming Language
● Technology Domain
● Leadership and Governance
● Community culture
○ Friendly
○ Fast and Furious
○ Experts only
○ Nasty
16. @CesarHgt @tomitribe
The types of contributions
● Code
● Documentation
● Workshops
● Testing
● Continuous Integration
● Moderator on communication channels
● “ any substantive action that generates content”
https://octoverse.github.com/
21. @CesarHgt @tomitribe
Tooling
● dev and user mailing lists
● JIRA
● Slack
● GITHUB mirror from SVN
○ Pull request model for interaction
tomee.apache.org/community
28. @CesarHgt @tomitribe
What is MicroProfile?
● http://microprofile.io
● Enterprise Java for MicroServices
● Open Source (Eclipse)
● Implemented by different vendors.
● Application portability across runtimes.
31. @CesarHgt @tomitribe
Governance in MicroProfile
● Who is in charge? Eclipse foundation -> top level project
● What are committers? by merit
● How are decisions made?
● Types of licenses