AppImage is Wasteful

So I’ve had issues with AppImage (and Snapcraft, and Flatpak, and whatever new flavor of the month versions exist) for a while. The arguments in favor are always the same, as are the rebuttals, and so on and so forth.

Snapcraft User: It makes life simpler!
Gray Beard: You end up with duplicate copies of libraries though.
SU: Who cares, disk is cheap!
GB: I still have to deploy to a server or whatever. And what about deploying security fixes if the bundled libraries are out of date?
SU: The important libraries like libc live outside the application, so your package manager deals with those. Besides, it’s not like code reuse is a thing anymore! Every application already uses a different {image,audio,windowing} library.

So I decided it was time to investigate for myself. I grabbed the AppImage of KDevelop because:

Continue reading

Sub-modules are the Devil

Sub-modules (or if you prefer mercurial, sub-repositories) are a popular method of dealing with complex dependencies spread across multiple repositories. In theory, you can develop libraries while developing multiple applications that use them (or more libraries), and you don’t have to deal with setting up your build environment beyond what it takes to do a simple build.

In practice they lead to lots of issues.

Continue reading