Linked by Andrew Hudson on Mon 20th Jun 2011 17:19 UTC
BeOS & Derivatives Haiku Alpha 3 has been in development for more than 14 months. In that time more than 800 bugs have been identified and fixed, major sections have been updated, applications have been added and updated, and great progress has been made in supporting additional hardware. Here is a summary of updates, more details can be found here. Also inside, interviews with some core Haiku developers.
Permalink for comment 477862
To read all comments associated with this story, please click here.
A rant about package management...
by Halo on Mon 20th Jun 2011 18:19 UTC
Halo
Member since:
2009-02-10

A long rant about Haiku's proposed dependency resolution follows, ignore it if you're not interested...

I lost whatever interest I had in Haiku when they announced they were adding a package manager with dependency resolution. It was the last nail in the coffin for me. Windows, Mac OS X, Android, iOS, and WebOS don't do it, and there's a reason for that. Dependency resolution is user unfriendly and completely unnecessary unless the OS consists of a web of interweaving dependencies rather than a single coherent whole and needs to be retrofitted into an existing platform (i.e. Linux).

The disadvantages of dependency resolution massively outweigh the advantages. The advantages are saving HDD space and bandwidth (increasingly a non-issue in the 21st century, and in practice only marginally beneficial with different versions) and security (libraries can be updated at once but that's a minefield in itself: do you risk your applications being broken by an update out of your control?), the disadvantages are encouraging a web of open-source external dependencies (and, as a consequence, encouraging ports of open source Linux software rather than native applications), and huge amounts of developer and user complexity. The last one really is the killer from my perspective.

A great desktop operating system would let you download any software as a single file and run it by double clicking. You should be able to 'install' it by copying that file into an 'apps' directory, and uninstall it by deleting the file. Moving applications from one PC to another is a matter of copying that single file. An update mechanism could be provided by including an update URL in the metadata and including a software updater in the OS. Any package manager would simply be a simplified 'official' way of downloading applications - nothing more, nothing less. Really, really simple and intuitive.

Providing multiple entry-points for CLI apps would be messier, but could still be done with packages by putting them in their own directory, listing the entry-points in metadata, and making them accessible either via './package/blah' or globally via a PATH variable (this would require metadata and keeping track of directory changes, but Haiku's FS has the functionality to deal with that anyway). It's a bit more complex but users of CLI applications will almost certainly be able to grasp it.

All of this is feasible and is conceptually really simple and really user-friendly. Instead, Haiku is implementing something much more complex inspired by what's absolutely necessary in Linux due to a distributed development model and backwards compatibility. They're developing a complex application mostly from scratch with its own UI paradigms to do functionality that could potentially be done with files in Tracker. Madness. I can't imagine Be doing that if they were still around.

Edited 2011-06-20 18:32 UTC

Reply Score: 5