I work in the public sector (US), and I have been advocating for something like this since I started my career.

The ERP we use for HR/Payroll, Accounts Payable/Receivable, Utility Billing, etc. costs an exorbitant amount of money each year, and the quality of both the software and the technical support we receive is comical. And this is new deployment, too. We upgraded from an IBM AS/400-based system a couple of years ago which I honestly long to go back to now and again out of frustration.

Let me give you just one an example of how we are held hostage to a private software vendor - collecting payment for utility bills. We are forced to use one credit card processor because it's the only "partner" that the ERP vendor has for payment processing. I guarantee you that you've never heard of them before. Their software is abysmal, and last time I checked, the ERP vendor gets a flat rate for each payment they collect (in addition to the standard credit card processing % + flat fee that goes to the merchant services company). There's no alternative. It's a Windows Service that has a tendency to crash several times a day without logging anything to Event Viewer. It's known to charge a credit card, but not return a success code to back the ERP, meaning the money was collected but their bill doesn't show as being paid. It's a problem I've documented clearly and created tickets on for over seven months at this point, and it's still not been resolved. Why? They have zero motivation. It's a beast to migrate to a new ERP (multiple years and $1M+), and they treat us as if we have no leverage in pushing for prompter support or better quality software. So luckily we are still on-premise with full access to the SQL database. I have written procedures to update the payment status manually each time this happens, post the transaction to the ERP, update reference numbers, and do a few other various things that should happen automatically when it works correctly. We were scolded for digging around ourselves and doing this, but if we open a support case, it takes 2-14 days to get a response back and that's simply not feasible when these payments need to post before EOB.

There's also no open API available. We have the in-house expertise to develop integrations and try to tie systems together in ways that make sense for our environment. Nope. Whatever few integrations that exists costs tens of thousands of dollars up-front, have very lackluster support, are infrequently updated, and are very rigid in their capabilities. I've asked how we can gain access to a sandbox environment or get documentation on an API so we can test and create the integrations that these sacred "partners" are able to -- radio silence. I've even reached out to individuals who work at the company on LinkedIn asking a similar question of how an independent developer can integrate with their ERP ecosystem -- left on read, no response.

Need a customization or change? Let's schedule a series of meetings and get it quoted out. $5,000 and two months later, we now have one new line of text displayed on our water bills about the drought. This is the level of control they maintain and use to line their pockets at our expense.

And now I've noticed that over the past year or so, there's been a very aggressive push to move to a SaaS environment. Meaning we'd lose direct access to SQL, lose access to logs and other tools I use to debug/diagnose, and be reliant on (read: held hostage by) the vendor even more. Good luck getting access to any of our raw data at that point. It's vendor lock-in to an extreme.

We (the agency, but more so the tax payers by extension) are victims. And we take it willingly without any pushback because there's no alternative. If anyone reading this is interested in helping fight against this or develop an open source alternative specific to government agencies, please reach out to me (email in profile here). I'm very passionate about this, having suffered so much aggravation over the years, and would love to work on bringing about some sort of solution.