<> = 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: * El Contrato Social de Debian, define un sistema de base por los cuales el proyecto y sus desarrolladores tratan los asuntos. * Las Directrices de software libre de Debian, definen los criterios del "software libre" y dictan qué software es aceptable para la distribución, según lo referido al contrato social. Estas pautas también se han adoptado como la base de la definición del Open Source. * La Constitución de Debian, describe la estructura de la organización para la toma de decisiones de manera formal dentro del proyecto. Específicamente describe las responsabilidades del líder de proyecto Debian, de la secretaría y de los desarrolladores en general. === 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: * El deseo de contribuir a la comunidad del software libre. * El deseo de ver que algún programa cumpla una tarea determinada. * El deseo de que el software libre sea una alternativa válida frente al software no libre. * El deseo de trabajar cerca de gente con la que se comparten actitudes, intereses y objetivos. === 1.3 Reclutamiento de los Desarrolladores === * '''Paso 1: Solicitud''' * Los aspirantes necesitan estar de acuerdo con la filosofía de Debian. * Hay que verificar la identidad del aspirante. * El aspirante necesita poder desarrollar sus deberes como desarrollador. * El aspirante necesita haber leído la documentación de desarrollador. * El aspirante necesita tener suficiente tiempo libre. * El aspirante necesita tener un avalista. * '''Paso 2: Identificación''' * Todos los desarrolladores de Debian se identifican por sus llaves OpenPGP. Estas llaves hacen posible autenticar mensajes y otros datos firmándolos. * Para lograr ésto, la misma llave pública la debe firmar otro miembro de Debian. Por tanto el aspirante debe conocer a este miembro de Debian en persona y se debe identificar a sí mismo (proporcionando un pasaporte, carnet de conducir o alguna otra identificación). * '''Paso 3: Filosofía y Procedimientos''' * Se espera que el aspirante encaje en la comunidad de Debian, que está construida alrededor de la filosofía del software libre. * Trabajo con el sistema de seguimiento de fallos. * El proceso de publicación de Debian. * Trabajos de internacionalización y localización de Debian. * '''Paso 4: Tareas y Habilidades''' * La mayoría de los actuales miembros del proyecto Debian mantienen uno o más paquetes para la distribución. Sin embargo, hay algunos otros trabajos que hay que hacer que no conllevan el mantenimiento de paquetes. * Gestión de paquetes. * Documentación. * Depuración, pruebas y parcheo. * '''Paso 5: Recomendación''' * Cuando el aspirante ha completado las pruebas de tareas y habilidades, demostrado un conocimiento del contrato social, las directrices de software libre de Debian y las normas y procedimientos de Debian y ha sido identificado apropiadamente, es el momento de que el gestor de solicitudes haga un informe final para la recepción y el gestor de cuentas de Debian. * Gestión de paquetes. * Documentación. * Depuración, pruebas y parcheo. == 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: * '''Entorno de desarrollo abierto:''' * Fomentar la cooperación y comunicación entre desarrolladores. * Trabajar en forma más cercana a los "consumidores". * Código disponible para todos en cualquier momento, y todos son bienvenidos a participar en el desarrollo. * Los parches serán considerados equitativamente basándose en sus méritos técnicos. * Todos los individuos y compañías son invitados a contribuir siempre que acepten las reglas básicas. * Listas de correo abiertas. * Herramientas y procedimientos amigables con el desarrollador (i.e. cvs, múltiples mantenedores, etc). * Conflictos de intereses existen para muchos desarrolladores de GCC; tanto los desarrolladores como el comité de dirección de GCC no le permitirán a esos conflictos de interés tener efecto en el desarrollo de GCC. (http://gcc.gnu.org/gccmission.html) 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: * ''Higher-quality releases.'' * Support for more targets. * Continued encouragement of major infrastructure improvements. * ''More predictable release schedules.'' * ''More frequent releases.'' 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 === * Wikipedia no es un campo de batalla. * Wikipedia no es un experimento de anarquía. * Wikipedia no es un experimento de democracia. * Wikipedia no es una burocracia. === 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: * Disciplina de trabajo común. Los miembros de ambas comunidades comparten aptitudes e idioma, además de tener una obsesión por el detalle y por la simplificación de los problemas. * Comunicación extendida y abierta. Los problemas y soluciones se comparten constantemente con total transparencia. El e-mail y las listas de correo juegan un papel fundamental para la comunicación. * Los líderes de proyecto actúan fundamentalmente como 'conectores' entre los integrantes del equipo de trabajo. == 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): * Participación y transparencia en el trabajo colectivo. Estas dos características permiten garantizar que cada quien contribuya y sea retribuido en la misma medida o más. * Animación y pro-actividad. Para que una comunidad virtual realmente pueda desarrollarse se necesita alguien que anime, modere, sostenga y coordine. * Principios básicos establecidos como reglas de trabajo. * Cultura de red. Esta cultura se caracteriza por los siguientes elementos: (a) uso fluido y rápido del correo electrónico; (b) aprecio y receptividad a las críticas y al proceso de construcción colectiva; (c) importancia dada a la solidaridad; y (d) por la autonomía y la autogestión expresadas como formas genuinas de entusiasmo en la participación. * Mantener un tamaño manejable y propio a la empatía y el trabajo colaborativo. * Conservar una visión clara entre las tareas o situaciones importantes y urgentes. == 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: * Ética. En todo momento los procesos son claros y accesibles a cada miembro de la comunidad. * Contraloría social. Representa el modo regulador a través del cual los miembros de la comunidad reconocen o rechazan los aportes hechos entre sí. * Igualdad y libre expresión. No hay censura en la opinión de los miembros de la comunidad, cada quién se expresa y apoya en los proyectos e ideales con los cuales se identifique. * Búsqueda constante de la excelencia del bien o producto que se genere. * Comunicación extendida y abierta. Los problemas y soluciones se comparten constantemente, poco a poco y con total transparencia. * Herramientas de comunicación de fácil uso. Entre estas predominan el e-mail y las listas de correo. * Elaboración de documentos en forma colaborativa, mediante el uso de Wikis por ejemplo. * Líderes de proyectos que actúan fundamental como “nodos conectores” entre los integrantes de la comunidad de desarrollo del proyecto. * Pro-actividad entre los integrantes de un proyecto. * Plan de acción y reglas básicas construidas por la comunidad de trabajo. * Respeto al reconocimiento del derecho moral de los autores sobre las obras. * Receptividad a las críticas y al proceso de construcción colectiva. * Solidaridad. * Autonomía y autogestión como formas genuinas de entusiasmo en la participación. * No hay imposición de tareas. * Los integrantes de la comunidad pueden tomar diferentes roles dentro del proyecto. * No hay burocracia. * En comunidades como Wikipedia se observa el uso de herramientas simples, de fácil uso para cualquiera que decida colaborar. * Para ocupar un rol específico dentro de la comunidad se requiere una evaluación de sus pares y de la comunidad en general. * Se implementan estrategias para incentivar una mayor y mejor participación. = Referencias Bibliográficas = * [1] GNU Compiler Collection. (2008, April 3). En Wikipedia, The Free Encyclopedia. Obtenido 19:02, April 8, 2008, desde http://en.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&oldid=202932087. Traducción: Dhionel Díaz. * http://blogs.alianzo.com/redessociales/2005/12/04/las-bases-del-trabajo-colaborativo/ * http://es.wikipedia.org/wiki/Wikiproyecto:Wikificar/Torneo * http://funredes.org/mistica/castellano/ciberoteca/participantes/docuparti/esp_doc_53/2.html * http://gcc.gnu.org/develop.html * http://hbswk.hbs.edu/archive/4928.html