Skip to content

14 Years Freedom of Choice, 14 Years Choice of Freedom

Today we can celebrate an anniversary, on Friday 13 October 2000 Sun Microsystems published the OpenOffice.org source code. I won't say "Happy Birthday, OpenOffice.org" because OpenOffice.org as a project died in April 2011 when the company who bought Sun Microsystems gave it the final stab, and there is a well alive successor now. But the birth of OpenOffice.org marked a milestone in the history of office productivity software. It provided the freedom of choice to a wider audience of users, being available on several platforms it freed users from being dictated what productivity software to use. For many people, developers, quality engineers, translators, authors and users it also meant the choice of freedom, the choice to contribute to Free Software, the choice to change the software world even if just a little, line by line. And it triggered another birth, the birth of the OpenDocument Format for office applications, starting the standardization of office productivity file formats.

For me it also provided the freedom to be able to work like I work today, being employed by a great company that pays my bills while I work on this freedom is a privilege I much appreciate.

Thank you OpenOffice.org!


LibreOffice 4.3 new language tag feature: adding a BCP 47 language tag

In LibreOffice 4.3 the user will be able to specify an arbitrary valid BCP 47 language tag for text attribution.

In character attribution dialogs the language list box (of the Western text font if CJK or CTL are enabled) is now a combo box with an edit field where the user can specify a valid BCP 47 language tag to define a text language attribute if the language she wants to assign is not available from the selectable list. The input is checked against a copy of the IANA language-subtag-registry (transformed to XML), provided either with the liblangtag package of your OS distribution, or the liblangtag shipped with LibreOffice on systems that do not provide one. The internal registry file distributed with LibreOffice 4.3 consists of data as of 2014-04-10.

language tag combo box with sga-Ogam entered
The language tag combo box with sga-Ogam entered, a tag for Irish, Old (to 900) written in Ogham script.

 

For language tag details please see the For users section on the langtag.net web site.

And now jump to the release notes for more nifty features of LibreOffice 4.3 :-)

 

LibreOffice 4.3 new Calc feature: user selectable text conversion models

In LibreOffice 4.3 the user will be able to select how textual cell content shall be treated in arithmetic operations.

This setting determines how to treat text when encountered as operand in an arithmetic operation or as argument to a function that expects a number instead.

Selectable under Tools → Options → LibreOffice Calc → Formula in Detailed calculation settingsCustomDetails from Conversion from text to number are:

Generate #VALUE! error
=1+"1" or =1+"x" give #VALUE!
Treat as zero
=1+"1" or =1+"x" give 1
Convert only unambiguous
=1+"1" gives 2, but =1+"1.000" or =1+"x" give #VALUE!
Convert also locale dependent
=1+"1.000" may be 2 or 1001 ... =1+"x" gives #VALUE!

For Generate #VALUE! error and Treat as zero, setting the Treat empty string as zero option is disabled and the option is aligned to these settings, for Convert only unambiguous and Convert also locale dependent the Treat empty string as zero option can be set independently.

When reading documents created by other spreadsheet applications or older versions of LibreOffice, and to interchange documents between different locales, the Convert only unambiguous with Treat empty string as zero = True setting is recommended, though LibreOffice so far acted as Convert also locale dependent with Treat empty string as zero = False, which is the reason that option is kept as default.

The best setting to create new documents that can be interpreted by all spreadsheet applications without on-the-fly string conversion is Generate #VALUE! error. With this option enabled possible data errors can be spotted early. Not having to convert strings during calculation is also faster, of course.

User selectable text conversion models in LibreOffice 4.3

 

Las Palmas hacker spaces

As flying to Gran Canaria for just two days is a waste of resources I stayed a little longer after the LibreOffice Hackfest at Las Palmas and enjoyed some enhanced coastal hacking conditions and hacker spaces ...

Working on Monday could be worse.
Working on Monday could be worse.

Working on Tuesday isn't bad either.
Working on Tuesday isn't bad either.

Björn had the same ideas about the waste of resources and a joyful working environment and so we met for a hotel balcony hacking afternoon:

Hotel Hacking with Björn. Work can be fun.
Hotel Hacking with Björn. Work can be fun.

 

Life is about the good things.

 

LibreOffice Hackfest at Las Palmas, Gran Canaria

Another retrospective..

On April 24 and 25 we had a LibreOffice Hackfest at Las Palmas, Gran Canaria at the Universidad de Las Palmas de Gran Canaria (ULPGC) in it's IT faculty building. Due to the geographical distance for some community members understandably a little bit less frequented than other hackfests in the past, but nevertheless of course great fun for the participants. And an even bigger opportunity to introduce LibreOffice and Free Software development to the local IT students, as the dean of the IT faculty Fran Santana was very enthusiastic about this event and helpfully provided rooms, equipment and personnel and invited interested students to attend our talks.

LibreOffice Hackfest Las Palmas 2014 flyer
Flyer with LibreOffice talks program and hackfest announcement.

On Thursday we had introductory talks with about 20-30 listeners. Not that many, but given that it was a week of exams not a bad number either, whoever took an exam on that day wasn't attending and whoever did not take an exam probably was reading for an examination instead ... in fact it was very quiet in the building.
All talks were streamed live and recorded and are available on YouTube as a 1h30 video. Thanks to Jorge Castellano of ULPGC.

I noticed some shyness in the audience.. how can we, as a large project, bridge the gap and attract young fellow hackers who aren't that experienced and maybe didn't get in contact with a Free Software project yet? Anyhow, four students showed up during the days, all were interested in how to contribute something in Python. Apparently Python is quite popular.. so there's room for writing API unit tests, contribute to server infrastructure and some.

There's a list of achievements in the wiki, but no less important is the community building process. I'd like to see more local events to spread the word and attract interested developers, especially C++ hackers of course who'd like to work on application code. The next LibreOffice Hackfest will be at Paris, on June 27-28.

Concentrated hacking atmosphere.
Concentrated hacking atmosphere.

Alberto Ruiz from Red Hat with the dean of the IT faculty at ULPGC and LibreOffice hackers.
Alberto Ruiz from Red Hat with Fran Santana, the dean of the IT faculty at ULPGC, and LibreOffice hackers.

A special Thank You goes to Alberto Ruiz from Red Hat, who himself studied at the very same university, and Fran Santana, the dean of the IT faculty at ULPGC, who both collaborated closely to make all this happen. Fran's dedication and commitment in hosting this hackfest made it a great success. And of course a Thank You to the city of Las Palmas for choosing and using LibreOffice, which triggered the initial idea of having a hackfest at Las Palmas and lead to a great stay. We should do this again :-)

 

FOSDEM 2014 How to squeeze a language tag into a Locale

The slides of my today's FOSDEM 2014 talk How to squeeze a language tag into a Locale are availabe as PDF now. In the same folder you'll also find the slides of my talk at the LibreOffice Conference at Milano in September 2013 if you're interested in more details of the LibreOffice LanguageTag implementation.

LibreOffice goes BCP 47

This week I accomplished an important milestone of the major rewrite that – apart from the daily work such as fixing bugs, coding small enhancements and reviewing patches – I'm working on since 9 months or so. In current master LibreOffice finally is able to transparently handle arbitrary (if valid) BCP 47 language tags and fully support the fo:script and *:rfc-language-tag attributes defined in ODF 1.2.

So what does this mean? It means that you'll be able to get your language in.

It means that already supported languages or writing scripts that so far used a kludge to squeeze them into ISO 639 language codes and ISO 3166 country codes only, are finally supported using the proper language tags registered with IANA. For example:

ca-ES-valencia Catalan Valencian
The Valencian variant of Catalan previously used the ca-XV kludge where XV is a reserved for private use ISO 3166 code, which meant it could be used for UI translation purposes but not for document content. This is now stored in ODF as style:rfc-language-tag='ca-ES-valencia' attributes.
sr-Latn Serbian Latin
Previously the deprecated sh kludge was used to differentiate between Serbian Latin and sr Serbian Cyrillic. Serbian Latin in Serbia sr-Latn-RS is now stored in ODF as fo:language='sr' fo:script='Latn' fo:country='RS' attributes.

It also means that a tag en-GB-oed can be and now is already supported, including the corresponding language list entry already being added to the list. This is English, Oxford English Dictionary spelling, which is mandatory for UN documents and as it seems also used for EU documents. LibreOffice will be the first free office suite to support spell-checkers with Oxford English Dictionary spelling along with en-GB and en-US spelling at the same time.

Transparently handle arbitrary tags means that when a document is read that contains language attribution not specifically known to LibreOffice (i.e. does not have an entry in the language list), when positioning the cursor on or selecting such text the language tag is shown in the status bar and in the language list of the character attribution so you will not see Unknown or, even worse, nothing or the system locale's language. If a dictionary was installed that handled such tag then it could be used for spell-checking. Transparently of course also means that the tag will be stored again to ODF when saving the document so the attribution is not lost.

The following screenshot shows an example of a document that uses the tag de-DE-1901 to designate German, German variant, traditional orthography:

Screenshot of LibreOffice displaying a BCP 47 language tag.
Screenshot of LibreOffice displaying a BCP 47 language tag.

 

I'm extremely glad to have this step ready just in time and of course I'll talk about it at the LibreOffice Conference 2013 at Milano, so to get all the details please join me and attend Getting you language in on Thursday, 26 September at 15:30 in Sala Alfa.

LibreOffice Milano Conference 2013 logo

If you are interested in the technical details of BCP 47 language tags I recommend my bookmarks as a starting point.

 

LibreOffice Hamburg Hackfest Retrospective

So the weekend before we had the LibreOffice Hackfest in Hamburg, a roundup of 22-24 LibreOffice developers exchanging ideas, hacking on things, fixing bugs and having fun, Club-Mate, cola, beer, pizza, börek, bread rolls and strawberries.

This time we even had not only participants from different countries but also different continents, as 5 devs from the King Abdulaziz City for Science and Technology (KACST) of Saudi Arabia were present. KACST recently joined The Document Foundation's Advisory Board and sponsors the Saudi Arabian National Program for Free and Open Source Software Technologies.

Friday evening we started with the socializing event ...

... at the Schach-Café (chess café)

These previous three images and the next one are embedded from Miklos' Flickr album.

 

Saturday and Sunday then we met at the Attraktor Makerspace (site in German) for the actual hacking to take place.

After quite a short Saturday night for a few ...

... we ignored Sunday's sunshine and continued.

Space and people.
Space and people.
The KACST group.
The KACST group.
David thinks I'd photograph him.
David thinks I'd photograph him.
Yes, that is a working Star Trek pinball machine!
Yes, that is a working Star Trek pinball machine!

 

The overall achievements are captured on the Hackfest's wiki page, in summary among others we

  • fixed at least 8 bugs
  • implemented 2-3 features
  • made the French Bug Submission Assistant (BSA) go ready for production
  • worked on Java unit test to Python migration
  • bootstrapped two new tinderboxes for Windows builds
  • did lots of small things
  • last but not least, socialized with known and new people

You missed it? Or want to join (again)? The next opportunities will be

See you then, and Happy Hacking on LibreOffice!