6 ms·
The open source model expects apps to be open source. And if they are then an app can be recompiled to support new library versions. It is the hybrid open sour
by magpi3 7y ago
The open source model expects apps to be open source. And if they are then an app can be recompiled to support new library versions.
It is the hybrid open source library / closed source app that causes problems like this.
- wolfgke 7y ago> It is the hybrid open source library / closed source app that causes problems like this. There can exist good reasons to deliver the application as binary even though it is open-source. The difference rather is: Microsoft cares about binary compatibility while the developers of userland libraries on GNU/Linux do not.
- JetSpiegel 7y agoMost distros are distributed as binaries. But since the source is available and the licenses allow distribution, it's much easier to just recompile the thing. Binary compatibility is not valued if you can just recompile the source. Why waste brain cells maintaining compatibilty when the compiler can bake you a new compatible binary?
- badsectoracula 7y agoBecause your users might be actually using more software than what you deem worthy to put in your distribution.
- JetSpiegel 7y agoMost, if not all, distros have no vendor-level restrictions on repository choice, you can make your own.
- thedudemabry 7y agoAgreed. As a former MS-focused engineer in a previous life, I was constantly surprised by how many executables just continued to work 20 years after authorship. It's a different set of tradeoffs than other OSs have made, but a really remarkable one.
- magpi3 7y agoGog.com makes their living specifically by updating games that no longer work on modern versions of Windows.
- badsectoracula 7y agoHaving the source code will not help you when the APIs change - see SDL1 to SDL2, Gtk1 to Gtk2 to Gkt3 -soon- to Gkt4, Qt1 to Qt2 to Qt3 to Qt4 to Qt5, etc and all the desktop environments and tons of applications wasting their time "upgrading" from lib version N to incompatible lib version N+1 because the lib's developers do not care about their users (both in the end user and library user sense) and broke backwards compatibility), just so that these applications will do the exact same thing, just now with a different API. No, backwards compatibility isn't something you solve with open source, open source is perfectly capable of breaking it in all the fabulous ways possible as has been already demonstrated many times. Backwards compatibility is something you solve by actually caring about it when you are designing your version N+1 library (and preferably, even when designing your version 1 library's API to allow for it).
- ForHackernews 7y ago> Having the source code will not help you when the APIs change Yes it will! If it's free software, you can update to use the new APIs!
- pantalaimon 7y agoDeveloper time is neither free nor infinite.
- silversconfused 7y agoYour personal dev time is as limitless as your desire allows it to be.
- magpi3 7y agoIn a Linux distro you specify dependencies by library version and you are never required (as far as I know) to upgrade to a new major library revision. Games compiled for SDL1 are not required to upgrade to SDL2. There are some absolutely ancient games (Xgalaga for example) that I used to play on Linux on 1996 that still play just fine today on my Debian machine.
- DannyBee 7y agoErrr 1. users needing to think about recompiling things is definitely not the experience they want 2. It assumes the compiler, runtime, etc don't change API ever. It also assumes the libraries don't change API ever. Or don't change implementations of existing APIs in incompatible ways. Instead, both happen all the time. Having source doesn't fix this. Distros don't fix this either unless the only stuff you use is in the distro (and even then they still get it wrong).
- Wowfunhappy 7y ago> users needing to think about recompiling things is definitely not the experience they want I think the intended OSS experience would be for users to get everything from their distro’s repository, whose packages get recompiled by the distro maintainer. I agree this doesn’t work in practice, but there’s a reason Debian tells people to only ever use packages from their official repos.
- DannyBee 7y agoI mean I get it, but it's somewhat ironic given how often i see folks making fun of Apple/et al for saying people are holding it wrong, yet if you look at the other comments in this discussion, it's literally the same thing.