Principios de deseño e ética no Hurd

gnuHurd é o núcleo do sistema operativo GNU. Componse dunha serie de servidores ou demos que se executan sobre un microkernel. Pretende ser un reemprazamento ó núcleo UNIX. O nome é un acrónimo dobremente recursivo:
Hurd = “Hird of Unix-Replacing Daemons”
Hird = “Hurd of Interfaces Representing Depth”

Alá polo ano 1991, GNU contaba con tódolos compoñentes agás o núcleo. Foi entón cando Linus Torvalds creou Linux, un kernel monolítico ó estilo dos UNIX de toda a vida. Linux acabou sendo empregado coma núcleo de GNU, compretando así o sistema.

Cambios de microkernel

Hurd execútase sobre GNU Mach, unha implementación do microkernel Mach.

Dende que Mach fora deseñado a mediados dos anos 80 novos deseños máis eficientes foros desenvoltos. Desde xeito, a versión actual de Hurd, a 0.2, é moi lenta.

Decidiuse que o mellor era cambiar de microkernel, atopar un deseño máis moderno e eficiente para pór debaixo do Hurd. Inicialmente este microkernel ía ser L4, pero a finais do ano pasado acabouse vendo que non tiña as primitivas precisas para algunhas das funcións que debía ter Hurd. Así, víronse obrigados a buscar outro microkernel que fora máis axeitado para Hurd. Discutíronse dúas opcións: L4.Sec ou Coyotos. Ningún destes dous microkernels está rematado. A opción gañadora foi Coyotos debido a que o seu principal impulsor, Jonathan S. Shapiro, estaría disposto a colaborar con Hurd para o deseño do microkernel.

Principios de deseño vs ética

Esta última semana houbo moito movimento na lista de correo de l4-hurd (séguese a empregar esta lista de correo aínda que se cambiara de microkernel), máis de 100 e-mails en poucos días.

Xurdíu unha polémica entre Marcus Brinkmann, principal deseñador de Hurd sobre Coyotos, e Jonathan S. Shapiro, principal deseñador de Coyotos, quen leva traballando os últimos 15 anos na envistigación de microkernels. Shapiro definiu dous dos obxectivos de Coyotos coma:

  1. Confinamento: o programa non se pode comunicar ata fóra por canais non autorizados.
  2. Encapsulación: a información non pode ser extraída dos programas sen o seu consenso

Segundo Marcus a definición de encapsulación choca frontalmente coa idea de software libre, e por tanto co proxecto GNU ó que pertence Hurd. Algúns dos problemas da encapsulación segundo esta definición:

  1. Podería ser posible o DRM, é dicir, que un ficheiro que teñas no teu ordenador só se poida ver se unha entidade externa así o decide.
  2. Se se implementase a encapsulación poderíase ter que os programas non poderían ser depurados (debug) se estes non quixeran.
  3. Algúns dos servidores de Hurd sobre Mach están feitos de xeito que o pai dun proceso “engana” ó seu fillo sobre o entorno, como por exemplo fakeroot que lle fai ver ó seu fillo un sistema de ficheiros coma se fora root.

Marcus ten pensado un sistema máis tradicional, no que o pai dun proceso poida controlar totalmente ó fillo (así se constrúen os depuradores de código).

Shapiro posicionouse en contra do software libre nun e-mail da conversa: “… eu NON me identifico a min mesmo coma un defensor de “sofware libre” (fan e defensor do sotware aberto, si, ideoloxía software libre, non).”

É esperanzador ver como a xente toma decisión éticas por enriba das técnicas.


Categories

Calendario

Maio 2006
M T W T F S S
« Abr   Xuñ »
1234567
891011121314
15161718192021
22232425262728
293031  
3K2 theme by Hakan Aydin