Cintillo Institucional

Trabajo Colaborativo en el Desarrollo de Tecnologías Blandas y Duras

El éxito alcanzado por muchos de los grupos o comunidades de desarrollo de software libre es atribuido a la forma de trabajo colaborativo bajo la cual desarrollan aplicaciones. Esta forma de trabajo y las políticas de organización de las comunidades de software libre están siendo hoy en día objeto de estudio y modelo de referencia para otras organizaciones. Existen también otro tipo de organizaciones en las cuales el trabajo se da de manera colaborativa, como en el caso de algunos grupos orientados al desarrollo de tecnologías sociales. Con la intención de comprender las conductas, los valores y las relaciones presentes en organizaciones donde se trabaja de manera colaborativa se muestra a continuación un breve resumen sobre las características más resaltantes que se observan en organizaciones como: Debian, Wikipedia, GNU Compiler Collection (GCC), Kernel de Linux y Redes de Trabajo Social.

. Debian

Debian es una comunidad conformada por desarrolladores y usuarios orientados al desarrollo y mantenimiento del sistema operativo GNU. Nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios.

Actualmente, el proyecto incluye más de mil desarrolladores. Cada uno de ellos posee algún lugar en el proyecto, ya sea relacionado con el mantenimiento y documentación de paquetes o con la infraestructura del proyecto.

1.1 Como se Organiza

Es una organización donde los integrantes participan de manera voluntaria y se organizan en base a tres documentos:

1.2 Motivación de los Desarrolladores

Las personas interesadas en ser desarrolladores deben pasar por un proceso de examen que establece su identidad, motivación, entendimiento de los objetivos del proyecto (agrupados en el Contrato Social) y competencia técnica.

Los desarrolladores de Debian se unen al proyecto por muchas razones; algunas de ellas son:

1.3 Reclutamiento de los Desarrolladores

2. GNU Compiler Collection (GCC)

La colección de compiladores de GNU (GNU Compiler Collection), usualmente abreviada como GCC, es un conjunto de compiladores de varios lenguajes de programación, desarrollado por el proyecto GNU. GCC es un componente clave de la cadena de herramientas GNU. Además de ser el compilador oficial del sistema GNU, GCC ha sido adoptado como el compilador estándar por la mayoría de los demás sistemas operativos, similares al Unix, para computadores, incluyendo a Linux, la familia BSD y el MAC OS X. GCC ha sido portado a una amplia variedad de arquitecturas de computador, y es ampliamente utilizado como herramienta en entornos de desarrollo de software comercial, propietario y de fuente cerrada. GCC también es usado en populares plataformas incrustadas como Symbian, Playstation, y Sega Dreamcast.[1]

El software desarrollado en este proyecto en particular, al tratarse de compiladores, tiene un elevado nivel de complejidad. Esta característica actúa como un mecanismo natural de selección de los participantes que efectivamente pueden contribuir al mismo.

2.1 Organización Social

El proyecto GCC está supervisado por la Free Software Foundation, la cual ha definido sus principales objetivos, es titular de los copyrights de los compiladores y es la responsable de todas las relaciones legales con los contribuyentes y usuarios del proyecto.

El desarrollo está orientado según la Declaración de Misión (“Mission Statement”), la cual establece el carácter de software libre del proyecto, define sus objetivos de diseño y desarrollo e incluye la siguiente política:

La Declaración de Misión es el documento fundacional del proyecto GCC. Su contenido ha permanecido estable desde el año 1999. Las decisiones mayores son tomadas por el comité de dirección (“steering committee”) guiados por la Declaración de Misión. El comité de dirección fue fundado en 1998 con la intención de evitar que cualquier individuo, grupo u organización particular tome el control del proyecto. Su propósito principal es tomar decisiones mayores según los mejores intereses del proyecto GCC y asegurarse que el mismo se adhiera a sus principios fundamentales que se encuentran en su Declaración de Misión.

En forma general, los miembros del comité de dirección fueron seleccionados de forma que representen los intereses de comunidades (e.g. usuarios de Fortran, desarrolladores de sistemas incrustados, hackers de kernel), no de compañías. (http://gcc.gnu.org/steering.html).

Esta forma de organización social, que claramente refleja el estilo "bazar" de desarrollo, no fue alcanzada inmediatamente, sino que es el resultado de un largo proceso de adaptación. La siguiente reseña histórica, tomada de la Wikipedia[1], muestra los rasgos principales del proceso mencionado:

GCC

Fue iniciado por Richard Stallman en 1985. Él extendió un compilador existente para que compilara C. El compilador originalmente compilaba Paste, un dialecto extendido y no-portable de Pascal. Este compilador fue reescrito en C por Len Tower y Stallman, y liberado en 1987 como el compilador para el proyecto GNU, de manera que tuviera un compìlador disponible que fuera software libre. Su desarrollo fue supervisado por la Free Software Foundation.

EGCS

En 1991, GCC 1x había alcanzado un punto de estabilidad, sin embargo limitaciones en su arquitectura evitaban muchas mejoras deseadas, por lo cual la Free Software Foundation comenzó a trabajar en GCC 2.x. A mediados de los 1990s, la FSF mantenía un control tan estricto de lo que era agregado a la versión oficial de GCC 2.x que el mismo fue usado como un ejemplo del modelo de desarrollo "catedral" en el ensayo "The Cathedral and the Bazaar" de Eric S. Raymod.

Como GCC era software libre, los programadores que querían trabajar en otras direcciones - particularmente aquellos escribiendo interfaces para lenguajes distintos a C - estaban libres para desarrollar su propia bifurcación del compilador. Múltiples bifurcaciones probaron ser ineficientes y poco manejables, sin embargo, y las dificultades en lograr que su trabajo fuera aceptado por el proyecto GCC oficial era muy frustrante para muchos.

En 1997, un grupo de desarrolladores formó EGCS, para fusionar varias bifurcaciones experimentales en un proyecto único. Los proyectos fusionados incluían g77(Fortran), PGCC(GCC Optimizado para Pentium), muchas mejoras para C++, y muchas variantes para nuevas arquitecturas y sistemas operativos.

El desarrollo de EGCS probó ser considerablemente más vigoroso que el de GCC, tanto que la FSF oficialmente detuvo el desarrollo de su compilador GCC 2.x, adoptó EGCS como la versión oficial de GCC y seleccionó al proyecto EGCS como el mantenedor de GCC en abril de 1999. Además, el proyecto adoptó explícitamente el modelo "bazar" en sustitución del modelo "catedral". Con la liberación de GCC 2.95 en julio de 1999, los dos proyectos fueron unificados.

2.2 Plan de Desarrollo

El desarrollo se orienta mediante un plan que establece la metodología para el desarrollo y la metodología para la liberación de versiones.

Los objetivos de este plan son:

Este plan esta sujeto a revisión por parte de la comunidad, sin embargo las eventuales modificaciones al mismo son realizadas por el “GCC Steering Committee”; de esa forma hay cierto nivel de centralización en la toma de decisiones concernientes al mismo.

La metodología de desarrollo se basa en tres políticas: uso de ramas de desarrollo, establecimiento de una agenda de desarrollo y la adopción de una política para la reversión de parches. Es importante mencionar que la agenda de desarrollo no está sujeta a un cronograma o a una planificación a priori de funcionalidades a incluir en alguna versión determinada, sino que se basa en una mejora continua de lo que se ha desarrollado.

La metodología de liberación de versiones se basa en un cronograma, en cuyas fechas claves se examina el estado del desarrollo de los proyectos, para decidir cuáles serán incorporados en la versión a liberar. Una vez liberada la versión se tiene previsto por lo menos 2 actualizaciones de la misma, las cuales no incluyen nuevas funcionalidades sino sólo corrección de fallas.

Por otro lado, como herramientas para la comunicación entre los miembros de la comunidad utilizan una wiki (http://gcc.gnu.org/wiki), un canal IRC (irc.oftc.net/#gcc ), y diversas listas de correo. La wiki incluye diversa información orientada a los desarrolladores de GCC, desde asuntos técnicos hasta convocatoria de eventos, incluyendo páginas de interés.

3. Wikipedia

La Fundación Wikimedia es una organización internacional sin ánimo de lucro dedicada a impulsar el crecimiento, desarrollo y distribución de contenido libre y plurilingüe, utilizando para ello la tecnología wiki. La Fundación Wikimedia opera algunos de los más grandes proyectos de referencia de creación en colaboración, en los cuales se incluye Wikipedia, uno de los 25 sitios más visitados.

Wikimedia se sustenta principalmente de donaciones públicas para alcanzar su meta y proveer conocimiento libre a cada persona del mundo.

Wikipedia es posiblemente el ejemplo más desarrollado de proyecto colaborativo global de una comunidad virtual de pares.

3.1 Políticas de Trabajo en Wikipedia

Wikipedia se rige por muchas políticas, guías y convenciones que afectan tanto a la redacción de artículos como a la convivencia con otros editores. A continuación presentaremos una lista de las políticas más importantes de Wikipedia.

¡Sé valiente!

Los wikis funcionan mejor si la gente es valiente editando páginas. Para que la enciclopedia mejore y crezca todos tenemos que realizar cambios, corregir la gramática, agregar hechos, hacer preciso el lenguaje, etc.

Usa referencias

Las referencias a otras obras son una parte muy importante en la literatura de muchas profesiones; cada una de ellas ha diseñado su propia manera de incluir esta información en el texto, y éstas han dado lugar a formatos estandarizados de cita. Dado que la verificabilidad de la información es uno de los principios inamovibles de Wikipedia, es necesario que los artículos citen fuentes para indicar el origen de su contenido.

Derechos de autor

Wikipedia utiliza una licencia que otorga el libre acceso a nuestros contenidos en el mismo sentido como el software libre es licenciado de forma libre. Este principio se conoce como copyleft. Es decir, el contenido de Wikipedia puede ser copiado, modificado y redistribuido siempre y cuando la nueva versión garantice las mismas libertades a los demás y reconozca a los autores de los artículos de Wikipedia que han sido utilizados.

Enlaces externos

Lo fundamental a tener en cuenta es que Wikipedia no es un directorio web. Aunque el incluir cierto número de enlaces externos en los artículos presta un valioso servicio a nuestros lectores, ninguna página debe ser únicamente una colección de enlaces externos. Wikipedia prefiere siempre el aporte de enlaces internos a otros artículos de Wikipedia.

Incluye sólo información verificable

Todos los artículos de Wikipedia deben tener referencias (es decir, indicar la fuente de la información) para que el lector pueda comprobar la exactitud, precisión y neutralidad del artículo, y buscar más información sobre el tema. Todo el contenido de Wikipedia debe haber sido publicado en otro lugar (ya que Wikipedia no es una fuente primaria), y por eso siempre es posible para el autor del artículo incluir una referencia.

Mantén un punto de vista neutral

El punto de vista neutral (PVN) establece que la enciclopedia debe contener hechos y que sus artículos deben ser escritos sin sesgos, presentando adecuadamente todos los puntos de vista existentes sobre tales hechos.

3.2 Lo que la Comunidad de la Wikipedia no es

3.3 Otras Formas de Participar en Wikipedia

Un forma de participar en Wikipedia, además de la editar y mejorar artículos, es a través de los wikiconcursos, los cuales tienen como objetivo elegir un grupo de artículos y mejorarlos entre todos. El artículo ganador podrá optar a la calificación de artículo destacado, y el usuario que cree el mejor artículo obtendrá un fantástico Wikipremio de un valor incalculable como el reconocimiento de la comunidad a su creatividad.

Otro forma de participar es el torneo de wikificación (http://es.wikipedia.org/wiki/Wikiproyecto:Wikificar/Torneo) el cual representa una nueva modalidad para incentivar, con pequeños premios, a los participantes del Wikiproyecto Wikificar a reducir la cantidad de artículos sin formato wiki.

Durante un período de 30 días todos los participantes podrán wikificar artículos de esta lista, al finalizar el período serán contados y evaluados todos los artículos y se premiará al usuario que más puntos obtuvo, el cual recibirá un pequeño incentivo.

4. Linux

En un estudio realizado por Philip Evans y Bob Wolf (http://hbswk.hbs.edu/archive/4928.html) se analizaron las bases que fomentan el trabajo colaborativo que se da en la comunidad de Linux y en el departamento de producción de Toyota [3]. Como resultado de este estudio se observaron algunos factores claves que se consideran la base del trabajo colaborativo de dichas organizaciones, estos son:

5. Metodología e Impacto Social de las Tecnologías de la Información y de la Comunicación en América (MISTICA)

MISTICA es una red humana de investigadores y activistas que trabajan en el tema del impacto de las tecnologías de información y comunicación en América Latina y el Caribe. Hoy en día los resultados del proyecto son utilizados en proyectos como el Observatorio Latinoamericano y Caribeño del Impacto Social de las TIC para la Acción (OLISTICA).

El objetivo del proyecto MISTICA es el de construir sinergias entre los diferentes participantes y organizaciones que trabajan con tecnologías de comunicación e información para desarrollar socialmente la región, combinando sus experiencias para promover una comprensión más integral de la repercusión social y el potencial de las tecnologías de comunicación e información para la sociedad. MISTICA ha utilizado una metodología de articulación para comunidades virtuales en la cual se integran recursos de información y comunicación que facilitan el trabajo en grupo.

El proyecto MISTICA se ha llevado a cabo en un entorno de trabajo colaborativo donde predominan factores como la solidaridad, la colaboración, el respeto a la diversidad, la ética, la responsabilidad y el compromiso. En base a los factores mencionados se han integrado los siguientes criterios de conducta que han dado soporte a la red humana MISTICA (http://funredes.org/mistica/castellano/ciberoteca/participantes/docuparti/esp_doc_53/2.html):

6. Bases del Trabajo Colaborativo (Resumen)

En base a las características observadas en las organizaciones estudiadas, en relación a las formas y estructuras de trabajo, presentamos a continuación un breve resumen donde se incluyen los factores más importantes que parecen facilitar y promover el trabajo colaborativo en dichas organizaciones:

Referencias Bibliográficas

retc/trabajo_colaborativo (última edición 2008-09-11 10:14:57 efectuada por _desactivada_amedrano)