9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Ethan Grammatikidis <eekee57@fastmail.fm>
To: 9fans@9fans.net
Subject: Re: [9fans] There is no fork
Date: Mon, 12 Feb 2018 13:05:23 +0000	[thread overview]
Message-ID: <1518440723.631581.1267818416.51CB1908@webmail.messagingengine.com> (raw)
In-Reply-To: <CAHL7psE1e0wz9U=vN+1UjC_R3-_trMcpUHaNxJwLCm0tS5cncQ@mail.gmail.com>

On Mon, Feb 12, 2018, at 8:33 AM, Giacomo Tesio wrote:
> 2018-02-12 2:10 GMT+01:00 Ethan Grammatikidis <eekee57@fastmail.fm>:
>> linux-style package managers and bsd-style port trees facilitate and enable coupling.
>
> What a package manager really facilitate is version management.
> That is when you want to use/update a software at version X that depends on libraries at version Y and Z.

That's the marketing blurb, I've heard it a thousand times before. It's almost as bad as the things git fanatics say. It's taking one small part of the problem and pretending that this is the important thing which it makes easier. The problem I'm talking about is not one small corner of the situation, it's an effect of the reason package managers exist. They exist to make it easy to find and install dependencies. So, for the last 10-12 years, maybe more, mountains of software have been produced on the assumption that it will be easy to find and install all their dependencies. That's only true for users of big 'distributions' which have lots of people, a large professional team or many contributors, to create and maintain the package tree.

> The use of dynamic linking make this complex and cumbersome. Also a single filesystem hierarchy does not help

Dynamic linking is probably the largest, most visible part of the problem, but your saying this makes me think you haven't tried to compile very much software -- certainly not on anything other than Debian or a similarly large distro where, these days, you can get all the dependencies by pasting a line the package author provided. I have. Many packages weren't bad, but some were downright painful. The painful ones particularly included dependencies for otherwise nice programs. I'd get 2 or 3 levels down the dependency tree, and suddenly, chaos! I always want to cite freedesktop.org who seemed to be leaders in making it painful, but it's been 9.5 years since i had anything to do with compiling their stuff so I won't say too much.

> Plan 9 does not suffer of this problems because of several reasons:
> - it does not support dynamic linking
> - it is developed as a whole "batteries included"
> - few external packages have being ported to it, and people who use them know their stuff very well
>
> Plan 9 (and 9atom/9front) is developed and distributed as "a whole system": there is conceptually only one version for all the software and libraries included.
>
> Technically it's the simplest and optimal solution to the versioning problem.
> Indeed 9front uses a single mercurial repository (which is a versioning system) to manage both development and system updates.
>
>
> I carefully considered this approach for Jehanne too, but decided to try an alternative design.
> Obviously no dynamic linking will ever land in Jehanne, but I want to enable more external softwares to run on it.

Two or more years ago, a #cat-v regular found insurmountable difficulties running X statically linked with musl. Oh look, there's freedesktop.org again. I think it was Red Hat who had found a way to make it so hard, their name certainly came up. It's not the first time Red Hat has caused problems, they were doing it in the first release following their IPO, in 1998. My Bourne shell skills were almost permanently harmed by attempting to learn from their massively complex init scripts at the time. Looking back, the message is clear: "You can't cope with this on your own. Buy a support contract now!" Oh look, Red Hat pay Lennart Poettering's wages... and now everything depends on dbus and systemd! Supercomputer software which has no reason to do anything but compute its stuff now requires systemd's logger.

Thinking about this stuff makes me bitter, so I ought to stop now. It's possible the things you want won't intersect with the things which caused me trouble, but I think I have considerable reason for pessimism. I'd like to think there are enough people who don't want to be tied up in all this pain to create some semblance of a software ecosystem outside it, but when you consider that few people want to start from the ground up, and how poettering and fd.o have their tentacles in crucial parts of the posix-related ecosystem, it looks impossible.

I'm now sticking to systems which have nothing to do with posix, at least for hobby use. I have a couple of android devices, but almost no desire to program them directly. I've even got qemu on one of them. I do use an emulator with a 2-level dependency, but if it had taken more than a tiny bit of effort to set up, i would have dropped it and used something else.

--
The lyf so short, the craft so long to lerne. -- Chaucer



  reply	other threads:[~2018-02-12 13:05 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-10  2:48 Benjamin Huntsman
2018-02-10  4:24 ` Lucio De Re
2018-02-10 10:43   ` Ethan Grammatikidis
2018-02-10  4:43 ` Jens Staal
2018-02-10 10:46   ` hiro
2018-02-10 10:51     ` Ethan Grammatikidis
2018-02-10 11:59       ` hiro
2018-02-10 14:54         ` Ethan Grammatikidis
2018-02-10 12:03       ` as
2018-02-11 12:26 ` Giacomo Tesio
2018-02-11 13:48   ` Rui Carmo
2018-02-11 22:40   ` Lyndon Nerenberg
2018-02-11 23:48   ` Benjamin Huntsman
2018-02-12  0:20     ` Giacomo Tesio
2018-02-12  0:58       ` Benjamin Huntsman
2018-02-12  1:10       ` Ethan Grammatikidis
2018-02-12  8:33         ` Giacomo Tesio
2018-02-12 13:05           ` Ethan Grammatikidis [this message]
2018-02-12 13:39             ` Lucio De Re
2018-02-13 13:59               ` Ethan Grammatikidis
2018-02-12 15:21             ` Giacomo Tesio
2018-02-12 15:50               ` Chris McGee
2018-02-12 16:13               ` tlaronde
2018-02-12 18:51                 ` Steve Simon
2018-02-12 20:40                 ` Giacomo Tesio
2018-02-12 23:49                   ` Benjamin Huntsman
2018-02-14 13:17               ` Ethan Grammatikidis
2018-02-14 13:57     ` Erik Quanstrom
2018-02-12 23:48 sl
2018-02-13  3:06 ` Lucio De Re
2018-02-13  9:31   ` Rui Carmo
2018-02-13 10:43     ` Lucio De Re
2018-02-13 11:05       ` hiro
2018-02-13 11:07         ` hiro
2018-02-13 11:13           ` hiro
2018-02-13 13:45           ` Lucio De Re
2018-02-13 14:35             ` hiro
2018-02-13 16:09               ` Lucio De Re
2018-02-13 15:10         ` Rui Carmo
2018-02-13 15:22           ` Lucio De Re
2018-02-13 16:25           ` Kurt H Maier
2018-02-13 17:01             ` Rui Carmo
2018-02-13 18:12               ` Kurt H Maier
2018-02-13 18:21                 ` Rui Carmo
2018-02-13 19:10                   ` Kurt H Maier
2018-02-13 23:37                     ` Rui Carmo
2018-02-14  9:09                       ` Steve Simon
2018-02-14 11:10                         ` Lucio De Re
2018-02-14 11:32                           ` hiro
2018-02-14 13:53                             ` Ethan Grammatikidis
2018-02-13 19:14                   ` hiro
2018-02-13 18:16           ` Steve Simon
2018-02-13 18:46             ` Bakul Shah
2018-02-13 14:15 sl
2018-02-14  0:31 sl
2018-02-14  7:18 ` Rui Carmo
2018-02-14 14:37 sl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1518440723.631581.1267818416.51CB1908@webmail.messagingengine.com \
    --to=eekee57@fastmail.fm \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).