Compilar codigo abierto con compiladores pagos [Was: Re:
Preguntas de SL]
Rodrigo Fuentealba
darkprox en gmail.com
Jue Sep 6 11:45:59 CLT 2007
El 6/09/07, Franco Catrin L. <fcatrin en tuxpan.com> escribió:
>
> En el caso de Windows, recuerda que finalemnte tu aplicacion va a
> utilizar la implementacion de la API del sistema operativo y de ella no
> puedes escapar. Eso podria ser peor que las bibliotecas de aplicacion
>
Como bien lo decía Thompson en su documento, en el tema de
compiladores, el problema se hace parecido al del huevo y la gallina
en dos maneras distintas:
¿Qué fue primero, el programa en C o el compilador C para el programa en C?
Un compilador C podría haberse hecho con Assembler, pero ¿qué fue
primero, el compilador de Assembler o el lenguaje? (ya sé que C se
basa en BCPL, pero si seguimos en la cadena, podríamos estar años). En
algún punto la libertad de la cadena que se discute acá se hace
cerrada, desconocida o llega al nivel de la máquina, sin que podamos
auditar el software cerrado, sin que podamos auditar el software
desconocido (porque ya no lo necesitamos) y sin que podamos auditar el
nivel de la máquina (firmware o hardware) porque para eso ya se
requiere un tiempo de estudio bastante largo y dedicación.
Ahora, ¿Qué fue primero, la licencia MS o los códigos que se prestaban
sin licenciamiento en que se basó MS-DOS, luego Windows, luego Vista,
luego...? Es indudable que los primeros programas para computadora
nacieron de manera libre, se prestaban unos a otros para ser
implementados bajo arquitecturas muy simples o muy engorrosas de
microprocesadores. Es posible tener algo totalmente libre y de
herencia totalmente libre en lo que es software, pero volvemos al tema
de que el firmware o el hardware no es factible de auditar, por lo
tanto no podemos decir que algo es "totalmente libre" y no depende de
algo.
Dado este contexto, el tener que depender de la API de implementación
de Windows me parece meramente un accidente.
--
Rodrigo Fuentealba
Más información sobre la lista de distribución Linux