Un iv e s i t a t de le s UIB Il l e s Ba l e a r s

Masters in Information and Communication Technology

Subject Description Academic year 2009-10

Technical File

Course/Subject Name: Open Software Systems Code: 10510 Type: elective Semester: one Timetable: Language: Spanish (also Catalan and English) Lecturers Head Lecturer Name: Ricardo Galli Granada Contact Details: [email protected] Other Lecturers Name: Llorenç Valverde García Contact Details: Name: Contact Details:

Number of Credits: 5

Objectives and Skills

Offering required knowledge to develop applications distributed on the web and measuring their performance.

Specific Skills: • Understanding GNU/Linux systems • Understanding basic administration and system programming aspects • Understanding the LAMP platform and some web applications • Understanding fundamental network services

Contents

1. Introduction. Ethical and Legal Aspects Background. Ethical and Legal Aspects. Developer Motivations. Open software economics. Public initiatives. A comparison between the scientific and open software community. Legal aspects and software licences. Open software engineering. 2. GNU/Linux Systems architecture. 1 An introduction to operating systems: the core, system tools, Linux core and GNU tools. File systems and journaling. Graphic desktop architecture: X11/Xorg, KDE and GNOME. 3. System Administration and Programming Distribution, installation and maintenance. Scripting languages. programming. Perl and Python programming. 4. The LAMP Platform and Web Applications. Web architecture and servers: Apache, lighthttp. CGI standard. Embedded languages. Development languages and tools: PHP, Python, Ruby. Databases: MySQL, PostgreSQL, SQLite. Web programming, frameworks and recommended practices. Distributed and growth enabled database systems. Django. 5. Fundamental Network Services TCP/IP network configuration. Remote secure connection: SSH. Remote file systems, Samba. Printing: CUPS. e-mail, SMTP servers, Sendmail, Exim, Postfix. DHCP. DNS name services. DNS standard, Bind, fields.

Teaching and Learning Methodology

Learning Methodology Group Type Total Credit Percentage Lectures Large 20% Practical Classes Medium 40% Theoretical study Individual 10% Practical Study Individual 10% Practical work Small 10%

Evaluation Criteria and Procedures

The acquisition of required knowledge for the following will be assessed:  Recognition of software types and open licences, project management tools and types.  Architecture and development of applications distributed on the web with open software.

Bibliography, Recommended Reading and Other Didactic Resources for Individual Work

1. Introducción al software libre . ( http://www.uoc.edu/masters/cat/img/693.pdf ). 2. . Software libre para una sociedad libre (http://www.sindominio.net/biblioweb/pensamiento/softlibre/ ). 3. Eric Raymond. “The Cathedral and the Bazaar”. http://www.catb.org/~esr/writings/cathedral-bazaar/ 4. Mark Pilgrim. Dive into Python. http://diveintopython.org/ 5. Adrian Holovaty and Jacob Kaplan-Moss. The Definitive Guide to Django: Web Development Done Right. http://www.djangobook.com/

2 6. Nikolai Bezroukov. “Open source software development as a Special Type of Academic Rsearch. http://www.firstmonday.dk/issues/issue4_10/bezroukov/index.html 7. Luyin Zhao, Sebastian Elbaum. "Quality assurance under the open source development model." The Journal of Systems and Software (2003) 65-75.

3