Diferencia entre revisiones de «Caracterización de entornos, herramientas y sistemas en Software libre»

De wiki EOI de documentación docente
Saltar a: navegación, buscar
(Página creada con «{{Sección |Título=Caracterización de entornos, herramientas y sistemas |Libro=Software libre |Capítulo=Entornos y tecnologías de desarrollo |Número sección=1 |Introd...»)
(Sin diferencias)

Revisión del 00:47 28 feb 2012


Estado de desarrollo de la sección: esbozo esbozo

Wikilibro: Software libre > Capítulo 7: Entornos y tecnologías de desarrollo

Sección 1

Caracterización de entornos, herramientas y sistemas
Antes de explicar herramientas concretas, vamos a definir las características y propiedades generales que tienen en función del trabajo a realizar y el modo de organizarse los desarrolladores.

En primer lugar, aunque no necesariamente determinante, es habitual que se trate de que el entorno, las herramientas de desarrollo (e incluso la máquina virtual objetivo, cuando la hay) sea también libres. Esto no ha sido así siempre. Por ejemplo el proyecto GNU, con el objetivo de reemplazar a Unix, tuvo que desarrollarse sobre y para sistemas Unix propietarios hasta la aparición de los Linux y BSD libres. Hoy día, especialmente cuando el software libre se desarrolla como parte de un modelo de negocio, se tiende a que la máquina objetivo pueda también ser un sistema propietario, a menudo mediante medio de máquinas virtuales interpuestas (Java, Python, PHP, etc). En cualquier caso, el entorno y la máquina virtual han de estar suficientemente difundidas y ser lo bastante económicas como para poder reunir suficientes codesarrolladores que dispongan de esas herramientas.

En segundo lugar, también para atraer el mayor número de codesarrolladores, las herramientas deben ser sencillas, ampliamente conocidas y capaces de funcionar en máquinas económicas. Posiblemente por estas razones el mundo del software libre es relativamente conservador en lenguajes, herramientas y entornos.

En tercer lugar el modelo de desarrollo de software libre suele ser eminentemente distribuido, con muchos colaboradores potenciales repartidos por todo el mundo. Por ello son precisas herramientas de colaboración, generalmente asíncronas, que permitan además que el desarrollo avance con facilidad, independientemente de la cantidad y ritmo de trabajo de cada colaborador, sin retrasar a nadie.

Finalmente es conveniente proporcionar a los desarrolladores de recursos de los que carecen, como máquinas de arquitecturas diversas, donde puedan compilar y probar sus programas.

Sección siguiente >
Lenguajes y herramientas asociadas