Followup discussion in IRC

IRC, freenode, #hurd, 2011-05-15

<LibreMan>
ArneBab: hi, I read the hurd rant by flameeyes and your response ... I'm following Hurd for some time and would like to ask some questions about it, would you mind? :)
<ArneBab>
please ask :)
<ArneBab>
I don’t mind (as long as I have the time - which I have right now)
<LibreMan>
ok, so essentially I'm trying to figure out, as flameeyes probably is, whether reasons behind developing Hurd are more philosophical/value based or are there real-world technical advantages to it as well
<ArneBab>
antrik: I think his original remark was meant as part-jokingly remark to an aquaintance - which seems fitting, when you keep in mind that flameeyes works very hard and very much on Gentoo, hardly the most popular distro (but the one I like most).
<ArneBab>
LibreMan: the reasons for working on the Hurd are a little bit different for every contributor.
<ArneBab>
(or rather: vastly different :) )
<LibreMan>
as I'm reading about it and your reposne as well, I'm not sure the techical advantages you list would have any real world effect on usability of the OS, do you think they would?
<ArneBab>
I think they would
<LibreMan>
ArneBab: yeah, sure ... my reasons for supporting Hurd are philosophical/value based ... I'll say that outright
<ArneBab>
for example you enter an FTP address in your filebrowser. No problem. Then you want to grep the file contents.
<ArneBab>
you go into the shell and first need to get the files (completely inconvenient)
<-- npnth (~npnth@pdpc/supporter/active/npnth) hat das Netzwerk verlassen (Disconnected by services)
<ArneBab>
or you use gnome and kde programs, and both access the same URL, but cache 2 times.
<LibreMan>
ArneBab: isn't that solved by mounting it?
<ArneBab>
or you want to implement your own desktop and need to do that network transarency stuff yourself.
<ArneBab>
You can’t really mount everything - especially not without root rights.
<ArneBab>
and that’s just one aspect.
<ArneBab>
But that’s only the technical side (he only wanted to hear that)
<LibreMan>
the thing is all these advantages seem too trivial to support a wholly new OS to be developed ... but maybe I'm mistaken, that's why I'm asking, I would love to be good techical reasons for Hurd ... but are not aware of any so far
<ArneBab>
What interests me the most as that I as user can change my environment without affecting others.
<ArneBab>
s/as/is/
<ArneBab>
the main community part is (and I think I missed that), that any server is just a userspace program.
<ArneBab>
it can be exchanged just like any other program
<antrik>
ArneBab: yeah, I found the original remark after following the other links... though it's rather painful to trace the conversations :-)
<LibreMan>
ArneBab: yeah, I understand that ... but what practical advantage would that give me I do not see ... as a server administrator for example
<ArneBab>
I can write an improved filesystem and pass it to you for testing, and you test it only for a backup snapshot of your disk without rebooting.
<ArneBab>
As server admin, you don’t need to install all drivers users could need.
<ArneBab>
the users can just install what they need themselves.
<antrik>
it certainly didn't sound half-joking though... and if it was meant privately, identi.ca is clearly NOT the right place
<ArneBab>
LibreMan: You simply provide a base which reduces the number of things people need to install.
<LibreMan>
ArneBab: but do not I have to give them access to raw HW too then?
<ArneBab>
antrik: I prefer to always assume good faith :)
<ArneBab>
brb
<ArneBab>
child
<ArneBab>
re
<LibreMan>
well, I do not see that people not able to install their own drivers on a server would be any problem currently
<LibreMan>
that's my point ... is seems to solve "problems" that are not really actual real world problems ...
<ArneBab>
LibreMan: no, you just give them a safe device, where a server makes sure they don’t do illegal things.
<antrik>
LibreMan: most of the advantages are not directly visible, unless you do very specific things, where traditional systems impose limits
<ArneBab>
For me network transparency is a realworld problem
<ArneBab>
as is that I can’t give a program network access later
<antrik>
but it makes many things easier, which in the end will translate into advantages for everyone I believe
<ArneBab>
“log out and in again to play games”
<ArneBab>
(after adding yourself to the games group)
<ArneBab>
or better still: Always start with minimal rights and only add what is really needed.
<ArneBab>
There’s no reason why a program should have access to my audio hardware without me granting it.
<ArneBab>
That way I could even run malicious software without having to fear compromising my system.
<antrik>
LibreMan: I could come up with situations where it could help you as an administrator; but this is not really helpful. you won't really understand the advantages until you get into a specific situation that is hard to do on Linux for example, and much easier on the Hurd
<LibreMan>
ArneBab: well, then it becomes a tradeoff between security and user friendliness ... I do not think that problem is unsolvable currently, I think it is a design decision not to "solve it" as wast majority of users do not actually need or want it
<ArneBab>
LibreMan: Time and again I find myself sitting in front of my linux box and thinking “damn, this woul be so easy in the Hurd”
<ArneBab>
(I do most of my work on a Linux box)
<ArneBab>
Gentoo GNU/Linux with KDE and Emacs
<LibreMan>
antrik: yeah, could you give me an example of something that is hard on linux but easy under hurd? with real world implications for real use cases :)
<ArneBab>
LibreMan: Get a hg/git log of a repo on an ftp server
<antrik>
LibreMan: no, it's *not* a tradeoff. the whole point is that the Hurd architecture allows users to customize their environment *without* compromising the security of the system
<ArneBab>
antrik LibreMan: I think there we have one point: When you use Linux you are used to thinking of the Linux limits as the absolute limits.
<LibreMan>
antrik: the point is, wast majority of users do not need that ... AFAIK
-*- youpi is fed up with using sudo just to mount an iso image
really
<Tekk_>
youpi: dbus
<ArneBab>
LibreMan: just wait for the first strong linux worm which spreads in a game and requires sudo for install…
<youpi>
(and it's just one of the strongest examples)
<youpi>
Tekk_: ??
<antrik>
LibreMan: ArneBab already gave you various exmples. including at least one that works out of the box
<Tekk_>
youpi: with dbus you don't need root permissions
<youpi>
Tekk_: and you can mount any iso?
<antrik>
(others would require some additional coding)
<ArneBab>
Tekk_: but something needs them.
<Tekk_>
youpi: oh, iso...
<LibreMan>
ArneBab: why would a game need sudo to install? :)
<youpi>
Tekk_: yes, iso
<youpi>
or $WHATEVER_FS
<Tekk_>
youpi: sec
<ArneBab>
LibreMan: yes, I would ask that, too. But the general Ubuntu user?
<youpi>
or sshfs, or ftpfs, etc.
-*- ArneBab had hoped you’d catch that :)
the area where I can imagine hurd being better is virtualization
<antrik>
LibreMan: again, the "general Ubuntu user" won't directly see the benefits. but he will see them when developers use them to implement nice features that would be much harder to implement elsewhere
<LibreMan>
making everything cloudy is a big trend nowadays and hurd could provide additional flexibility there ... or no? I'm really just guessing based on what I read
<antrik>
it's a bad trend
<ArneBab>
LibreMan: it could give me more options when I have to work on another ones computer. After all it was conceived in the time of dumb terminals - which now comes back.
<LibreMan>
ArneBab: oh well, if we are talking about user stupidity then no OS is going to help ;)
<antrik>
I'm not sure whether the Hurd help with "making things cloudy", but it's not something I'd consider an advantage anyways :-)
<ArneBab>
LibreMan: The OS can reduce the impact of user stupidity (called DAU in german: „Dümmster anzunehmender User“ → “dumbest conceivable user”)
<antrik>
as for virtualization, indeed there is a *very* close relation between that and microkernel systems, which most people fail to see...
<LibreMan>
antrik: the "cloud" is coming if we like it or not ... it better run on FOSS if it comes ;)
<Tekk_>
you know, you gues have a huge advantage
<Tekk_>
guys*
<Tekk_>
people have waited forever and written you off
<ArneBab>
LibreMan: just think about the difference between a GNU/Linux distro and Windows XP where you were admin at all times.
<Tekk_>
and as duke nukem forever shows, that's a good thing ;P
<antrik>
in fact, the only fundamental difference is that a VM makes the subenvironment look more or less like a real machine, while in traditional microkernel systems different interfaces are used
<ArneBab>
LibreMan: A Hurd system would go one step further.
<ArneBab>
You’d even need a password more seldomly, reducing the incentive to just work as admin.
<ArneBab>
Reason: There are less things which can really badly impact the system.
<antrik>
LibreMan: when talking about "the cloud", people usually mean things that are fundamentally incompatible with the idea of free software
<antrik>
(you don't have control over the software running web services)
<ArneBab>
antrik: but the cloud just means “I’m on a different computer”. AGPLv3 is cool there :)
<LibreMan>
antrik: yeah, that's the common bussines practice but it doesn't have to be ... AGPL ;)
<antrik>
ArneBab: well, actually "the cloud" means something different to everyone ;-)
<LibreMan>
I do not have any problem with a cloud running AGPL software
<ArneBab>
antrik: well, yes :)
<antrik>
ArneBab: but generally it relies on using programs on foreign machines, controlled by someone else. AGPL doesn't change that
<LibreMan>
freedombox is going to be a "cloud" too
<antrik>
LibreMan: that's not what most people mean by "cloud"
<LibreMan>
at least I hope so
<ArneBab>
I don’t have control over my webserver. I can’t run a real Python there. Hurd could change that (though that will take a lot of coding: the conceptual options are there)
<ArneBab>
LibreMan: what could interest you: http://www.gnu.org/software/hurd/community/weblogs/ArneBab/niches_for_the_hurd.html
<ArneBab>
“Niches of the Hurd”
<LibreMan>
what I mean by "the cloud" is what Eben Moglen explaied it as ... the technology which make it possible to forget about the "iron" and move servers around seamlessly
<LibreMan>
ArneBab: thank.. going to look at it
<antrik>
LibreMan: that's actually more or less what used to be called "grid computing" before the cloud hype
<LibreMan>
antrik: well ... yes, essentially
<antrik>
LibreMan: but most people mean many other things too when talking about "clouds"
<antrik>
and anyways, you can't really forget about the iron. there is a middle layer which you don't have control of
<LibreMan>
antrik: sure, I would say that most people do not know what they mean :)
<Tekk_>
hmm
<Tekk_>
ArneBab: I can see a big place for virtualization in browsers
<Tekk_>
I mean, with everyone so worried about the code getting executed there, we just have GNUBrowse run in it's own little environment all closed off
<ArneBab>
Tekk_: me too: safe subenvironments.
<LibreMan>
the reason I follow Hurd is because i would LOVE to have viable GPLv3 OS as opposed to GPLv2 Linux
<antrik>
that's not a good reason
<LibreMan>
there are people hard at work subverting Linux
<antrik>
first of all, we'd have to get rid of all Linux code
<LibreMan>
locking it down ... and Linus doesn't seem to care
<antrik>
also, if that's all you care about, it would be less work to implement a simple monolithic kernel from scratch
<LibreMan>
antrik: so why is hurd a good idea if it's so much harder to develop?
<-- azeem ([email protected]) hat das Netzwerk verlassen (Ping timeout: 240 seconds)
antrik: I thought that was the reason all along ... to develop GNU mopatible kernel
<Tekk_>
LibreMan: what do you mean GNU compatible?
<LibreMan>
Tekk_: the philosophy of GNU
<Tekk_>
ah, yes they've always needed a gnu kernel
<LibreMan>
the reason why it was created in a first place
<ArneBab>
LibreMan: I just added a missing part in the article:
<ArneBab>
“And the fact that a translator is just a simple standalone program means that these can be shared and tested much more easily, opening up completely new options for lowlevel hacking, because it massively lowers the barrier of entry.
<ArneBab>
<LibreMan>
ok, next question :) why is it so hard to make Hurd work?
<ArneBab>
because we are so few people…
<LibreMan>
I mean, it's in developement for 20 years or so, no?
<Tekk_>
LibreMan: it's never been done before too
<LibreMan>
ArneBab: well, one person developed Linux
<ArneBab>
One person make Linux basically work
<Tekk_>
LibreMan: there has *never* been a full microkernel outside of research, which is what hurd plans to be
<Tekk_>
LibreMan: yeah, one person made linux kinda work in a year, then basically handed it off to everyone to help
<LibreMan>
but if it's so much complicated to develop, is it worth it?
<Tekk_>
LibreMan: and that was with a well trodden path that everyone knwos
<ArneBab>
But for the Hurd to basically work means it already provides far more options than waat Linux did.
<ArneBab>
That’s why the foundation is harder: It makes everything else easier.
<ArneBab>
But at the moment it works.
<ArneBab>
And I think I’ll just repeat that: The Hurd works. It is not feature complete, but all the really hard parts work.
<ArneBab>
Missing are many of the hard (but not really hard) parts, like adding drivers.
<ArneBab>
(and then there are ultra hard features which are possible but currently layed off, but now I get into beat-em-up speech :) )
<LibreMan>
I would define "works" as I can install it right now and run stable system ... I do not think it worls in those terms
<ArneBab>
LibreMan: that I’d define as production system
<youpi>
LibreMan: define "stable"
<Tekk_>
LibreMan: I'm pretty sure linux didn't "work" by your definition when linus passed it off
<ArneBab>
But I can start a Hurd right now and code in it.
<LibreMan>
ArneBab: yeah, that's waht "works" means for me :)
<ArneBab>
I can start emacs
<youpi>
LibreMan: I wouldn't even call my linux "stable"
<youpi>
as I just need to unplug my external USB hdd to make it crash...
<youpi>
while in a hurd system, it'd just crash the corresponding ext2fs daemon only
<LibreMan>
youpi: well yes :) but you can function on it pretty successfully ...
<ArneBab>
LibreMan: Frankly all I’m missing for a production environment are USB support and Audio.
<youpi>
you can on a hurd system too
<ArneBab>
(and it should work on an OLPC)
<LibreMan>
youpi: without USB and sound? :P
<ArneBab>
Both are driver issues. No problem in the kernel.
<youpi>
I seldomly use USB and sound actually
<youpi>
and never for my actual work
<-- Tekk_ (~user@2002:474d:d1e9:0:21d:72ff:fe24:4c37) hat das Netzwerk verlassen (Remote host closed the connection) -->
Tekk_ (~user@2002:474d:d1e9:0:21f:3aff:fe54:7cc3) hat #hurd betreten
<LibreMan>
youpi: yeah, but how many users can ay that?
<youpi>
so what?
<youpi>
how many users can install linux?
<youpi>
does that make it unsuccessful?
<LibreMan>
many people actually
<youpi>
well, many people don't care about USB and sound either
<youpi>
depends what you mean by "many"
<LibreMan>
compared to how many do not mind having USB and sound ...
<youpi>
just like depends what you mean by "stable"
<youpi>
so _basically_ it works
<youpi>
not for all users on earth of course
<youpi>
not for all linux users of course
<youpi>
but for a lot of them already
<ArneBab>
LibreMan: USB and Sound are just driver issues.
<ArneBab>
They are not part of the core functionality.
<Tekk_>
LibreMan: usb keyboards and mice work though
<LibreMan>
ArneBab: sure, but that doesn't matter ... user doen't care about the technicalities ...
<Tekk_>
I think
<ArneBab>
LibreMan: But for the Hurd it means that it’s no general unsolved problem, but just an issue of too little coders to do the work.
<LibreMan>
if it's driver, kernel, microkernel whatever ... does it work or not, that's what it comes down to
<ArneBab>
s/too little/too few/
<LibreMan>
so it's a matter of attracting more people to work on it
<ArneBab>
LibreMan: yes
<ArneBab>
The Arch people helped a lot with that, because 2 distributions is not just 2× one distribution (in it’s outside effect)
<ArneBab>
But we need more people who do the easy work.
<ArneBab>
relatively easy…
<ArneBab>
porting the 10-15% packages which just have PATH_MAX issues.
<LibreMan>
so there would need to be sufficient motivations for them to join developement ... so far I do not see any different than Free Software ideals
<ArneBab>
for example
<ArneBab>
jupp
<ArneBab>
plus some cool options.
<ArneBab>
and experimenting in low-level
<ArneBab>
“ever wanted to write your own filesystem from scratch - and test it without wrecking your box?”
<LibreMan>
I do not understand why FSF does not do something similar to GSoC
<ArneBab>
LibreMan: I assume “too little money”…
<Tekk_>
LibreMan: hurd is in the gsoc
<LibreMan>
yeah, that would be the obvious answer :) and the right onw I guess
<ArneBab>
Besides: antrik, do you know how jkkenig fares?
<Tekk_>
LibreMan: gsoc is a per project thing, and most of them don't need the help
<ArneBab>
jkoenig
<LibreMan>
Tekk_: I know ... I just do not like that a company like Google needs to sponsor it and "we" are not selfsufficient
<ArneBab>
LibreMan: well, too few people are used to pay for what they like instead of for what requires payment.
<ArneBab>
But that is changing.
<LibreMan>
ArneBab: exactly ...
<LibreMan>
things like Flattr are trying to change that mentalty
<ArneBab>
Besides (stable): Hurd runs the Hurd wiki.
<ArneBab>
http://www.bddebian.com/~hurd-web/
<LibreMan>
I'm quite surprised I did not know about this http://www.fossfactory.org
<LibreMan>
I was planning to make such a website myself ...
<LibreMan>
I do not understand why it doesn't get more publicity ... the way Kickstarted does
-*- ArneBab goes lurker, sons here
ArneBab, I have exams till friday, I should be more present after that
<Tekk_>
what does the hello world translator do? XD
<ArneBab>
Tekk_: content = hello
<antrik>
ArneBab: I have no idea about the status of GSoC
<antrik>
I haven't even read my mails for a couple of weeks; so you probably know more than me
<antrik>
Tekk_: provide a pseudo-file with "hello world" as contents
<Tekk_>
ah
<antrik>
BTW, gvfs is actually my favourite example of why the Hurd architecture makes sense
<antrik>
they implemented an extra GNOME-specific VFS layer, that is mostly redundant with the kernel one, adding complexity, overhead, and not integrated with the rest of the system -- and the only reason they need it is because the kernel VFS of traditional systems is too limited
<antrik>
with the Hurd's decentralized VFS, they could have implemented everything they need trivially right in the system VFS layer
<antrik>
the question is not really what features are possible with the Hurd architecture: given enough effort, any feature can be implemented with any architecture. it's the amount of effort that differs, making some things *feasible* that are not on other systems
<Tekk_>
see: windows ME
<antrik>
there is no reason for example why things like isolated subenvironments couldn't be implemented on Linux. (and it fact it's clearly moving in that direction, with the virtualisation hype) -- but it requires a shitload of kernel changes. while on Hurd all it needs is a little userspace programming
<antrik>
and every new feature added to Linux container solutions require further kernel hacking
<antrik>
or every new feature added to FUSE
<antrik>
and so on