SlideShare a Scribd company logo
Pharo
A roadmap to solid evolution
About me
• Pharo architect since 2012

• Owned a company to develop in
Pharo back in 2008

• Java senior architect for 7 years (and
15 years overall java experience)

• Web, microprocessors, etc., etc.,
etc.

• JavaScript, C++, ObjC, C#, Delphi,
ASM and lots of languages no longer
exist or have been long-time
forgotten

• 25 years (!) programming experience
This talk will be about coherence.
This talk will be mostly about coherence.
The Pharo Vision
(extract from the Pharo Vision document)
The Pharo Vision
• Clean, robust, innovative.

• Free and Open-source.

• An attractive platform to build and
deploy mission critical Smalltalk
applications.

• Smalltalk inspired environment.
In one way or another, behind each Pharo version, 

there were always the same persistent story: 

modularisation.
This focus moved a bit for Pharo 7.
The story behind Pharo 7 is about process.
Why to focus on process?
• Our process was not scaling anymore.

• “Technical debt” needed to be solved. Both for Pharo
itself and for its users.
Put the pieces in place
• Bootstrap.

• Iceberg.

• The new process itself.
Bootstrap
• This is a major effort that took several years of studies
(and even two PhD) to get it working.

• Bootstrapping: Build a full image from scratch. 

‣ Just with the packages you need (you can produce
small or big images as you need).

‣ Verifiable and repeatable process.
Bootstrap your own image
https://github.com/pharo-project/pharo#bootstrapping-pharo-from-sources
You can build your own image!
Iceberg*
• We showed a preview on P6.1 but P7 has a complete revamp (UI
and backend)

• We also developed “tonel” format to fit better in this “file based
world”. 

‣ One file per class.

‣ A “readable” format to browse.

‣ Scales better.

• New UI developed is also meant to be the basis of our new tools
L&F.
The new Pharo process*
• Bootstrapped. 

• Git, GitHub and Pull Requests (with Iceberg).
Why?
• Reproducible.

• Verified (CI).

• Process of review and approve get’s accessible to all
community (and we can “distribute ownership”).

• Visibility.

• We prepare next steps: release often, back-port better,
LTS.
Some numbers
• More than 1700 Pull Requests closed.

• 104 GitHub forks.

• 63 contributors.

• And that not counting Iceberg, Calypso and others.
Since we are always
improving…
•New system browser (and related tools): Calypso.

•Stateful traits*.

•Streams refactor.

•Working directory now is a real working directory (and there is #imageDirectory that works
as before).

•UFFI has been adapted to Windows 64bit.

•“Plugin replacement program”: move to the image while is possible (FreeType done, SSL
ongoing).

•Windows 64bit VM.

•The OpenSmalltalkVM has continued improving in several ways. Not just Cog (The “Core
VM”) but also specific plugins like FilePlugin for Windows.

•Pharo launcher*

•…
What will be the story on Pharo 8?
Not yet completely decided…
But we think it should be “headless”
The headless story
• “World” start should be a responsibility of the image, not the VM.

• It will expand the “universe of the possible”.

• We will need to work on:

‣ Headless VM (There is already a prototype).

‣ OSWindow and SDL2 backend.

‣ Threaded FFI.

‣ Command line tools (Clap).
Other…
• Move issue tracker to GitHub.

• Remove some duplications in image.

• Enhance Spec and related UI components.

• 64bit as default.

• …
Now… how to give coherence 

to Pharo development itself?
The Pharo Community
• Is composed of companies, organisations and individuals
that make Pharo, and contribute to it in some way.

• Some numbers

‣ Lists: pharo-dev, pharo-users (1000+).

‣ Discord (400+).

‣ FogBugz and GitHub tracker have interesting
discussions too.
The Pharo Consortium
• Non-profit organisation.

• Started at INRIA (by the RMoD team) in 2012.

• Hosted at INRIA Foundation since 2018.
Pharo Consortium goals
• Ensure Pharo continues evolving.

• Deliver updated versions that match the software industry
needs.

• Structure the community.

• Companies and individuals can get an impact.
INRIA Foundation
• Umbrella to host different consortiums (Pharo, Coq,
SOFA, …)

• Share engineering resources to improve all.

• Share also administrative resources.

• Part of the “Software Heritage” initiative.
Other advantages of being
part of INRIA Foundation
• Visibility.

• Solidity (having the continuous support of an institution as
INRIA matters).

• Business development.

• Legal department.

• Tax reduction for donations (FR and US).
Current members
• 30 industrial partners (+5 since last year).

• 17 academic partners (+4 since last year).

• 101 individual members through the Pharo association.
Governance
The new board
• Stephane Ducasse

• Marcus Denker

• Guille Polito

• Norbert Hartl

• Sven Van Caekenberghe

• Esteban Lorenzano

• There is a free slot from “consortium engineers” to be filled soon.
The business model
• “Pharo Daily”.

• “Pharo for you”.
Pharo daily
• We take care about evolution of Pharo, to keep it up to
date with ever-growing software industry needs.

• We keep all the elements in place: CI infrastructure,
mailing lists, web-sites, etc.

• We also take care about sustaining an ecosystem of
Pharo packages (to manage databases, etc., etc., etc.).
Pharo for you
• Support for migrations.

• Help on development practices, specific libraries/
frameworks, etc.

• Development of custom libraries/frameworks.

‣ Thales case.
Consortium benefits
• Privileged access to the core development team.

• Influence priorities of the next development.

• Engineering support time.

• Job posts.

• Training/Conference special price.
Expert engineers
• We have now high expertise engineers available to hire.

• We want to hire our second permanent engineer soon.

• But we also want to sustain Pharo growth and that means
have even more engineers. 

‣ In the future, we want to be four engineers (with
engineers to work also on VM related problems).
The Pharo Consortium is a player in a bigger community. 

Is our way to ensure what has been from day one the

ultimate goal of Pharo.
A powerful engine 

to invent 

(y)our future
An ecosystem where
innovation/business
bloom
Pharo is yours.

More Related Content

Similar to Pharo Consortium: A roadmap to solid evolution

Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and Infrastructure
Schubert Zhang
 
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenTycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
Pascal Rapicault
 
2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series
Open Mainframe Project
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Jani Tarvainen
 
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?
gagravarr
 
DevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelDevOps: The Right Abstraction Level
DevOps: The Right Abstraction Level
Otavio Fernandes
 
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?
gagravarr
 
Pharo 11: A stabilization release
Pharo 11: A stabilization releasePharo 11: A stabilization release
Pharo 11: A stabilization release
ESUG
 
Pharo Status
Pharo StatusPharo Status
Pharo Status
Jannik Laval
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
Chris Aniszczyk
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
Ben VanEvery
 
Stackato
StackatoStackato
Stackato
Jonas Brømsø
 
Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016
Robert 'Bob' Reyes
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013Ernesto Baschny
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
Aditya Ghan
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
Pradeep Singh
 
Improving the Pharo VM
Improving the Pharo VMImproving the Pharo VM
Improving the Pharo VM
FAST
 
Pharo, Spec and GTK
Pharo, Spec and GTKPharo, Spec and GTK
Pharo, Spec and GTK
ESUG
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
ICF CIRCUIT
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformLessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Nuxeo
 

Similar to Pharo Consortium: A roadmap to solid evolution (20)

Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and Infrastructure
 
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with MavenTycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
 
2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 
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?
 
DevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelDevOps: The Right Abstraction Level
DevOps: The Right Abstraction Level
 
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?
 
Pharo 11: A stabilization release
Pharo 11: A stabilization releasePharo 11: A stabilization release
Pharo 11: A stabilization release
 
Pharo Status
Pharo StatusPharo Status
Pharo Status
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Stackato
StackatoStackato
Stackato
 
Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016Mozilla + Rust at PCU Manila 02 DEC 2016
Mozilla + Rust at PCU Manila 02 DEC 2016
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Improving the Pharo VM
Improving the Pharo VMImproving the Pharo VM
Improving the Pharo VM
 
Pharo, Spec and GTK
Pharo, Spec and GTKPharo, Spec and GTK
Pharo, Spec and GTK
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platformLessons learned Building Nuxeo EP - Component-based, open source ECM platform
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 

Pharo Consortium: A roadmap to solid evolution

  • 1. Pharo A roadmap to solid evolution
  • 2. About me • Pharo architect since 2012 • Owned a company to develop in Pharo back in 2008 • Java senior architect for 7 years (and 15 years overall java experience) • Web, microprocessors, etc., etc., etc. • JavaScript, C++, ObjC, C#, Delphi, ASM and lots of languages no longer exist or have been long-time forgotten • 25 years (!) programming experience
  • 3. This talk will be about coherence.
  • 4. This talk will be mostly about coherence.
  • 5. The Pharo Vision (extract from the Pharo Vision document)
  • 6. The Pharo Vision • Clean, robust, innovative. • Free and Open-source. • An attractive platform to build and deploy mission critical Smalltalk applications. • Smalltalk inspired environment.
  • 7. In one way or another, behind each Pharo version, there were always the same persistent story: modularisation. This focus moved a bit for Pharo 7.
  • 8. The story behind Pharo 7 is about process.
  • 9. Why to focus on process? • Our process was not scaling anymore. • “Technical debt” needed to be solved. Both for Pharo itself and for its users.
  • 10. Put the pieces in place • Bootstrap. • Iceberg. • The new process itself.
  • 11. Bootstrap • This is a major effort that took several years of studies (and even two PhD) to get it working. • Bootstrapping: Build a full image from scratch. ‣ Just with the packages you need (you can produce small or big images as you need). ‣ Verifiable and repeatable process.
  • 12. Bootstrap your own image https://github.com/pharo-project/pharo#bootstrapping-pharo-from-sources
  • 13. You can build your own image!
  • 14. Iceberg* • We showed a preview on P6.1 but P7 has a complete revamp (UI and backend) • We also developed “tonel” format to fit better in this “file based world”. ‣ One file per class. ‣ A “readable” format to browse. ‣ Scales better. • New UI developed is also meant to be the basis of our new tools L&F.
  • 15.
  • 16.
  • 17.
  • 18. The new Pharo process* • Bootstrapped. • Git, GitHub and Pull Requests (with Iceberg).
  • 19.
  • 20.
  • 21.
  • 22. Why? • Reproducible. • Verified (CI). • Process of review and approve get’s accessible to all community (and we can “distribute ownership”). • Visibility. • We prepare next steps: release often, back-port better, LTS.
  • 23. Some numbers • More than 1700 Pull Requests closed. • 104 GitHub forks. • 63 contributors. • And that not counting Iceberg, Calypso and others.
  • 24. Since we are always improving… •New system browser (and related tools): Calypso. •Stateful traits*. •Streams refactor. •Working directory now is a real working directory (and there is #imageDirectory that works as before). •UFFI has been adapted to Windows 64bit. •“Plugin replacement program”: move to the image while is possible (FreeType done, SSL ongoing). •Windows 64bit VM. •The OpenSmalltalkVM has continued improving in several ways. Not just Cog (The “Core VM”) but also specific plugins like FilePlugin for Windows. •Pharo launcher* •…
  • 25. What will be the story on Pharo 8?
  • 26. Not yet completely decided…
  • 27. But we think it should be “headless”
  • 28. The headless story • “World” start should be a responsibility of the image, not the VM. • It will expand the “universe of the possible”. • We will need to work on: ‣ Headless VM (There is already a prototype). ‣ OSWindow and SDL2 backend. ‣ Threaded FFI. ‣ Command line tools (Clap).
  • 29. Other… • Move issue tracker to GitHub. • Remove some duplications in image. • Enhance Spec and related UI components. • 64bit as default. • …
  • 30. Now… how to give coherence to Pharo development itself?
  • 31. The Pharo Community • Is composed of companies, organisations and individuals that make Pharo, and contribute to it in some way. • Some numbers ‣ Lists: pharo-dev, pharo-users (1000+). ‣ Discord (400+). ‣ FogBugz and GitHub tracker have interesting discussions too.
  • 32. The Pharo Consortium • Non-profit organisation. • Started at INRIA (by the RMoD team) in 2012. • Hosted at INRIA Foundation since 2018.
  • 33. Pharo Consortium goals • Ensure Pharo continues evolving. • Deliver updated versions that match the software industry needs. • Structure the community. • Companies and individuals can get an impact.
  • 34. INRIA Foundation • Umbrella to host different consortiums (Pharo, Coq, SOFA, …) • Share engineering resources to improve all. • Share also administrative resources. • Part of the “Software Heritage” initiative.
  • 35. Other advantages of being part of INRIA Foundation • Visibility. • Solidity (having the continuous support of an institution as INRIA matters). • Business development. • Legal department. • Tax reduction for donations (FR and US).
  • 36. Current members • 30 industrial partners (+5 since last year). • 17 academic partners (+4 since last year). • 101 individual members through the Pharo association.
  • 37.
  • 38.
  • 40. The new board • Stephane Ducasse • Marcus Denker • Guille Polito • Norbert Hartl • Sven Van Caekenberghe • Esteban Lorenzano • There is a free slot from “consortium engineers” to be filled soon.
  • 41. The business model • “Pharo Daily”. • “Pharo for you”.
  • 42. Pharo daily • We take care about evolution of Pharo, to keep it up to date with ever-growing software industry needs. • We keep all the elements in place: CI infrastructure, mailing lists, web-sites, etc. • We also take care about sustaining an ecosystem of Pharo packages (to manage databases, etc., etc., etc.).
  • 43. Pharo for you • Support for migrations. • Help on development practices, specific libraries/ frameworks, etc. • Development of custom libraries/frameworks. ‣ Thales case.
  • 44. Consortium benefits • Privileged access to the core development team. • Influence priorities of the next development. • Engineering support time. • Job posts. • Training/Conference special price.
  • 45. Expert engineers • We have now high expertise engineers available to hire. • We want to hire our second permanent engineer soon. • But we also want to sustain Pharo growth and that means have even more engineers. ‣ In the future, we want to be four engineers (with engineers to work also on VM related problems).
  • 46. The Pharo Consortium is a player in a bigger community. Is our way to ensure what has been from day one the ultimate goal of Pharo.
  • 47. A powerful engine to invent (y)our future