Building Greenland’s new data infrastructure as free software

My company Magenta ApS is currently developing a data distributer infrastructure to handle all public data in Greenland and specifically to ensure their distribution between local authorities and the central government. I’m not personally involved in the development (though I might be at a later point, depending on the project’s needs), but I helped estimating and writing the bid. The data distributor must meet some quite high security and perfomance standards and will, as required by law, store data bitemporally according to the Danish standards for public data. As Greenland is a country of 2 million km² with a population of only 56,000, the system will be geographically quite distributed, and connectivity can be a problem, which challenges the system may also be able to handle.

The government of Greenland did not have a requirement that their new data infrastructure should be free software, but Magenta always delivers software under a free license, and we won the bid. The software will run on Microsoft Windows, since GNU/Linux skills can’t be reliably found on Greenland yet; it will be coded in a platform-agnostic way, using Java and Python/Django, so it could be switched to a GNU//Linux system at a later point, either to the government of Greenland or to possible new customers for this infrastructure.

As described on the EU’s free software observatory:

Next open source based, generation Public Records system for Greenlandic Agency for Digitisation

The government of Greenland wants to overhaul its current Grunddata (public records) system. According to the country’s digitalisation agency, one of the aims is to make it easier to share data between public administrations, businesses and citizens.

The modernisation should also increase public sector efficiency, by streamlining processes, deduplicating entries. The new system should also help to avoid requests for data that is already present in the public administration systems.

The new system is to provide high quality data, while passing on savings, and creating opportunities for growth and innovation, the Greenlandic Agency for Digitisation writes.

For Magenta, this is one of the largest orders in our history, and creating a new data infrastructure for an entire country as free software is an important opportunity – and responsibility. We’re looking forward to deliver this in order and hopefully keep working with the government of Greenland for years to come.

Working with free software

In 2012, I founded an FSFE local group in Aarhus. The intention was clear, I wanted to create a forum in Denmark for communicating politically about free software. There was and is a dire need for this – in a day and age where computers and computing become ever more pervasive, it is beginning to seem ridiculous that anyone can leave secondary school without at least a notion of the meaning of the GPL.

We got off to a good start with some quite successful meetings. However, in the course of 2014 and our campaign against the unitary patent and the EU patent court, I noticed myself becoming tired – and I realized that the group had still not accumulated enough momentum that the meetings would continue without me to drive the work. As a result we more or less folded in the course of 2015, with that year’s LibreOffice conference as the group’s final effort and call to arms.

So what happened? Well, for one thing, as a result of my interest for Bricolabs and the Dyne project I became involved in the Brazilian-based technoshamanism network, in the end co-organizing the second international festival in November. Obviously, all of that took its toll on my spare time.

However, that was not the most important reason. The most important reason is my day job. In my day job I work with free software – all the time. Specifically, I work as a free software developer, so my working hours are spent either programming new free software, fixing bugs or discussing the technical architecture of future projects. This is not, of course, the same thing as working politically to increase people’s understanding of the necessity of software freedom, but it’s close enough to make it difficult, at least for me, to dedicate large swathes of my spare time to software also – after all, there are other things in life. To boot, I’m also involved as a volunteer programmer in the Baobáxia project, and my activity in that project definitely also suffers from my day job.

In a way, my present day job is a realization of the dream I had when I first realized the importance of software freedom, namely one day to be able to sustain myself by creating software under free licenses only – and since my company is an increasingly important supplier to the Danish public sector we are, as a matter of fact, furthering the cause of software freedom, though from a professional and commercial angle – supplying actual software – rather than from a political and philosophical one. Which is my reason for writing this and future posts about our work in free software: To share a bit about how free software and software freedom actually play out in a real-world setting.

The first thing I’d like to make clear is that when you’re selling free software to a customer, you’re not really selling “free software” and definitely not selling software freedom – you’re selling software. That’s not to say that the customer doesn’t know that your software is free and doesn’t care, but it is to say that the customer is working in an organization that needs some work done – a functioning web site, a dictionary with adequate performance, a well-designed web app – and will normally focus a lot more on getting something that works than on the license conditions. If they understand software freedom, they may err on the side of getting the “open source” solution, but if a proprietary vendor is significantly better and cheaper than you, you’re probably out.

Secondly, that means that working with creating free software for actual customers is very much about delving into topics that are specific to your customer’s domain. What functions on the audience PCs does the librarian need to be able to control from the GNU/Linux remote admin system that we wrote? How are the mindbogglingly complicated standards behind the Danish government’s standardized data services to be interpreted, and how much domain knowledge do we need in order to understand the customer’s demands? And so on …

In this and future posts, I’d like to tell a bit about how all of this plays out in our daily work at Magenta, the company that I work for. Magenta is, with its approximately 20 employees, the largest company in Denmark which is completely specialized in delivering “open source” software. The company is, as will be understood, not rigidly “free software” oriented, but its mission statement does say that its purpose is “to deliver open source software”, with “open source software” being defined as such software that is under an OSI-approved license. This basically means that our company is unable to deliver software under a non-free license to anyone. In reality, all of our software is released to the client under the GPL, the LGPL or the Mozilla Public License. As I said, in future posts I will try to share what it means to work with and deliver free software under these conditions, and what it means and doesn’t mean for the prospects of software freedom in Denmark.