[haiku-development] Re: software organization/installation

  • From: David McPaul <dlmcpaul@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 16 Feb 2009 14:28:39 +1100

On 2009-02-16, Francisco Castro <fcr@xxxxxxxxxxxxx> wrote:
> On Sunday 15 February 2009 20:54:20 David McPaul wrote:
> > Unfortunately,developers are unable to create shared libraries that
> > maintain backward compatability
>
> This is not true, there are a lot of backwards compatible libraries. And if
> the library does not maintain backwards compatibility, the developers should
> increase its major version numbers. Libraries with different version numbers
> can coexist in the same system. This works in the un*x-like world.

And there are lots that don't.  I spent years supporting systems that
required not just a specific library version but a specific dated
library version.

> > and it is too easy to replace a newer
> > version with an older version and so break apps.
>
> That's one of the reasons of why it's needed a package management system.
> >
> > Having 1 directory for all libraries leads to dll hell and without a
> > good installer, dependency hell
>
> A good installer is needed.
>
> It's my opinion that the installer should be part of the package management
> system, the same with the "uninstaller" and the "updater".

For applications I really really really like to just drop the folder
where I want and set a link to the app.

For low level system type objects (drivers etc) an installer that
shows me what it is installing.

> > Having a library folder per application wastes some disk space but the
> > user and developer knows that the application will just work out of
> > the box.
>
> Not only disk space, but also more RAM.
>
> > If the library needs updating then the developer is likely to release
> > a new version with the new library after appropriate testing.
>
> And more network bandwidth every time you update them.

The disk space, ram and network issues are non events.  I could run
hundreds of duplicated libraries and not notice the ram let alone the
disk space.   The network usage also would not register.

There ARE times when you need every byte accounted for.  Haiku is not
targeting those platforms.

> > The end user is also welcome to run a query to find all locations of
> > the library, replace them with whatever they found on a russian web
> > site and cross their fingers. :-)
>
> You should realize that small programs depending of huge libraries are common.
>
> Libraries must be shared between applications.
>
> And there should be a central repository for these shared libraries.

If a library becomes so useful then get it moved into the OS so it
becomes something everyone can rely on being there.

-- 
Cheers
David

Other related posts: