Bugs happen, though. Especially in Python.
Bugs happen, though. Especially in Python.
The license they agreed to in order to use this library has this in capital letters. [THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND].
After agreeing to this license and using the library for free, they charged people money and sold them a service. And when that library they got for free, which they read and agreed that had no warranty of any kind, had a software bug, they wrote a blog post and blamed the outage of their paid service on this free library.
This is not another open-source project, or a small business. This is a company that got billions of dollars in investment, and a lot of income by selling services to businesses and individuals. They don't get to use free, no-warranty code written by others to save their own money, and then blame it and complain about it loudly for bugs.
It's still their fault. When you ship code, you are responsible for how that code behaves regardless of where the code came from.
How many people make sure all of the open source libraries they're using are bug free?
Anyone besides maybe NASA?
Usually "fix the original library" wasn't as easy or immediate a fix as "hack around it" which is sad just re: the overall OSS ecosystem but still the person releasing a product's responsibility.
Unfortunately these sorts of bugs are wildly difficult to predict. Yet it's also a wildly common architecture. That's what's sad for all of us as engineers as a whole. But "caching credit card details and home addresses", for instance, is... particularly dicey. That's very sensitive, and you're tossing it into more DBs, without good access control restrictions?
It's a definition most laypeople use. It's developers who tend to use a very narrow definition.
I don't think it should be controversial to say that when you ship a product, you are responsible for how that product behaves.
Alternatively, they knew about it, and didn't fix the bug until it bit them
as opposed to...?
In my experience errors are more common (for both cultural and technological reasons) in Python than in Go.
I would guess something similar applies to Rust, though I don't have personal experience.
There's wide variation in C, but with careful discrimination, you can find very high-quality libraries or software (redis itself being an excellent example).
I don't have rigourous data to baack this stuff up, but I'm pretty convinced it's true, based on my own experience.
Certainly none of those are widely used and have a reputation for making it easy to keep the gun aimed squarely at the foot.
So compared to ones like Kotlin or Rust.
> Especially in Python.
made me unvote.