On 2011-02-28 at 06:46:31 [+0100], Zenja Solaja <solaja@xxxxxxxxx> wrote: > Hi all. > > Even though I'm not an active developer (with the exception of 3dmov and a > handful of patches, I'm ashamed that I didn't do more), I'm just throwing an > observation into the community before disappearing under my rock again. > Over on the development mailing list there is talk about the damages caused > by an update of libcurl, and how a point release broke so many apps. This > is the sort of thing we used to mock Linux with - the never ending > dependancy "whack-a-mole" game. During the great package management debate > of 2011, so many users (not developers) were very vocally against package > management, for the very same reason libcurl demonstrated. This comment is just unfair: you can't blame a not-yet-existing package management system for the problems caused by inappropriate software building infrastructure. It's precisely those shortcomings of our current build infrastructure that we hope to solve by providing a decent package management system. Anyone who believes that the situation would be better when there is no decent packaging infrastructure is basically just kidding himself. All software would have to published as some kind of bundle and, judging by the quality of the software that used to be available on BeBits, that's not an advantage. Building software with dependencies is difficult, so it's not going to help to insist on not offering any support for that. > The only time > package management works is when the packages are strictly controlled by the > core developers. Any other package / library which is not a core component, > doesn't belong on a Haiku distribution. If Haiku adopts this policy (core > component), they we have to rethink why we even need a package management > system? I don't think so, no. It's very simple to say that everything that's not a core component doesn't belong on a Haiku distribution. If core components are the ones controlled by core devs, it's easy to see that these are just the components living in our repo (i.e. the kits). If we'd actually follow this, there wouldn't be any subversion available for Haiku, nor would WebPositive be part of a Haiku distribution (as the latter depends on libcurl and sqlite). Now even if we'd come up with a full set of components that would allow it to put all "expected" software (WebPositive, Pe, ...) on a Haiku distribution, the whole concept would break down at the very point when a user wants to install another application that requires components that are not part of Haiku. At that moment, there's just the choice of leaving the user out in the rain or giving some support for installing software. On OS X, the missing support for external software has triggered MacPorts and Fink, both of which are just some form of package management. > Core components ship with the base install of an OS, it's not > optional. Effectively, Haiku doesn't need a "officially supported" package > management system. What it does need is an update of core components > mechanism. Well, if our own package management system wouldn't be "officially supported", someone else would just come up with something like MacPorts/Fink. To the user, that doesn't really matter, but what matters is the opportunities he/she/it has for installing external software. Internally, we (the core devs) need a system for managing all the packages that Haiku depends on anyway, both those that live in our repo and those that live outside. So, we implement a package management system and establish some rules for building packages. IMO, it only makes sense to extend this system for non-core components, too. In order to keep core components separate from all the other stuff, we will most likely publish them in two different repositories (for instance 'haiku-core' and 'haiku-extra'). cheers, Oliver