Great talk by Simon (probono) about the Linux desktop platform.
- Nobody wants to ship binaries for Linux, because there is no Linux platform, there’s hundreds of distros, further splintered into dozens of desktop environments.
- Windows and Mac are stable or at least predictable platforms. Linux is a constant moving target.
- Flatpak and Snappy try to solve this by bypassing the distribution’s platform and talking directly to the kernel which is fixed.
- The real OS (distribution) is essentially useless, it’s only there to show the desktop
- Each *pak carries its own OS
- A true platform is something that allows authors to run their stuff on top, not something authors need to apply to get their stuff into.
- all successful OSes are platforms
- linux distros are not
- example: Ubuntu prefers that devs ship their software via Ubuntu store; this is a lose-lose for authors and users alike
- We should cherish backwards compatibility
- devs should target the oldest still-supported distros, not the latest (learn from Firefox and OpenOffice)
- lib authors can’t “fix” version numbers, because distributions decide version numbers (crazy!); example:
libarchive.so.13
in Ubuntu - lib paths (despite FHS) are not standardized between distros
- same for certificates, basic libraries and other common components, all the way to basic image format libraries
- ELF run failure is very ungraceful
- Someone should come forward and set the common ground.
Simon is the creator of Appimage. He has a cool blog where he discusses platform usability issues. I especially recommend these posts:
- Linux Usability series (parts 1 through 6)
- Haiku series
- hello: Let’s make a FreeBSD for “mere mortals”