My biggest takeaway from this fiasco was when a repo maintainer (he was libav) changed ffmpeg to libav in the Ubuntu (or was it Debian?) repositories.
That was a lesson that distros and their repositories are walled gardens just like the various application stores over in the mobile world, curated strictly at the whims of certain individuals or organizations.
It gave me a newfound appreciation for the "just find, install and run whatever whenever wherever" gung ho attitude found in Windows (and to a lesser extent MacOS and Android).
Many people (myself included!) were first amazed by how easy and how much software was @ “just there” for Linux - and apt-get or rpm or emerge and you have what you want.
It’s much later that you realize that someone is doing the work to keep those working, and decisions are being made all the time about which version, which project, etc.
The one I first really noticed was MySQL being silently replaced with MariaDB.
It's too often the software from Ubuntu or Debian repositories is outdated.
For example, Python, Docker, Rust, ClickHouse, Go, and Node.js - all have some versions in Debian, but the common knowledge is to ignore them and always install the official version instead.
It depends on what you want to do. If you want to set up a system and let it maintain itself, stick with the repository version. Upstream versions tend to allow breakages and major version upgrades that make running standard system updates a chore.
Upgrading Node is especially annoying because once you upgrade the default Node binary, you can never get repository software that depends on Node to run reliably again. Everything needs to be installed through NPM from that point on or you'll inevitably get compatibility errors. That also means that you need to change your update procedures, because security and stability updates are no longer taken care of automatically, and that means reading the docs of all the packages you update to look for breaking changes.
If you're doing development, grab the latest upstream versions. They've probably got more features you want, at the cost of having to do the occasional config/setup update.
If you want the latest of the latest of everything, you'll want to switch to something like Arch (or its derivatives) or set up a system separating the upstream tools from the system tools.
It's similar to the Ubuntu release cycle: don't run the rolling release on a server, probably don't run the LTS version on your dev machine.
As a user trying to debug commands suggested on internet didn't work because your version of ffmpeg wasn't actually ffmpeg was kind of insane. And that might be because other applications assumed that "ffmpeg" wasn't something else.
I agree with your sentiment but this is one step further, more akin of active sabotage. How ubuntu just went along with this is beyond me.
That was a lesson that distros and their repositories are walled gardens just like the various application stores over in the mobile world, curated strictly at the whims of certain individuals or organizations.
It gave me a newfound appreciation for the "just find, install and run whatever whenever wherever" gung ho attitude found in Windows (and to a lesser extent MacOS and Android).