What gets me about this is the math doesn't make any sense.
Docker charges $10/developer/month. Those developers are paid $150k+/yr, fully loaded to the company (insurance, taxes, accounting, etc) is probably double that, but call it $250k/yr to be nice. You take 3 developers and have them spend a quarter on replacing Docker Desktop, that's nearly $200k in developer costs spent replacing a tool that's gonna cost your 250 person company $30k/year.
Docker wants you to pay $10/mo to make your $20k/mo developer more effective, and companies in our industry would rather spend several months of developer time building an alternative that they'll have to support forever and teach every new individual coming into the company how to use.
For a group that seems to pride itself on math and logic and whatever, I don't understand what the hell we're thinking most of the time.
This article from 2013 might give an indication on why some people choose FOSS even when they can afford the non-FOSS solutions:
The licensing. My God, the licensing. It's not so much the money, as the infernal, mind-bending tax code level complexity involved in making sure all your software is properly licensed: determining what 'level' and 'edition' you are licensed at, who is licensed to use what, which servers are licensed... wait, what? Sorry, I passed out there for a minute when I was attacked by rabid licensing weasels.
I'm not inclined to make grand pronouncements about the future of software, but if anything kills off commercial software, let me tell you, it won't be open source software. They needn't bother. Commercial software will gleefully strangle itself to death on its own licensing terms.
Agreed. This effects everyone, event At a simple user level. We have access to Adobe Creative Cloud at uni. Every time I walk into a new classroom, I need to go through the creative cloud academicc licence dance. Sign in, sign out, sign in again, Singh out again la la la.
Note that the Cloud resolves licensing in that you can’t consume resources you’re not licensed for (although “uncapped cloud” lets you consume resources that you don’t know are paying for).
I think you are overestimating how much most developers world wide are payed. Something like $150k+/yr might be something you can get in silicon valley but outside of the US this level of payment is reserved to a small number of senior developer.
Through that doesn't really change your arguments point.
Through I also would argue that while some companies are tightly coupled to docker desktop many others are not (and can easily migrate) or need to migrate to other tooling for other non-payment reasons.
If you only need containers (e.g. docker cli) but not docker desktop podman is already a drop in replacement in many case, one which in certain aspects is even much better to boost(*1).
(1): Through that is only on Linux and it's not a clear cut "this is better" but more a "subtle differences can make it much better but also worse depending on what you do/are looking for".
> If you only need containers (e.g. docker cli) but not docker desktop podman is already a drop in replacement in many case, one which in certain aspects is even much better to boost(*1).
> (1): Through that is only on Linux
If you only need Docker CLI on Linux, the open source version of Docker works fine, so you don’t need any alternative to the proprietary licensed Docker
The problem I saw firsthand in moving off Docker Desktop for Mac, is (last I checked) nothing else had as seamless networking and filesystem integration on Mac as Docker Desktop does. Funnily enough the Docker Desktop networking stuff is open source (VPNKit), but at the time nobody else seemed to have integrated it with the open source bits of Docker in a way which just worked.
With Docker Desktop for Mac, our Gradle scripts which created Docker containers on the Linux CI infrastructure worked unchanged on macOS. We tried moving to minikube or podman and with both we lost that
> you are overestimating how much most developers world wide are payed. Something like $150k+/yr might be something you can get in silicon valley but o
True.
Also these $150k+/yr devs are the ones that eventually roll out the next opensource docker replacement...
For my company which went from its internal hand rolled ticketing system to Jira, Azure, etc. the big issue is that our hand rolled system, even though it had limited features, was significantly more suited to our needs.
It was much faster, had the exact fields we needed, and the exact workflow we wanted. It provided email alerts using the rules thst made sense for us and did I mention it was ridiculously faster?
We went from a single developer probably spending a few weeks in a year to maintain/augment a ticketing system that worked really great for us, to paying hundreds of thousands for something that doesn’t work well at all.
Problem with this is false advertising. Often, you buy a tool because its website says can do A and B, and do does the sales rep. Then you deploy it and realize it really only does C, and if you squint at it hard enough you can kinda see A and B if you pay extra and spend months customizing it. Growth at all costs mindset makes companies lie do they don’t lose a single lead, then try to lock/beat them into submission and pretend this was always the agreement.
Sure. You take the two ladies who built and maintain your homegrown system and you run them through 6 months of training on Actions and Pipelines and Agents along with two other employees, then give them a Director and an official dept like "DevOps". Now you're ready for a new workflow. See all the hassle and money you've saved?
> that's nearly $200k in developer costs spent replacing a tool that's gonna cost your 250 person company $30k/year.
the 250 person companies are not building the replacement, the 2k+ ones will. And likely ones that fit their internal architecture better so there are productivity gains to be had on top of that
If you do the same math for a company with thousands, or tens of thousands, of developers, the answer looks different.
Large companies already have dedicated teams for stuff that is a lot less critical than the container runtime.
The companies that are too big to avoid paying, but too small to build a replacement, are the ones that are in a jam -- for now. But in a year or two, Podman or Rancher might might fully meet their needs. What should they do then? Continue to pay for Docker, or use a free and open source alternative that has feature parity?
$250k/yr/developer, so for 1 quarter, that's $62.5k, 3 developers for one quarter is $187.5k. Docker costs $10/mo, or $120/yr, so for 1000 developers, that's $120k/yr, or a payoff time of 1.5 years, assuming nobody ever has to touch anything ever again. Let's say our solution requires 1 developer-quarter per year to maintain - bugfixes, upgrades, deployments, etc. That's $62.5k/yr. That pushes our payoff time out to 2.5 years.
Let's say our solution causes a net decrease in developer productivity of 1% (our solution has a bug that means things are slow for a day, developers can't google for easy answers, developers have to port things into our system) - that's a minute of extra work for every ~2hrs. That's 1000*250k*.01, or a net drain to the company of $2.5M/yr, which effectively pushes our payback time out to "never".
Hell, we can even work the math the other way - for replacing Docker Desktop to be worthwhile, it's gotta cost less than $120/yr/developer. Developers cost $250k/yr, for call it 250 days of work per year, so $1000/day, or $125/hr, which means if the aggregate cost of our replacement to an individual user is even an hour per year, it wouldn't be worth doing for free. Add in the cost of actually having someone actually maintain our replacement product, and the math's even shittier.
A big mistake with this math is that globally developers are not paid anywhere close to 250k/yr even fully loaded for the company. In my country in Europe it's closer to 60k/yr fully loaded. There is cheaper. Also most companies aren't gonna build something from scratch, they are going to use something else that is also available. That being said this type of exercise is good to show because many managers do not do it.
Remember that Europe is quite large and not homogeneous. For sure wages are lower and less different between blue collar and white collar jobs, which is both good and bad.
We don’t know where the gp is posting from; btw in places like London or Berlin a dev can make 2x that figure.
On the other hand they do get free health care, free uni (if in the right country), a social safety net that you can actually live decently on and other services.
> Let's say our solution causes a net decrease in developer productivity of 1%
This is an extremely aggressive assumption, and affects the entire equation. What happens when you achieve parity in 1 month, because actually, docker isn't that important? nerdctl + containerd basically eliminate my need for docker in a work context. nerdctl only for my local development.
Tech companies with XX thousand employees already have dedicated infrastructure teams of all sorts. This math doesn't feel like it reflects reality of the marginal costs and payoff time.
The marginal costs of dedicated infrastructure teams is the legion of tickets that product teams want fixed first. The signup team hates that signups take seconds to process instead of milliseconds so there's desire to rebuild the batch job runner, the identity teams want you to make a richer capability-based authz system so that they can sell capabilities as a customer facing product, etc. These infra teams need to justify rebuilding infra like Docker against the marginal opportunities of creating new things for product teams.
I've had more productivity loss than that from docker's bugs and CPU/battery drain. We don't use docker in prod so why use it for dev? I need a container not this power hungry daemon and annoying UI.
As I type this my laptop is hot because docker needs to be reset and restarted.
This is what drove me away from docker in the first place - only to find there’s little alternative today. Honestly, the poor reliability of docker on any platform, for so many years, has tainted it in my mind and I will change in a heartbeat if something better comes along.
Interesting... My experience has been pretty much exactly the opposite, Docker just works flawlessly and it's the alternatives like podman and systemd that's caused me headaches and countless hours of wasted time.
I gave podman weeks of effort trying to get its “killer feature” to work properly (rootless containers). I couldn’t even justify the time for a hobby project. Instead, I just installed Docker and went on my way.
IMO they need to improve documentation and drop the facade that it’s 1:1 Docker.
Yep, I also spent a huge amount of time trying to get podman rootless containers working. It felt like what fusion progresses looks like, forever “just around the corner”, so I also decided to just stick with docker.
I did hit some kind of networking bug on a Linux server recently (in the past 2 weeks) which required a restart of the Docker daemon, and that is my classic personal experience. We went all-in on Docker Swarm several years ago, and we ended up having to do full server reboots on what seemed like a weekly basis. And I know I'm not alone in having loads of problems on MacOS - although I must admit it seems to have been a lot better recently.
That's strange, my developers run docker on quite old laptops and they are doing fine. Not mac's though, we running Manjaro Linux and no impact in performance.
But we uses docker engine, not desktop.
I had seen docker desktop runs in Qemu VM on non-linux os. That might be the problem and defeating the purpose of using containers at all.
One of the reasons I use Docker regardless of deployment is to verify it works on a machine that is not mine. Running it in Docker is a quick litmus test I have all made all the dependencies explicit. Also, a Dockerfile is potentially machine interpretable documentation on what you need to do to run the application. All of this has value before you even deploy anything.
There is not just cost to count. There is also value in having a custom solution that is well integrated into your other tools, and value in avoiding vendor lock-in. Large companies build a lot of their own internal tooling for those reasons.
Let's say there was no open source replacement (that's not true, or at least it's not going to be true when Podman and Rancher improve, but for the sake of argument...)
What would prevent Docker from doubling the subscription right now? Tripling it?
Assume 250k/employee ctc that’s $250M. Assume revenue is 2x labor cost and that’s 500M earnings. Typical revenue multiple nowadays is like 5, unless very high growth, so $2.5B valuation. Not exactly big but unicorn at least.
More users = greater need for dedicated support. A company that has tens of thousands of developers will need an entire team staffed up just to answer questions and troubleshoot issues with their homegrown Docker replacement, and the end result will be that the team gets laid off and the company just buys licenses because that is far cheaper.
It’s a bit different. The business pricing is 24 dollars a month, so with 150 employees you’re looking at 270,000 dollars a year for a MacOS desktop application.
Nobody seriously cares about docker hub. Nobody cares about the SSO, or the access management, or SCIM. Nobody uses anything but the app that makes it simple to run stuff in MacOS. That’s not worth 270k a year.
The math doesn't make sense, and that's why Docker is both successful now, and why the parent comment to yours is flawed.
Always bear in mind that when "the Internet" complains about some minor price issue, it's usually individuals who are responding.
Individuals tend to have limited cash, and all decisions are cash. They are time rich and cash poor. They run Linux on the desktop over Windows to "save money". [1]
Most companies though are cash rich and time poor. If they can outsource a task for small money then they will. Yes, there's a place where the outsource cost is too high, but that's really high. They run windows on the desktop because that saves time. They'll continue to use docker because switching costs a lot of time.
So Docker will do just fine. Companies are more than happy to spend money. See AWS as exhibit A.
[1] there are many reasons to use a Linux desktop, saving money is the least interesting.
Its not devs buying these tools in a company context, and devs are not on universally high salaries.
I made the point before that these little costs rack up quickly, I can speak to my costs:
Gitlab: 19/m
Docker: 24/m
Slack: 12.5/m
Copilot: 19/m
Office: 12.5/m
Tailscale: 15/m
oslash: 6/mo
pagerduty: 41/m
Jira/Confluence: 26.25/m
Calendly: 16/m
Bonusly: 4.5/m
Snyk: 98/m
Figma: 42/m
Lens: 20/m
Postman: 29/m
Sourcegraph: 99/m
Jetbrains: 1xIDE: 23/m
or:
Jetbrains: All: 78/m
This is obviously a non-exhaustive list, and isn’t the highest subscription tiers; its the first ones offering SSO, or that permit a mid-sized group.
That doesnt take into account other specialised tools like Perforce (huge cost) or Teletrik: $1,299/y
This also doesn't take into account that you sometimes need to buy seats in batches of 5, or if you have an overlap of people for even a day that then you must buy a license for the whole period.
So there can easily be overages.
So, $490~ is the minimum per seat cost in my org, (there are other licenses that I cant think about right now, including docusign for example, and it doesn't include perforce).
That already represents about 19% of a monthly take home salary for the median developer in Sweden.
You either need these tools to make engineers, sales and other people to provide value and generate revenue, or you don't.
> That already represents about 19% of a monthly take home salary for the median developer in Sweden.
Firstly, what's take home salary has anything to do with this? Are Swedish developers paying for these tools out of their pocket? These are business expenses. It's disingenuous to use that number.
Secondly, so what? How much do you think it costs for a pilot to fly a plane? The software they need? The hardware they need? While developer needs a $1,000 MacBook and a few optional double digit monthly expenses to generate insane value.
Again, this list is exactly why I don’t want to sell to developers. Because from business point of view these are such minuscule $20 p/m expenses for the value they provide, especially for one of the most highest paying employees these days. And if you think they don't provide enough value, you just cancel the subscription.
It's the cost of making business. And compared to other industries, we in tech are spoiled and we have it very easy.
> what's take home salary has anything to do with this?
you are moving the goalposts. You say that devs are overpaid, therefor time saved need only be a few hours to make back the money. I assert that this isn't universally true (that devs are paid well) and that it must apply to all developers (and everyone developer adjacent)
> $1,000 macbook
Nobody is using a $1k computer in the west. Not sure what that is meant to signify either.
> It's the cost of making business.
If you were a hairdresser and you had to pay a new license for every person who touched the chair, then you would have a parable. As it stands we have a lot of per-seat licensing and an SSO tax designed to get the most money from business customers, the result is that a lot of businesses (where dev costs are lower) simply cant (or wont) pay for every little tiny tool- even if it was priced in a reasonable way, because handling the purchasing and buying the license for the seats you need becomes a full time job.
Very often the point is that you have to buy seats for everyone (including non-technical employees) on the same plan if you want to cooperate on these platforms. Very soon it gets expensive. It doesn't make much sense to count the individual license for Jira (but it makes sense for Jetbrains).
Whether you buy it, borrow it or build it; you’re locked in to the chosen solution.
Homegrown solutions are often harder to escape from than commercial or FOSS solutions.
It’s sometimes easier to escape from one commercial solution to another as companies will provide migration tools and docs as part of their competitive strategy.
You can mitigate solution lock-in through good architecture, but you can never eliminate the cost of change.
Of course there's a cost. It's just - in my experience - a lot smaller, when you aren't forced to pay subscription fee along the way.
Example - I was working with jira server for several years at pretty small company. As business grew, there were better and worse moments and sometimes there were more important costs, than another yearly support fee.
Atlassian decided to drop this model and tries to force everyone to the cloud. They say that migration will take 9+ months.
That means if they ever do such change again it will take full annual cost of the license to get rid of them, with no option to avoid it.
You're always locked in, so you need to make sure that you can adapt it as needed. Either because you already own it (homegrown) or because you're prepared to take ownership if needed (FOSS done right).
For commercial software (or FOSS-as-appliance) then you're stuck going along wherever your vendor wants to take you.
What is interesting to me is how much of that can be self-hosted, and how easily. An ops team is expensive, but so is $490/seat-month. Some of the things you mention are really easy to replace — I am thinking Git hosting locally, replacing Slack with Mattermost, Docker with Podman, Buildah & a container repository, Postman with restclient or Jetbrains with emacs — but for several of them there really aren’t good free alternatives.
You are not taking into account that big corps prefer to buy because it is also a way of doing risk management. You can make legally binding agreements with penalty clauses with suppliers. You can't do that with your own employees, which means you have to know how to hire great people and have the opportunity to pay them well, which is non-trivial.
But what are the costs of the alternatives? Not buying anything or rolling a DIY solution? This holds for any employee. Office chair isn't free either.
There are many $1,500 per seat subscriptions that could be purchased by themselves. They usually offer some unique business value and are worth it but when free products exists that are as good or better not using them is lazy. Some services like bonusly should not be per seat.
These are costs that you have determined are worth it. You don't have to pay for Postman if it's $29 a month, but it clearly saves you >$29 a month of productivity. You feel that Bonusly reduces your turnover just enough to be worth $4.5 a month.
Not saying that people couldn't make licenses a bit more friendly. But saying it's expensive to purchase tools you could just not purchase if they weren't worth it doesn't make sense.
I think the main point is that “it’s only 10 dollars s month” is a bad argument. Yes, it can be worth it, but there are gigantic swaths of things that could be worth 10 dollars to purchase and a company is only going to be willing to pay for so many of those. Postman doesn’t just need to be worth 29 dollars a month in productivity, it needs to be worth more than everything else I could convince the organization to spend 29 dollars a month on at this point in time.
Especially in this industry where you’re inevitably in competition with free software as well.
I rather give $5/month to the guy developing the open source alternative to whatever you want to sell. The FOSS version does not depend on trapping me into an infinite subscriptiom treadmill.
Of course, this doesn't count the time wasted troubleshooting why your $9/mo piece of garbage doesn't work, or finding out that it never even tried to deliver on its promises. Or the time spent replacing it when you decide to 3x the price out of the blue. Or maybe you just decided to sunset it out of the blue because you got bored?
In my experience it’s not developers who balk at such fees. Management gets very nervous about every $5 and $10/month tool that folks want to use and regularly insists on trimming seats.
And people (including developers) aren’t always rational actors that act logically. Rightly or wrongly, there is a sense of fairness at play when something that was once free is no longer free. People aren’t entitled to a free lunch, but once you have it, it’s hard to take it away. Things like this can make even the most logical people act counterintuitively.
Docker charges $10/developer/month. Those developers are paid $150k+/yr, fully loaded to the company (insurance, taxes, accounting, etc) is probably double that, but call it $250k/yr to be nice. You take 3 developers and have them spend a quarter on replacing Docker Desktop, that's nearly $200k in developer costs spent replacing a tool that's gonna cost your 250 person company $30k/year.
Docker wants you to pay $10/mo to make your $20k/mo developer more effective, and companies in our industry would rather spend several months of developer time building an alternative that they'll have to support forever and teach every new individual coming into the company how to use.
For a group that seems to pride itself on math and logic and whatever, I don't understand what the hell we're thinking most of the time.