I’ve been thinking about transparency and security in the public sector. Do you think all government software and platforms should be open source?
Some countries have already made progress in this area:
- Estonia: digital government services with open and auditable APIs.
- United Kingdom: several open source government projects and systems published on GitHub.
- France and Canada: policies encouraging the use of free and open source software in public agencies.
Possible benefits:
- Full transparency: anyone can audit the code, ensuring there is no corruption, hidden flaws, or unauthorized data collection.
- Enhanced security: public reviews help identify vulnerabilities quickly.
- Cost reduction: less dependency on private vendors and lower spending on proprietary licenses.
- Flexibility and innovation: public agencies can adapt systems to their needs without relying on external solutions.
Possible challenges:
- Maintenance and updating of complex systems.
- Protecting sensitive data without compromising citizen privacy.
- Political or bureaucratic resistance to opening the code.
Do you think this could be viable in the governments of your countries? How could we start making this a reality globally?
Yes. Public money public code and all that.
However…
For security reasons, I wouldn’t feel comfortable if every one who wanted to could just contribute to it. It would need to be a closed developer group with security clearance. We can all look at what they’re doing, but we can’t insert our own patch commit requests to them ad nauseaum.
I agree, all software developed or used by governments should be open-source.
There might be few cases where there is a legitimate reason for it not to be open source (no open source software available, need a proprietary software for running old legacy equipment …). In this case the decision should be voted on and the arguments exposed publicly.
Public money, public code.
Imagine governments adding to foss. Would be awesome.
Why would it be more difficult to maintain and update a complex system?
They don’t have to accept outsider contributions on their mainline nor employ less people to work on it.
Estonia: digital government services with open and auditable APIs.
What makes an API auditable?
Someone can look at it, it’s implementation, and verify it does what it claims.
Public money, public code.
Not only should the source code be available, but they need to be Free Software (licenses such as GPL, Apache, etc.).
Do you mean software created by the government, or simply used by the government?
In the US, I believe the standard is that the software would be public domain if it’s an official government publication.
Yes, I think all
governmentsoftware should be FOSS.(Ok, ok. Not all. I don’t think it should be mandatory to distribute software. But if you do distribute software, I think the source code should be required to come with it and there shouldn’t be any intellectual property restrictions on modifying it or distributing it, with or without modifications so long as you include the source code. Aside from that, distributing versions with malware included without sufficiently advertising that fact should be considered some sort of fraud or vandalism.)
But I’m under no illusion that there’s any likelihood of that happening any time in my lifetime. One can hope, though.
Of your “possible challenges”, the first two are complete fiction. FOSS would make it easier to properly maintain and update systems, complex or otherwise. And databases and code are two different things. Beyond that, I’ll say that distributing software only in compiled form doesn’t make anything more secure or hide anything about how the code works.
Edit: Oh, I also think a right to attribution is a good thing. It can be done poorly. (Like some of the earlier BSD licenses that would result in pages and pages of attribution for a single code project.) But done well, I think it’s a worthwhile thing.
Within reason.
A nice little application to calculate tax and benefits? For sure.
A detailed model on how a nuclear attack would behave depending on the wind direction and tidal waves? That shit needs to be kept secret.
Yes. Public funds for only public code. Any and arguments involving security are invalid.
Ken Thompson’s nightmare scenario was solved by a couple people who were enjoying their hobby in their free time and not by any of the military programs that have to date spent over $22 Billion and have achieved far less.
Public funds spent on anything that generates something that could be considered “intellectual property” should be public domain. Beyond software my first thought is pharmaceutical and general medical research.
Some, but probably not all. Seems like it would be a bad move to open-source all military software.
Why? Open source only requires sharing the source when sharing the software. No distribution of software - no distribution of source. But if they are gonna sell software to other militaries or civilian contractors, we have a right to know what they’re selling.
And no, hiding your code doesn’t generally make your software more secure.
It just seems like a bad tactic. For example, if the US gives Ukraine some software that helps them fight Russia, it’s likely tactically advantageous (to Ukraine) if Russia doesn’t have the source code.
Of course, it doesn’t mean Russia couldn’t do some reverse engineering to some extent. But that takes time, and likely wouldn’t be as complete/thorough as just handing them the source code.
If the DoD gives some ooen source software to Ukraine they are required to give the source code to Ukraine - not to Russia.
It’s generally not a good idea to make military technology accessible to the enemy.
So you didn’t read my comment before replying?
that could be solved by encrypted military plugins/addons that have their own security measures
What do you think: should all government software be open source?
No. I think that there are some things that should very much not be open source or even have binaries distributed, stuff like things like software used for some military purposes. You wouldn’t want to distribute it with abandon to the world any more than you would the weapons it drives or is used to create.
Open source only requires source distribution with binary distribution, so the software can be open source and still not publicly distributed. It just means if its ever declassified, the source will be required to be distributed along with the software itself.
If the source isn’t publicly available, it’s not open source. It sounds like you’re suggesting that the software remain closed source until some later date where it then becomes open source.
That is simply not true. Go read a few open source licenses and see for yourself. They only require that the source code be distributed with copies of the software itself. The code is not required to be made available to the general public.
A few references:
Generally, open source refers to a computer program in which the source code is available to the general public for usage, modification from its original design, and publication of their version (fork) back to the community.
https://en.wikipedia.org/wiki/Open_source
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge.
The term open source refers to something people can modify and share because its design is publicly accessible.
https://opensource.com/resources/what-open-source
having the source code freely available for possible modification and redistribution
https://www.merriam-webster.com/dictionary/open-source
I haven’t read any open source licenses, so it’s possible you are correct in some technical sense, but that is not what people mean when they use the term open source.
Clearly the OP was using the common definition, or most of the post wouldn’t make any sense.
You don’t get to redefine open source. It’s always been about giving the source code to whoever you give the software.
Making it publicly available is an acceptable alternative to fulfill that obligation.
I’d say that kind of thing should fall under a label of being “Classified”. If it’s something like a recruitment page for the Army that shouldn’t need any kind of classification.
Software developed by government funded research is typically released open source in the US.