Public money – Public code – What it is all about and why it is just logical.

Public money – Public code – What it is all about and why it is just logical.
Photo by shawnanggg / Unsplash

As the world goes, more and more digital, software is required everywhere. Not only to make your internet surfing possible or chatting with your friends and family.  Governments need new software to make processes more automated and cost-effective. As taxpayers, we all pay the price for that as well, so it should be the concern of us all.

Taxes should be used transparently

As taxes are used to create the software, it should be obvious that you might want to know how your money is spent. As it's nothing physical, you can touch and see, transparency is not automatically given. Contrary to for example, street work, where you can immediately see when money is spent or even more when it is not.

The Public Money - Public code initiative by the Free Software Foundation summarizes this pretty well:

We want legislation requiring that publicly financed software developed for the public sector be made publicly available under a Free and Open Source Software licence. If it is public money, it should be public code as well.

So, what does that mean? Firstly, “publicly financed software” means the one effectively built with your money. The second important part is “made publicly available”, this means everyone should be able to see and contribute the code. Which is just fair, as we need to trust into the code written regularly.

But is open source not weakening the security?

That's a common concern from people outside the tech industry. When you hear about public, you might be worried that if you know the system, it is easier to abuse it. In real life, the opposite is the case. The more open you build the stuff, the more eyes can spot potential problems. Building in public means putting more effort into making it secure and clean, as many people are watching you. But also fixes can be made public, improving the time between spotting and resolving an actual issue.

A very famous example is the Linux kernel. It is a piece of software, running very near to your actual device.  Its purpose is making it possible to use everyday software like Office products etc. You can imagine it as the translator between your everyday applications and the hardware put into your device.  If the translator had minor flaws or would be insecure, it would be a total disaster. Just imagine in real life if a translator for diplomatic conversations would omit important details or change the conversation.  Chaos and war would be unavoidable.

As everything working that low-level without the user even knowing is super crucial. Still, it's used on servers around the globe, hosting this blog, chat tools and much more. That piece of software has been free and the code publicly available since the beginning decades ago. Trusted by militaries, the NASA, and even working on the Mars rovers we sent up there in space! It has been serving our world well, all while being publicly available and free of charge.

While that software is very crucial, the public availability has only strengthened security and the code base. An impressive example of what can be achieved with open source and some volunteers.

Other benefits of making the code public

Saving resources

A significant benefit of a public code means that knowledge is shared. When you can read up how other governments solved specific problems, we can evolve based on that and even contribute back. In the end, saving a lifetime and a lot of money for all involved parties.

Effectively meaning less time spent wasting resources like human lifetime, energy, and tax money.

Improve Collaboration

Nothing is better than a state you can work together with! Techies and nerds are always eager to implement cool stuff and do side projects. A side project – helping your local institutions work better and more efficient? Sounds super reasonable and fun! Moreover, as already mentioned, collaboration between different governments and states opens new possibilities and makes people feel more connected.

Build up trust

When everything happens behind closed doors, people get nervous. Feeling excluded mostly all the time leads to the assumption that something is hidden from them. Doubt is growing and discontent intensifies. Making things open and transparent removes that barrier, making people feel included and heard.

I don't know programming or any of this fancy tech! - What should I do?

Of course, not everyone out there is the next Bill Gates or the nerd from our neighbourhood that builds his own router and software. That also means not everyone can actively contribute to public code as such.

What you can do is embrace the mindset and help people who understand the things help you! Spread the word, share the initiative, tell your friends, family, and most importantly the representatives.

In the end, change always starts with you!