SlideShare a Scribd company logo
1 of 16
How to contribute to LibreOffice
as a non-developer
Dr. Heiko Tietze
LibreOffice is cool
● Open Source
Users have the freedom to run, copy, distribute,
study, change and improve our software
● No digital divide
Access at no cost; preservation of mother tongues;
no proprietary software and format lock-in
● Awesome community
Millions of users, volunteers working with passion
on various fields around the project
Contribute with l10n
● Register at the TDF Pootle server
● Add your language or help others
● Read the wiki for more information
● https://wiki.documentfoundation.org/Language
...in your mother tongue
●
, български, , , Català, čeština , Welsh/Cymraeg, Dansk, Deutsch, Ελληνικά, Esperanto, Español,
Eesti keel, , Suomi, Français, Gaeilge, Irish, Gàidhlig, Galego, , , Magyar, Italiano, 日本語
( Japanese), ქართული, 한국어 [韓國語] (Korean), , Lietuvių kalba, , Bahasa melayu, Malti,
Bokmål, Nederlands, Occitan, Polski, Português, Român, Русский, , Sidama, Slovenčina,
Slovenščina, српски, Svenska, Türkçe, Українська, Tiếng việt, 中文 (简体) (simplified Chinese), 中
文 (正體) (traditional Chinese)… and yours
●
https://www.libreoffice.org/community/nlc/
https://www.etsy.com/listing/197775428/babel-fish-cross-stitch-pattern
...or with documentation
● Document functions, explain workflows,
and support users
● Join the team on the mailing list
● https://wiki.documentfoundation.org/Documentation
...and of course UX!
● Submit bugs and file
enhancement requests
● Comment on tickets that
needsUXAdvice (or join the weekly meeting)
● Make a proposal for better
design/layout/workflow etc.
● https://wiki.documentfoundation.org/Design
User-centered development
1. Identify the target users
2. Describe the use scenario
3. Define requirements
4. Bring all together in a nice
visual design
5. Have milestones at the development
6. Think ad-hoc about QA
The bazaar and the cathedral
● Open Source development works differently
bottom-up from the bazaar
● Release early, release often is
the opposite of “make it shiny”
● Many cooks spoil the broth
● So how to save the
endangered species usability?
Do it yourself!
● Set up the environment
sudo apt install git
git clone git://anongit.freedesktop.org/...
sudo vi /etc/apt/sources.list
sudo apt update
sudo apt build-dep libreoffice
cd libreoffice
./autogen.sh
make
● https://wiki.documentfoundation.org/Development/BuildingOnLinux
J. Howard Miller: We Can Do It!,
National Museum of American History
Fixing galimatiases
● Sloppy terminology
breaks usability
● Accessibility depends
on text
● Guidelines are defined
Code pointers wanted!
● Find strings in the source code per
git grep <text>
● Or use the online platform OpenGrok...
Code pointers wanted!
● Find strings in the source code per
git grep <text>
● Use the online platform OpenGrok
● Change the text and submit per
git commit && ./logerrit submit master
● https://wiki.documentfoundation.org/Development/gerrit
Menus and toolbars
● Main menu in module specific XML files,
e.g. sw/uiconfig/swriter/menubar/menubar.xml
● Toolbars are listed for modules/modes such as
sw/uiconfig/swriter/toolbar/standardbar.xml
● UNO commands are defined
somewhere else including
label, tooltips, accelerators,
etc.
And real code?
● tdf#117348 Contrast and
size of Impress grid affects
visibility and usefulness
● menubar.xml →
GridVisible →
IsGridVisible() (viewopt.hxx) →
bGridPainting (paintfrm.cxx) →
DrawPageViewGrid()
(svdpagv.cxx)
Summary
● Don’t be afraid of code.
● Hacking LibreOffice is fun.
● Read more at the design blog post [1] or the
various wiki pages [2]
[1] https://design.blog.documentfoundation.org/
[2] http://wiki.documentfoundation.org/

More Related Content

Similar to How to contribute to LibreOffice as a non-deloper

How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
 
Open Source Tools for Libraries
Open Source Tools for LibrariesOpen Source Tools for Libraries
Open Source Tools for LibrariesNicole C. Engard
 
Python.pptx
Python.pptxPython.pptx
Python.pptxabclara
 
Using Opens Document Format in Education
Using Opens Document Format in EducationUsing Opens Document Format in Education
Using Opens Document Format in EducationShinji Enoki
 
Preparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsPreparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsHPCC Systems
 
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
 
How to create/improve OSS products and its community
How to create/improve OSS products and its communityHow to create/improve OSS products and its community
How to create/improve OSS products and its communitySATOSHI TAGOMORI
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30Mahmoud Samir Fayed
 
Open Source Software for Libraries
Open Source Software for LibrariesOpen Source Software for Libraries
Open Source Software for LibrariesAmber Billey
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31Mahmoud Samir Fayed
 
Python For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsPython For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsNilesh Sutar
 
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
 Getting Started With Git and GitHub & Unfolding Opportunities in Open Source  Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source Ashutosh Singh
 

Similar to How to contribute to LibreOffice as a non-deloper (20)

How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)
 
Open Source Tools for Libraries
Open Source Tools for LibrariesOpen Source Tools for Libraries
Open Source Tools for Libraries
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Using Opens Document Format in Education
Using Opens Document Format in EducationUsing Opens Document Format in Education
Using Opens Document Format in Education
 
Preparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for TranslationsPreparing an Open Source Documentation Repository for Translations
Preparing an Open Source Documentation Repository for Translations
 
Hacktoberfest 2021
Hacktoberfest 2021Hacktoberfest 2021
Hacktoberfest 2021
 
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!
 
How to create/improve OSS products and its community
How to create/improve OSS products and its communityHow to create/improve OSS products and its community
How to create/improve OSS products and its community
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
Let's Contribute
Let's ContributeLet's Contribute
Let's Contribute
 
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30
 
Open Source Software for Libraries
Open Source Software for LibrariesOpen Source Software for Libraries
Open Source Software for Libraries
 
Intro to open_source
Intro to open_sourceIntro to open_source
Intro to open_source
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31
 
Web1 2
Web1 2Web1 2
Web1 2
 
Shannon "Shared Open Source Infrastructure with the Libero Community"
Shannon "Shared Open Source Infrastructure with the Libero Community"Shannon "Shared Open Source Infrastructure with the Libero Community"
Shannon "Shared Open Source Infrastructure with the Libero Community"
 
Python For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsPython For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionals
 
Python for All
Python for All Python for All
Python for All
 
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
 Getting Started With Git and GitHub & Unfolding Opportunities in Open Source  Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
 

More from Heiko Tietze

LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...
LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...
LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...Heiko Tietze
 
Past, Present, and Future: News from the Design Team
Past, Present, and Future: News from the Design TeamPast, Present, and Future: News from the Design Team
Past, Present, and Future: News from the Design TeamHeiko Tietze
 
Improvements to Font Handling in LibreOffice
Improvements to Font Handling in LibreOfficeImprovements to Font Handling in LibreOffice
Improvements to Font Handling in LibreOfficeHeiko Tietze
 
LibreOffice: What's important to you?
LibreOffice: What's important to you?LibreOffice: What's important to you?
LibreOffice: What's important to you?Heiko Tietze
 
Contextual groups in LibreOffice' Notebookbar: How to make life easier for b...
Contextual groups in  LibreOffice' Notebookbar: How to make life easier for b...Contextual groups in  LibreOffice' Notebookbar: How to make life easier for b...
Contextual groups in LibreOffice' Notebookbar: How to make life easier for b...Heiko Tietze
 
libocon16_areafill
libocon16_areafilllibocon16_areafill
libocon16_areafillHeiko Tietze
 
The LibreOffice Human Interface Guidelines (HIG)
The LibreOffice Human Interface Guidelines (HIG)The LibreOffice Human Interface Guidelines (HIG)
The LibreOffice Human Interface Guidelines (HIG)Heiko Tietze
 

More from Heiko Tietze (8)

LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...
LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...
LibreOffice Calc Survey: User Characteristics, Usability, and Future Enhancem...
 
Past, Present, and Future: News from the Design Team
Past, Present, and Future: News from the Design TeamPast, Present, and Future: News from the Design Team
Past, Present, and Future: News from the Design Team
 
Improvements to Font Handling in LibreOffice
Improvements to Font Handling in LibreOfficeImprovements to Font Handling in LibreOffice
Improvements to Font Handling in LibreOffice
 
LibreOffice: What's important to you?
LibreOffice: What's important to you?LibreOffice: What's important to you?
LibreOffice: What's important to you?
 
Contextual groups in LibreOffice' Notebookbar: How to make life easier for b...
Contextual groups in  LibreOffice' Notebookbar: How to make life easier for b...Contextual groups in  LibreOffice' Notebookbar: How to make life easier for b...
Contextual groups in LibreOffice' Notebookbar: How to make life easier for b...
 
libocon16_areafill
libocon16_areafilllibocon16_areafill
libocon16_areafill
 
libocon16_uxdraw
libocon16_uxdrawlibocon16_uxdraw
libocon16_uxdraw
 
The LibreOffice Human Interface Guidelines (HIG)
The LibreOffice Human Interface Guidelines (HIG)The LibreOffice Human Interface Guidelines (HIG)
The LibreOffice Human Interface Guidelines (HIG)
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
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.
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
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...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

How to contribute to LibreOffice as a non-deloper

  • 1. How to contribute to LibreOffice as a non-developer Dr. Heiko Tietze
  • 2. LibreOffice is cool ● Open Source Users have the freedom to run, copy, distribute, study, change and improve our software ● No digital divide Access at no cost; preservation of mother tongues; no proprietary software and format lock-in ● Awesome community Millions of users, volunteers working with passion on various fields around the project
  • 3. Contribute with l10n ● Register at the TDF Pootle server ● Add your language or help others ● Read the wiki for more information ● https://wiki.documentfoundation.org/Language
  • 4. ...in your mother tongue ● , български, , , Català, čeština , Welsh/Cymraeg, Dansk, Deutsch, Ελληνικά, Esperanto, Español, Eesti keel, , Suomi, Français, Gaeilge, Irish, Gàidhlig, Galego, , , Magyar, Italiano, 日本語 ( Japanese), ქართული, 한국어 [韓國語] (Korean), , Lietuvių kalba, , Bahasa melayu, Malti, Bokmål, Nederlands, Occitan, Polski, Português, Român, Русский, , Sidama, Slovenčina, Slovenščina, српски, Svenska, Türkçe, Українська, Tiếng việt, 中文 (简体) (simplified Chinese), 中 文 (正體) (traditional Chinese)… and yours ● https://www.libreoffice.org/community/nlc/ https://www.etsy.com/listing/197775428/babel-fish-cross-stitch-pattern
  • 5. ...or with documentation ● Document functions, explain workflows, and support users ● Join the team on the mailing list ● https://wiki.documentfoundation.org/Documentation
  • 6. ...and of course UX! ● Submit bugs and file enhancement requests ● Comment on tickets that needsUXAdvice (or join the weekly meeting) ● Make a proposal for better design/layout/workflow etc. ● https://wiki.documentfoundation.org/Design
  • 7. User-centered development 1. Identify the target users 2. Describe the use scenario 3. Define requirements 4. Bring all together in a nice visual design 5. Have milestones at the development 6. Think ad-hoc about QA
  • 8. The bazaar and the cathedral ● Open Source development works differently bottom-up from the bazaar ● Release early, release often is the opposite of “make it shiny” ● Many cooks spoil the broth ● So how to save the endangered species usability?
  • 9. Do it yourself! ● Set up the environment sudo apt install git git clone git://anongit.freedesktop.org/... sudo vi /etc/apt/sources.list sudo apt update sudo apt build-dep libreoffice cd libreoffice ./autogen.sh make ● https://wiki.documentfoundation.org/Development/BuildingOnLinux J. Howard Miller: We Can Do It!, National Museum of American History
  • 10. Fixing galimatiases ● Sloppy terminology breaks usability ● Accessibility depends on text ● Guidelines are defined
  • 11. Code pointers wanted! ● Find strings in the source code per git grep <text> ● Or use the online platform OpenGrok...
  • 12.
  • 13. Code pointers wanted! ● Find strings in the source code per git grep <text> ● Use the online platform OpenGrok ● Change the text and submit per git commit && ./logerrit submit master ● https://wiki.documentfoundation.org/Development/gerrit
  • 14. Menus and toolbars ● Main menu in module specific XML files, e.g. sw/uiconfig/swriter/menubar/menubar.xml ● Toolbars are listed for modules/modes such as sw/uiconfig/swriter/toolbar/standardbar.xml ● UNO commands are defined somewhere else including label, tooltips, accelerators, etc.
  • 15. And real code? ● tdf#117348 Contrast and size of Impress grid affects visibility and usefulness ● menubar.xml → GridVisible → IsGridVisible() (viewopt.hxx) → bGridPainting (paintfrm.cxx) → DrawPageViewGrid() (svdpagv.cxx)
  • 16. Summary ● Don’t be afraid of code. ● Hacking LibreOffice is fun. ● Read more at the design blog post [1] or the various wiki pages [2] [1] https://design.blog.documentfoundation.org/ [2] http://wiki.documentfoundation.org/