[en] The research and development reported in this final-year project addresses the field of software engineering. To be precise, the project analyzes the activities and working methods used in the open source software (OSS) development process and by OSS user communities. The aim of this project is to conduct a participatory analysis of open source project activities compared with traditional development process activities. This means studying existing forms of communication between community members, motivations, work methods, developed documents and tools used. To do this, we have conducted a pilot study in order to determine the current state of the OSS and traditional software development processes. We then took part in a traditional development in order to compare practice according to both models. Through cooperation with the Accenture consulting firm, we participated in several activities of the call center system development and verified that existing theoretical studies are valid for understanding the workings of the traditional model. The OSS study was carried out by participating in five projects across different communities, providing new features, fixing bugs and adding improvements in order to gain a more reliable picture of the behavior of OSS developers from within. The OSS projects in which we have worked include: Double Commander, FileZilla, VLC Media Player, GanttProject and Social Network Manager. The analysis was performed on an activity basis. The first activity is the exploration study of concepts, describing the methods and tools used in all five cases to make contact with the community. The proposals and communications with the community stating whether or not the proposal was accepted are also described. The next analysis is concerned with the activities of requirements analysis, design and implementation where our implementation was approved. The methods applied to carry out the development as part of these activities are explained. Finally, generally applicable maintenance activities and tests are defined without examining individual cases. These activities are discussed, as is cross-testing, and maintenance encompasses all activities in most of the projects in which we participated. On the one hand, the results for traditional software are less flexible with a lot of very standardized documentation activities and well-defined tasks, showing a lot of concern for the economic factor. On the other hand, the OSS evolves based on user collaboration within communities, using virtually no documents or development standards and following the guidelines established by managers and user reviews of applications to assess the validity of input proposals. viii Carlos López Bartolomé Findings from this study provide insight into the working methods of open source community users, as well as the tools that they use. Further we describe the real differences found between the two models studied after active participation in projects conforming to both models. This study also opens up two lines of research based on the analysis of OSS communities studied from the viewpoint of managers and the creation of a mixed model combining the identified strengths of the two models.

[es] El estudio realizado en este trabajo de fin de grado se enmarca en el campo de la Ingeniería del Software. Más concretamente, el proyecto se encuadra en el análisis de las actividades y métodos de trabajo del proceso de desarrollo de open source software (OSS) y sus comunidades de usuarios. El objetivo de este trabajo es analizar mediante la participación en proyectos open source las actividades que se realizan y compararlas con las llevadas a cabo en los procesos de desarrollo tradicional. Esto significa estudiar los medios de comunicación existentes entre los miembros de las comunidades, sus motivaciones, los métodos de trabajo, qué documentos se desarrollan y qué herramientas se utilizan. Para ello, se ha realizado un estudio inicial a fin de determinar la situación actual del software open source y el proceso de desarrollo de software tradicional. Tras esto se ha participado en un desarrollo tradicional para poder realizar una comparativa práctica en ambos modelos. Esta participación se ha llevado a cabo en la empresa consultora Accenture y se ha colaborado en diferentes actividades de desarrollo de un sistema de Call Center, que nos han permitido comprobar que los estudios teóricos existentes son válidos para comprender el funcionamiento del modelo tradicional. El estudio del OSS se ha llevado a cabo mediante la participación en cinco proyectos de diferentes comunidades, realizando nuevas funcionalidades, corrigiendo errores y aportando mejoras, con el fin de obtener una idea más fiable del comportamiento desde dentro de los desarrolladores de OSS. Los proyectos OSS en los que se ha colaborado son: Double Commander, FileZilla, VLC Media Player, GanttProject y Social Network Manager. El análisis se ha realizado por actividades. La primera actividad estudiada es la de exploración de conceptos, que describe los métodos utilizados en los cinco casos para realizar el primer contacto con la comunidad y las herramientas utilizadas para ello. También se describen las propuestas realizadas y las comunicaciones con la comunidad en las que se exponía si la propuesta era aceptada o rechazada. El siguiente análisis se realiza sobre las actividades de análisis de requisitos, diseño e implementación en los dos casos en los que se ha aprobado nuestra implementación. En estas actividades se explican los métodos que se han seguido para llevar a cabo el desarrollo. Por último se estudian las actividades de mantenimiento y pruebas que, tras la participación en las actividades anteriores, se definen sin analizar los casos de forma individual, sino en forma general, ya que las pruebas son transversales y el mantenimiento engloba a todas las actividades de la mayoría de los casos en los que se ha participado. Por una parte, los resultados obtenidos muestran una mayor rigidez en el software tradicional, con una gran cantidad de documentación estandarizada, actividades con tareas muy definidas y con una gran preocupación por el factor económico. Por otra vi Carlos López Bartolomé parte, el OSS muestra una evolución basada en la colaboración de los usuarios de las comunidades, sin utilizar prácticamente documentación o estándar de desarrollo y basándose en las directrices de los administradores y las opiniones de los usuarios de las aplicaciones para valorar la validez de las aportaciones propuestas. Las conclusiones obtenidas en este trabajo permiten conocer los métodos de trabajo de los usuarios de una comunidad open source, así como de las herramientas que se utilizan. Se describen además las diferencias reales encontradas entre los dos modelos estudiados tras realizar una participación activa en ellos. Este estudio también abre dos líneas de trabajo basadas en el análisis de las comunidades OSS estudiadas desde el punto de vista de los administradores y la creación de un modelo mixto que extraiga las ventajas encontradas en ambos modelos.