Ross, wow that noise is quite crackful. I’ll come out and say it D-Conf itself is quite crackful and I really hope there are leaders in that community who understand the difference and can steer D-Conf somewhere where it would actually be useful. Whenever there is a grand scheme to save the world nothing ever happens. One needs to tackle the details in small manageable bitesized pieces.

Now D-Conf could become something that does something useful if people stop talking about things like storing configuration in a CVS server – crackful implementation detail – and start talking about the real problems that need to be solved.

HAL is a perfect example of how a spec should evolve. It specifies a simple architecture, a couple of concepts, a list of common keys, and a D-Bus API for accessing these keys. It hardly goes into implementation details. That is left for the reference implementation which is this concept – you might want to sit down for this one – called code. Because of its relative simplicity there has been many other technologies that were built up around it in small chunks. When you look at the state of HAL theses day you see a diverse and complicated ecosystem that has sprung up around it. This complication however is manageable because the different parts sprung up when people with needs started writing projects around HAL.

HAL did have its crackfilled days at one point. In the beginning before any of us knew how HAL would fit in there was this idea that it would be the canonical way of configuring all the hardware on ones system. While this sounds cool and useful it really was a distraction and HAL became less the hardware abstraction layer and more the hardware enumeration layer (all jokes of HEL[L] aside). Going this way allowed us to not waste our time on a problem that were already solved by individual libraries. Would it have been nice to have one way to do configuration? Yes. Would we be as far along with HAL had we decided to go in that direction? Most likely no. Will we ever get such functionality? Maybe. It depends if it is useful. But, you see, HAL is an iterative process. It didn’t set out to solve every problem related to hardware in one fell swoop. It set out to solve discreet problems that we knew it could solve. In the end it may end up solving more problems than we could have imagined.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]