5 ms·
> (at least I think they are mistakes) > Because there are approximately 200 Linux distributions that already went that route and they're not particularly usefu
by waddlesplash 8y ago
> (at least I think they are mistakes)
> Because there are approximately 200 Linux distributions that already went that route and they're not particularly useful dekstop OSs either
I think the mistakes of Linux are having a system that "stacks up" components without any overall design philosophy or any sort of vertical integration. In my days before Haiku, I used Linux a lot, and was continually frustrated with how every upgrade audio would break, or the video codecs wouldn't play audio, or ... well, a lot of other issues that were fixable, but every time I had to edit a config file or rebuild something myself was very annoying. That's why Linux isn't a useful desktop OS for me, not because of the package manager, which actually makes it somewhat tolerable.
Haiku doesn't have those issues: if something doesn't work, it's our fault, not the kernel team's fault, or the X11 team's fault, or the alsa team's fault, etc. And that also means we can design the interconnections between these systems to be slimmer and more efficient than Linux did, since they need to support "component swapping."
> Yes, exactly. You like package management because it makes your life easier, not because it makes the system simpler, and not because it provides more flexibility for the user.
Yes, it makes my life easier as a developer. But it also makes my life easier as a user: Why am I going to go search a website I barely trust for a zip file that I extract and then add symlinks to? I much prefer the one-click-install model, thanks, and I know a lot of users that do too.
I don't know what flexibility I've lost that. As I've said above, I can still install packages in `~`, and extract them if I really did want to put it somewhere besides that. So what can I not do now that I could before?
> If an OS wants me to use it over something else then I need compelling reasons.
> Perhaps that's part of the reason they have so few desktop users. I can only speak for myself here.
For me at least, as well as most Haiku users I know, the reasons are the ones I outlined above, not the package manager.
- AnIdiotOnTheNet 8y ago> I think the mistakes of Linux are having a system that "stacks up" components without any overall design philosophy or any sort of vertical integration. [...] That's why Linux isn't a useful desktop OS for me, not because of the package manager, which actually makes it somewhat tolerable. I agree, but I think the reason Linux is this way, where everything depends on multiple other things even while they frequently break and have no integration, is at least in part because of the reliance on package management. If Linux had a stable base set of shared libraries developers could depend on and applications were distributed as appdirs, then developers are disincentivised towards non-base-system dependencies because they'd have to include them. You could then use what few advantages shared libraries offer (security updates, slightly less wasted space) for the most important things in the system while still allowing the simplicity and flexibility offered by applications just being a folder. > Yes, it makes my life easier as a developer. But it also makes my life easier as a user. Sure, as long as you only ever want to work within the confines of what is provided by the package manager. There's a difference between "easy" and "simple". I prefer "simple" because it can be understood and reasoned about and conformed to my use case. "Easy" requires the system to try and understand what I want, and we know how well that works for youtube, netflix, and amazon recommendations. > I don't know what flexibility I've lost that. As I've said above, I can still install packages in `~`, and extract them if I really did want to put it somewhere besides that. Can you put an application on a USB drive, take it to another Haiku system, and run it from the USB drive without installation? Can I have 3 different versions of the same application, each on a different volume? Can I created a folder hierarchy and place applications in it according to my own organizational criteria? If so, maybe Haiku's packaging system isn't so awful. I expect that isn't the case except for a handful of applications though based on what you've said previously.
- waddlesplash 8y ago> is at least in part because of the reliance on package management. If Linux had a stable base set of shared libraries developers could depend on Except in saying that, you're completely ignoring the fact that X11 by itself requires how many different projects, all of which have different teams, goals, etc.? Just attempting to even get that would wind up in bikesheds at so many levels that it'd be impossible to do. But this has been Linux's problem since the 90s, it's not new at all. And Linux has always been "just a kernel." Even FreeBSD still has disagreements about what to put in the base system, and they did get along without a true package manager for a while, but not anymore. > Sure, as long as you only ever want to work within the confines of what is provided by the package manager. A few weeks ago I needed something the package manager didn't have. So I ported and made another package for it. I also ran into a BeOS app that still used the "appdir" model because nobody updated it, and it still worked. The package manager isn't "old magic" which must be "appeased" and "worked around." If it doesn't work, or it's missing something, we fix it. > "Easy" requires the system to try and understand what I want, and we know how well that works for youtube, netflix, and amazon recommendations. I've reiterated multiple times that you can forego the package manager and use the still-existing "easy" route if you'd like. Why does the package manager's mere existence cause a problem? > Can you put an application on a USB drive, take it to another Haiku system, and run it from the USB drive without installation? ... Yes. The executable bit still exists outside of packages, you know ;) You will need to manually extract said packages, and then set up the `lib` folder properly (just as app developers did for appdirs); and then this relies on the application using relative paths for loading data (which all should, because they can be installed in `~` as well, but I'm not sure we check for conformance on this point just yet.) You of course loose all the benefits of the package manager -- updates, etc. -- by doing this. But I guess that's what you want.
- AnIdiotOnTheNet 8y agoI don't think we're disagreeing on the problem with Linux Desktop here. The whole system is a patchwork of projects by different groups with disparate goals. > I've reiterated multiple times that you can forego the package manager and use the still-existing "easy" route if you'd like. Why does the package manager's mere existence cause a problem? Because when it is the official "way things are done", that will be relied upon and anyone not doing things "the way things are done" will be ignored and told to do things "the way things are done". See: any question on a Linux Desktop forum where the user wanted to do something out of the ordinary. Example: Try installing Visual Studio Build Tools to somewhere other than Program Files. It can't be done. It will install a few things to wherever you pointed it, but because "Program Files is where the programs go" someone at Microsoft hardcoded paths so it just dumps the majority of it in Program Files anyway. Another example: Try to get apt to download a package you already have installed, and all its dependencies, onto a USB drive so you can install them on a computer that doesn't have the internet. The developers never considered the possibility that someone would want to download software for a different computer. > Yes. The executable bit still exists outside of packages, you know ;) It isn't about the executable bit, it's about expectations. Someone hardcodes a path to something because that's where the package manager puts it and I'm SOL. > You will need to manually extract said packages, and then set up the `lib` folder properly (just as app developers did for appdirs); The difference of course being that the developers do it for an appdir, whereas now that is something I have to do as the user. > and then this relies on the application using relative paths for loading data (which all should, because they can be installed in `~` as well, but I'm not sure we check for conformance on this point just yet.) Precisely. It isn't the way things are done, so no one cares. It sounds like the hoops I'd have to jump through to make appdirs on Haiku might be less than what I'd have to do on Linux, which is nice, but isn't going to make Haiku any more attractive to me. After all, if I'm going to jump through those hoops I may as well do it on an OS with better hardware and software support.