- This last course will present a detailed overview of some selected and well known libre software projects.
Those projects will be representative of different fields of applications. In particular, the course will take a look at the Linux kernel, the GNU/Linux Debian distribution, the GNOME desktop, and other systems such as embedded systems and content management systems (CMS).
After this course, the student should get to deep knowledege of the studied projects, and the methodologies and tools used to study them.
Those studies should be a guideline for the master thesis that the student has to prepare in order to succesfully finish this Master.
- One of the libre software's leading markets is services deployment. In particular, most of the web servers around the world use the Apache web server, which is libre software. This is only an example of the many services that depend upon libre software. This course will introduce the different fields where libre software is the best alternative. Among them, mail servers, web servers, instant messaging, Voice-IP communications, etc. This course will aproach also the issue of how to administrate those systems, and how to migrate existing propietary systems to libre software.
- Libre software is not only about code writing. Projects usually deliver only source code that has be to compiled and adapted for end-users.
This task is usually done by the "distributors". Well known examples of "distributors" are the Debian project, that obtain libre software from different sources, organize that software in packages, and distribute them as a whole system that can be easily installed by end-users.
Because of the libre software features (among others, free use, even to sell it), some companies use these distributions to make their own products. Suse, Mandriva and Ubuntu are examples of commercial products whose bussines is based on releasing a product adapted for end-users of low technical capabilities.
This course will aproach other issues related to the end-user distribution and adaption, such as quality, and certification.
After this course the student should know how libre sofwtare projects control their quality using tracking systems and testing, and how the projects become end-user products, by means of processes of packaging and releasing as distributions.
- After knowing how a libre software project works, the students will approach the techical sphere of libre software projects. In this course, the different development tools available for software development and used in libre software projects will be presented. Besides source code development, issues like internationalization, cross-platform development, accesibility, etc will be considereded. After this course, the student should be able of collaborating with a project in source code writing, documentation writing and translation, etc, knowing the work processes used in the project as well as the tools that support those processes.
- Dynamics of libre software communities
Libre software projects are usually developed in a community environment. After introducing the basical concepts about libre software, this course will present the basical structure of this community, what roles are the most usual, how those roles interact among them, what are the tools used to manage the community, etc. The course will introduce research methods to extract information out of those communities, which is useful for management purposes. After this course, the student should know how people and companies approach to and collaborate with libre software projects, and which are the processes for the day to day work in a project.
- Introduction to libre software
This course will present the fundamentals of libre software, including some basical data about the concept itself, its history and current situation, how companies relate with libre software communities, etc. This course will set all the fundamental concepts necessary to follow the rest of the courses.