1 |
On Thu, Oct 6, 2011 at 8:39 PM, Michael Mol <mikemol@×××××.com> wrote: |
2 |
> |
3 |
> On Oct 6, 2011 11:34 PM, "Dale" <rdalek1967@×××××.com> wrote: |
4 |
>> |
5 |
>> Grant Edwards wrote: |
6 |
>>> |
7 |
>>> On 2011-10-06, Jonas de Buhr<jonas.de.buhr@×××.net> wrote: |
8 |
>>> |
9 |
>>>> don't get me started, the suppressed memories about HAL-config or |
10 |
>>>> broken suse-10 usermount may come back ;) |
11 |
>>> |
12 |
>>> HAL... shudder. |
13 |
>>> |
14 |
>> |
15 |
>> Let's not get started on hal. Pardon me while I go pray to the porcelain |
16 |
>> gods. :/ |
17 |
> |
18 |
> I'm really sorry, but I missed that show. I was in Ubuntu-land learning not |
19 |
> to tweak system behaviors. WTF was the deal with HAL? What was it supposed |
20 |
> to do? Why didn't it work? |
21 |
|
22 |
HAL was the Hardware Abstraction Layer. The idea was that it would be |
23 |
an index of the computer's hardware, so high level parts of the stack |
24 |
would know what hardware and capabilities were available, without the |
25 |
need of communicate with the kernel directly. This had the (perceived) |
26 |
advantage of bein "portable", so for example a program using HAL could |
27 |
run in any OS. Even Windows was theoretically included. |
28 |
|
29 |
But it ended being *HUGE*, because it needed to handle a lot of |
30 |
different hardware and Operating System quirks, and the design was |
31 |
rigid and not very scalable. Also, it turns out that a lot of |
32 |
Operating Systems do not have the necessary developers to fill the |
33 |
specifications required by HAL: if I remember correctly, Solaris and |
34 |
the *BSD family of systems implemented only a fraction of what was |
35 |
needed. So, as is usually the case with "portable" code, the software |
36 |
using HAL had to use the minimum common denominator. |
37 |
|
38 |
In the end, udev was making huge advances, and HAL could not keep up |
39 |
simply because the other Operating Systems didn't have similar |
40 |
capabilities, so the consumers of HAL (desktop systems, mostly) |
41 |
started to use udev directly. That was when the shit hit the fan: if |
42 |
the purpose of HAL was to mantain "portability", but the biggest and |
43 |
most active developer community (Linux) refused to use it since it |
44 |
didn't allowed them to use the full capabilities of the operating |
45 |
system, then it had (literally) no reason to live. So the HAL |
46 |
mantainers saw the error of their ways, and they deprecated it, saying |
47 |
to the user space developers that, in Linux, they should use udev, and |
48 |
in other Operating Systems whatever was equivalent, if any. |
49 |
|
50 |
It was really fast, if I remember correctly: one day half the programs |
51 |
in my computers used HAL, and the next every single one of them |
52 |
stopped using it. In Gentoo in particular was pretty rough, since the |
53 |
X.org version that used HAL had just become stable (which was kinda |
54 |
difficult to transition to), and next thing you know, you again had to |
55 |
transition, this time to a HAL-free X.org. A lot of users got really |
56 |
angry in Gentoo because of that. |
57 |
|
58 |
I remember it was a couple of days getting everything back to normal, |
59 |
but it required taking down at least one production system, and |
60 |
basically rebuilding everything on the desktop stack in a workstation |
61 |
computer (since the desktop was the most heavy user of HAL). But I had |
62 |
it worse with the glitz cairo USE flag, or the several expat problems |
63 |
that always arise when you update that library. HAL was bad, but |
64 |
(IMHO) not *that* bad. |
65 |
|
66 |
In the end, everything is fine I believe. The desktops (all of them) |
67 |
have made a lot of advances in Linux since they no longer had to use |
68 |
the minimum common denominator, and it showed a lot of devs that the |
69 |
mythical grail of "portability" is not that great at the end of the |
70 |
day. That's one of the reasons the developer of systemd refuses to |
71 |
make it portable to other Unixes: it allows him to use all the great |
72 |
and specific features of Linux, and not to worry about other systems. |
73 |
If other systems want something similar to systemd, they have the |
74 |
liberty of programming themselves, of course. |
75 |
|
76 |
This is how I remember it. If I made I mistake, someone please correct me. |
77 |
|
78 |
Regards. |
79 |
-- |
80 |
Canek Peláez Valdés |
81 |
Posgrado en Ciencia e Ingeniería de la Computación |
82 |
Universidad Nacional Autónoma de México |