25. Glosario *Licencia Apache* Un primo cercano de la Licencia BSD. El software viene con pocas restricciones, y ninguna le impide tomar una copia de Apache, modificarlo y vender versiones binarias. La única restricción es que no puedes llamarlo Apache. Por ejemplo, C2Net comercializa un derivado de Apache conocido como Stronghold. *AppleScript* Un lenguaje de texto que se puede utilizar para controlar la interfaz visual de Macintosh. Esencialmente dice cosas como "Abra esa carpeta y haga doble clic en Adobe Photoshop para iniciarlo. Luego abra el archivo llamado 'Imagen del perro de Pete'". arquitectura Los informáticos usan la palabra "arquitectura" para describir la planificación estratégica de alto nivel de un sistema Un arquitecto de computadoras puede decidir, por ejemplo, que un nuevo sistema debe venir con tres circuitos multiplicadores pero no con cuatro después de analizar la secuencia de operaciones aritméticas que una computadora probablemente tendrá que ejecutar. Si a menudo hay tres multiplicaciones que se pueden hacer al mismo tiempo, la instalación de tres circuitos multiplicadores aumentaría la eficiencia. Sin embargo, agregar un cuarto sería una pérdida de esfuerzo si hubiera pocas ocasiones para usarlo. En la mayoría de los casos, el término "arquitecto informático" se aplica solo a los ingenieros de hardware. Sin embargo, todos los proyectos de software suficientemente complicados tienen un arquitecto que toma las decisiones iniciales de diseño. *Licencia artística* Una licencia creada para proteger el lenguaje PERL original. A algunos usuarios no les gusta la licencia porque es demasiado compleja y está llena de lagunas. Bruce Perens escribe: "La Licencia Artística requiere que hagas modificaciones gratis, pero luego te da una laguna (en la Sección 7) que te permite hacer modificaciones privadas o incluso colocar partes del programa con licencia Artística en el dominio público". *BeOS* Un sistema operativo creado por Be, una empresa dirigida por el exejecutivo de Apple Jean Louis Gass e. *BSD* Abreviatura de Berkeley Software Distribution, un paquete lanzado por primera vez por Bill Joy en la década de 1970. El término ha llegado a significar tanto una clase de UNIX que formaba parte de la distribución como también la licencia que protege este software. Hay varias versiones gratuitas de BSD UNIX que son bien aceptadas y respaldadas por la comunidad de software libre. OpenBSD, NetBSD y FreeBSD son tres de ellos. Muchas versiones comerciales de UNIX, como Sun's Solaris y NeXT's OS, tienen sus raíces en esta distribución. El BSD estaba originalmente protegido por una licencia que permitía que cualquier persona copiara y modificara libremente el código fuente siempre que le diera algún crédito a la Universidad de California en Berkeley. A diferencia de GNU GPL, la licencia no requiere que el usuario libere el código fuente para realizar modificaciones. *Licencia BSD* La licencia original para el software BSD. Puso pocas restricciones sobre lo que hizo con el código. Los términos importantes lo obligaron a mantener intactos los derechos de autor y dar crédito a la Universidad de California en Berkeley cuando anuncia un producto. El requisito de incluir crédito ahora se eliminó porque la gente se dio cuenta de que a menudo necesitaban publicar cientos de reconocimientos para un solo CD-ROM. Berkeley eliminó el término con la esperanza de que fuera un buen ejemplo para el resto de la comunidad. *copyleft* Otro término que a veces se usa como sinónimo de la Licencia Pública General GNU. *Pautas de software libre de Debian* Consulte Código abierto. (www.debian.org) *controlador* La mayoría de las computadoras están diseñadas para funcionar con dispositivos opcionales como módems, unidades de disco, impresoras, cámaras y teclados. Un controlador es una pieza de software que traduce las señales enviadas por el dispositivo en un conjunto de señales que el sistema operativo puede entender. La mayoría de los sistemas operativos están diseñados para ser modulares, por lo que estos controladores se pueden agregar como una idea de último momento cada vez que un usuario conecta un nuevo dispositivo. Por lo general, están diseñados para tener una estructura estándar para que otro software funcione con ellos. El controlador de cada mouse, por ejemplo, traduce las señales del mouse en una descripción estándar que incluye la posición del mouse y su dirección. Los controladores son un punto importante de debate en la comunidad de software libre porque los voluntarios a menudo deben crear los controladores. La mayoría de los fabricantes escriben los controladores para las computadoras con Windows porque estos clientes constituyen la mayor parte de sus ventas. Los fabricantes a menudo evitan crear controladores para sistemas Linux o BSD porque perciben que el mercado es pequeño. Algunos fabricantes también citan la GPL de GNU como un impedimento porque sienten que entregar el código fuente a sus controladores publica información competitiva importante. *FreeBSD* La versión más popular de BSD. El equipo de desarrollo, dirigido por Jordan Hubbard, trabaja arduamente para proporcionar una herramienta fácil de usar para computadoras que ejecutan la arquitectura Intel x86. En los últimos años, han intentado diversificarse en otras líneas. (www.freebsd.org) *Free Software Foundation* Una organización creada por Richard Stallman para recaudar dinero para la creación de nuevo software libre. Stallman dona su tiempo a la organización y no cobra salario. El dinero se gasta en contratar programadores para crear nuevo software libre. *GIMP* El programa de manipulación de imágenes de GNU, que puede manipular archivos de imágenes de la misma manera que Adobe Photoshop. (www.gimp.org) *GNOME* El entorno del modelo de objetos de red GNU, que podría resumirse como "Toda la funcionalidad de Microsoft Windows para Linux". En realidad es más. Hay muchas mejoras que hacen que la herramienta sea más fácil de usar y más flexible que el prototipo de Redmond. Vea también KDE, otro paquete que logra casi lo mismo. (www.gnome.org) *GNU* Acrónimo recursivo que significa "GNU no es UNIX". El proyecto fue iniciado por Richard Stallman en la década de 1980 para luchar contra la marea de software propietario. El proyecto comenzó con varios programas muy buenos como GNU Emacs y GCC, el compilador de C que estaba protegido por la Licencia de Propósito General GNU de Stallman. Desde entonces, ha crecido para emitir paquetes de software que manejan muchas tareas diferentes, desde juegos (GNU Chess) hasta privacidad (GNU Privacy Guard). Ver también GPL y Free Software Foundation (www.gnu.org). Su objetivo principal es producir un sistema operativo gratuito que brinde al usuario la capacidad de hacer todo lo que quiera con el software que viene con el código fuente. *GNU/Linux* El nombre que algunas personas usan para Linux como una forma de dar crédito al proyecto GNU por su liderazgo y contribución de código. *GPL* Abreviatura que significa "Licencia de uso general". Esta licencia fue escrita por primera vez por Richard Stallman para controlar el uso del software creado por el proyecto GNU. Un usuario es libre de leer y modificar el código fuente de un paquete protegido por GPL, pero el usuario debe aceptar distribuir cualquier cambio o mejora si llega a distribuir el software. Stallman ve la licencia como una forma de obligar a las personas a compartir sus propias mejoras y contribuir al proyecto si se benefician del arduo trabajo del proyecto. Véase también BSD. lenguajes de *nivel superior* Los programadores informáticos modernos casi siempre escriben su software en lenguajes como C, Java, Pascal o Lisp, que se conocen como lenguajes de nivel superior. La palabra "superior" es un modificador que mide la cantidad de abstracción disponible para un programador. Un lenguaje de alto nivel podría permitir que un programador dijera: "Agregue ingresos variables a pérdidas variables a ganancias de la computadora". Un lenguaje de alto nivel sería capaz de averiguar dónde encontrar la información sobre las ganancias y las pérdidas. Un lenguaje de programación de bajo nivel requeriría que el autor del software apuntara directamente a una ubicación en la memoria donde se podrían encontrar los datos. *KDE* El entorno de escritorio K es otro conjunto de herramientas que ofrece muchas de las mismas funciones que Windows. Es controvertido porque originalmente usaba algún software propietario y algunos usuarios necesitaban una licencia. Véase también GNOME, un paquete similar que se distribuye bajo la GNU GPL. (www.kde.org) *kernel* El núcleo de un sistema operativo responsable de hacer malabarismos con las diferentes tareas y equilibrar todas las demandas. Imagínese un cocinero de comida rápida que prepara huevos revueltos, tuesta pan, pica la comida y de alguna manera se las arregla para sacar una orden en unos pocos minutos. Un núcleo en un sistema operativo hace malabares con las solicitudes para enviar información a una impresora, mostrar una imagen en la pantalla, obtener datos de un sitio web y mil otras tareas. *Linux* El nombre dado al núcleo del sistema operativo iniciado por Linus Torvalds en 1991. La palabra ahora se usa generalmente para referirse a un paquete completo de paquetes de software libre que funcionan juntos. Red Hat Linux, por ejemplo, es un gran paquete de software que incluye paquetes escritos por muchos otros proyectos no relacionados. *Licencia pública de Mozilla* Un primo de la Licencia pública de Netscape que se creó para proteger las contribuciones públicas al árbol fuente del proyecto Mozilla. Netscape no puede volver a licenciar las modificaciones al código protegido por la MPL, pero puede hacerlo a la NPL. Véase también Licencia pública de Netscape. *NetBSD* Una de las distribuciones gratuitas originales de BSD. El equipo se enfoca en asegurarse de que el software funcione bien en una amplia variedad de plataformas de hardware, incluidas algunas relativamente raras como Amiga. (www.netbsd.org) *Licencia pública de Netscape* Una licencia creada por Netscape cuando la empresa decidió lanzar su navegador como fuente abierta. La licencia es similar a la Licencia BSD, pero proporciona características especiales a Netscape. Se les permite tomar instantáneas del código fuente abierto y convertirlas nuevamente en un proyecto privado y propietario. Bruce Perens, uno de los consultores no remunerados que ayudó a Netscape a redactar la licencia, dice que la disposición se incluyó porque Netscape tenía contratos especiales con empresas para proporcionar una herramienta patentada. Véase también Licencia pública de Mozilla. *OpenBSD* Una de las tres versiones principales de BSD disponibles. El equipo de desarrollo, dirigido por Theo de Raadt, tiene como objetivo proporcionar la mejor seguridad posible examinando el código fuente en detalle y buscando posibles agujeros. (www.openbsd.org) código abierto Término amplio utilizado por la Iniciativa de Código Abierto (www.opensource.org) para abarcar el software desarrollado y publicado bajo la Licencia Pública General GNU, la licencia BSD, la Licencia Artística, el Consorcio X, y la licencia de Netscape. Incluye licencias de software que imponen pocas restricciones a la redistribución del código fuente. La definición de Open Source Initiative fue adaptada de las Directrices de software libre de Debian. La definición de OSI incluye 10 criterios, que van desde insistir en que el software y el código fuente deben redistribuirse libremente hasta insistir en que la licencia no discrimine. *Iniciativa de código abierto* Un grupo creado por Eric Raymond, Sam Ockman, Bruce Perens, Larry Augustin y muchos más. El grupo verifica las licencias para ver si coinciden con su definición de fuente abierta. Si la licencia se ajusta, puede llevar el término "certificado por la OSI". *Procesamiento múltiple simétrico* Gran parte del trabajo reciente en el diseño de sistemas operativos se centra en encontrar formas eficientes de ejecutar múltiples programas simultáneamente en múltiples chips de CPU. Este trabajo es relativamente sencillo si las diferentes piezas de software se ejecutan independientemente unas de otras. La complejidad crece sustancialmente si las CPU deben intercambiar información para coordinar su progreso. El núcleo debe orquestar la mezcla de información para que cada CPU tenga suficiente información para continuar su trabajo con una cantidad mínima de tiempo de espera. Es importante encontrar una buena manera de lograr este SMP porque muchas de las nuevas máquinas que aparecen después de 2000 pueden venir con múltiples procesadores. *UNIX* Un sistema operativo creado en AT&T Bell Labs por Ken Thompson y Dennis Ritchie. El sistema se diseñó originalmente para admitir múltiples usuarios en una variedad de plataformas de hardware diferentes. La mayoría de los programas escritos para el sistema aceptan texto ASCII y escupen texto ASCII, lo que facilita encadenarlos. El nombre original era "unics", que era un juego de palabras con el entonces popular sistema conocido como Multics.