En esta sesión impartida el 18 de Abril de 2020 compartimos con el JUG de Bolivia lo fácil que es contribuir al Opensource. Utilizamos como ejemplo dos proyecto Java: Apache TomEE y Eclipse MicroProfile.
2. @CesarHgt @tomitribe
Bolívia JUG
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
● +10 experience with Java Enterprise
● Apache TomEE, Eclipse Jakarta Committer,
Contributor for Microprofile.
● Open Source advocate, teacher and public speaker
3. @CesarHgt @tomitribe
Bolívia JUG
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
Bolívia JUG
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
Bolívia JUG
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
Bolívia JUG
How open source works?
● Commercial Interests
○ Donating company
○ Sponsor
○ Open Source Support
● Community
○ Types of people involved
○ Social norms
10. @CesarHgt @tomitribe
Bolívia JUG
How open source works?
● Governance
○ What are committers?
https://simpsons.fandom.com/wiki/Benjamin_(nerd)?file=Benjamin,_Doug,_and_Gary.gif
11. @CesarHgt @tomitribe
Bolívia JUG
How open source works?
● Governance
○ How are decisions made?
https://en.wikipedia.org/wiki/File:All_Simpsons_characters.jpg
13. @CesarHgt @tomitribe
Bolívia JUG
How open source works?
● Governance
○ Types of Licenses
{
MIT
APACHE 2.0
GNU GPL v3.0
Most common
licenses on GitHub
https://choosealicense.com/
14. @CesarHgt @tomitribe
Bolívia JUG
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
16. @CesarHgt @tomitribe
Bolívia JUG
Choosing an open source project
● Programming Language
● Technology Domain
● Leadership and Governance
● Community culture
○ Friendly
○ Fast and Furious
○ Experts only
○ Nasty
17. @CesarHgt @tomitribe
Bolívia JUG
The types of contributions
● Code
● Documentation
● Workshops
● Testing
● Continuous Integration
● Moderator on communication channels
● “ any substantive action that generates content”
https://octoverse.github.com/
23. @CesarHgt @tomitribe
Bolívia JUG
Tooling
● dev and user mailing lists
● JIRA
● Slack
● GITHUB mirror from SVN
○ Pull request model for interaction
tomee.apache.org/community
30. @CesarHgt @tomitribe
Bolívia JUG
What is Eclipse MicroProfile?
● http://microprofile.io
● Enterprise Java for MicroServices
● Open Source (Eclipse)
● Implemented by different vendors.
● Application portability across runtimes.
31. @CesarHgt @tomitribe
Bolívia JUG
MicroProfile 3.3
MicroProfile 3.3
JAX-RS 2.1JSON-P 1.1CDI 2.0
Config 1.4
Fault
Tolerance 2.1
JWT
Propagation
1.1
Health 2.2Metrics 2.3
Open
Tracing 1.3
Open API 1.1
= Updated
= No change from last release (MicroProfile 3.3)
= New
Rest Client
1.4
JSON-B 1.0
32. @CesarHgt @tomitribe
Bolívia JUG
Eclipse Foundation
https://www.eclipse.org/membership/documents/eclipse-foundation-overview.pdf
360+
Projects
275+
Members
1550+
Committers
195M+
Lines of code
15
Years
30
Members
34. @CesarHgt @tomitribe
Bolívia JUG
Governance in Eclipse MicroProfile
● Who is in charge? Eclipse
foundation -> top level project
● What are committers? by merit
● How are decisions made?
● Types of licenses