SlideShare a Scribd company logo
Writing Open Source Documentation
for Open Source Projects
How SUSE® is documented and what we can learn from it
Christoph Wickert
Technical Writer
SUSE Linux GmbH
Christoph.Wickert@suse.com
10
WHOAMI
Christoph Wickert
• 1999: Linux user
• 2005: FLOSS Contributor
– Fedora
– Xfce
– LXDE
– OLPC
• 2010: Senior Engineer at Kolab
Systems
• 2016: Technical Documentation
Writer at SUSE
11
WHO ARE WE?
12
WHAT DO WE WANT?
Documentation Overview
Available from SUSE website:
https://www.suse.com/doc
14
Documentation Overview
Official SUSE Product
documentation
• Getting Started
• Quick Install Guides
• Deployment Guides
• User Guides
• Administrator Guides
• Tuning Guides
• Release Notes
• Virtualization Guide
• …
15
TOOLCHAIN
16
TOOLCHAIN – DOCBOOK XML
DocBook
• Semantic markup language for technical documentation
• Originally intended for technical documents related to computer hardware and
software
• Can be used for any other sort of documentation
DocBook XML
• Based on the eXtensible Markup Language (XML)
• Defines content in semantic way similar to HTML
• Written as a schema which fulfills two tasks: guided editing and validation
• http://docbook.org/
17
TOOLCHAIN – $EDITOR
18
TOOLCHAIN – DAPS
19
TOOLCHAIN – DAPS
DAPS examples
• daps validate
• daps pdf (--greyscale) | html (--single)
• daps man | text | mobi | epub | webhelp
• daps spellcheck
• daps stylecheck
• daps xmlformat
• daps images
• daps optipng
20
TOOLCHAIN – DAPS
Advanced daps commands
• Find out in which files a certain ID is used
daps -d <dc-file> list-file --rootid art.daps.quick
• Print a list of all images with modification date
daps -d <dc-file> getimages --modified
• … and show them in a viewer
daps -d <dc-file> getimages --modified 
--show --viewer ristretto
TOOLCHAIN – DAPS
SUSE-specific commands
• Generate a “localization drop” for translation
daps locdrop
• Unpack translated drop file
daps unpack-lockdrop
• Generate online documentation for the SUSE Website
daps onlinedoc
TOOLCHAIN – SUSE XSLT STYLESHEETS
Define the layout for SUSE documentation
• Books: Manuals, Guides
• Articles: Quick Starts, SUSE Best Practices, Shorter Guides
• HTML pages (for all kind of documentation)
Package: suse-xsl-stylesheets
Book / Manual Article HTML
TOOLCHAIN – SUSE STYLE GUIDE
TOOLCHAIN – STYLE CHECKER
Stylechecker
• Checks whether the SUSE
Styleguide guidelines are
followed
• Package suse-doc-style-checker
TOOLCHAIN – ADDITIONAL TOOLS
Yet more tools
• dapsenv – Continuous integration with docker
• dbxinluder – Transclusions for DocBook with XInclude 1.1
• docmanager – Manages DocBook 5 Meta Information
• docstats – Statistics and Metrics for Documentation Team
• geekodoc – RELAX NG Schema for SUSE Documentation
• xmldiffng – Diffing XML with RELAX NG schema
Everything available from https://github.com/openSUSE/
26
PROCESS
PROCESS – GITHUB
PROCESS – GIT WORKFLOW
• ‘Successful git branching modell’ by
Vincent Driessen
• Development happens in develop
• Master branch is only used for releases
• Separate branches for
– Features: feature/fate#12345
– Bugfixes: bugfix/bsc#123456
– Maintenance: maintenance/SLE12
• Constant naming with git-flow-avh
• Merges through GitHub reviews
• More info: http://nvie.com/posts/a-successful-git-branching-model/
PROCESS – OVERVIEW
• Input comes through
– FATE (Feature And Enhancement Tracker)
– Bugzilla
– DocComments
• Evaluation & Planning
• Research (with developers)
• Documentation (Magic happens here!)
• Feedback (from developers)
• Translation
• Publication
Report a bug
PROCESS – FEEDBACK
Provide
comments and
feedback
32
PROBLEMS
PROBLEMS
We have achieved a lot, still there are problems we need to solve
• Continuous integration
• Stuck in the Waterfall
– Short time frame between when a feature is ready for testing/documenting and release
• Decoupled from Development
– Both feature and bug :-)
– High coordination effort
• Monolithic
– High maintenance costs
34
LESSONS LEARNED
35
Docs or it didn’t happen!
36
Developers should not write docs!
37
You need feedback channels!
38
You need (the right) tools!
39
Start small!
41
Documentation should be open!
Writing Open Source Documentation for Open Source Projects

More Related Content

PDF
DevOps: What is This Puppet You Speak Of?
PDF
Tito Mari Escaño on The Better Alternative Development and Startup Platform; ...
PDF
Contributing To Fedora Project
PDF
Linux For Linguists
PDF
Linux Fundamental webinar ( 4th Feb 2021)
PDF
2013 spider - LibreOffice QA Community
PPTX
Don't worry with bower
PDF
Rapid CQ deployments by Jakub Wadolowski
DevOps: What is This Puppet You Speak Of?
Tito Mari Escaño on The Better Alternative Development and Startup Platform; ...
Contributing To Fedora Project
Linux For Linguists
Linux Fundamental webinar ( 4th Feb 2021)
2013 spider - LibreOffice QA Community
Don't worry with bower
Rapid CQ deployments by Jakub Wadolowski

What's hot (7)

PPTX
Continous Delivery with CQ
PDF
Introduction to linux
ODP
Libre office intro
PPTX
College copy
PPTX
Server and home linux
PPTX
Interoperability services
PDF
Course 101: Lecture 5: Linux & GNU
Continous Delivery with CQ
Introduction to linux
Libre office intro
College copy
Server and home linux
Interoperability services
Course 101: Lecture 5: Linux & GNU
Ad

Similar to Writing Open Source Documentation for Open Source Projects (20)

PDF
SFScon22 - Marina Latini - Document it or it never existed.pdf
PPT
Keynote openSUSE Asia Summit 2015
ODP
PDF
GUI Prototyping / Wireframing with Pencil
PDF
SUSE: Alien Life Forms
ODP
PPTX
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
PDF
Expert Day 2019 - SUSE public beta program
ODP
Egkatastasis
PDF
Hackweek document-center
PDF
The bright future of SUSE and openSUSE
PDF
Creating customized openSUSE versions with SUSE Studio
PDF
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
PDF
TPCiP 2019 Wrap Up
PDF
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
PDF
Getting Started on Packaging Apps with Open Build Service
PDF
SUSE Expert Days Paris 2018 – SLE 15
PDF
Open stack in action suse cloud-openstack
PDF
OpenStack: Past, Present, and Future
PDF
Keep up with openSUSE Packaging
SFScon22 - Marina Latini - Document it or it never existed.pdf
Keynote openSUSE Asia Summit 2015
GUI Prototyping / Wireframing with Pencil
SUSE: Alien Life Forms
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama..super...
Expert Day 2019 - SUSE public beta program
Egkatastasis
Hackweek document-center
The bright future of SUSE and openSUSE
Creating customized openSUSE versions with SUSE Studio
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
TPCiP 2019 Wrap Up
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
Getting Started on Packaging Apps with Open Build Service
SUSE Expert Days Paris 2018 – SLE 15
Open stack in action suse cloud-openstack
OpenStack: Past, Present, and Future
Keep up with openSUSE Packaging
Ad

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf

Writing Open Source Documentation for Open Source Projects

  • 1. Writing Open Source Documentation for Open Source Projects How SUSE® is documented and what we can learn from it Christoph Wickert Technical Writer SUSE Linux GmbH Christoph.Wickert@suse.com
  • 2. 10 WHOAMI Christoph Wickert • 1999: Linux user • 2005: FLOSS Contributor – Fedora – Xfce – LXDE – OLPC • 2010: Senior Engineer at Kolab Systems • 2016: Technical Documentation Writer at SUSE
  • 5. Documentation Overview Available from SUSE website: https://www.suse.com/doc
  • 6. 14 Documentation Overview Official SUSE Product documentation • Getting Started • Quick Install Guides • Deployment Guides • User Guides • Administrator Guides • Tuning Guides • Release Notes • Virtualization Guide • …
  • 8. 16 TOOLCHAIN – DOCBOOK XML DocBook • Semantic markup language for technical documentation • Originally intended for technical documents related to computer hardware and software • Can be used for any other sort of documentation DocBook XML • Based on the eXtensible Markup Language (XML) • Defines content in semantic way similar to HTML • Written as a schema which fulfills two tasks: guided editing and validation • http://docbook.org/
  • 11. 19 TOOLCHAIN – DAPS DAPS examples • daps validate • daps pdf (--greyscale) | html (--single) • daps man | text | mobi | epub | webhelp • daps spellcheck • daps stylecheck • daps xmlformat • daps images • daps optipng
  • 12. 20 TOOLCHAIN – DAPS Advanced daps commands • Find out in which files a certain ID is used daps -d <dc-file> list-file --rootid art.daps.quick • Print a list of all images with modification date daps -d <dc-file> getimages --modified • … and show them in a viewer daps -d <dc-file> getimages --modified --show --viewer ristretto
  • 13. TOOLCHAIN – DAPS SUSE-specific commands • Generate a “localization drop” for translation daps locdrop • Unpack translated drop file daps unpack-lockdrop • Generate online documentation for the SUSE Website daps onlinedoc
  • 14. TOOLCHAIN – SUSE XSLT STYLESHEETS Define the layout for SUSE documentation • Books: Manuals, Guides • Articles: Quick Starts, SUSE Best Practices, Shorter Guides • HTML pages (for all kind of documentation) Package: suse-xsl-stylesheets Book / Manual Article HTML
  • 15. TOOLCHAIN – SUSE STYLE GUIDE
  • 16. TOOLCHAIN – STYLE CHECKER Stylechecker • Checks whether the SUSE Styleguide guidelines are followed • Package suse-doc-style-checker
  • 17. TOOLCHAIN – ADDITIONAL TOOLS Yet more tools • dapsenv – Continuous integration with docker • dbxinluder – Transclusions for DocBook with XInclude 1.1 • docmanager – Manages DocBook 5 Meta Information • docstats – Statistics and Metrics for Documentation Team • geekodoc – RELAX NG Schema for SUSE Documentation • xmldiffng – Diffing XML with RELAX NG schema Everything available from https://github.com/openSUSE/
  • 20. PROCESS – GIT WORKFLOW • ‘Successful git branching modell’ by Vincent Driessen • Development happens in develop • Master branch is only used for releases • Separate branches for – Features: feature/fate#12345 – Bugfixes: bugfix/bsc#123456 – Maintenance: maintenance/SLE12 • Constant naming with git-flow-avh • Merges through GitHub reviews • More info: http://nvie.com/posts/a-successful-git-branching-model/
  • 21. PROCESS – OVERVIEW • Input comes through – FATE (Feature And Enhancement Tracker) – Bugzilla – DocComments • Evaluation & Planning • Research (with developers) • Documentation (Magic happens here!) • Feedback (from developers) • Translation • Publication
  • 22. Report a bug PROCESS – FEEDBACK Provide comments and feedback
  • 24. PROBLEMS We have achieved a lot, still there are problems we need to solve • Continuous integration • Stuck in the Waterfall – Short time frame between when a feature is ready for testing/documenting and release • Decoupled from Development – Both feature and bug :-) – High coordination effort • Monolithic – High maintenance costs
  • 26. 35 Docs or it didn’t happen!
  • 28. 37 You need feedback channels!
  • 29. 38 You need (the right) tools!