Last modified: May 28, 2024

Altinn and open source

Altinn 3 is open source with an open backlog, open documentation and open dialogue and discussions.

There are many who have noticed that Altinn has chosen a new and very open direction in recent years.

We’ve received questions about why, and thought it would be interesting that we share our thoughts on open source, as as central national common component in Norway.

Sharing and reuse

There are many good reasons to share your code as open source.

NAV, one of the trailblazers of open source in Norway, is also repeating several of the same arguments (Norwegian Only), and especially the importance of transparency and trust related to solutions financed by the public.

We applaud, when NAV writes this:

Solutions funded by the public should be publicly available.
The motivation is then not mainly reuse, although it is obviously a nice side effect.
The motivation is primarily openness and transparency in the digital solutions.

But to be clear, reuse is something we in Altinn consider a central motivation. And we’re not alone thinking like this:

We share our code and enable incidental contributions to related open-source projects
EU Governing Principle 5.3 - Share

We facilitate reuse and sharing at all levels of the Altinn architecture, from our principles to the entire platform and infrastructure, down to design and UI-widgets, code and configuration.

This is also one of several reasons why Altinn is now a Digital Public Good (DPG), where the goal is to be able to reuse everything we develop not only at national level, but also globally to accelerate the attainment of the sustainable development goals.

We also encourage the developers building apps using Altinn Studio to also share their apps. In fact, you have to do an active decision not to share, since sharing and reuse is central to the concept of Altinn 3.

Cooperation

The best way to get a good collaboration across organizations and projects is openness and transparency, that everyone can contribute, provide input, be heard, follow what’s happening.

This has been a central point in the open source “revolution”, that has become the new norm for large parts of software development in the world. There are now 40 million developers and over 28 million open repositories on GitHub.

Since all the tools and dependencies we use are open source on Github, we in Altinn can also follow what’s happening, and collaborate and contribute back to the software we’re using.

Examples of such open source software is .NET, Kubernetes, React, Linkerd and Gitea. And our issue #5992 is a good example of how we can track and easily link to issues across software.

And since Altinn is open source at Github, it is as easy for everyone else to do the same thing to us. Both creating new issues, contribute in discussions or contribute code, something the label external-contribution-❤️ illustrates well.

Vendor bindings

Altinn as a national common component has previously experienced major challenges by building on closed proprietary software. Software from Adobe in Altinn 1 and from Microsoft in Altinn 2.

End-of-life for proprietary software is actually the main reason for why we had to create Altinn 3.

When building a solution on top of proprietary software, then you’ve lost control over your own future, for example if the vendor chooses to phase out the product.
If your solution is built on top of open source products then you, or anybody else, can make a fork in such a situation.

Altinn 3 is therefore based on software and libraries which is open source.

We think this naturally is also very important for those who consider whether to adopt Altinn or not.

Which bindings do we introduce to Altinn as a technical solution and to Digdir as a “supplier”? Even though Altinn is a cooperation, this will be an important question.

Altinn 3 is therefore completely open source with a permissive license, and everything runs as regular containers.

The best tools

To develop good software, it is important to have access to good tools.

One thing that many may not think about is that when you share what you develop as open source, many of the very best tools out there are available - for free.

“Share, and thou will be shared with…”

Here are some of the wonderful SaaS-tools that we use:

  • GitHub - Handling of source code, backlogs, boards, automation, CI/CD, etc.
  • ZenHub - Epics, estimates, agile reports.
  • Cypress - Dashboards and automated UI-testing.
  • SonarCloud - Static analysis of source code.
  • LGTM - Security analysis of source code.

And this is just a small selection…

Also, all tools and framework that we build Altinn 3 on top of, is open software that is also very popular.

The best people

It is a common theme that people like to work with new technology and the best tools. The best developers also prefer to work with open source, feeling that one contributes to something bigger, that one leaves a mark on the world.

In the time that has passed since we launched Altinn 3 (Norwegian only) in the summer of 2020, we’ve hired some very skilled people, and a repeating pattern in interviews and discussions is that the best candidates are clearly expressing that they think open source is important, and that this is something they want to participate in.

We want to build a big community, where everyone can contribute, and then it is important that we have skilled and happy developers who can help make that happen.