Why is it so hard to find updated end-user software on the official repositories? [closed]

Why isn't it easier/possible for software developers to update their own software on the Ubuntu repositories?

Software developers update their software regularly. That's why you found a new Calibre version. However, they don't directly push their updates to the Ubuntu repository. The reasons are already given in the answers you linked with your question.

They can't always provide PPAs as well because that would add an extra burden on them. They would then need to provide packages for several distributions. And don't forget there are several Non-EOL releases of each distribution! If they want to provide a package for Ubuntu, they would be required to create one for 16.04, 14.04 and probably 12.04. Then Fedora, Debian, Arch Users start complaining! That is not easy! That's why PPAs are usually provided by third-party maintainers.

However, there is another alternative approach to provide the latest softwares for end-users developing these days. It is packaging every component of an application in a single file. They run mostly in an isolated environment like in a container and don't need to be compatible with the current libraries installed in the system. For example, you can run gtk-3.20 application in Xenial which packaged mostly with 3.18 components.

But they have their problems too! (See footnotes)

Some of the approaches are:

  • AppImages
  • FlatPak by Gnome
  • Snap by Ubuntu

Ubuntu maintainers have more stuff to do than keeping up with all software releases in-between Ubuntu versions?

Ubuntu maintainers try hard to meet the milestones for each release. To keep Ubuntu stable, they need to make sure every package works as expected. For example, recently a question was asked here about getting latest KDEConnect 1.0 in Ubuntu 16.04. But it revealed kdeconnect 1.0 requires Qt 5.6. To give them Qt 5.6, they need to ensure other packages in the official repository works well with it. That means, re-building, re-testing of all KDE-packages, which is really a huge task.

If you need latest, cutting-edge softwares, you can try using rolling-release distributions or the other single package approach mentioned earlier in the question.


Some problems with Single File Packaging:

  1. They are usually bigger in size (because they package everything needed)

  2. Installing them make your system bigger, because there will be several copies of same libraries in your system used by each package.

  3. These packaging format requires the package maintainers to test the integration with libraries themselves. This is an extra burden on them. With apt, yum approach, they are only bothered with the core-application. They could simply assume lib-gtk-xy-1.5 is available in the distribution.

  4. Again, by same reasoning, package maintainers will now be bothered with bug reports related to libraries included in their package. In traditional approach, this was the job of maintainers of that specific lib package.