SlideShare a Scribd company logo
Contributing to Pharo:
Easy, simple, fun and empowering
stephane.ducasse@inria.fr
https://github.com/pharo-project/pharo
Remember …
https://rmod-
fi
les.lille.inria.fr/Team/Presentations/2019-ESUG-LearningByDoing-Ducasse.pdf
How to practice
software skills?
How to practice software
skills?
• Program (but how to get feedback) code
reviews are precious but di
ffi
cult to get
• Code katas (always fun)
• Participate to sprints - pair program
• Participate to open-source
But I’m a noob
And the world is
complex
Wait wait wait…
We are all noobs!
The solution is just
some clicks away…
Take any opportunity
to read code
Take any opportunity
to contribute
Contributing is easy &
simple
Possible contributions
• Read/answer newbie questions
• Participate to the wiki
• Review bug entry description
• Review bug
fi
xes
• Write tests for bug entries
• Improve test coverage
• Improve comments
Take any opportunity
to contribute
Contribute to Code
• Set up your own Pharo fork/Image
• Create a branch
• Improve Pharo
• Commit
• PR
Step: Fork the pharo repo
Step one
• Fork Pharo repo
Step one
• Fork Pharo repo
Step: Grab latest image
Step one
• Fork Pharo repo
Step one
• Fork Pharo repo
Situation
• The image has code too
• The local and remote repo can be desynchronized
• The image and local repo can be desynchronized
local repository remote repository
image git working copy
Step: Repair
Step: Repair
Now your Pharo image knows where is the code repo
if fetch required, fetch
Remember
Iceberg actions are sorted from more likelihood to less likeli
hood
Now
Now your local get the latest changes (according to the
image) from Pharo
Detached Working Copy
Repair
Now it will create a branch pointing to the state of your
image
Create a “bottom” branch
This way you can always
come back “here”
Step: Create a Branch for
your
fi
x
Step: Do your
fi
x
Step: commit to your fork
Step: Push to your fork
Step: Do a PR
Step: Do a PR
Step: Check out your
“bottom” branch
• And now you can
fi
x another one :)
No need to refork or sync
your repo
• Do not care if your fork is not up to dat
• When you will do the fetch, your local will be updated
(from latest Pharo)
• When you will push to your remote, your local will send
the latest Pharo change there
Contributing to Pharo
is easy
• You will improve Pharo
• You will learn a lot
• You will meet friends
• You will build network
[ Free side effect ]
When you contribute to open-source you
improve your visibility
[ Remember ]
Every thing you do today has an impact
on your tomorrow!
[ how did we meet
with Marcus D.? ]
[ we reviewed squeak
bug issues ]
[ then we created
Pharo :) ]

More Related Content

PDF
Learning by contributing to Open-Source Software
PDF
How to Contribute to Pharo
PDF
PharoDAYS 2015: How to contribute (to Pharo) by Marcus Denker
PDF
PharoTechTalk: Contributing to Pharo
PDF
Pharo Status
PDF
Iceberg
PDF
Understanding the Pharo Dev Process
PDF
Understanding the Pharo dev Process
Learning by contributing to Open-Source Software
How to Contribute to Pharo
PharoDAYS 2015: How to contribute (to Pharo) by Marcus Denker
PharoTechTalk: Contributing to Pharo
Pharo Status
Iceberg
Understanding the Pharo Dev Process
Understanding the Pharo dev Process

Similar to Contributing to Pharo (20)

PDF
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
PDF
Pharo Update
PDF
Pharo Consortium: A roadmap to solid evolution
PDF
Pharo: A roadmap to solid evolution.
PDF
Pharo Hands-On: 01 welcome
PDF
Pharo Update
PDF
Pharo: a booming ecosystem by Esteban Lorenzano
PDF
Pharo Status ESUG 2014
PDF
Pharo Status ESUG 2014
PDF
2013 lecture-01-introduction
PDF
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
PDF
Why do *you* need a strong open-source Smalltalk!
PDF
2015 Pharo Prague Lambda Meetup
PDF
PharoDAYS 2015: Pharo - A growing community @ work by Stephan Ducasse
PDF
#Pharo days 2016 Conference Welcome
PDF
Pharo consortium V20
PDF
2010 pharo-esug-final
PDF
Pharo3 at Fosdem
PDF
Pharo3 at Fosdem
PDF
Pharo
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Pharo Update
Pharo Consortium: A roadmap to solid evolution
Pharo: A roadmap to solid evolution.
Pharo Hands-On: 01 welcome
Pharo Update
Pharo: a booming ecosystem by Esteban Lorenzano
Pharo Status ESUG 2014
Pharo Status ESUG 2014
2013 lecture-01-introduction
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Why do *you* need a strong open-source Smalltalk!
2015 Pharo Prague Lambda Meetup
PharoDAYS 2015: Pharo - A growing community @ work by Stephan Ducasse
#Pharo days 2016 Conference Welcome
Pharo consortium V20
2010 pharo-esug-final
Pharo3 at Fosdem
Pharo3 at Fosdem
Pharo
Ad

More from ESUG (20)

PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
PDF
Directing Generative AI for Pharo Documentation
PDF
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
PDF
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
PDF
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
PDF
Analysing Python Machine Learning Notebooks with Moose
PDF
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
PDF
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
PDF
Package-Aware Approach for Repository-Level Code Completion in Pharo
PDF
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
PDF
An Analysis of Inline Method Refactoring
PDF
Identification of unnecessary object allocations using static escape analysis
PDF
Control flow-sensitive optimizations In the Druid Meta-Compiler
PDF
Clean Blocks (IWST 2025, Gdansk, Poland)
PDF
Encoding for Objects Matters (IWST 2025)
PDF
Challenges of Transpiling Smalltalk to JavaScript
PDF
Immersive experiences: what Pharo users do!
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
PDF
Cavrois - an Organic Window Management (ESUG 2025)
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
Micromaid: A simple Mermaid-like chart generator for Pharo
Directing Generative AI for Pharo Documentation
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
Analysing Python Machine Learning Notebooks with Moose
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
Package-Aware Approach for Repository-Level Code Completion in Pharo
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
An Analysis of Inline Method Refactoring
Identification of unnecessary object allocations using static escape analysis
Control flow-sensitive optimizations In the Druid Meta-Compiler
Clean Blocks (IWST 2025, Gdansk, Poland)
Encoding for Objects Matters (IWST 2025)
Challenges of Transpiling Smalltalk to JavaScript
Immersive experiences: what Pharo users do!
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
Cavrois - an Organic Window Management (ESUG 2025)
Ad

Recently uploaded (20)

PPTX
Trending Python Topics for Data Visualization in 2025
PPTX
Tech Workshop Escape Room Tech Workshop
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Introduction to Windows Operating System
PPTX
Cybersecurity: Protecting the Digital World
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
Cost to Outsource Software Development in 2025
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Website Design Services for Small Businesses.pdf
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
Time Tracking Features That Teams and Organizations Actually Need
PPTX
assetexplorer- product-overview - presentation
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
Trending Python Topics for Data Visualization in 2025
Tech Workshop Escape Room Tech Workshop
Computer Software and OS of computer science of grade 11.pptx
Introduction to Windows Operating System
Cybersecurity: Protecting the Digital World
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Cost to Outsource Software Development in 2025
Patient Appointment Booking in Odoo with online payment
Website Design Services for Small Businesses.pdf
GSA Content Generator Crack (2025 Latest)
How Tridens DevSecOps Ensures Compliance, Security, and Agility
How to Use SharePoint as an ISO-Compliant Document Management System
Time Tracking Features That Teams and Organizations Actually Need
assetexplorer- product-overview - presentation
Why Generative AI is the Future of Content, Code & Creativity?
Monitoring Stack: Grafana, Loki & Promtail
Wondershare Recoverit Full Crack New Version (Latest 2025)
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Oracle Fusion HCM Cloud Demo for Beginners

Contributing to Pharo