You’ll quickly learn why businesses make the decision to pay for software instead of cobbling together open source.
Let’s say you’re a small, but growing company doing $2M ARR. You absolutely could run your email marketing using an open source tool hooked up to Amazon SES and save a thousand bucks a month over something like Mailchimp.
But the problem is, it’ll take you up to a week to get setup (thousands of dollars lost already) and then none of your employees will understand how to send emails with it (thousands of dollars wasted in training). Once they do understand how to use it, it will likely still be slower than a dummy-proof visual UI that has been battle tested on thousands of customers instead of an esoteric open source solution. If it wastes 8 hours of employee time per month, that’s another $1k a month lost.
Then when something goes wrong, which it always does, it’ll require expensive developer time (likely costing the company $1000-$1500/day per engineer all-in) instead of a simple support phone call.
And when you realize the open source version is missing a feature you need, you have to build it yourself, of which any trivial engineering task inside the company will cost at least $5k in employee time. Not to mention the cost to maintain the feature when the open source team breaks it with an update.
So, you’re already in the hole and losing money compared to Mailchimp.
This says nothing about the opportunity cost of engineering time that could have been spent serving your own customers, allowing you to generate more revenue.
You can generate revenue to infinity, but can only cut costs to zero. For a growing company, time spent on cost saving over making new sales is likely time wasted.
That's not universally true, of course. That money would buy you a week of developer time in most of Europe, and even a month of developer time in some developing economies.
That's only true if you live in Poland and also ignore the all-in cost of your employees. A good rule of thumb is to assume 2-3x salary for the all-in cost of having a workforce.
https://www.freelancermap.com/blog/freelance-market-study-ge...
Plus some management expenses, and it turns into around 1000 euros per delivery day for a FTE.
Then we can go to the companies doing high level consulting and pull some notches still.
The comment that I was replying to specifically referred to employee time per month. That's naturally going to be different from some high-rate consultant, so this is totally an apples-to-oranges comparison.
Furthermore, it's a large market and there are plenty of consultancies in Europe charging significantly less than that.
* We’re a shop full of developers, but none of us have the required skill set to host and debug a python app.
* We’re fairly well booked. Any time I’d assign one of the folks to maintaining tool X, I’d have to take from time assigned to client work. Which means the internal cost is not what’s interesting. What counts is “how much do I loose by not having them work in billable hours?”
All of this means that the calculation is strongly tilted in favor of buy.
Of course if you hire a freelancer, prices are very different and 1500€/day is very reasonable.
Most SaaS offerings without free tiers indeed are unlikely to be used.
I even had to buy the JetBrains tools myself to be able to navigate 1M SLoC Java codebases easily, refactor with confidence, whilst not resorting to piracy like some of my countrymen do. Even if definitely worth it, i still had to look at the price tag for a while, seeing as it's essentially food for a month or two: https://www.jetbrains.com/idea/buy/#personal?billing=yearly
Developer salaries vary wildly over the world, though i guess some SaaS solutions also do location based pricing, which may or may not have historically worked.
I started my career in open source and still strongly believe in FOSS tenets, but enterprises are looking more to de-risk their projects and platforms.
Risk is reduced when you have a vendor you can hold accountable for issues in the product, hence making proprietary solutions (and sometimes open source but wrapped in enterprise support solutions) the only viable choice for a business.
For example: a large organization might get a "Microsoft Custom Support Agreement" if they want to get security updates after the date that MS stops providing security updates.
As with any negotiation, if you have leverage (i.e. dollars), you can negotiate.
A startup in say, Mexico or LatAm will look at the OpenSource version of say Business Intelligence applications (Metabase, Superset in the link), then look at the commercial versions of them (Tableau, Lookr). With the price needed to pay for the commercial versions, the startup can hire 2 or 3 developers (at local rates) to do whatever improvements they need to the open source application.
Something similar happened to me with Jumio about 5 years ago: I wanted to use it. I spoke with their sales 2 or 3 times in 4 years. THe problem is that, every "verification" was costing more than $1 USD... for less than that cost, my company could hire 3 people a month to do manual verification and more (considering the cost of hiring + cost to the company, including Mexico's hefty employer costs). It never made economic sense to do implement automation.
Doing your own maintenance, antivirus, spam detection can be a demanding job, but getting out of a blacklist is ten times worse. We gladly pay Google Workspaces to leave that suffering to the specialists, we couldn't do it better if we tried our best.
You either pay with time and work, or you pay with money. Sometimes spending the money is the better trade off.
Enterprise software like SAP and Salesforce are gigantic comprehensive business process management tools for Fortune 1000 companies that can't be replicated by stitching together open source projects.
Even tech companies with expert domain knowledge of software programming like Microsoft, Amazon, Apple, Google, etc all buy SAP licenses to use. Google recently switched from Oracle Financials to SAP. None of those tech companies are strangers to the open source ecosystem and yet they pay millions every year in SAP licenses.
Yes, a small business might be able to use an open source accounting package instead of paying $150 for Intuit QuickBooks. In contrast, no free software has the same scope and integration of SAP to save $millions.
Analogous situation with GIMP vs Photoshop. Why do so many pay for Photoshop when GIMP is free? Because as great as GIMP is... it is still missing many features that Photoshop has had for years. CMYK color support, layer effects, latest algorithmic filters, action macros without requiring script programming, etc.
This is the problem with most of these "open source alternatives to $TOOLS$" type of lists: they usually don't tell you what critical features are missing that prevent them from being realistic substitutes.
* Created & maintain Gensim and other open source, used by thousands of companies for free.
* Created & sell an (unrelated) B2B product.
Yes, I've had B2B prospects who thought they could "stitch my product together using open source".
These people are invariably either low budget & high-maintenance, or unsophisticated = don't realize how much work the "just stitching" part is. Plus how little the stitched-together-from-open-source part actually is of the whole.
Good riddance of the former – go ahead and use open source, god speed. Your time is free, mine is not. The latter often come back after being burned & learning the ropes.
Maybe it helps to think of it this way: savvy companies are much more risk-averse than your typical open source hacker. They price in risk into their decision making. So your assertion of "almost free" is the root of the issue: a business sees the lack of business scaffolding (stability, continuity, legal, management…) and thinks "Expensive! We'll have to do this ourselves! Headache! Liability! Extra cost!".
Sure, "free code" helps, everybody likes free, but the code is not the only consideration.
- look into state-of-the-art related to our problem - think very hard about how to apply the academic state-of-the-art to our problem - stitch a fully fletched software solution together
The problem obviously emerged reliably in the last step, which was supposed to take negligible time and should be done by more junior team members (because they were not smart enough for step 2).
The result was a bunch of prototypes running in production, and huge costs for keeping the whole thing somehow running.
It's quite different with core and expensive proprietary services though. In this case you better think and calculate everything precisely as you may regret going with a proprietary solution in the long run and switching can be painful.
Customers really really really don't want to have to run their own solution. They want to be able to pay someone to make the pain go away.
(https://onlineornot.com if you're curious)
Why don’t people paint their own houses? Why don’t people fix their own cars? Why don’t people sew their own clothes? Why don’t people cook their own food?
Of course a lot of people do do these things themselves! Just like a lot of people do use free and/or open source software tools.
But a lot of people don’t do these things, at least not all of them, and probably not all the time. If you can think of the reasons you pay for things you might be able to do yourself, you can start to understand why a business does too. It usually comes down to opportunity cost and specialization—answering the question “how is my limited time best spent?”
You can't just set it and forget it. When you approach a dozen or so self-hosted projects, you have to dedicate resources to keep everything running and up to date. Therefore, we consciously off-load some of the stuff to third parties — sometimes just for a couple of rough months, sometimes for far too long, sometimes permanently. It's far from being our only responsibility.
In the end, do you think the self-hosting route is worth all the trouble and costs?
There are also trade-offs. A few sysadmins can't host emails against hostile (sometimes state-sponsored) parties like Google can. We can't roll out a better messaging service than Signal. We could roll out our own VPN, but if the goal is getting lost in the noise, you want a popular VPN, not routing journalists' traffic through unique IPs.
On the other hand, just Nextcloud and GitLab (two fairly common services) require about 10h/month if you don't want to be major versions behind or miss security patches in minor versions.
Some managers/owners seemingly don't mind spending $4,000+/m in payroll to chase $2,000/m savings in paid services, though, for whatever reason.
I say, just pay the $$-$$$/month for each thing, and be done with it. If paying for the service isn't worth it, paying someone to manage the tool internally almost certainly isn't, either, so prefer attempting to do without it over that option.
[EDIT] obviously, this can change with scale. If you're a huge company then putting an average of 1/4 of the hours for five sysadmins to managing a self-hosted chat tool can absolutely save you lots of money over paying for one—provided the reliability's at least as good. A small slip on that and you're back on the wrong side of things.
Fast forward 20+ years later, that type of work is essentially the SAAS apps you see popping up. It's not a very capital intensive business to sustain so with a few thousand customers you could have a pretty healthy company and continue product development / grow your customer base.
Why do people go for these new SAAS apps ? I've seen a few reasons
1) Pricing is somehow better 2) Integration and or support is more personal so the customer (usually a business stakeholder) prefers it. 3) Some specific feature exists that is important to the customer i.e ease of deletion for GDPR requests 4) CTO / CIO / Techie prefers it.
Why I've seen people not go with the open source alternatives is the same oul reason. Focus. If you've less than 30 people at your org, unless one of those tools has a specific team covering that area - it will just split focus and end up in a suboptimal setup and create pain points in terms of support.
Examples that come to mind, we used open source snowplow analytics because we had a data platform team that supported it and ran it full time. There was no cost with regards to the software, but certainly was with head-count to maintain, and evolve.
We used external newsletter services to inform customers about updates etc. in the product. We went with an external paid service because this didn't tie directly into a specific team and for 100 - 500 euro a month we got what probably would have cost 0.3 - 1.0 full time head count to keep a minimal service up and running (Which meant -0.3 to -1.0 headcount working on important things for the company).