SlideShare a Scribd company logo
1 of 52
Download to read offline
Creando, creciendo, y
manteniendo una comunidad
de código abierto
Andrés Almiray
@aalmiray | andresalmiray.com
Andres
Almiray
Seasoned Sourceror
@ Oracle
Java Champion
Hackergarten
github.com/aalmiray
Producer
Consumer
@aalmiray | andresalmiray.com
Consumer
@aalmiray | andresalmiray.com
Easy Steps
• Star/favorite the code repository.
• Join the mailing list (if any) to ask questions, fallback to
issue tracker.
• File a ticket when encountering an error or potential bug.
@aalmiray | andresalmiray.com
Producer
https://www.commitstrip.com/en/2014/05/07/the-truth-behind-open-source-apps/?
https://www.commitstrip.com/en/2014/05/07/the-truth-behind-open-source-apps/?
@aalmiray | andresalmiray.com
Code Structure
@aalmiray | andresalmiray.com
Code Structure
• Coding conventions
• Language compatibility
• Idiomatic expressions
• Code formatting
• Tabs vs Spaces (a.k.a ye old debate)
@aalmiray | andresalmiray.com
Code is both
the most and least
important
aspect of an
Open Source project
@aalmiray | andresalmiray.com
Licensing
Build
Hosting
Communication
Channels
Health
Release Cycle
Promotion
Sustainability
@aalmiray | andresalmiray.com
Licensing
@aalmiray | andresalmiray.com
Licenses
• Choose a license (or licenses) that match your goals:
• Mind liabilities clause(s)
• Is commercial usage allowed?
• Do you care about patents?
• When unsure consult with developers of a project you
think has similar goals as yours.
@aalmiray | andresalmiray.com
APACHE
BSD
MIT
GPL
@aalmiray | andresalmiray.com
CLA
Contributor
License
Agreement
@aalmiray | andresalmiray.com
Build
@aalmiray | andresalmiray.com
Build
• Pick the one you’re more familiar with.
• Don’t be afraid to experiment with other tools if needed.
• Be careful if choosing the next hyped tool.
• Avoid IDE speci
fi
c setup as much as possible.
• Fail fast, report early.
@aalmiray | andresalmiray.com
Build
• Document build and install instructions.
• Document additional environment setup as needed.
• As much as possible, keep the build instructions short,
simple, and executable via command line.
@aalmiray | andresalmiray.com
Hosting
@aalmiray | andresalmiray.com
Communication
@aalmiray | andresalmiray.com
Communication
• Keep it open. Keep it civil.
• Expect interactions with non-native speakers.
• Cultural di
ff
erences are likely to happen.
• Be patient.
@aalmiray | andresalmiray.com
Communication
• Lay the ground rules (CONTRIBUTING.md).
• Think in providing a CoC (Code of Conduct).
• Consider templates for reporting issues.
@aalmiray | andresalmiray.com
Channels
• Issue tracker
• Wiki
• Mailing list (user & dev lists?)
• Twitter / Mastodon
• IIRC ?
@aalmiray | andresalmiray.com
Health
@aalmiray | andresalmiray.com
Health
• Is the build green or is it broken? Badge it!
• Does code coverage matter? Report it!
• Download numbers.
• Ratio of open/closed tickets.
• Compliance with standards.
@aalmiray | andresalmiray.com
https://shields.io
@aalmiray | andresalmiray.com
Release Cycle
@aalmiray | andresalmiray.com
Release Cycle
• Pick a release schedule and stick to it until you need a
change.
• Release every X weeks/months.
• Release when big features are ready.
• Release on every feature/bug
fi
x.
• Some other release constraints.
@aalmiray | andresalmiray.com
Promotion
@aalmiray | andresalmiray.com
Promotion
• Consider giving a talk at your local User Group.
• Brown bag sessions at your company (when applicable).
• Tweet, tweet, tweet.
• Join hacking events.
https://hackergarten.net https://hack-commit-pu.sh
@aalmiray | andresalmiray.com
Sustainability
@aalmiray | andresalmiray.com
Sustainability
• Ask your employer for support (time).
• Consider sponsorship programs (Github Sponsors, Open
Collective, Patreon, etc).
• Create your own company.
@aalmiray | andresalmiray.com
Sustainability
• Remember your goals:
• Doing it for fun.
• Scratching your own itch.
• Providing an alternate option to X.
• Starting your own business.
• …
Burnout
@aalmiray | andresalmiray.com
Take care of yourself
• Producing Open Source is a life style choice.
• Rely on teammates.
• Learn to delegate.
• A 7 day commit streak every week is not for everyone nor
should it be a goal in itself.
• It’s OK to break away from a project for a time (or forever).
Don’t let the project guilt trip you into staying.
@aalmiray | andresalmiray.com
Takeaways
• Follow your goals
• Adapt and evolve
• When it comes to tools, go shopping!
• Take care of yourself
Gracias!
@aalmiray
https://www.linkedin.com/in/aalmiray

More Related Content

Similar to Creando, creciendo, y manteniendo una comunidad de codigo abierto

Wordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean CodingWordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean Coding
inspector_fegter
 
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
Radhika Puthiyetath
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
Joseph Lewis
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC
 

Similar to Creando, creciendo, y manteniendo una comunidad de codigo abierto (20)

Rust meetup delhi nov 18
Rust meetup delhi nov 18Rust meetup delhi nov 18
Rust meetup delhi nov 18
 
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann ArborSelling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
 
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely togetherKubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
 
Software AG TECHcommunity
Software AG TECHcommunitySoftware AG TECHcommunity
Software AG TECHcommunity
 
ATbar - Accessibility Toolbar
ATbar - Accessibility Toolbar ATbar - Accessibility Toolbar
ATbar - Accessibility Toolbar
 
Jwt == insecurity?
Jwt == insecurity?Jwt == insecurity?
Jwt == insecurity?
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
 
What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...
What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...
What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...
 
Solving Common Client Requets with jQuery Presentation (v2)
Solving Common Client Requets with jQuery Presentation (v2)Solving Common Client Requets with jQuery Presentation (v2)
Solving Common Client Requets with jQuery Presentation (v2)
 
Wordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean CodingWordcamp St. Louis - Clean Coding
Wordcamp St. Louis - Clean Coding
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
 
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
 
WordPress Under Control (Boston WP Meetup)
WordPress Under Control (Boston WP Meetup)WordPress Under Control (Boston WP Meetup)
WordPress Under Control (Boston WP Meetup)
 
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
Demystifying WordPress
Demystifying WordPressDemystifying WordPress
Demystifying WordPress
 
2023-My AI Experience - Colm Dunphy.pdf
2023-My AI Experience - Colm Dunphy.pdf2023-My AI Experience - Colm Dunphy.pdf
2023-My AI Experience - Colm Dunphy.pdf
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA
 

More from Andres Almiray

More from Andres Almiray (20)

Liberando a produccion con confianza
Liberando a produccion con confianzaLiberando a produccion con confianza
Liberando a produccion con confianza
 
Liberando a produccion con confidencia
Liberando a produccion con confidenciaLiberando a produccion con confidencia
Liberando a produccion con confidencia
 
OracleDB Ecosystem for Java Developers
OracleDB Ecosystem for Java DevelopersOracleDB Ecosystem for Java Developers
OracleDB Ecosystem for Java Developers
 
Softcon.ph - Maven Puzzlers
Softcon.ph - Maven PuzzlersSoftcon.ph - Maven Puzzlers
Softcon.ph - Maven Puzzlers
 
Maven Puzzlers
Maven PuzzlersMaven Puzzlers
Maven Puzzlers
 
Oracle Database Ecosystem for Java Developers
Oracle Database Ecosystem for Java DevelopersOracle Database Ecosystem for Java Developers
Oracle Database Ecosystem for Java Developers
 
JReleaser - Releasing at the speed of light
JReleaser - Releasing at the speed of lightJReleaser - Releasing at the speed of light
JReleaser - Releasing at the speed of light
 
Building modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and LayrryBuilding modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and Layrry
 
Going Reactive with g rpc
Going Reactive with g rpcGoing Reactive with g rpc
Going Reactive with g rpc
 
Building modular applications with JPMS and Layrry
Building modular applications with JPMS and LayrryBuilding modular applications with JPMS and Layrry
Building modular applications with JPMS and Layrry
 
Taking Micronaut out for a spin
Taking Micronaut out for a spinTaking Micronaut out for a spin
Taking Micronaut out for a spin
 
Apache Groovy's Metaprogramming Options and You
Apache Groovy's Metaprogramming Options and YouApache Groovy's Metaprogramming Options and You
Apache Groovy's Metaprogramming Options and You
 
What I wish I knew about Maven years ago
What I wish I knew about Maven years agoWhat I wish I knew about Maven years ago
What I wish I knew about Maven years ago
 
What I wish I knew about maven years ago
What I wish I knew about maven years agoWhat I wish I knew about maven years ago
What I wish I knew about maven years ago
 
The impact of sci fi in tech
The impact of sci fi in techThe impact of sci fi in tech
The impact of sci fi in tech
 
Gradle Ex Machina - Devoxx 2019
Gradle Ex Machina - Devoxx 2019Gradle Ex Machina - Devoxx 2019
Gradle Ex Machina - Devoxx 2019
 
Creating Better Builds with Gradle
Creating Better Builds with GradleCreating Better Builds with Gradle
Creating Better Builds with Gradle
 
Interacting with the Oracle Cloud Java SDK with Gradle
Interacting with the Oracle Cloud Java SDK with GradleInteracting with the Oracle Cloud Java SDK with Gradle
Interacting with the Oracle Cloud Java SDK with Gradle
 
Gradle ex-machina
Gradle ex-machinaGradle ex-machina
Gradle ex-machina
 
Go Java, Go!
Go Java, Go!Go Java, Go!
Go Java, Go!
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Creando, creciendo, y manteniendo una comunidad de codigo abierto