First of all, as a civil servant, I understand that one of the essential government priorities is to provide efficient public services. When we have to decide the best software for a specific need, we must take into account, at least, the criteria about cost, functionalities, implementation time, internal effort, access to the source code, and risk of failure.
Based on these, we have the following alternatives:
1) A custom software development. It fulfills the functionalities and access to the code, but it has high stakes at implementation time, internal effort, cost, and risk of failure.
2) Using a vendor solution. It fulfills most of the criteria, but it is not highly customizable, and there is no access to the code.
3) Using a vendor solution with license access to the source code. Same advantages of the former option plus having access to the source code, but it does not mean knowing how to evolve it. Some software vendors will not tender with this condition.
4) Creating collaborative development of communities of open software. It raises excellent opportunities regarding savings and evolving in a more agile and innovative way. However, governments do not have the skills yet to manage them effectively.
The decision is not unique. It depends on each specific problem, but too often Government takes the easy choice: customized software or using vendors’ solutions. The great challenge of the public sector, despite its enormous complexity, is to promote collaborative communities of open software.
– Digital sovereignty: the public sector will demand much more control of the source code, data, algorithms, and technologies to ensure the common good.
– Open innovation by promoting public collaborative communities of open software.
– Software license agreements will include escrow arrangement that allows using source code if specific events occur.