SlideShare uma empresa 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!

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Último (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

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!