The article uses the phrase "no brainer" but then explains why it very much requires brainer when making IT decisions.
License costs are a factor, yes, but they are not the only cost, and in most cases not the significant one.
In some cases the offerings are similar enough that it moves the needle. PostgreSQL for example is a good candidate- Oracle is expensive, and the number of people interacting with it is limited. Plus the fundamentals of Oracle and PostgreSQL are more-or-less the same.
On the other extreme the cost of training and support dwarfs the license cost. If all staff come with knowing how to use say Windows and Excel,but require training and support for say Linux Desktop and Libre Office, then the "free" thing costs more.
It's no accident that OSS has done better on the backend than the front end.
Success for OSS means putting the right product in the right place, taking all things (not just license cost) into account.
(Aside: corruption is a red herring, corrupt officials and companies can be corrupt regardless of software license.)
Training is another cash cow from big tech, on many levels. It is a bonus for resellers and partners, binding the ecosystem together. And the maze of certifications that expire every other year or so makes big tech corps even more money, and has everybody invested. It is also a useful sales tool, because they don't cost much and can be thrown in as a discount. You can also achieve a kind of vendor lock in on the career skills more easily with certifications. Legions of Microsoft technicians are pretty much stuck in the ecosystem, because if they switch their certs and experience don't mean anything anymore. Not everybody has the technical chops to switch ecosystem every year. Even more pressure to not move to open source (or another vendor).
If you think Microsoft makes it sales because its buyers are putting the right product in the right place, then you haven't seen a lot of Microsoft sales. This is absolutely not how it works. And it doesn't have a lot to do with corruption either.
The people making the decision to buy an IT product are often not its users, and often not that much concerned with making the best short/mid/long term deal in the interest of the business. They are very much concerned in making the best deal for their own careers, and as these are the people who buy the thing some companies have competently specialized in optimizing sales given that fact. Oracle has a reputation for this, and Microsoft as well, but all big tech does it (just some do it better than others). Of course, there's some nuance, you can't get away with it if your product doesn't work.
For a lot of software in megacorps, it makes more sense if you look at 'trained in X' as a kind of magic spell that has no real relation with the ability to do a job.
If the end user says: I have no training in X, that mostly means they don't want to work with X or don't want to accept extra workload related to X. The company then provides training in X, another magic spell meaning money was spent so the company officially did something, and the excuse about not being trained won't work anymore. Blame has now been shifted from the company to the worker or even the end user. So training being expensive has better optics.
Big tools like MSOffice have the ability to be put in hiring contracts: Everyone is assumed to know how to use it, so the company is allowed to deny the no training excuse without spending money.
Actual training for the whole company is more like a networking event, and if you ignore the trainer and read the manual or watch some youtube, you may actually learn what you're supposed to. Once in a while, you get a trainer who knows what they are talking about. But all that is secondary.
> If the end user says: I have no training in X, that mostly means they don't want to work with X or don't want to accept extra workload related to X.
This has largely been my experience working in IT as well. I think folks in the tech world take for granted how "normal" continuous learning is for us, and how undesirable it is for others in the workplace. Your average office drone very much does not want to learn something new. They want to use what they always have, and keep the same workload.
Even just attempting a switch from Windows to macOS, when their workflow is almost entirely a web browser, damn near caused a full on worker revolt at one organization I worked at. Training didn't fix it, because the desire to learn wasn't there in the first place.
That's the kind of inertia that needs to be overcome for something like open source adoption at the end-user level. It's comparatively simple for the back-end to transition, but without an already willing user-base, the front-end average office worker is not going to achieve the same level of productivity for a really long time.
> Big tools like MSOffice have the ability to be put in hiring contracts: Everyone is assumed to know how to use it, so the company is allowed to deny the no training excuse without spending money.
I would claim that if you haven't worked in the finance or insurance industry (or some related industry) for quite some time, you very likely don't know how to use Excel (I have a feeling that a similar points holds for Word and Powerpoint with respect to some industries, but I think for these applications this phenomenon is a little bit less pronounced).
Indeed, I'd claim that most books about how to use Excel are simply crap. To just give you a glimpse how to use Excel, here some internet classic on this topic:
You Suck at Excel - Joel Spolsky
https://www.youtube.com/watch?v=JxBg4sMusIg
Really understanding Excel is life task, similar to really understanding modern C++.
It is much more economical to invest in local open source people to take care of the tech need than big corp. Big corp are notorious unreliable over long period of time, their incentives are NOT aligned with the customers, only with profit and/or 3 letter agencies.
"Third, there are often large costs to users from
switching technologies, which leads to lock-in.
Such markets may remain very profitable, even
where (incompatible) competitors are very cheap
to produce. In fact, one of the main results of
network economic theory is that the net present
value of the customer base should equal the total
costs of their switching their business to a com-
petitor [19]."
> All this talk about having to train users... then the companies change the interfaces so much that even power users get confused.
I don't think this is a realistic assessment of the problem. Windows 11 slremains very much recognizable since the Windows 7 days, and the transition from Windows 10 to Windows 11 was seamless. Moreso with walled gardens like macOS.
In the meantime you can't sneeze in the direction of a mainstream windows manager for Linux without it introducing radical changes, not to mention how all distros are heavily fragmented and sometimes even customized.
"corruption is a red herring, corrupt officials and companies can be corrupt regardless of software license."
Corruption implies that somebody is making enough money to pay bribes. Therefore, corruption will naturally be to the advantage of those that make the most money from the least quality offering.
Not really. The company's not really paying bribes out of their own money though. They're paying it out of the revenue flow from that sale.
In other words "give me this govt contract and I'll route n% of it back to you".
n% has to be "reasonable" or there's no commercial point in offering the bribe to begin with.
If there's a cash-flow issue (you gotta pay the bribe before getting the contract) then I guess it favors deep pockets.
In a developing country, you really want to be careful with your dollars/imports. Local labor is almost certainly cheaper and more abundant. The question is, can they do it all. If they can you save dollars and you build local skills that transfer, a double benefit. If they can't, yes you might be forced to buy and import the tech.
And liability, as mentioned in the OP, is a big issue. When you find a bug in Oracle that kills your DBMS, you open a ticket and Oracle has to provide a fix (or at least a workaround) based on the SLA.
Postgres developers, as the license says, have NO OBLIGATIONS TO
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. This means you have to do one of three options:
- hire Postgres experts into every ministry. Not very efficient.
- create a single government agency that provides support to the rest of the government. Might easily lose efficiency, as any other bureaucracy
- create a commercial support provider that has to earn money by selling Postgres support to private enterprises. Again, there's a risk that it will start charging the highest possible price for its services.
I actually managed to get Oracle to fix a bug once. This in quite a big organization, with a huge amount of money going to oracle. I could explain them exactly what was wrong, how to fix it, and still they denied the very existence of the bug (and cited the expensive half-working workaround other companies used at the same time). Then they ignored what I told them and fixed it in a way that did not fix it. Then they fixed it, and did not allow us to use the fix until it was officialized in a real service pack.
The whole process took multiple months, reading all contracts I couldget my hands on, answering the phone at 3AM, a lot of patience, and treating Oracle as a student who was 2 weeks late with their homework. After that, all oraclies at the organization were completely awed because I was the first person ever who managed to get a usefull new patch out of oracle's service.
If you want results, get Postgres. If you want someone to blame, get Oracle.
> If you want results, get Postgres. If you want someone to blame, get Oracle.
I've twice offered fixes to Oracle (didn't even get a thank you); countless times I've had to find workarounds; and I've lost endless hours working with support to get things fixed.
I have no respect for Oracle software. It gives me nothing but headaches. I can't really just blame Oracle, because I have to keep my organisation working. I just wish I could get rid of it.
> If you want results, get Postgres. If you want someone to blame, get Oracle.
It's the someone to blame part that's important in big corporate bureaucracy. It's being able to tell your boss "We've done everything we can, it's in Oracle's hands now" limits your own liability vs. "We need to fix this ourselves, and haven't solved the problem yet."
Now circle back to the main thread - you invest some multi-million budget yearly to have support, but you get just an excuse.
People are expensive, but not "oracle expensive". Plus there are many smaller shops that sell support for opensource databases, I'd you don't want to hire senior people.
Yes, we have received reasonable and timely help when a wild ORA-600 appeared (with an Oracle engineer arriving on site to diagnose and apply the fix), but you are right, we had an 80-core POWER machine running this database.
It is not bureaucracy vs magical efficiency. There is the same issue in any large organisation, even corporations. In practice I don’t think it would be as bad as you suggest. Having an agency focused on providing support instead of sending money to shareholders also limits other kinds of inefficiencies.
> Again, there's a risk that it will start charging the highest possible price for its services.
That is exactly the situation we’re in, where governments are tied and dependent on single providers (be it Microsoft, Oracle, SAP, or others). This solution would create competition opportunities by opening a market, it does not need to be a monopoly.
> Again, there's a risk that it will start charging the highest possible price for its services.
So you switch to a different commercial service provider, problem solved. The software is open source, they can't lock you down in a predatory contract. Worst-case scenario, you can always choose to fork it yourself.
“ create a single government agency that provides support to the rest of the government. Might easily lose efficiency, as any other bureaucracy”. As opposed to huge corporations that are known to be the pinnacle of efficiency…
You missed one: hire one of the many existing providers of Postgres support services. Postgres have a big list of these providers. [0]
I can't comment on how well they perform in practice compared to the conventional monopolised support model that closed-source software tends to offer - perhaps better, perhaps worse - but at least in principle, the solution is there.
License costs are a factor, yes, but they are not the only cost, and in most cases not the significant one.
In some cases the offerings are similar enough that it moves the needle. PostgreSQL for example is a good candidate- Oracle is expensive, and the number of people interacting with it is limited. Plus the fundamentals of Oracle and PostgreSQL are more-or-less the same.
On the other extreme the cost of training and support dwarfs the license cost. If all staff come with knowing how to use say Windows and Excel,but require training and support for say Linux Desktop and Libre Office, then the "free" thing costs more.
It's no accident that OSS has done better on the backend than the front end.
Success for OSS means putting the right product in the right place, taking all things (not just license cost) into account.
(Aside: corruption is a red herring, corrupt officials and companies can be corrupt regardless of software license.)