Microsoft employee:
Hi, This is a high priority ticket and the FFmpeg version is currently used in a highly visible product in Microsoft. We have customers experience issues with Caption during Teams Live Event. Please help
Maintainer’s comment on twitter:
After politely requesting a support contract from Microsoft for long term maintenance, they offered a one-time payment of a few thousand dollars instead.
This is unacceptable.
And further:
The lesson from the xz fiasco is that investments in maintenance and sustainability are unsexy and probably won’t get a middle manager their promotion but pay off a thousandfold over many years.
But try selling that to a bean counter
Can someone enlighten me why a one-time payment of a few thousand for a bugfix is unacceptable? I feel like I’m missing something.
I think the maintainer just viewed the bug report as tone deaf. Microsoft is a trillion dollar company and apparently relying on this library without a support contract. Then they a open a high priority bug item. The maintainer saying it’s unacceptable is them basically saying they won’t prioritize any work unless there’s an existing support contract and that they don’t do one off payments for bug fixes, which I think is fair.
I think the maintainer just viewed the bug report as tone deaf. Microsoft is a trillion dollar company and apparently relying on this library without a support contract.
I think this mentality shows a clear dissonance between how maintainers are licensing their software and what are their expectations in terms of retribution from users of their software.
If they release a software package with a license that explicitly states that they allow the whole world to use it freely without any expectation if return, they cannot complain afterwards that some particular people in the world end up using it.
Likewise for bug reports.
If they want to get paid because the software they have been releasing to be used freely by everyone is being used freely by a specific company then they need to get their shit together and release it under a license where they explicitly state their terms. This is crítical for everyone involved, specially end users, because we need clarity on these terms.
I’m not really sure what you’re saying here. Microsoft have every right to fix the bug themselves and the maintainer has every right not to. Open source software doesn’t come with a warranty in most licensed.
I don’t think the ffmpeg maintainer is complaining that Microsoft is using ffmpeg, rather that they are opening “high priority” bug reports based on customer complaints. This might be a high priority problem for Microsoft but that does not make it so for ffmpeg.
The license allows Microsoft to use ffmpeg but they aren’t entitled to demand free labor from the project. Really, no one is entitled to do so, but Microsoft being a large company who can definitely afford to put money or talent on the problem makes it only that much more egregious.
edit: I would note that asking for help or reporting a bug is usually welcome, the problematic part is demanding help because it’s a high priority issue for YOUR customers.
Completely disagree. This is how it works, Microsoft get software for free but they have no authority to prioritise other people’s scheduling
There’s a difference between creating something and giving it to the world and being on the hook to help them solve their business problems. A libre or permissive license does not commit the person who released it to making it work for anyone, for any reason. It is in fact the first line in those licenses.
They don’t want to get paid for it being used. They want to get paid to continue working on it by people who need them to continue working on it.
Imagine if you gave away some old clothes to some Charity and they called you and said “Some of the socks have holes in them and we need you to come over here and fix those holes ASAP because we want to sell them in our used clothes store”. What would be your reaction to that?
The expectation of payment is not for the software (which MS already has and is already using, free of charge, same as everybody else), it’s for getting priority in bugfix and maintenance work, or in other words, it’s for dictating other people’s work rather than merelly getting the product of work they, of their own choice and in their own timings, did and gave away for free.
Free software is a social relationship, not a business relationship: the users get what they get because somebody chose to put their own time into it and is giving it out for free. Such relationship does not entitle the recipients of the goodwill of others to make demands on their time, especially if said recipients are actually profiting from what those other people gave away. If they want the right to get to use other people’s time as they see fit, then they have to get into a business relationship and that’s only going to happen in business terms that both parties are willing to have.
Further, nobody is stopping MS from using their own programmers to fix that problem themselves.
It’s not that Microsoft isn’t allowed to use ffmpeg, it’s that they start demanding quick service. When you use an open source product, you get what you get. You can politely ask for a fix somewhere, you can fix it yourself and make a merge request, but being amongst the biggest corporations in the world, you don’t go without a support contract yet make demands and then maybe toss in a few thousand dollars, that is just insulting.
Had this been a non Foss product, MS would have a support contract. This just shows Microsofts typical greed.
It’s one thing to just use the software, it’s another to open bug tickets that you expect the maintainer to prioritise. It’s free software, the maintainer doesn’t have to do anything for you. If they want tickets fixed with high priority, they should work something out with the maintainer.
That’s not even the issue. Nobody cares that MS is using ffmpeg. It’s just rude to have as much money as MS does, integrate ffmpeg into one of their core products, then apparently not know anything about it and file hilariously bad bug reports that are actually just support requests after never contributing anything back.
Like, I’ve used ffmpeg probably since it was released. I’ve never given the ffmpeg developers anything, and I expect nothing in return from them. They don’t know me, they don’t know I exist, they don’t know I use their software. I could not reasonably file a support request as a bug like they did and expect to be taken seriously. Why does Microsoft get to have this expectation when they behave the same way? They’re a big company who asked ffmpeg to do extra work to support MS’s ignorance and laziness, and they didn’t even offer an ongoing support relationship. They wanted to throw a few grand at ffmpeg once to make the problem go away. This is completely ridiculous.
If they release a software package with a license that explicitly states that they allow the whole world to use it freely without any expectation if return, they cannot complain afterwards that some particular people in the world end up using it. … likewise for bug reports
Literal nonsense. If someone abuses my bug tracker to act like a clown, I have every right to decline their support requests, even if I licensed my software open source. Nothing in open source philosophy requires you to bend over backwards to cater to every MS project manager’s poorly thought-out whims. You’re literally just making things up.
The problem isnt that ms was using it The problem is that ms wanted special treatment for free because of their timetable, which wasnt even ‘oh shit everything broke’ but for a fucking product launch as if the maintainers should care about that, treating a fucking charity like a contractor, and really highlighting how all this proprietary bullshit can only exist because of the work provided by open source people.
Microsoft needs to see serious consequences from the open source community for this.
There was no bug to fix, the PM didn’t keep up with developments in an (apparently) core dependency and was passing outdated arguments to ffmpeg. The fix was for the project to update how it was passing flags to ffmpeg. They’d rather spend the time opening a ticket on ffmpeg’s bugtracker and spend thousands of company money begging ffmpeg to help them, when MS is a massive corporation, is apparently relying on ffmpeg, yet has hitherto established no support relationship and also has developed no internal expertise on ffmpeg
They easily could have opened up the code and looked around to find the problem, or checked the changelog since an update broke it, or just rolled back to the last-known working version until they had time to figure it out, instead they just dumped it on ffmpeg’s doorstep like their hair was on fire. FFMPEG’s development model is explicitly that they iterate quickly and there are very likely to be poorly documented breaking changes between versions. It’s not one you pull a new version of casually.
Ok, this time I read the full ticket, so ….
- They used the software in compliance with provided license
- opened a bug report on the provided system
- cooperate with the maintainer to diagnose
- then when it was user error, they asked where they should have found the doc?
- then some asshole pasted a huge graphic in the bug report demanding money
I love to hate on Microsoft too, but I only see one asshole here
The point is that a multi billion dollar company, known for squashing and sabotaging open source projects, wants a bug fixed quickly. The open source software that they make big money from has an issue and they COULD just sponsor it, get a support contract, whatever, but instead they want priority because reasons?
If it was a random user, then whatever. The entire point is that this is not a simple random user.
A trillion dollar company using your product in one of their flagship products without a support contract can fuck right off.
Microsoft should be putting up money via the support contract to support the creators in maintaining and further development of their product.
A one off payment might be technically sufficient, it is not ethically or morally sufficient. And to put it in terms shareholders understand… support contract is cheaper than the cost of an alternative.
The maintainer is a human that needs to eat every day, and not just whenever their services are needed. So at least, the sum of money would need to be a few times higher than whatever labour the fix takes.
But then, the maintainer’s ability to fix these bugs doesn’t come from nowhere. They worked on this project for likely a long time, which would also need to be taken into account when agreeing on a sum.
Further, this would be business to business. And those contracts often include the value that the client gets out of the software. So if Microsoft makes billions from this open source library, then the maintainer’s - as a business - should receive a payment that reflects this for the fix.
All that implies that a few thousand is not nearly enough. Maybe 100k and the maintainer would budge.
The maintainer is a human that needs to eat every day, and not just whenever their services are needed.
That’s perfectly fine.
But the maintainer is indeed explicitly making his work available to the public for free and without any expectation of retribution of any kind, isn’t it?
And this isn’t exactly something new or recent or novel, right? That’s been going on for many years.
What changed? Did anything changed at all, even?
Companies hate giving out cash. Even if it’s for software they critically need.
Companies hate giving out cash. Even if it’s for software they critically need.
I think for most cases getting the cash is the easy part, and the hard part is getting all the paperwork in place to validate payments to random external entities. If that was easy, nothing would stop any low-level manager from making cash payments to random users with a GitHub account.
All of the other things you mention can be solved with money. In terms of the things that are easy and hard, this very much the former.
The real hard part here is whomever in charge of making the actual decision, to expense a pittance.
Fixing a bug for a fee will create a liability and obligations for the developer. Should you mess it up, Microsoft will have no issue burying you to save even just face.
I can see him getting into a long term relationship that could guarantee the projects survival long-term,(and you at least invest some money for a lawyer to tell you what your are signing on for). For something that would get a few months for the project not so much.