SlideShare una empresa de Scribd logo
1 de 39
1
LibreOffice Development
LibreOffice Development
Kohei Yoshida
2
LibreOffice Development
Who am I?
Volunteer code contributor to OpenOffice.org
(OOo) since 2004.
Core developer on OOo/LibreOffice (2007-
2015)
Employed by Novell/SUSE to work on
OOo and later LibreOffice (2007-2013).
Contracted by Collabora Productivity to
work on and maintain LibreOffice (2013-
2015).
Currently at Align Technology, doing machine
learning related stuff.
Still volunteers for LibreOffice.
3
LibreOffice Development
What is LibreOffice?
https://www.libreoffice.org/discover/libreoffice/
Free office suite, both as in freedom and as in beer.
Cross-platform: Windows, Mac, Linux, FreeBSD,
OpenIndiana, etc.
Governed by The Document Foundation (TDF).
– Give everyone access to office productivity, to enable
them as full digital citizens.
4
LibreOffice Development
Agenda
LibreOffice History
LibreOffice Today
Key Hackers
LibreOffice FAQ
LibreOffice History
6
LibreOffice Development
LibreOffice Timeline (1985-2006)
Source: https://en.wikipedia.org/wiki/LibreOffice
7
LibreOffice Development
LibreOffice Timeline (2006-)
Source: https://en.wikipedia.org/wiki/LibreOffice
8
LibreOffice Development
StarWriter, where it all began.
Source image from: https://en.wikipedia.org/wiki/StarOffice
Developed by Star
Division.
Only in Germany.
Only Word-processing.
Other programs to be
added later.
9
LibreOffice Development
StarOffice 5.x (1998-2000)
Screenshot from: http://youtu.be/ojbP19mfZ2Q
Windows 95 like desktop, to take
over your original desktop.
Contains word processing,
spreadsheet, presentation,
drawing, HTML editor, email
client, database, and math
formula editor.
Takes a few minutes to launch.
10
LibreOffice Development
OpenOffice.org Early Period (2000 ~)
Sun to acquire Star Division in 1999,
and to open-source StarOffice as
OpenOffice.org in 2000.
Engineers at Sun Microsystems
dominates.
Ximian joins as second corporate
sponser, to focus on the Linux version.
11
LibreOffice Development
OOo 1.1
No more integrated
desktop.
Linux version to use
X11 directly for
rendering (no GTK or
Qt).
Look-n-feel of
Windows 95 app.
Image source: https://www.openoffice.org/dev_docs/features/1.1/images/writer.jpg
12
LibreOffice Development
Who is Ximian...?
Founded by Nat Friedman and Miguel de Icaza.
Michael Meeks joins in 2000.
Focused on polishing GNOME desktop.
Ximianized OpenOffice.org - OpenOffice.org with tight
GNOME integration.
– GTK-based rendering & GNOME-themed icons.
– GNOME accessibility framework.
Image source: https://en.wikipedia.org/wiki/Ximian
Nat and Miguel later found another company
called Xamarin, to focus on Mono development.
Xamarin later gets acquired by Microsoft in 2016.
13
LibreOffice Development
OpenOffice.org Period (2003 ~ 2009)
Novell to acquire Ximian in
2003, to improve Novell
Linux Desktop (NLP).
Novell to staff 12 developers
to work on OOo full-time.
Go-OO project starts.
OOo Novell Edition, based
on Go-OO.
I join Novell in February 2007.
14
LibreOffice Development
OOo 3.0 / Go-OO
Image source: https://www.openoffice.org/dev_docs/features/3.0/
Native look on all major
platforms: Windows, Mac,
Linux (GNOME & KDE).
OOo mainline vs Go-OO
branches.
15
LibreOffice Development
What is Go-OO?
Previously known as ooo-build -
manually crafted build and patch-
management system with
patches Sun has not yet applied.
Renamed to Go-OO to make it
sound more "official".
Effectively a semi-fork - a
manifestation of community
frastration against Sun-centric
release/feature planning.
Designed to be friendly for Linux
distro packagers.
Image source (top): https://lifehacker.com/5084510/go-oo-takes-the-bloat-out-of-openofficeorg
Image source (bottom): https://www.dedoimedo.com/computers/oo-converters.html
16
LibreOffice Development
OpenOffice.org Late Period (2010 ~)
Oracle acquires Sun Microsystems in
January 2010.
Make Oracle OpenOffice profitable, or
else...
Communication with the outside
community members ceases to exist.
Early 2010, Novell moves OOo team to
SUSE R&D.
Some key community members get together
and start talking about creating a new
project to "free" it out of Oracle's hands.
17
LibreOffice Development
LibreOffice forks... (September, 2010)
LibreOffice forks from OOo in September 2010.
Governed by The Document Foundation (TDF) based in
Germany.
Create community-centric governance model, to learn from
the mistakes from the OOo project.
Initial corporate sponsors: SUSE (12), Red Hat (5), Canonical
(1).
18
LibreOffice Development
SUSE to Collabora (September, 2013)
SUSE decides to discontinue support for LibreOffice.
SUSE's LibreOffice team members mostly move to Collabora,
to form Collabora Productivity. A few remains with SUSE.
From R&D to for-profit consultancy.
Focus on OpenCL and OpenGL related enhancements in
Calc.
– OpenCL formula engine.
– OpenGL chart engine.
I leave Collabora in January 2015.
Their current focus is on Collabora Online.
https://www.collaboraoffice.com/collabora-online/
19
LibreOffice Development
Who is Collabora?
Open-source consultancy and
engineering.
Linux kernel, X11, Wayland,
GStreamer, WebKit, PulseAudio,
BlueZ ...
Automotive, embedded TV, ...
Have Collabora Productivity as its
subsidiary, to support LibreOffice-
related consultancy. Michael Meeks
as its managing director.
Image from https://en.wikipedia.org/wiki/Collabora
20
LibreOffice Development
What happened to OpenOffice.org ?
In 2011, Oracle decides to:
– Discontinue its own OOo team, and
– Transfer the naming rights to Apache Foundation.
Name changes from OpenOffice.org to Apache OpenOffice.
Initially backed by IBM, but IBM silently withdraws in 2014.
Not much development activities since then. Occasional
discussions happen.
LibreOffice Today
22
LibreOffice Development
Hosted on freedesktop.org (well, mostly)
git clone git://anongit.freedesktop.org/libreoffice/core. Read-
only repo.
Mirrored on github (https://github.com/LibreOffice). No pull
requests accepted.
All patches go to gerrit (https://gerrit.libreoffice.org/) for
review.
freedesktop.org
repo
gerrit repo
(review, CI)
github mirrorsynced synced
23
LibreOffice Development
Bug reports?
Bugzilla on freedesktop.org (fdo) used to handle LibreOffice
bugs.
Now we have our own: https://bugs.documentfoundation.org/
LibreOffice bugs ended up being the vast majority in
freedesktop.org's bug reports.
Bug report maintenance too much for the fdo
bugzilla admin to handle.
24
LibreOffice Development
Continuous Integration
Jenkins (https://ci.libreoffice.org/)
Volunteers to provide hardware, for common as well as
esoteric build configurations.
Integrated with gerrit - Jenkins starts on every patch
submission.
25
LibreOffice Development
Coverity Scan
Free for open-source projects.
https://scan.coverity.com/dashboard Requires accounts to
view, not public.
Example report snippet:
https://lists.freedesktop.org/archives/libreoffice/2017-December/0
Key Hackers
that I interact with most often
27
LibreOffice Development
Michael Meeks
Based in England.
VP of Collabora Productivity.
Long-time hacker via Ximian, Novell,
SUSE, Collabora.
Distinguished engineer at Novell.
Contributed to GNOME, gcc, valgrind
etc.
Has his own wikipedia entry:
https://en.wikipedia.org/wiki/Michael_Meeks_(software_develope
Image source: https://en.wikipedia.org/wiki/Michael_Meeks_(software_developer)
28
LibreOffice Development
Markus Mohrhard
Based in Germany.
Key Calc hacker.
Conditional formatting rework.
OpenGL chart work.
Crash reporter.
Unit test framework.
Others too numerous to mention.
Screenshot from: https://www.youtube.com/watch?v=QW1BNokvsQg
29
LibreOffice Development
Caolán McNamara
Based in Ireland.
Red Hat engineer, previously with Sun
Microsystems.
GTK+ backend.
Dialog framework re-work: static-sized to dynamic-
sized.
His contributions to OOo/LibreOffice too numerous
to mention.
Image source: https://conference.libreoffice.org/2014/speaker/
30
LibreOffice Development
Stephan Bergmann
Based in Germany.
Red Hat engineer, previously with Sun, and with
Star Division.
In-house C++, ABI master.
Modernization of code base with C++11/14/17 and
beyond.
Clang plugins.
Image source: https://conference.libreoffice.org/2014/speaker/
31
LibreOffice Development
Eike Rathke
Based in Germany.
Red Hat engineer, formerly with Sun, and with
Star Division.
Calc's boss. Formula engine, number formatting,
etc.
Maintains i18n framework and locale data, for
over 100 locales.
Image source: https://conference.libreoffice.org/2014/speaker/
32
LibreOffice Development
Thorsten Behrens
Based in Germany.
Currently with CIB labs, formerly with SUSE,
Novell, Sun, and Star Division.
Graphics sub-systems incl. VCL.
Impress and Writer experts.
16+ years with the code base.
Image source: https://archive.fosdem.org/2015/schedule/speaker/thorsten_behrens/
LibreOffice FAQ
34
LibreOffice Development
What GUI framework does it use?
It has its own, called Visual Class Library (VCL).
Provides cross-platform GUI abstraction.
It predates both GTK+ and Qt.
VCL
Gtk 2.0 Gtk 3.0
KDE 4 KDE 5
X11
Windows
Quartz iOS
Headless
35
LibreOffice Development
Do you plan on replacing VCL with Qt?
NO
36
LibreOffice Development
What build system does it use?
Plain old GNU Make with autoconf.
It used to use dmake back in the old days.
Not perfect, not the fastest build system, but is good enough.
37
LibreOffice Development
Replace GNU make with cmake/meson/etc ?
Highly unlikely.
Large investment in GNU Make, for training, optimization etc.
Lots of custom targets. Hard to replace them all.
It works.
38
LibreOffice Development
Is it mostly written in Java?
No. It's mostly written in C++.
Some Java components.
– Database connectivity.
– Calc's non-linear optimization solver.
Some Python components.
– Wizards.
– Automated UI testing.
39
LibreOffice Development
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License
(unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos
and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Thanks!

Más contenido relacionado

La actualidad más candente

Open Office - Impress Tutorial
Open Office - Impress TutorialOpen Office - Impress Tutorial
Open Office - Impress TutorialAhsan Bham
 
Building LibreOffice local community in Japan through event handling
Building LibreOffice local community in Japan through event handlingBuilding LibreOffice local community in Japan through event handling
Building LibreOffice local community in Japan through event handlingShinji Enoki
 
Vertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOfficeVertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOfficeNaruhiko Ogasawara
 
Office OpenXML: a technical approach for OOo.
Office OpenXML: a technical approach for OOo.Office OpenXML: a technical approach for OOo.
Office OpenXML: a technical approach for OOo.Alexandro Colorado
 
Doc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation ProjectDoc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation ProjectAlexandro Colorado
 
1-21-14 “DSpace 4 Roundup” Presentation Slides
1-21-14 “DSpace 4 Roundup” Presentation Slides1-21-14 “DSpace 4 Roundup” Presentation Slides
1-21-14 “DSpace 4 Roundup” Presentation SlidesDuraSpace
 
2-19-14 “Integrating with DSpace 4” Presentation Slides
2-19-14 “Integrating with DSpace 4” Presentation Slides2-19-14 “Integrating with DSpace 4” Presentation Slides
2-19-14 “Integrating with DSpace 4” Presentation SlidesDuraSpace
 

La actualidad más candente (11)

foss_19-9
foss_19-9foss_19-9
foss_19-9
 
guadec-2007
guadec-2007guadec-2007
guadec-2007
 
Open Office - Impress Tutorial
Open Office - Impress TutorialOpen Office - Impress Tutorial
Open Office - Impress Tutorial
 
Building LibreOffice local community in Japan through event handling
Building LibreOffice local community in Japan through event handlingBuilding LibreOffice local community in Japan through event handling
Building LibreOffice local community in Japan through event handling
 
Vertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOfficeVertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOffice
 
Office OpenXML: a technical approach for OOo.
Office OpenXML: a technical approach for OOo.Office OpenXML: a technical approach for OOo.
Office OpenXML: a technical approach for OOo.
 
sidje
sidjesidje
sidje
 
RoboHelp 2002 - overview
RoboHelp 2002 - overviewRoboHelp 2002 - overview
RoboHelp 2002 - overview
 
Doc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation ProjectDoc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation Project
 
1-21-14 “DSpace 4 Roundup” Presentation Slides
1-21-14 “DSpace 4 Roundup” Presentation Slides1-21-14 “DSpace 4 Roundup” Presentation Slides
1-21-14 “DSpace 4 Roundup” Presentation Slides
 
2-19-14 “Integrating with DSpace 4” Presentation Slides
2-19-14 “Integrating with DSpace 4” Presentation Slides2-19-14 “Integrating with DSpace 4” Presentation Slides
2-19-14 “Integrating with DSpace 4” Presentation Slides
 

Similar a LibreOffice Development

GoOpen 2010: David Elboth
GoOpen 2010: David ElbothGoOpen 2010: David Elboth
GoOpen 2010: David ElbothFriprogsenteret
 
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...DaeHyun Sung
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketJeff Potts
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NETOnyxfish
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeAll Things Open
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating systemmaricrisracho
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating systemMargie2110
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating systemMargie2110
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating systemmichelle
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating systemnnasirkful
 
LibreOffice Flatpak, Snap and AppImage
LibreOffice Flatpak, Snap and AppImageLibreOffice Flatpak, Snap and AppImage
LibreOffice Flatpak, Snap and AppImageKukuh Syafaat
 
Openesb past present_future
Openesb past present_futureOpenesb past present_future
Openesb past present_futurePrabhu Pathak
 
Openesb past present_future
Openesb past present_futureOpenesb past present_future
Openesb past present_futurePrabhu Pathak
 
Openesb past present_future
Openesb past present_futureOpenesb past present_future
Openesb past present_futurePrabhu Pathak
 
Openesb past present and future
Openesb past present and futureOpenesb past present and future
Openesb past present and futurePrabhu Pathak
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryAndy Piper
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)jaxLondonConference
 

Similar a LibreOffice Development (20)

LibreOffice Online – Nextcloud, One Step Closer Towards Open Source Heaven
LibreOffice Online – Nextcloud, One Step Closer Towards Open Source HeavenLibreOffice Online – Nextcloud, One Step Closer Towards Open Source Heaven
LibreOffice Online – Nextcloud, One Step Closer Towards Open Source Heaven
 
GoOpen 2010: David Elboth
GoOpen 2010: David ElbothGoOpen 2010: David Elboth
GoOpen 2010: David Elboth
 
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM Market
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NET
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
Haiku operating system
Haiku operating systemHaiku operating system
Haiku operating system
 
LibreOffice Flatpak, Snap and AppImage
LibreOffice Flatpak, Snap and AppImageLibreOffice Flatpak, Snap and AppImage
LibreOffice Flatpak, Snap and AppImage
 
Openesb past present_future
Openesb past present_futureOpenesb past present_future
Openesb past present_future
 
Openesb past present_future
Openesb past present_futureOpenesb past present_future
Openesb past present_future
 
Openesb past present_future
Openesb past present_futureOpenesb past present_future
Openesb past present_future
 
Openesb past present and future
Openesb past present and futureOpenesb past present and future
Openesb past present and future
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
 

Último

Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 

Último (20)

Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 

LibreOffice Development

  • 2. 2 LibreOffice Development Who am I? Volunteer code contributor to OpenOffice.org (OOo) since 2004. Core developer on OOo/LibreOffice (2007- 2015) Employed by Novell/SUSE to work on OOo and later LibreOffice (2007-2013). Contracted by Collabora Productivity to work on and maintain LibreOffice (2013- 2015). Currently at Align Technology, doing machine learning related stuff. Still volunteers for LibreOffice.
  • 3. 3 LibreOffice Development What is LibreOffice? https://www.libreoffice.org/discover/libreoffice/ Free office suite, both as in freedom and as in beer. Cross-platform: Windows, Mac, Linux, FreeBSD, OpenIndiana, etc. Governed by The Document Foundation (TDF). – Give everyone access to office productivity, to enable them as full digital citizens.
  • 6. 6 LibreOffice Development LibreOffice Timeline (1985-2006) Source: https://en.wikipedia.org/wiki/LibreOffice
  • 7. 7 LibreOffice Development LibreOffice Timeline (2006-) Source: https://en.wikipedia.org/wiki/LibreOffice
  • 8. 8 LibreOffice Development StarWriter, where it all began. Source image from: https://en.wikipedia.org/wiki/StarOffice Developed by Star Division. Only in Germany. Only Word-processing. Other programs to be added later.
  • 9. 9 LibreOffice Development StarOffice 5.x (1998-2000) Screenshot from: http://youtu.be/ojbP19mfZ2Q Windows 95 like desktop, to take over your original desktop. Contains word processing, spreadsheet, presentation, drawing, HTML editor, email client, database, and math formula editor. Takes a few minutes to launch.
  • 10. 10 LibreOffice Development OpenOffice.org Early Period (2000 ~) Sun to acquire Star Division in 1999, and to open-source StarOffice as OpenOffice.org in 2000. Engineers at Sun Microsystems dominates. Ximian joins as second corporate sponser, to focus on the Linux version.
  • 11. 11 LibreOffice Development OOo 1.1 No more integrated desktop. Linux version to use X11 directly for rendering (no GTK or Qt). Look-n-feel of Windows 95 app. Image source: https://www.openoffice.org/dev_docs/features/1.1/images/writer.jpg
  • 12. 12 LibreOffice Development Who is Ximian...? Founded by Nat Friedman and Miguel de Icaza. Michael Meeks joins in 2000. Focused on polishing GNOME desktop. Ximianized OpenOffice.org - OpenOffice.org with tight GNOME integration. – GTK-based rendering & GNOME-themed icons. – GNOME accessibility framework. Image source: https://en.wikipedia.org/wiki/Ximian Nat and Miguel later found another company called Xamarin, to focus on Mono development. Xamarin later gets acquired by Microsoft in 2016.
  • 13. 13 LibreOffice Development OpenOffice.org Period (2003 ~ 2009) Novell to acquire Ximian in 2003, to improve Novell Linux Desktop (NLP). Novell to staff 12 developers to work on OOo full-time. Go-OO project starts. OOo Novell Edition, based on Go-OO. I join Novell in February 2007.
  • 14. 14 LibreOffice Development OOo 3.0 / Go-OO Image source: https://www.openoffice.org/dev_docs/features/3.0/ Native look on all major platforms: Windows, Mac, Linux (GNOME & KDE). OOo mainline vs Go-OO branches.
  • 15. 15 LibreOffice Development What is Go-OO? Previously known as ooo-build - manually crafted build and patch- management system with patches Sun has not yet applied. Renamed to Go-OO to make it sound more "official". Effectively a semi-fork - a manifestation of community frastration against Sun-centric release/feature planning. Designed to be friendly for Linux distro packagers. Image source (top): https://lifehacker.com/5084510/go-oo-takes-the-bloat-out-of-openofficeorg Image source (bottom): https://www.dedoimedo.com/computers/oo-converters.html
  • 16. 16 LibreOffice Development OpenOffice.org Late Period (2010 ~) Oracle acquires Sun Microsystems in January 2010. Make Oracle OpenOffice profitable, or else... Communication with the outside community members ceases to exist. Early 2010, Novell moves OOo team to SUSE R&D. Some key community members get together and start talking about creating a new project to "free" it out of Oracle's hands.
  • 17. 17 LibreOffice Development LibreOffice forks... (September, 2010) LibreOffice forks from OOo in September 2010. Governed by The Document Foundation (TDF) based in Germany. Create community-centric governance model, to learn from the mistakes from the OOo project. Initial corporate sponsors: SUSE (12), Red Hat (5), Canonical (1).
  • 18. 18 LibreOffice Development SUSE to Collabora (September, 2013) SUSE decides to discontinue support for LibreOffice. SUSE's LibreOffice team members mostly move to Collabora, to form Collabora Productivity. A few remains with SUSE. From R&D to for-profit consultancy. Focus on OpenCL and OpenGL related enhancements in Calc. – OpenCL formula engine. – OpenGL chart engine. I leave Collabora in January 2015. Their current focus is on Collabora Online. https://www.collaboraoffice.com/collabora-online/
  • 19. 19 LibreOffice Development Who is Collabora? Open-source consultancy and engineering. Linux kernel, X11, Wayland, GStreamer, WebKit, PulseAudio, BlueZ ... Automotive, embedded TV, ... Have Collabora Productivity as its subsidiary, to support LibreOffice- related consultancy. Michael Meeks as its managing director. Image from https://en.wikipedia.org/wiki/Collabora
  • 20. 20 LibreOffice Development What happened to OpenOffice.org ? In 2011, Oracle decides to: – Discontinue its own OOo team, and – Transfer the naming rights to Apache Foundation. Name changes from OpenOffice.org to Apache OpenOffice. Initially backed by IBM, but IBM silently withdraws in 2014. Not much development activities since then. Occasional discussions happen.
  • 22. 22 LibreOffice Development Hosted on freedesktop.org (well, mostly) git clone git://anongit.freedesktop.org/libreoffice/core. Read- only repo. Mirrored on github (https://github.com/LibreOffice). No pull requests accepted. All patches go to gerrit (https://gerrit.libreoffice.org/) for review. freedesktop.org repo gerrit repo (review, CI) github mirrorsynced synced
  • 23. 23 LibreOffice Development Bug reports? Bugzilla on freedesktop.org (fdo) used to handle LibreOffice bugs. Now we have our own: https://bugs.documentfoundation.org/ LibreOffice bugs ended up being the vast majority in freedesktop.org's bug reports. Bug report maintenance too much for the fdo bugzilla admin to handle.
  • 24. 24 LibreOffice Development Continuous Integration Jenkins (https://ci.libreoffice.org/) Volunteers to provide hardware, for common as well as esoteric build configurations. Integrated with gerrit - Jenkins starts on every patch submission.
  • 25. 25 LibreOffice Development Coverity Scan Free for open-source projects. https://scan.coverity.com/dashboard Requires accounts to view, not public. Example report snippet: https://lists.freedesktop.org/archives/libreoffice/2017-December/0
  • 26. Key Hackers that I interact with most often
  • 27. 27 LibreOffice Development Michael Meeks Based in England. VP of Collabora Productivity. Long-time hacker via Ximian, Novell, SUSE, Collabora. Distinguished engineer at Novell. Contributed to GNOME, gcc, valgrind etc. Has his own wikipedia entry: https://en.wikipedia.org/wiki/Michael_Meeks_(software_develope Image source: https://en.wikipedia.org/wiki/Michael_Meeks_(software_developer)
  • 28. 28 LibreOffice Development Markus Mohrhard Based in Germany. Key Calc hacker. Conditional formatting rework. OpenGL chart work. Crash reporter. Unit test framework. Others too numerous to mention. Screenshot from: https://www.youtube.com/watch?v=QW1BNokvsQg
  • 29. 29 LibreOffice Development Caolán McNamara Based in Ireland. Red Hat engineer, previously with Sun Microsystems. GTK+ backend. Dialog framework re-work: static-sized to dynamic- sized. His contributions to OOo/LibreOffice too numerous to mention. Image source: https://conference.libreoffice.org/2014/speaker/
  • 30. 30 LibreOffice Development Stephan Bergmann Based in Germany. Red Hat engineer, previously with Sun, and with Star Division. In-house C++, ABI master. Modernization of code base with C++11/14/17 and beyond. Clang plugins. Image source: https://conference.libreoffice.org/2014/speaker/
  • 31. 31 LibreOffice Development Eike Rathke Based in Germany. Red Hat engineer, formerly with Sun, and with Star Division. Calc's boss. Formula engine, number formatting, etc. Maintains i18n framework and locale data, for over 100 locales. Image source: https://conference.libreoffice.org/2014/speaker/
  • 32. 32 LibreOffice Development Thorsten Behrens Based in Germany. Currently with CIB labs, formerly with SUSE, Novell, Sun, and Star Division. Graphics sub-systems incl. VCL. Impress and Writer experts. 16+ years with the code base. Image source: https://archive.fosdem.org/2015/schedule/speaker/thorsten_behrens/
  • 34. 34 LibreOffice Development What GUI framework does it use? It has its own, called Visual Class Library (VCL). Provides cross-platform GUI abstraction. It predates both GTK+ and Qt. VCL Gtk 2.0 Gtk 3.0 KDE 4 KDE 5 X11 Windows Quartz iOS Headless
  • 35. 35 LibreOffice Development Do you plan on replacing VCL with Qt? NO
  • 36. 36 LibreOffice Development What build system does it use? Plain old GNU Make with autoconf. It used to use dmake back in the old days. Not perfect, not the fastest build system, but is good enough.
  • 37. 37 LibreOffice Development Replace GNU make with cmake/meson/etc ? Highly unlikely. Large investment in GNU Make, for training, optimization etc. Lots of custom targets. Hard to replace them all. It works.
  • 38. 38 LibreOffice Development Is it mostly written in Java? No. It's mostly written in C++. Some Java components. – Database connectivity. – Calc's non-linear optimization solver. Some Python components. – Wizards. – Automated UI testing.
  • 39. 39 LibreOffice Development All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy. Thanks!