learning free software development from realworld experience
DESCRIPTION
This paper presents a learning experience at the online Master on Free Software at the Universitat Oberta de Catalunya (UOC). For the final course, which leads to the presentation of a master thesis, students have to set up a free software project with the aim of making its development community-driven. Instead of setting up a new project for the course I decided to join to an existing free software project. In this presentation, I provide an experience report of my work with GNOME, a large free software project that I decided to join.TRANSCRIPT
![Page 1: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/1.jpg)
Learning Free Software Development from RealWorld Experience
Juan J. Marín Martínez
International Conference on IntelligentNetworking and Collaborative
Systems (INCoS 2009) Phd. Forum
Barcelona, SpainNovember 6th, 2009
![Page 2: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/2.jpg)
- It's an on-line University- 90% of the students are between 25 and 40 years old, employed and with little time to study
![Page 3: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/3.jpg)
- Train qualified personnel at this field- The European Union has recommended these kind of studies- From a multidisciplinary point of view (legal, social and technological)
Master on Free Software
![Page 4: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/4.jpg)
- The Official Master Programme on Free Software consists of 60 European credits of which 15 credits correspond to a final course- The first part of this final course is theorical where the some collaborative for development are presented and finally it is studied how to achieve a community around a software project.- The second one, and the most important, the students are encouraged to set up a free software project with the aim of making its development community-driven.
![Page 5: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/5.jpg)
Versus
- Student projects written from the scratch and discarded- Setting up a community is a quite complex task: o The programming effort consumes most of the time o Skills to recruit, motivate, and manage the community o Sourceforge.net stats: the 68% of the projects has only one contributor and the 15% only two.
![Page 6: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/6.jpg)
- Join a stablished project: GNOME- Collaborate on the subproject Evince, a document viewer for multiple document formats
![Page 7: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/7.jpg)
- Elaborate a roadmap of activities.
- Difficult to calculate the time requirements: o Exposition to a large code base. o Your work is under revision of other people.
- Start with activities with a "scratching your personal itch" motivation.
INITIAL PROBLEMS
![Page 8: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/8.jpg)
INTERACTING WITH THE COMMUNITY
![Page 9: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/9.jpg)
- GNOME has a strong community which is ready to help you.
- The key element on the project is communication.
- We can identify different roles in the community.
![Page 10: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/10.jpg)
PROGRAMMING
- Hard at the early stages because I have to learn the GNOME platform.
- Understand how the code works.
- The importance of the “Coding style” for working on community.
- Simple patches are easier to apply than complex ones.
- Exposition to different technologies or specifications (eg: XMP, Cairo)
- Interactions with other Free Software Projects (eg. share-mime-info).
![Page 11: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/11.jpg)
![Page 12: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/12.jpg)
![Page 13: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/13.jpg)
CONCLUSIONS
The interaction with the GNOME community is a unique first-hand experience to understand the practical underpinnings of free software development.
As Patterson states “it is inspiring for computer science students to work on real production projects”, an opportunity that civil engineering or history students do not have, but that in general is not considered in traditional computer science courses
![Page 14: Learning Free Software Development from RealWorld Experience](https://reader035.vdocuments.us/reader035/viewer/2022081401/55996bcc1a28abf8698b4832/html5/thumbnails/14.jpg)
Thanks for your attention
ANY QUESTIONS ?
Acknowledgment Master Thesis advisor Ph.D. Gregorio Robles-Martínez GNOME hackers
Carlos García-Campos Nickolay V. Shmyrev Christian Persch