LibreOffice Asia Conference Report: Part 1

Free And Open Source Software (FOSS) Is Gradually Developing Its Commercial Ecosystems In Asia

Author: Kuan-Ting Lin
Translator: Franklin Weng

Foreword: the LibreOffice Asia Conference was successfully held in May 2019 in Tokyo. Kuan-Ting Lin, a university student and civic tech reporter also attended this conference and gives his observations here. In Part I, Kuan-Ting provides readers who are not familiar with FOSS, the Open Document Format (ODF) and LibreOffice a view about how FOSS communities work, and how FOSS grows its business opportunities and ecosystems.

On June 18, 2019, almost all of the government agencies in Taiwan’s cabinet received an official document from the National Development Council (NDC). “When exchanging digital documents between government agencies, the file format used shall be the Open Document Format (ODF) if the transferred files are editable… Do not use proprietary editors to directly save as ODF files… It is highly recommended to use the NDC ODF Application Tools or LibreOffice to generate standard ODF files.”

“This is the most exciting and cheering official document in recent years!” said Dr. Chao-Kuei Hung, a Science and Technology Studies (STS) researcher and inveterate FOSS promoter. In the document, users in Taiwan government agencies are asked to not use proprietary office suites like Microsoft Office to generate documents, and therefore not save and spread “.doc” or “.docx” format files, which people are quite familiar with.

Instead, they are asked to use free and open source software – which lets people to download, research, improve and redistribute it – like LibreOffice. They need to save and transfer documents in ODF format, which is an ISO standard (see the upcoming part II of the report for details). For most people, this seems to be a confusing policy; however, it will surely affect our lives in the future. For us, it is even as important as metric units like kilograms or meters.

In 50 Years, From Microsoft To Communities, There Are Huge Software Ecosystem Changes In The Taiwanese Government

The story begins more than 50 years ago. In the late 1960s, the Taiwanese central government introduced the first batch of computers for tax data registration. This purchase started the era of Taiwan’s digital government. With the increasing burden of people using computers, the government had been constantly buying and installing huge numbers of Microsoft product licenses, the majority of which were Microsoft Windows and Microsoft Office. Such unrestrained purchasing and use of Microsoft software had made the government a subject of criticism by the parliament and the supervisory court more than a decade ago.

Legislators held a press conference in 2002 to question the administrative system, and pointed out that the Ministry of Justice had “illegally allowed Microsoft’s bid rigging”. At the time, Minister Ding-nan Chen replied that he would “wait for other software to achieve a certain degree of universality and compatibility,” and then the Ministry of Justice “would not rule out considering adopting it”, which clearly suggested that options other than Microsoft were simply not sufficient for the government at that time.

The fact that the Taiwanese government’s editorial policy changed from the early conservative mentality to today’s announcement of abandoning Microsoft’s commercial solutions proves that a free and open source office suite, developed by the community, has already been able to establish its own “ecosystem”. Companies in different fields in this ecosystem provide various government information services, while meeting the government’s high requirements for stability and security. However, here is an interesting question: Aren’t FOSS community members against the concept of commercial companies and software? Why do they set up their own company in the ecosystem?

The Formation of a FOSS Ecosystem

Let’s get back to the end of May 2019. Many LibreOffice community members gathered together in Tokyo to attend the first LibreOffice Asia Conference, and discuss how LibreOffice – which was born and grown up in Europe – could develop in Asia, where the culture and policies are quite different.

Franklin Weng from Taiwan, the only Asian member in the Board of Directors of The Document Foundation (TDF) – the legal charity entity behind LibreOffice – was there too. Franklin has been deeply involved in the Taiwanese FOSS community, and is also one of the founding members of Software Liberty Association Taiwan (SLAT). In early years he simply contributed and promoted FOSS in government agencies and schools as a volunteer community member. Nevertheless, through these years he realized that it wasn’t enough. “Business and policies needs to push each other. Now LibreOffice and ODF are slowly moving toward this direction: Policy goes first, and then gradually forms the business model.”

Franklin started his own business a few years ago, which helps the public sector and other organizations to adopt FOSS solutions. Through the community’s connections and long-term accumulated trust, Franklin’s team has successfully co-worked with the National Development Council (NDC), the Yilan County Government, and many other central agencies in the Taiwanese government to provide training courses and consulting services.

The lecturers who work with Franklin are mostly freelancers and are also involved in the FOSS community as deeply as he is. Therefore, besides teaching skills for using LibreOffice, the lecturers would also share free software concepts and issues with users from government agencies.

The integrity of FOSS ecosystems also depends on the integration of other fields. Shigenobu Koufugata, a member of the Japanese community who lives in Chiba, Japan, purchases old computers, installs high-performance, low-cost free software, and then resells the renovated solutions to consumers.

Users of second-hand computers often lack certain computer knowledge. Therefore, if they can use the computers straight after buying them, they can avoid the high threshold of downloading and installing additional software. Shigenobu believes that this can naturally attract more users to try LibreOffice.

In addition to software training and hardware support, software development is of course indispensable to the ecosystem. Italo Vignoli, one of the co-founders of TDF, stated clearly: “Our main assets are developers.” LibreOffice has hundreds of developers since everyone can participate; however more than half of the development contributions are made by employees of companies such as Collabora, CIB and Red Hat. By developing the required features or customized versions of LibreOffice for customers, these companies can direct profits and feedback to the community at the same time.

The Open Source Software Integral Institute (OSSII) in Taiwan is one of the few companies that provides LibreOffice business services in the Chinese-language area. One of its products is the “NDC ODF Application Tools” – a customized LibreOffice designed for users in the Taiwanese government – provided by the NDC in Taiwan. The CPC Corporation, Taiwan, a large state-owned enterprise (around 16,000 employees) with 73 years of history, is one of their customers.

At the LibreOffice Asia Conference, Mr. Wen-ke Huang, an employee in CPC who is responsible for the infrastructure information systems and ODF adoption, shared his experiences and analyzed the reasons and methods for adopting ODF and NDC ODF Application Tools.

In contrast to Microsoft’s ecosystem, where companies are mainly selling licenses and external add-ons, FOSS allows anyone to contribute code and even publish their own customized versions. This enables community members to participate into the core aspects of software development. Besides, the growing demands for FOSS application training and second-hand hardware also encourages community members who are expert in different fields to join the ecosystem.

Commercial Company That Is Loyal To The Community

Unlike normal commercial software companies, FOSS-related companies would keep thinking about their responsibilities as members of the community while making a profit. Making money is one thing, but since the community is the original motivation of the company’s founding, the two must cooperate with each other.

The first LibreOffice Asia Conference follows this thought. “I asked the Japanese community about hosting the first LibreOffice Asia Conference, because I found that they have a very good and active community, and hence can go further to find appropriate business models,” said Franklin. “When I attended LibreOffice Kaigi or similar events in Japan and presented what we have done in Taiwan, they always showed their envy and said that it was very difficult to promote LibreOffice and ODF in Japan. However I think that they’re doing very well; they just need to start thinking and finding more business opportunities. So the topic of the first LibreOffice Asia Conference was business. I hoped that after the discussions in the business workshop and certification interview, they have more confidence to start moving to business.”

“Running an FOSS-related company gives me not only the ability to contribute without any worries in the community, but also to find business opportunities for other community members from our experience, and to use the operating principles to consolidate the FOSS ecosystem on the ground,” Franklin explained additionally.

Although commercial companies in the LibreOffice ecosystem can contribute to the community while having profits, the relationship between the company and community is not one-way assistance. Sometimes it can be tough if the relationship between the two is not good.

An obvious example is the former OpenOffice.org community and Oracle. A few years beforehand, Oracle acquired Sun and hence a large amount of OpenOffice.org’s development fell into Oracle’s hands. It was dangerous because Oracle has never been friendly to FOSS, so some core OpenOffice.org community members decided to fork LibreOffice and founded The Document Foundation. “That’s why they chose a foundation as the form of the organization. TDF emphasizes the independence of the organization, very much due to the previous troubles with Oracle,” said Franklin.

Italo described the differences between the OpenOffice.org and LibreOffice communities. “We reverted the paradigm,” said Italo. “This is OpenOffice, the company protects the project. So it’s like when it rains, if you are under the umbrella you don’t get wet. We reverted the umbrella (for LibreOffice), and this is the concept of the mixing bowl… We jump into a bowl and we have every one of us moving in the same direction.”

The independence of the community is not only reflected in the organizational form. Although the development work is mainly carried out by commercial companies, TDF still dominates and makes decisions about the direction of the community and software development.

In order to maintain this independence and avoid conflicts of interests, the statues of TDF stipulates that the composition of the Board of Directors and Membership Committees must not have more than one-third of its members belonging to a single company or organization. With such rigorous management, communities and companies can find the right balance for each other.

Ideals And Business Can Cooperate Through Certification

At the end of the LibreOffice Asia Conference, the TDF’s Certification Committee held a public interview with several candidates from Taiwan and Japan. As long as these candidates were approved by the committee, they would become “LibreOffice Certified Professional Trainers”, which implies the expert skills and abilities to teach LibreOffice; or “LibreOffice Certified Migration Professionals”, to assist organizations to adopt and migrate to LibreOffice.

For TDF, these certified migration professionals and professional trainers are important ways to promote the concept and develop business. “I invited the LibreOffice Certification Committee to attend this conference and talk about business. I hope to discuss with the community about what can be done, and what can be noticed when training,” said Franklin, who has been a certified migration professional and professional trainer since 2016.

Eric Sun, a TDF member and a candidate in the certification interview this time, won unanimous approvals from the committee and became a certified migration professional and professional trainer. Eric used to work in the Open Source Software Application Consulting Center (OSSACC), a project under SLAT, to promote FOSS and public domain educational resources in schools. He then co-worked with Franklin to promote ODF/LibreOffice and has been the ace lecturer in Franklin’s team. Becoming certified by TDF can no doubt bring him more credits and opportunities, both for business and for promoting FOSS.

LibreOffice will be ten years old next year. TDF was founded in the shadow of a large commercial company at that time, but those members who set up the foundation may not have expected that the seed of document liberation and LibreOffice can be spread across the sea, to the distant lands in Asia, and set roots in the ground there, with a philosophy of equal emphasis on ideals and profits.

Video presentations from the LibreOffice Asia Conference 2019

LibreOffice developers love to hack on code – but they also love to meet up, exchange ideas, share information, and enjoy good food! The LibreOffice Asia Conference 2019 took place on 25 and 26 May, and now the videos from the presentations are online. Check them out – there are 16 videos in total, and you can browse the playlist using the button in the top-right…

(Note: the videos are also hosted on a PeerTube instance.)

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

LibreOffice monthly recap: July 2019

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more!

  • ODF (the Open Document Format) is the native file format of LibreOffice, and is a fully open and standardised format, ideal for long-term document storage. At the start of the month, we announced COSM – the Community of ODF Specification Maintainers, to hold funds and to retain editors to work at the ODF Technical Committee. The goal is to accelerate development of the standard, and build up experienced editors. Find out more here.

  • We put the next part of our Annual Report 2018 online! Our native language communities around the world help to improve LibreOffice and share knowledge – and their passion and dedication is wonderful. LibreOffice wouldn’t be what it is today without their great work!

  • Meanwhile, work continues on LibreOffice 6.3 (due to be released in early August), and our QA community organised a Bug Hunting Session. Give us a hand in future sessions to ensure that LibreOffice stays rock-solid!

  • We talked to Jun Nogata, who helps out with the Japanese Ask LibreOffice website, and is also involved in marketing and public relations for the Japanese community.

  • We already mentioned ODF earlier in this recap – well, also in July, we chatted to Regina Henschel about how the Open Document Format is developed, and how everyone can get involved.

  • Later in the month, we put another part of the Annual Report 2018 online: LibreOffice development. Check it out for a behind-the-scenes look at LibreOffice 6.2’s development process!

  • Members of the Canadian LibreOffice community set up LibreWaterloo, to improve their presence on the local scene.

Keep in touch – follow us on Twitter, Facebook and Mastodon. Like what we do? Support our community with a donation – or join us and help to make LibreOffice even better!

LibreWaterloo: Building the LibreOffice community in Canada

If you’ve seen our LibreOffice contributor map, you’ll note that we have a few community members in north America. (Of course, the map doesn’t show absolutely everyone in the LibreOffice project – just people we’ve interviewed recently.) So we want to grow this community! Marc Paré has set up LibreWaterloo, to:

have a local presence on the Canadian scene with respect to the LibreOffice project and software. We would like to connect with local LibreOffice coders and users, and “to have fun” should be one of the pillars and principles we strive for.

So, how did Marc go about it, and what was the first meeting like? Here’s what he had to say:

I spoke at a meeting of the KW Non-Profit Sys Admin (KWNPSA) where I am a co-coordinator, and I announced the creation of the new LibreWaterloo community group. There, I did a two hour presentation on the status of The Document Foundation, along with LibreOffice and the benefits of starting a group.

There were approximately 15 people at the meeting, and a couple of people came to trouble-shoot their software; however, the meeting was not to trouble-shoot issues, but to discuss if there was an interest from the Sys Admin group.

We now have an organizing committee of three people, and we’ll meet in the next two or three weeks to start formalizing the community and shape its mission statement etc. I will be placing an advert in the local student newspaper at University of Waterloo announcing the community and hope to attract some young devs to the community, I also hope to meet with a local technical writer who teaches technical writing courses at our local college and universities – I will see if she would like to cooperate on her classes and perhaps have her students work on some of the LibreOffice Guides.

I also plan on contacting a national indigenous organization and see if they or we could help to organize indigenous language versions of LibreOffice. The Canadian government has put aside a large sum of money to help groups conserve indigenous languages in Canada; we are losing approximately one indigenous language every two-three weeks, as our indigenous elders are dying and their culture is also dying with them. I will see if we could apply for funds.

We will be organizing monthly meeting on a regular schedule and hope to have working groups set up sometime by October or November.

Thanks Marc! Everyone in the Waterloo area is welcome to come along – check out Twitter for updates, or this page on Meetup. Want to start (or expand) the LibreOffice community in your region? drop us a line on the marketing mailing list and we’ll give you a hand!

Annual Report 2018: LibreOffice development

In 2018, 17,473 commits were made to the LibreOffice source code, from 223 authors. Here’s an overview of what they worked on…

Behind the scenes of LibreOffice 6.2

Throughout the second half of 2018, the developer community worked on a new major release: LibreOffice 6.2. Details about the end-user-facing new features are provided on this page, and in the following video – so in the rest of this blog post, we’ll focus on developer-related changes.

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

So, let’s get technical!

In terms of system requirements, the macOS minimum version was bumped up to 10.9 (and will be 10.10 in LibreOffice 6.3). Similarly, binary Linux x86 (32-bit) releases from The Document Foundation were deprecated, so there will be no Linux x86 builds produced by TDF after LibreOffice 6.2. However, this does not mean that Linux x86 compatibility will be removed; Linux distributions can still opt to build 32-bit binaries. See here for more details.

On the user interface front, there were other changes. Two new VCL plugins (qt5 and kde5) were implemented (with the KDE5 plugin extending the Qt5 one), to provide integration with KDE Plasma 5 and other Qt5-based desktop environments. These were mainly implemented by Katarína Behrens (CIB) and Jan-Marek Glogowski (City of Munich).

If the kde5 and the gtk3_kde5 plugins are installed, the desktop detection will now prefer the kde5 one. The qt5 plugin must be explicitly selected via SAL_USE_VCLPLUGIN=qt5, as it’s never selected automatically.

Native copy and paste of spreadsheet data in Writer tables was implemented by László Németh (NISZ): previously, you could paste a copied table as image, object, plain text, and as RTF; the latter resulting in a new table in Writer. In LibreOffice 6.2 you can paste directly in an existing table.

Data Validation now supports custom formulas thanks to Marco Cecchetti (Collabora), while Edit > Track Changes > Show no longer severely impacts performance in documents with many tracked changes. The document view is now capable of hiding the tracked changes, so they do not have to be rearranged in the document model to be hidden – implemented by Michael Stahl (CIB).

LibreLogo, the programming interface for graphic design and education got unit testing, IDE and compiler fixes and improvements (László Németh – FSF.hu Foundation). Meanwhile, work continued on the native GTK3 UI, as demonstrated by Caolan McNamara (Red Hat) at FOSDEM 2018:

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Google Summer of Code

The Google Summer of Code (GSoC) takes place every year, and provides university students with funding to work on free and open source software. For 2018, seven LibreOffice developers were accepted into GSoC, and they worked on various features and updates. These improvements were presented in a session at the LibreOffice Conference in Tirana, Albania.

Daniel Silva showed his work on the revamped print dialog, which reorganised options into two tabs, to make them easier to find: a General tab, covering all components of the suite, and then a separate tab for component-specific features (ie those found in Writer, Calc, Impress and so forth). Altogether, this makes it easier for end users to find the options they need, without having to look through many different tabs.

Meanwhile, Mert Tümer worked on the LibreOffice Android Viewer as part of GSoC: he produced 23 patches, made up of nine new features and 14 bug fixes. Some of the new features include Export to PDF, printing, customising worksheets, and better language support.

Saurav Chirania implemented a logger for user interface testing, which logs interactions and stores them in a file, while Vikas Mahato worked on features for importing data from external sources, along with transformations for the data (38 types of transformation were implemented). Finally, Hrishabh Rajput worked on updating listbox widgets to separate read values from input values, Kshitij Pathania added some improvements to the Notebookbar, and Shobhan Mandal focused on adding support for Python in the LOEclipse plugin.

A big thanks to everyone who contributed code last year! Why not join them?

You don’t need to be the world’s best C++ wizard to get involved – just some C++ knowledge and willingness to explore the codebase is great!

We have Easy Hacks to get your started, so check out this page for inspiration. Cheers!

Start developing LibreOffice! Download the source code, and build on Windows

Please don’t use these instructions in practice – they become obsolete over time. Instead, follow the wiki article for building on Windows.

(This post was originally written in Hungarian by Adam Kovacs for his blog. Thanks Adam!)

In our previous post in this series, we looked at building on Linux. But it’s also possible to download and compile the LibreOffice source code on Windows, so that’s what we’ll demonstrate here!


Step 1: Download and install Visual Studio Community version (free)

Get it from the Visual Studio website. Add these components during installation:

  • MSVC v142 – VS 2019 C++ x64/x86 build tools (v14.2x)
  • C++ core features
  • Windows 10 SDK (10.0.xxxxx.x)
  • Windows Universal C Runtime
  • C++ ATL for v142 build tools (x86 & x64)
  • .NET Framework 4.x.x SDK
  • C++ 2019 Redistributable MSMm (only required to build MSI installer)

Step 2: Download and install openJDK

Get these:


Step 3: Download and install Cygwin

Get it from here. Then, in a command prompt, access the Cygwin installer directory, for example:

cd c:\Users\username\Desktop\

And run the following command:

setup-x86_64.exe -P autoconf -P automake -P bison -P cabextract -P doxygen -P flex -P gcc-g++ ^
-P gettext-devel -P git -P gnupg -P gperf -P make -P mintty ^
-P nasm -P openssh -P openssl -P patch -P perl -P python -P python3 ^
-P pkg-config -P rsync -P unzip -P vim -P wget -P zip -P perl-Archive-Zip ^
-P perl-Font-TTF -P perl-IO-String

(This command installs different dependencies, including packages and programs, that are needed to compile LibreOffice.)

If you later want to install new programs or packages in Cygwin, you can also restart the installer. Then, when you can select the programs from the list, look for the appropriate name (eg nano, mc, wdiff) and in the drop-down list, change pending to full.


Step 4: Download JUnit and Ant

From now on, all commands are run in Cygwin.

mkdir -p /cygdrive/c/sources
cd /cygdrive/c/sources
wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.tar.bz2
tar -xjvf apache-ant-1.9.5-bin.tar.bz2
wget http://downloads.sourceforge.net/project/junit/junit/4.10/junit-4.10.jar

(These commands will download JUnit and Ant to the c:\sources folder. The path of Ant will be, for example: c:\sources\apache-ant-1.9.5, which should be specified later in autogen.input.)


Step 5: Download Make

mkdir -p /opt/lo/bin
cd /opt/lo/bin
wget http://dev-www.libreoffice.org/bin/cygwin/make-4.2.1-msvc.exe
mv make-4.2.1-msvc.exe make
chmod a+x make

(This will allow you to start the actual compilation later.)


Step 6: Download the LibreOffice source code

Create a directory for LibreOffice somewhere (eg in your home directory), and then go into it:

mkdir ~/libreoffice
cd ~/libreoffice

This command downloads the source files to the current directory (the “.” character):

git clone git://gerrit.libreoffice.org/core .

If the current directory is not specified as a parameter, it will create a “core” directory and download the files.

Another example: this command creates a directory called “libreoffice” in the current directory, and downloads the source code into this newly created directory:

git clone git://gerrit.libreoffice.org/core libreoffice

In the event of a download error, try replacing git:// with https://.


Step 7: Edit autogen.input

In the LibreOffice folder, create a file named autogen.input with the following content (replace the paths with the actual ones):

--enable-64-bit
--enable-debug
--with-ant-home=/cygdrive/c/cygwin64/source/apache-ant-1.9.5
--with-jdk-home=/cygdrive/c/Program Files (x86)/ojdkbuild/java-1.8.0-openjdk-1.8.0.181-1 
--disable-odk
--with-visual-studio=2019

If you still need some settings in autogen.input, you can use the ./autogen.sh –help command to list all possible settings.


Step 8: Run autogen.sh

cd ~/libreoffice
./autogen.sh

Step 9: Run “make” (this starts the actual compilation)

/opt/lo/bin/make

If you would like to compile without unit tests (so if you don’t want to check that what you have changed in the source code will cause regressions), use the “build-nocheck” parameter:

/opt/lo/bin/make build-nocheck

Note: if you forget to add a specific option (such as –enable-debug) to autogen.input, and then add it and run “autogen.sh” and “make” again, it no longer updates the existing files, so the new settings do not apply. You must then run a “make clean” first, and then run “make” again:

/opt/lo/bin/make clean
/opt/lo/bin/make

(The latter can of course be run with the “build-nocheck” parameter.)


Step 10: Run the newly built version of LibreOffice

When compilation has finished, you can start it from the LibreOffice directory:

./instdir/program/soffice
./instdir/program/soffice --writer
./instdir/program/soffice --calc

At this point, a lot of information is written to the command line while running LibreOffice. We can turn them off like this:

SAL_LOG=-INFO instdir/program/soffice

Now only SAL_DEBUG type values will be written to the command line (if they are already placed in the code somewhere).

If you just want to convert a file (for example, to fix export errors), you can do so. The converted file is then created in the LibreOffice directory (it is therefore advisable not to place the files to be converted in the LibreOffice directory, to avoid confusing them with the files that have already been converted). For instance:

SAL_LOG=-INFO instdir/program/soffice --convert-to docx ../chart_borderline.docx

Additional information

When the compilation is finished, and we modify the contents of one of the source files, we will start the compilation again. But this will not compile the entire codebase from scratch (unless we run the “make clean” command), but it only compiles the files we modified, which is a significant time saving.

If we forget to include a setting in autogen.input, but the compilation has already been done, then it is not enough to add the setting and start the compilation again – we also need to run make clean before.

For example, if we compiled without –enable-debug, add –enable-debug to the autogen.input file, then run make clean, followed by make or make build-nocheck.

You can also compile specific modules of LibreOffice:

/opt/lo/bin/make sw

Or:

/opt/lo/bin/make build-nocheck sw

These are the names of the modules:

  • sw: Writer (formerly StarWriter)
  • sc: the spreadsheet (Calc)
  • sd: Impress and Draw
  • dbaccess: database manager (Base)
  • starmath: formula editor
  • oox: source code files for importing and exporting Office Open XML files (docx, xlsx, pptx, …)
  • chart2: source code files for managing charts

For more modules, see here.