Anton B Georgiev
email: anton.georgiev@stud-inf.unibz.it

Alberto Sillitti
email: alberto.sillitti@unibz.it

Giancarlo Succi
email: giancarlo.succi@unibz.it

Open Soruce Mobile Virtual Machines: An Energy Assessment of Dalvik vs. ART

Dalvik Virtual Machine is Open Source Software and an important part of the Android OS and its better understanding and energy optimization can significantly contribute to the overall greenness of the mobile environment. With the introduction of the OSS solution, named Android Runtime (ART) an attempt of performance and energy consumption optimization was made. In this paper we investigate and compare the performance of the Dalvik virtual and ART from energy perspective. In order to answer our research questions we executed a set of benchmarks in identical experimental setup for both runtimes, while measuring the energy spent and percentage of battery discharge. The results showed that in most of the use case scenarios Ahead-Of-Time compilation process of ART is overall more energy efficient than the Just-In-Time one of Dalvik.

Introduction

Dalvik was the virtual machine that Google created to use in Android, its mobile Operating System. For 7 years it evolved alongside with other modules of Android. Dalvik made use of Just-In-Time compiler as a suitable solution for devices with space limitations, characteristic of the first generation devices equipped with Android OS. With the growth of computational power, storage space, display size and embedded sensors, these limitations become less restrictive. This enabled the Operating System developers to seek performance optimizations and better UI responsiveness by introducing new virtual machine. ART stands for Android runtime and it was introduced as a new feature available in version 4.4 of the Android Operating System. It was an optional feature in that release because it was in experimental phase, and its inclusion was triggered by the need of having feedback from both users and developers.

In this paper we designed and executed an experiment to analyze how the new ART affects the overall energy consumption. We based our study on the execution of several benchmarks.

The rest of this paper is organized as follows: section 2 introduces Android OS virtual machine; section 3 comments related work; section 4 describes the methodology and environment created to carry out our experimentation; section 5 presents and analyzes the data collected during the benchmarks' executions and section 6 identifies directions for future work and draws the conclusions.

Android OS and its virtual machines

The Android Operating System is an open source operative platform for managing mobile devices. Its open nature allows researchers to analyze its structure and internal organization, facilitating a richer analysis and offering better development possibilities [START_REF] Di Bella | A multivariate classification of open source developers[END_REF][START_REF] Kovács | Open source software for the public administration[END_REF].

Android is organized in different layers to place the services and applications according to specific requirements and necessities. It is based upon a customized version of the Linux kernel, which acts as the abstraction layer between the hardware and the software. On top of the kernel there is a set of Open Source C/C++ libraries. In the topmost part of the stack the Android apps reside [START_REF]The Dalvik Virtual Machine Architecture[END_REF]. These apps are programmed in Java programming language. Such programs are compiled into .dex (Dalvik Executable) files, which are in turn zipped into a single .apk file on the device. Android's dex files is created by automatically translating compiled applications written in the Java programming language; the Java compiler (javac) then produces Java bytecode. The dex compiler (dex) then translates java bytecode to a Dalvik bytecode; and Dalvik bytecode is then executed by a virtual machine called Dalvik (DVM) [START_REF]The Dalvik Virtual Machine Architecture[END_REF].

With the advancement of the mobile devices, it was reached a level where the storage space is relatively big Android developers decided to introduce new virtual machine called Android runtime (ART). It is an alternative of the Just-In-Time compiler, which was part of the Android OS since version 2.2 [START_REF]Wikipedia[END_REF].

With the release of ART Google aimed to improve the GUI responsiveness, to shorten the loading time of the mobile applications and to optimize the execution time and energy consumption of its system. However it has not been discussed what would be eventual implication at user level, for instance an additional use of resources or and additional energy tall

The goal of this work is to analyze the performance of Dalvik and ART from energy point of view.

With the purpose to reach this goal, we defined two research questions: R.Q.1 Are there any differences between Dalvik and ART in terms of energy efficiency?

R.Q.2 How big is the difference between the two FOSS technologies from the energy perspective?

In order to answer our research questions we executed a set of benchmarks in the same experimental setups for both Dalvik and ART, measuring the energy spent and percentage of battery discharge.

The Open Source nature of the Android OS in combination with mobile area triggered the interest of many enthusiasts to benchmark and measure the performance of both Dalvik and ART. Since ART was introduced in version 4.4 of the Android OS there are just a few articles [START_REF]Meet ART, Part 2: Benchmarks -Performance Won't Blow You Away Today, But It Will Get Better[END_REF][START_REF]Meet ART, Part 3: Battery Life Benchmarks -Not Good, But Not Too Bad[END_REF]. Based on their results one can conclude that even in experimental phase, there are use cases (e.g. floating point calculations) where ART performs better than Dalvik.

In contrast with ART, Dalvik was part of Android since the beginning. During the years of Android OS evolution there were series of studies analyzing its virtual machine. Some of them offer a special focus on assessing the performance of Java and C implementations, conduct a comparison between them [START_REF] Cargill | A practitioner report on the evaluation of the performance of the C, C++ and Java compilers on the OS/390 platform[END_REF][START_REF] Corsaro | Evaluating Real-Time Java Features and Performance for Real-time Embedded Systems[END_REF]. Other work [START_REF] Kundu | Android on Mobile Devices: An Energy Perspective[END_REF] presented a review of the energy consumption of an Android implementation in comparison with the same routine in Angstrom Linux.

In a wider scope there are several research publications than were found during our literature survey dealing with the problem of power consumption in a smartphone. The work of Olsen and Narayanaswami [START_REF] Olsen | PowerNap: An efficient power management scheme for mobile devices[END_REF] presents and Operating System's power management scheme, named PowerNap, which aims to improve the battery life of mobile device by putting the system in more efficient low power state. The authors of another research publication [START_REF] Carroll | An analysis of power consumption in a smartphone[END_REF] analyzed the power consumption of a mobile device and measured not only the overall energy spent, but also the exact break down by the device's main hardware components. In another track, analyzing component specific energy characterization is an aim for the authors [START_REF] Corral | A Method for Characterizing Energy Consumption in Android Smartphones[END_REF], which used a software tool named CharM to survey and collect parameters, exposed by the Operating System. The presented results showed that CPU, the OLED display and the WiFi interface are the elements that are taking the highest tall from the device battery when stressed.

For the purposes of our open source experimental setup, we needed a state of the art analysis of the mobile software based energy measurement. After surveying the literature in the area we discovered a set of applications which implements profiling techniques that analyze the source code. With these tools at hand you can obtain very detailed information about what are the routines and system calls that have a major contribution to the energy utilization [START_REF] Zhang | Accurate online power estimation and automatic battery behavior based power model generation for smartphones[END_REF]. Building an energy model using hardware measurement is another approach that is used in this area [START_REF] Wonwoo | DevScope: a nonintrusive and online power analysis tool for smartphone hardware components[END_REF][START_REF] Yoon | AppScope: application energy metering framework for Android smartphone using kernel activity monitoring[END_REF][START_REF] Pathak | Where is the energy spent inside my app? Fine grained energy accounting on smartphones with Eprof[END_REF][START_REF] Corral | DroidSense: a mobile tool to analyze software development processes by measuring team proximity[END_REF][START_REF] Corral | Evolution of mobile software development from platform-Specific to web-Based multiplatform paradigm[END_REF].

Benchmarks

To explore all the differences between the two runtimes we selected several Benchmarking apps from Google play. These software products will guaranteed a fair comparison, because they are executing the same set of instruction in identical sequence each time they perform their benchmark. The benchmark applications utilized on our experimentation were:

• AndEBench [START_REF] Eembc | AndEBench (Version 1605[END_REF] -it is an app providing standardized method, which is industry-accepted for evaluating Android OS performance. • Antutu Benchmark [START_REF] Antutu | Antutu Benchmark[END_REF] -is a benchmark tool, which includes -CPU, GPU, RAM, I/O tests with the option to compare your results with popular Android OS devices • GFXBench 3.0 [START_REF] Ltd | GFXBench 3.0 3D Benchmark[END_REF] -is a comprehensive benchmark and measurement tool, with cross-platform and cross-API capabilities. It measures graphics performance alongside with render quality and long-term performance stability of the device. We selected to include two of the available Low-Level tests -basic ALU and its 1080p off-screen variation. • Pi Benchmark [START_REF] Sasa | PI Benchmark[END_REF] -calculates Pi up to the 2.000.000 digits of precision. For our experiment we were execution this benchmark with load of 500.000 digits.

• Quadrant Standard Edition [START_REF]Quadrant Standard Edition[END_REF] -is an application, which requires Internet connection to compute the results and doesn't work on device without GPU. It stresses the CPU, GPU and performs I/O operations. • RL Benchmark: SQLite [START_REF]RL Benchmark: SQLite (Version 1.3[END_REF] -determines how much time you need to process a number of SQL queries. • Vellamo Mobile Benchmark [START_REF]Vellamo Mobile Benchmark[END_REF] -evaluates the web browser performance of the device including scrolling and zooming, 3D graphics, video and memory read/write performance.

With these benchmarks we also made sure that we exercise different components that may impact the execution and the overall user experience while using an app.

Experimental setup

Our experimental setup used two software tools to collected information regarding the energy consumption of the executed benchmarks:

• A Custom version of PowerTutor [START_REF] Zhang | Accurate online power estimation and automatic battery behavior based power model generation for smartphones[END_REF] to measure the energy spent in Joules. The samples were collected after every single benchmark execution.

• CharM [charm] -to read the battery percentage spent. CharM is a tool that surveys battery discharge cycle. It collects the date in a background process, and is implemented with negligible energy footprint. We used it to collect date more relevant to the end user, as one would normally check the remaining battery percentage on his device. The readings were acquired after the complete cycle of benchmark executions was over. Before each measurement phase we were resetting the PowerTutor and CharM instances to assure that the benchmark application will start its energy consumption from 0. The battery of the phone was fully charged and left to cool down to assure that the settings for each test are as identical as possible. For reproducibility purposes we repeated each test 30 times.

Our test bed options were limited, because ART was experimentally introduced only for Android 4.4 compatible devices. We selected a Google ® HTC Nexus 4 TM device and all the results presented in this paper are according to its capabilities and specification. The phone has the latest stock Android version (4.4.2), without any account information in order to prevent background synchronization with remote servers, which can affect our measurements. The device is equipped with a quadcore Snapdragon S4 Pro APQ8064 processor running at 1.5 GHz, 2 GB RAM and 2100 mAh battery.

Data analysis

Data interpretation

After executing all the benchmark series we collected more than 500 samples for both virtual machines. Table 1 shows the average energy consumption in Joules of 30 cycles for each benchmark. Column two contains readings associated with Dalvik virtual machine, while column three contains the ART ones. The energy spent to complete each computational job varies largely due to the nature of the selected benchmarks. Some of them like Antutu Benchmark [START_REF] Antutu | Antutu Benchmark[END_REF] and Vellamo Mobile Benchmark [START_REF]Vellamo Mobile Benchmark[END_REF] considerably higher energy consumption than the rest of the experiments.

By the graphics shown in Figure 1, with the exception of AndEBench, ART performed equally or better in comparison with Dalvik. We have the biggest difference in the Pi Benchmark where the newer virtual machine was more than two times efficient in comparison with its predecessor.

In Table 2 is summarized the average of the percentage that was discharge from the battery during one benchmark series (i.e. the execution of a benchmark for 30 times). The readings were collected using CharM application. The plots of the remaining battery level after each benchmark execution per selected experiment can be seen on Figure 2. The figure presents information about the battery level indicator that the end user will see on his screen after the completion of each experimental task. After analyzing the collected results it is evident that in almost all cases we have difference in the energy spent between the two virtual machines. The only benchmark that we had exactly the same reading was GFXBench 3.0 with 90.50 Joules for both Dalvik and ART.

R.Q.2 How big is the difference between the two FOSS technologies from energy perspective?

Readings in Table 1 show that out of seven benchmarks only in one, namely AndEBench, we have advantage of 26.82 Joules for the Dalvik virtual machine. In the remaining 6 benchmarks, excluding GFXBench 3.0, we always have better energy efficiency for the ART virtual machine with average savings from 0.48 Joules (for Antutu Benchmark) to 124.72 Joules (for Pi Benchmark). Possible continuation of the work presented in this paper is to replicate the benchmark executions on different test beds. Collecting samples not only from smart phones, but also from tablets, smart TVs and others Android embedded device will deepen our understanding of the energy performance in the Operating System. Reproducing the described experiments using hardware measurement tools instead of software will provide additional verification of the previously generated data. Moreover we also foresee to increase the granularity of the collected measurements [START_REF] Scotto | A non-invasive approach to product metrics collection[END_REF], so in the future we can analyze in greater details the relationship between the code execution and the corresponding energy consumption.

Conclusions

In this work we presented and analyzed data collected from set of selected benchmarks in order to analyze how the new Android runtime affects the overall energy consumption of the device under test. These benchmarks were selected with the goal of stressing different components that may impact the execution and the overall user experience while using an app. The results showed that replacing a Just-In-Time compiler with virtual machine with Ahead-Of-Time compilation process would optimize the energy utilization for five out of seven scenarios exercised using our experimental setup.

Optimizing the performance of a mobile device and by doing so reducing the energy consumption is of a great importance for the future development of the mobile environment. Having a strong requirement for autonomy provokes not only the mobile hardware specialists, but also software developers to seek for a solution that will increase the battery life. If they omit the energy consumption factor while designing their products, they could not only decrease the user satisfaction, but in a long term they might significantly contribute to environmental pollution by increasing the battery garbage.

Figure 1

 1 Figure 1 Arithmetic mean of the energy spent

Figure 2 6 Future work and conclusions 6 . 1

 2661 Figure 2 Battery discharge level after benchmark execution in Dalvik and ART

Table 1

 1 Summary of the energy spent per benchmark application in Joules

	Benchmark Name	Dalvik	ART
	AndEBench [b1]	88.36 J	115.18 J
	Antutu Benchmark [b2]	265.66 J	265.18 J
	GFXBench 3.0 [b3]	90.50 J	90.50 J
	Pi Benchmark [b4]	217.40 J	92.68 J
	Quadrant Standard Edition [b5]	77.56 J	67.62 J
	RL Benchmark:SQLite [b6]	51.46 J	29.30 J
	Vellamo Mobile Benchmark [b7]	293.18 J	284.10 J

Table 2

 2 Summary of the percentage of battery discharge per benchmark application

	Benchmark Name	Dalvik	ART
	AndEBench	32 %	45 %
	Antutu Benchmark	57 %	57 %
	GFXBench 3.0	30 %	30 %
	Pi Benchmark	55 %	36 %
	Quadrant Standard Edition	35 %	31 %
	RL Benchmark:SQLite	11 %	6 %
	Vellamo Mobile Benchmark	74 %	61 %


Sergio R Montes
email: smontes@espe.edu.ec

Gregorio Robles

Jesús M González-Barahona

Luis E Sánchez

Considerations Regarding the Creation of a Post-graduate Master's Degree in Free Software

Free software has gained importance over the last few years, and can be found in almost any sphere in which 'software processes' are important. However, even when universities and higher education establishments include subjects concerning free programming and technologies in their curriculums, their graduates tend to attain limited technological, organisational and philosophical knowledge that limits them as regards their participation in, management and development of free software projects. This gap in skills and knowledge has recently led to a series of post-graduate studies whose objective is to offer students the possibility of acquiring competencies that will allow them to become experts in free software. This paper presents a study concerning the offers for post-graduate studies in free software that currently exist, with the intention of creating similar post-graduate studies in Ecuador.

Introduction

In the present-day world, society is developed on the basis of information technology, and software has a particularly important function in this, thus demonstrating that humanity's knowledge has evolved by means of computing. For this knowledge to be within everyone's reach, the use of free software is essential. Free software can, moreover, currently be found in a multitude of environments, if not in all of them, and has come to be of prime importance over the last few years [START_REF] Haick | Free software tools for IT management and processes organization[END_REF].

European and South American governments have now created laws and decrees for the use of free software [START_REF] Alves | Brazilian public software and quality[END_REF], which in Ecuador consists of Decree 1014. The need to train personnel who are qualified in the sphere of free software is therefore being investigated. The European Union has recommended that research should be carried out in this sphere, since it alleges that the habitual lack of knowledge as regards code does not permit the auditing of real functioning, which could seriously compromise the security of some countries, thus leaving them in the hands of companies that create private programmes [START_REF] Bouras | Guidelines for the procurement of free and open source software in public administrations[END_REF].

We should also mention that free software attracts the attention of companies and public administrations throughout the world, and it is in this way that countries such as Spain, Brazil, Mexico, Venezuela, Columbia, Peru, Chile, Argentina and, essentially, Ecuador foment its use and development [START_REF] Chan | Coding free software, coding free states: Free software legislation and the politics of code in peru[END_REF],What is more, many large technological companies such as IBM, Apple, Facebook or Google support the free software movement by both freeing some of their star products, such as WebKit, MySQL, Android, and participating in the development of projects such as Eclipse and Linux, among others [START_REF] Honda | Android software platform development at fujitsu[END_REF].

Even when universities and higher education establishments include free technologies in their curriculums, their graduates normally lack the training needed to be able to carry out the tasks that are necessary to successfully participate in a free software project [START_REF] Bouckaert | Weka-experiences with a java open-source project[END_REF]. It is therefore common for universities to teach programming. However, although this is one vital requirement as regards providing code, it is not the only one, since to be able to take part in a free software project it is also necessary to have knowledge of development tools (e.g. the version system), conventions (such as sending code) and even organisational skills (who to ask).

The existence of this knowledge gap is the reason why university graduates must therefore supplement their knowledge by means of auto-didactic learning. This gap in curriculums has therefore led to the emergence of proposals for postgraduate studies that will allow students to acquire the skills and knowledge needed to become experts in free software. This type of studies includes not only technological aspects, but also the management of projects, business models and even philosophical aspects.

This paper is organised as follows: the methodology used in this research is described in Section 2, while Section 3 shows a study carried out in order to create a post-graduate course in free software in Ecuador. The results of the analysis of post-graduate courses offered by some possible universities are presented in Section 4, while our conclusions and future work are shown in Section 5.

Methodology

Much of the research that is carried out considers a literature review, although the eventual objective is not the review in itself, but rather that it constitutes a technique that can be used to understand the state-of-the-art of the theme being tackled. What is more, a state-of-the art study constitutes the basis for the formulation of proposals of greater reach.

Computing disciplines, of which software is one, are very recent in comparison to other science disciplines, signifying that there are no methodologies with which to guide the development of systematic reviews in them, Kitchenhan [START_REF] Kitchenham | Systematic literature reviews in software engineering -a tertiary study[END_REF], therefore proposed a method with which to carry out systematic [START_REF] Wangenheim | Systematic literature review of software process capability/maturity models[END_REF] reviews that is based on the guidelines developed for medical research which were adapted to be used by a team of researchers in the sphere of software engineering.

In this research, the systematic review has been carried out by using the Google Scholar search engine to search for references to 'Master's degrees in Free Software'. The results and information obtained from its websites are shown in the following sections. .

Post-graduate studies in Free Software

According to the Royal Academy for the Spanish Language, a Master's degree is a post-graduate course in a particular speciality, while a post-graduate course is a cycle of specialisation studies that take place after graduation.

The Higher Education Organic Law of Ecuador1 , in Art. 120, defines it as follows: "it is an academic degree which seeks to broaden, develop and explore in greater depth a discipline or specific area of knowledge. It provides people with the tools that will enable them to explore the field of knowledge in greater depth, both theoretically and instrumentally".

Openings for professionals with Master's degrees in free software

A Master's degree in Free Software provides professionals with capacities in the four areas defined in the professional capacities profile report generic to ICT created by the Career-Space2 [START_REF] Space | Perfiles de capacidades profesionales genéricas de las tic[END_REF] consortium that are necessary to carry out their activities as regards all that is related to the use, application and development of In each of the areas, the qualification re-enforces the following professional roles:

-Technicians in communications software development. -Project managers ITC.

Existing Free Software Master's degrees

The Internet has been used to search for academic offers of Master's degrees in Free Software in Europe and South America [START_REF] Montes-León | Propuesta para la creación de un máster en software libre en la escuela politécnica del ejército extensión latacunga en ecuador. Trabajo fin de máster[END_REF]. It has thus been possible to find the following university entities, which offer the following studies3 :

-Official Master's degree in Free Software from the Universidad Rey Juan Carlos4 (Madrid, Spain), -Official Master's degree in Free Software from the Universitat Oberta de Catalunya (Open University of Catalonia)5 (UOC) (Catalonia, Spain), -Master's degree in Open Code Software from the University Institute of Lisbon 6 (ISCTEC, Lisbon, Portugal), -Master's degree in Free Software Engineering (MISWL) from the Polytechnic Senior Lleida7 (Lleida, Spain), -Master's degree in Free Software from the Autonomous University of Bucaramanga8 (UNAB, Bucaramanga, Colombia), -Master's degree in Free Software from the Autonomous University of Chihuahua9 (UNACHI, Chihuahua, Mexico), -Master's degree in Free Software from the University of Extremadura10 (Extremadura, Spain), -and the Master's degree in Software Open Source Management from the University of Pisa11 (Pisa, Italy).

Analysis of existing Master's degrees in Free Software

Having identified the Master's degrees in Free Software, we shall now go on to investigate each one in detail using the publicly provided information from their websites. Table 1 provides a summary of the most important qualititive aspects of these Master's degrees, which are classified in the following manner:

-Country: This refers to the country in which the Master's degree is offered.

-Modality: This refers to the mode of studies, such as (Physical presence, Virtual).

-Duration: Length of time that the Master's degree course lasts.

-Professionals: Towards which type of professionals the Master's degree is oriented, such as: Information and Communication Technologies (ICT), General (any professional with a university degree). -Credits: This refers to the ECTS.

-Placements: This refers to whether or not the student is required to participate in an industrial placement during the Master's degree. -Final Project: This refers to whether or not the student is required to produce an end-of-degree project. -Options: This refers to whether or not the Master's degree contains optional subjects.

-Agreement: This refers to whether or not the Master's degree is carried out via agreements with other universities. -NK: This refers to the fact that Nothing is Known about the aspect in question, and no information is provided on the website. The students for whom the Master's degrees are intended are those with a technical professional profile (ICT), since the objective of these degrees is to study technology and skills in greater depth, thus supposing that the students will already be knowledgeable as regards programming and engineering. Two exceptional cases are those of the Master's degrees offered by the URJC 12 and the UOC, since these universities have broadened their curriculums to include any type of entrance profile and offer, on the one hand level 0 subjects in order to allow students to attain the previous requirements for the subjects, and on the other a wide range of subjects including those with a socio-technical element, such as communication management, business models, etc There are Master's degrees which are taught both in the students' physical presence or virtually, although in the cases in which the students are actually present, we have observed the use of an e-learning environment (generally Moodle13 ), which has led us to conclude that this type of teaching is, to a great extent, backed up with on-line elements. The URJC explicitly states that its Master's degree is considered to be a form of blended learning, since many of the course activities are carried out virtually, and the students' physical presence is limited to that required by law.

The majority of the Master's degrees are designed to last one or two years, although this is initially delimited by the students' dedication. This signifies that the most interesting column in the table is that which indicates the ECTS14 credits that the student must exceed to obtain the degree. One ECTS credit is obtained after an average of 25 hours' work by each student, including classes in which they are physically present, the preparation needed for these classes, the tasks and activities carried out, exam preparation, and even the exams themselves. It will thus be observed that, in general, Master's degree students must exceed 60 ECTS credits, which is equivalent to a year's work by the student. The academic years may therefore be longer or shorter, depending on the amount of time available to the student. The universities offer various possibilities in order to adapt to the students. The Master's degree at the URJC can therefore be obtained by solely attending classes on Fridays -rather than Thursdays and Fridays -throughout a single academic year. The subjects that take place on Thursdays in even academic years are moved to Fridays in the odd academic years, and vice versa. This facilitates the students' participation, since they are from professional environments, signifying that their time is always limited. Another example is the UOC which allows its students, who are generally professionals with families, to take the course at their own pace, choosing 10 or 15 ECTS per course.

The design of the Master's course curriculums may differ as regards certain characteristics. We have therefore investigated three of these elements:

-The need to go on industrial placements. On some Master's courses, the students must show that they have had experience in professional environments related to free software. They are therefore required to go on industrial placements at companies in the sector at which they gain experience. At some universities agreements have not only been reached with software companies, but also with foundations, thus allowing the students to carry out the practical element of the course in foundation projects. -The realisation of an end-of-degree project. In order to obtain the degree it is compulsory to produce an end-of course work which is, if possible, a research work that is carried out by the student under the supervision of a tutor. This work must be presented in the form of a report and must be publicly defended in front of a committee. -Options: The Master's degree curriculums may offer a series of subjects from which the students may choose. These options allow the student to specialise, and are therefore highly advantageous. However, their drawback is that they only make sense if there are a considerable amount of students enrolled on the course.

Finally, we have observed that many universities have recognised agreements with the Open University of Catalonia (UOC). This allows students to begin their studies by being physically present and then, if necessary, change to the UOC, which is completely on-line.

Curricular design

The Master's degree curriculums are organised in a series of subjects. It is interesting to note, as will be shown below, that there is a great similarity in the Master's degrees studied as regards the contents that are offered. This is because there have been many cases of close collaboration among the universities that offer a Master's degree in free software when designing their curriculums. The Master's degree that has been in existence for the longest period of time, which is that offered by the Open University of Catalonia since 2003, is therefore assessed by professors from the URJC. Since this was the first Master's degree on this theme, and owing to other universities' agreements with the UOC, it is possible to find this general schema in other Master's degrees.

This paper shows the curricular design of the Master's degree offered by the URJC, which is divided into subjects of 3 ECTS (75 hours' worth of dedication per student), while that of the UOC has subjects of 5 ECTS (125 hours per student). This signifies that the Master's degree from the URJC, although it has the same content as that of the UOC, is atomised to a greater degree, thus permitting us to show the contents on offer in a better manner.

Table 2 shows the subjects in the Master's degree at the Universidad Rey Juan Carlos, together with a description of contents, the amount of ECTS credits, the semester in which they are taught, and whether the subjects are obligatory or optional. In order for this degree to be awarded the title of University Master's degree (the official title of the European Higher Education Area -EHEA -and therefore valid in all the countries in the OECD), its course design had to be approved by the Spanish ANECA agency (National Agency for the Evaluation of Quality and Accreditation).

According to their type, the subjects can be classified as: (i) theoretical: subjects taught with the purpose of the students acquiring knowledge; (ii) practical: subjects which are focused on the acquisition of technological skills, with a highly practical structure; (iii) seminaries: A cycle of talks, generally given by speakers invited from the free software community, at which the students can gain firsthand experience of the reality of the movement; and (iv) ohers: The practicum and final work of the Master's degree, explained previously. The Master's degree contains four optional subjects, of which two must be chosen. Two itineraries are therefore recommended: (a) Technological, which consists of the subjects Systems integration and Advanced free software development, and is intended for those students who wish to develop a more technological profile; and (b) Management, which consists of the subjects Free software installation and Free software communities, and is intended for those students who prefer to specialise in community management and consultation tasks at an organisational and deployment level.

Analysis and Results

The analysis carried out has allowed us to conclude that, as is shown in Table 3 the Master's degrees in free software offered by other universities share a schema similar to that of the Universidad Rey Juan Carlos.

As will be noted, there are various common contents, although some subjects are only offered by the URJC and are of two types: (a) The Case Studies I and Case Studies II eminaries which, owing to their idiosyncratic nature, only take place at the URJC, and (b) Subjects with which the URJC has research experience, as is the case of Free software Project evaluation or Developers and their motivations. In order to cover these subjects, the other Master's degrees are inclined to offer technological subjects related to GNU/Linux systems administration, web application development or databases. Table 3 shows a comparison of the universities that currently offer a Master's degree in free software with regard to the URJC's schema of subjects.

Conclusions and Future Work

This paper presents a study of the offers that are currently available as regards post-graduate studies in the field of free software. It begins by arguing why it is important to have experts in free software at present, and by explaining that students finish their university studies without having attained the knowledge and skills needed by the free software industry and community. Universities and higher education establishments therefore have the possibility of teaching these aspects by offering post-graduate degrees that are oriented towards those professional profiles that wish to specialise in the area of free software [START_REF] Montes-León | Propuesta para la creación de un máster en software libre en la escuela politécnica del ejército extensión latacunga en ecuador. Trabajo fin de máster[END_REF].

Various European and South American post-graduate initiatives have been found, and the degree of affinity as regards the content of their curriculums is shown in Table 3, principally with regard to historic and organisational matters. The curricular schema of the Universidad Rey Juan Carlos has therefore been used, which provides details of: the existence of a general curriculum, along with the materials available that facilitate the tasks of those universities that wish to offer a Master's degree in free software.

As will be observed in the section in Table 1 entitled 'Analysis of existing Master's degrees in free software', the research has not located any Master's degrees of this kind in English-speaking countries. This research will continue to review whether professional university graduates who have taken post-graduate degrees in free software have more possibilities of obtaining employment. We shall also verify the evolution that the universities offering Master's degrees in free software have undergone.

  Tabla 1. Comparison of Universities Offering Master's degrees in Free Software

	Comparison of Universities Offering Master's degrees in Free Software
					Universities
		URJC UOC ISTEC U Lleida UNAB UNACHI Extremadura U Pisa
	Country	Spain	Spain Portugal Spain Colombia Mexico	Spain	Italy
	modality	Presence Virtual Presence Presence Virtual Presence	Presence	Presence
	Duration	1 year 1 year 1 year	2 year	2 year	NK	1 year	1 year
	Professional General General	ICT	ICT	ICT	ICT	ICT	ICT
	Credits	60	60	60	60	43	NK	60	60
	Practices	yes	no	no	yes	no	Nk	Nk	Nk
	Final Project	yes	yes	no	yes	yes	Nk	Nk	Nk
	Electives	yes	yes	no	no	no	Nk	Nk	Nk
	Agreement	UOC	no	UOC	no	UOC	Nk	Nk	Nk

  Tabla 2. Curricular Planning of Free Software Master's Degree (URJC)

	Name of subject	Description of Minimum Content	Type	ECTS Seminars Character
	Introduction to free software	Introduction, motivations, definition and	theorist	3	1 o	obligatory
		history of free software. Introduction to
		legal, economic, social and technological
		framework of free software
	Legal aspects of free software Intellectual property, legal aspects, li-	theorist	3	1 o	obligatory
		cences
	Economic aspects of free soft-	Introduction to economic aspects of soft-	theorist	3	1 o	obligatory
	ware	ware, types of business models, business
		plans and case studies.
	Developers and their motiva-	Profile of developers, motivations, roles	theorist-practical	3	1 o	obligatory
	tions	and leadership in free software. Evolu-
		tion of participation and integration pro-
		grammes in projects
	Free software development.	Development environments, version con-	practical	3	1 o	obligatory
	Tools	trol systems, defect and task manage-
		ment in free software projects. IDEs and
		collaborative tools. Case studies specific
		to free software project development
	Free software project evalua-	Introduction to software quality. Light	practical	3	1 o	obligatory
	tion	evaluation methodologies. Project infor-
		mation extraction tools, quality evalua-
		tion atomisation and specific case studies
	Case studies I -II	Free projects, including themes related to	seminary	9	1 o y 2 o	obligatory
		technological, organisational, legal, eco-
		nomic and governmental themes
	Free software Project manage-	Introduction to free software Project cre-	theorist	3	2 o	obligatory
	ment	ation, Infrastructure, communication and
		management of community elements
	Advanced free software devel-	Advanced tools and advanced technical	practical	3	2 o	elective
	opment	aspects of free software development.
	System integration	Introduction to systems administration,	practical	3	2 o	elective
		storage, networks, security and virtuali-
		sation with free software
	Free software instalment	Instalment of free software. Free software	theorist	3	2 o	elective
		in desktops and servers. Cost analyses,
		requirements and study of infrastructure
		deployment using free software
	Free software communities	Free software communities from the em-	practical	3	2 o	elective
		pirical viewpoint, data collection tools,
		database management. Introduction to
		the evolution of software and the study of
		free software communities. Specific case
		studies
	Industrial placements	Industrial placements at companies	practical	12	1 o y 2 o	obligatory
	End-of-degree project	Development of Project focused on free	Project	12	1 o y 2 o	obligatory
		software

  Tabla 3. Analysis of Universities' Subjects with Regard to the URJC

	Analysis of Universities' Subjects with Regard to the URJC
	Subject	URJC UOC ISTEC U LLEIDA UNAB UNACHI
	Introduction to free software	yes	yes	yes	yes	yes	NK
	Legal aspects of free software	yes	yes	yes	yes	yes	NK
	Economic aspects of free software	yes	yes	yes	yes	yes	NK
	Developers and their motivations	yes	no	no	no	no	NK
	Free software development. Tools	yes	yes	yes	yes	yes	NK
	Free software project evaluation	yes	no	no	no	no	NK
	Case studies I	yes	no	yes	yes	yes	NK
	Free software Project management yes	yes	no	yes	no	NK
	Case studies II	yes	no	yes	yes	yes	NK
	Prácticum	yes	yes	yes	yes	no	NK
	End-of-degree project	yes	yes	yes	yes	yes	NK
	Advanced free software development yes	yes	yes	yes	yes	NK
	System integration	yes	yes	no	yes	yes	NK
	Free software instalment	yes	yes	yes	yes	yes	NK
	Free software communities	yes	no	no	no	no	NK

LOES by its acronym in Spanish: http://www.utelvt.edu.ec/LOES_2010.pdf

Career Space is a consortium that is formed of eleven ICT companies and analyses the need to provide professionals with capacities in this sphere http://www. space-careers.com/

Please note that this study is not intended to be complete, but is rather a representative sample of Master's degrees in Free Software. The authors would like to apologise for any other initiative that has been omitted from this study.

[START_REF] Chan | Coding free software, coding free states: Free software legislation and the politics of code in peru[END_REF] http://master.libresoft.es. This Master's degree is also offered in conjunction with the Igalia company in

Galicia 5 http://estudios.uoc.edu/es/masters-universitarios/

software-libre/ 6 http://iscte-iul.pt/cursos/mestrados/10702/

apresentacao.aspx 7 http://www.udl.cat/estudis/masters_cast/

programario_libre.html 8 http://www.unab.edu.co/portal/page/portal/UNAB/programas-academicos/ software-

libre-virtual?programa=MSOL 9 http://www.uach.mx/investigacion_y_posgrado/2010/10/28/

maestria_en_ software_libre/ 10 http://www.

eweb.unex.es/eweb/msl/index.html 11 http://www.master.netseven.it/index.php?page=/master/home

http://master.libresoft.es

http://www.moodle.org

ECTS (European Credit Transfer System)(BOE 2003). ECTS credits are established by measuring the amount of work that the student has carried out both inside and outside the classroom to pass a subject.

Acknowledgements

This work has been funded by the Spanish Government with the SobreSale project (TIN2011-28110), by the Comunidad de Madrid with the Red de Excelencia eMadrid (S2009/TIC-1650), by the Prometeo Project of the Ministry of Higher Education Science, Technology and Innovation of the Republic of Ecuador, and by the SIGMA-CC project (Ministerio de Economía y Competitividad and Fondo Europeo de Desarrollo Regional FEDER, TIN2012-36904).


Becka Morgan
email: morganb@wou.edu

Carlos Jensen
email: cjensen@eecs.oregonstate.edu

Lessons Learned from Teaching Open Source Software Development

Keywords: Free/Open Source Software, Education, FOSS

des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

Free/Open Source Software (FOSS) is an increasingly important part of the computing eco-system [START_REF] Deshpande | The total growth of open source[END_REF]. Teaching students how to participate in FOSS projects not only provides them with meaningful and highly marketable hands-on experience, it also potentially helps ensure FOSS communities have enough qualified developers to draw from to meet their needs. Supporting a growing and vital FOSS eco-system requires us to grow the pool of potential contributors. While working things out from first principles by yourself has been the traditional way of learning how to contribute to FOSS, this is a very inefficient model, and unlikely to meet growing needs. Newcomers to FOSS often have a difficult time finding an entry point into a project. Barriers to entry include documentation that is incomplete and/or not up to date, no response from community members when questions are asked, and the need to learn a new set of tools in order to participate [START_REF] Shibuya | Understanding the process of participating in open source communities[END_REF]. While braving the learning process and overcoming the many obstacles on your own is seen as a badge of courage, we believe there is ample room for improvement, and a need for a guided and more structured learning experience.

Beyond the economic/market arguments, as educators we have a duty to look towards the needs of our students, and how to best prepare them for the jobs of tomorrow. Experience with, and the ability to participate in FOSS development is becoming a critical skill, as companies increasingly adopt FOSS [START_REF] Trapasso | Accenture Newsroom: Investment in Open Source Software Set to Rise[END_REF], and even when not using FOSS, look for FOSS experience in their hiring. According to David Heinemeyer Hansson, a partner at the software development firm 37signals, "Open source is a golden gift to the hiring process of technical people. It reduces the risk enormously by allowing you to sample candidates over a much longer period of time" [START_REF] Hansson | Reduce the risk, hire from open source[END_REF].

As FOSS projects give students a unique way of developing real-world skills and experience, as well as providing prospective employers with tangible proof of their skills, it is important for universities to develop class-room models to teach more students how to participate in FOSS. Some universities have been experimenting with such courses, and this paper describes two different approaches to teaching students how to navigate the joining process and contribute to a FOSS project. One instructor focused on building on a collaborative "communities of practice" model, while the other on a more traditional classroom model. This paper compares and contrasts the two models different models, each used twice at different universities. It discusses the outcomes, lessons learned, and provides guidance to those contemplating developing their own courses on this topic.

Related Work

Work has been done looking at how to incorporate FOSS into CS curriculum, and even how to use FOSS projects as a way of recruiting students looking to have more real-world impact. One such effort is the Humanitarian FOSS project (HFOSS) [START_REF] Kuechler | Gender Differences in Early Free and Open Source Software Joining Process[END_REF]. This curriculum focuses on creating enthusiasm and engagement around participation in HFOSS, primarily among non-traditional CS students. Through this effort they seek to provide compelling use-cases and activities that will motivate a wide range of student groups, and be able to effectively leverage diverse backgrounds and experiences to solve real-world problems [START_REF] Lakhani | The boston consulting group hacker survey[END_REF][START_REF] Park | Supporting the learning process of open source novices: an evaluation of code and project history visualization tools[END_REF].

The HFOSS project has also influenced other curriculum efforts, most notably the "Professors Open Source Summer Experience" (POSSE), sponsored by Redhat [START_REF] Ellis | Towards a Model of Faculty Development for FOSS in Education[END_REF]. This effort is aimed at teaching college professors about FOSS, about FOSS tools, and how to introduce FOSS into their curriculum. This paper focuses on lessons learned from using the "go it alone" model, then incorporates information gained from attending POSSE to outline an improved curricular model designed to support students in overcoming the barriers to entry. In addition, there have been a number of efforts designed to produce curriculum around FOSS, such as the Teaching Open Source web community [6], which shares curriculum online. We build on both lessons and materials from POSSE, as well as our own personal experiences.

There is a preponderance of literature written about FOSS looking at who already contributes. Surveys have been conducted to look at who is participating in FOSS [START_REF] Ghosh | Free/libre and open source software: Survey and study[END_REF][START_REF] David | FLOSS-US: the free/libre/open source software survey for[END_REF][START_REF] Lakhani | The boston consulting group hacker survey[END_REF]. This provides us with a look at the demographics of contributors. There is also research into the motivation of FOSS developers [START_REF] Hars | Working for free? Motivations of participating in open source projects[END_REF][START_REF] Hertel | Motivation of software developers in Open Source projects: an Internet-based survey of contributors to the Linux kernel[END_REF][START_REF] Roberts | Understanding the motivations, participation, and performance of open source software developers: A longitudinal study of the apache projects[END_REF][START_REF] Ye | Toward an understanding of the motivation of open source software developers[END_REF] looking at why de-velopers volunteer time to work on FOSS projects. Additionally there is a body of work that considers the "newbie" experiences approaching and joining FOSS projects [START_REF] King | Joining Free/Open Source Software Communities An Analysis of Newbies' First Interactions on Project Mailing Lists[END_REF][START_REF] Kuechler | Gender Differences in Early Free and Open Source Software Joining Process[END_REF][START_REF] Park | Supporting the learning process of open source novices: an evaluation of code and project history visualization tools[END_REF], a great deal of which focuses on the lack of diversity within FOSS developer populations and ways to affect change [START_REF] Kuechler | Gender Differences in Early Free and Open Source Software Joining Process[END_REF][START_REF] Byfield | Sexism: Open Source Software's Dirty Little Secret -Datamation[END_REF][START_REF] Levesque | Women in software: Open source, cold shoulder[END_REF]. What is lacking from this body of work is a robust foundation for creating a pedagogical approach for curriculum that supports a platform for "newbies" to become involved.

To address this issue, both instructors decided to build on the Communities of Practice (CoP) theory, though to different degrees. Efforts aimed at supporting diversity in CS classrooms often builds on, implicitly or explicitly, the CoP framework (e.g. pairs programming [START_REF] Mcdowell | Pair programming improves student retention, confidence, and program quality[END_REF][START_REF] Nagappan | Improving the CS1 experience with pair programming[END_REF] and peer mentoring [START_REF] Cohoon | Mentoring computer science undergraduates[END_REF]). Research shows that women often turn away from CS, at least in part, because they are not shown what they can do with their knowledge in real life [START_REF] Margolis | Unlocking the clubhouse[END_REF]. What they lack is the introduction to the CoP that they are joining.

Wenger defines communities of practice as "groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly" [START_REF] Wenger | Communities of practice: A brief introduction[END_REF]. This mirrors the FOSS way of doing things, and could serve as a theoretical framework for designing effective interventions. Wenger goes on to describe "three dimensions of the relation by which practice is the source of coherence of a community" [START_REF] Wenger | Communities of practice: Learning, meaning, and identity[END_REF]. These three dimensions are: 1. Mutual Engagement -practice exists in the relationships between people, developed as they engage in practice, whose meanings are negotiated with one another. Diversity is important in this engagement as each person brings different skills and competency to the practice. 2. Joint Enterprise -the enterprise the community is engaged in is defined by negotiation. The enterprise is thus defined by participants as it develops. This gives each participant a deep feeling of ownership of the enterprise and accountability to the community. 3. Shared Repertoire -as the enterprise is negotiated shared resources are developed.

This includes artifacts, and routines, words, tools, stories, symbols, actions and concepts that are negotiated over time [START_REF] Wenger | Communities of practice: Learning, meaning, and identity[END_REF]. CS courses have traditionally focused on individual achievement and competition rather than cooperation, which does not reflect industry models, more focused on group accomplishments and team work [START_REF] Howell | The experience of women in undergraduate computer science: what does the research say[END_REF]. The use of techniques such as pairs programming, a cooperative model of learning and development, has been proven beneficial [START_REF] Mcdowell | Pair programming improves student retention, confidence, and program quality[END_REF]. Technical careers often rely on teamwork, and many companies use agile methods and extreme or pair programming.

Research conducted by POSSE participants has shown that it is both possible to teach students to participate in FOSS in a classroom setting, and that students find participating in Humanitarian FOSS (HFOSS) projects especially rewarding [START_REF] Morelli | Revitalizing computing education through free and open source software for humanity[END_REF]. It is important now to create a body of literature that addresses the specific approaches that lead to success, failures and lessons learned, in order to provide a robust platform from which to develop more specific curriculum.

Learning Objectives & Pedagogic Approach

This paper details the experiences of two instructors teaching two independent courses in FOSS development at two separate universities over the course of two years. The courses were taught using slightly different pedagogical styles, one providing more structure and guidance, as well as having a strong emphasis on in-class collaboration (Course A), and the second (Course B) following a more free-form individualbased structure. Both courses were built around the concept of building a CoP in the class, though to different degrees.

The goals of the two courses were the same: Providing students with the cultural and technical background to make a first contribution to a FOSS project, and the ability to identify future opportunities for contribution. The approach to meeting these goals was to provide a guided and structured process for navigating a joining process typically fraught with uncertainty and pitfalls. That said each instructor tailored the objectives to suit their target audience and class structure.

Course A was taught twice over two consecutive years at a small teaching university. Students in the first year course had junior and senior standing in Computer Science. A total of twenty-nine students were enrolled in the course. Students all worked on the same FOSS project and worked in teams to facilitate contribution. In the second year the course was opened up to upper class undergraduates in information systems and graduate students in management and information systems. There were a total of nine undergraduates and five students in the Masters program. Lessons were more guided and contributions were considered more broadly based on lessons learned from year one.

Course series B was taught twice over two consecutive years at a research university. The course was primarily offered to seniors and juniors in Computer Science, and followed a more traditional course model, where students picked their own projects to work on, and each student was responsible for their own coursework. There were twenty-four students in year one, and nineteen in year two.

Students were given some guidance in picking a project (more so in year 2 than year 1, when the lessons learned from the first year students were shared with the 2 nd year students). This guidance was largely centered on specific projects to avoid or join, and organizational issues to look out for (active bug-tracker, up to date documentation, welcoming IRC/mailing list, etc.)

Both courses were designed to achieve the similar learning outcomes as follows:

4

Course Design

Course A

Course A was designed around cooperative learning. The Ubuntu project was chosen for all students to work on to remove uncertainty and facilitate in-class collaboration.

Ubuntu is a community that is known to be welcoming, has extensive documentation, and the availability of mentors. In addition to mentors, students also had access to weekly meetings of Ubuntu contributors and a prerelease Global Jam toward the end of the term. The Global Jam is an Ubuntu coordinated event uniting community members worldwide to improve the Ubuntu project. Students had several choices for how to contribute, including documentation, design, development, bug triage, and testing. Students were assigned to groups based on their area of interest. Each student had a mentor assigned to them. As a co-operative classroom the course was taught in a lab, giving students ample hands-on experience. There were no lectures in this course; rather time was spent in discussion. If a group hit a barrier they could not overcome, they either sought help from other groups, mentors or the instructor. The term was divided with the beginning focused on history and culture, both of FOSS in general and Ubuntu specifically, followed by an introduction of tools used in FOSS, including IRC, version control, and bug-trackers. This work was used as the foundation for contribution.

After the first four-week introduction, students began to focus on contributions. As a starting point all students were assigned to bug triage, documentation, or testing. Students were required to make at least one contribution to the Ubuntu project. Groups worked to gather information from the Ubuntu documentation and their mentors to complete this assignment. Students were assessed based on participation in their team (30%), attendance (30%), and contributions to Ubuntu (40%). The final piece took into consideration the difficulty of the contribution. Fixing a bug title did not carry as much weight as testing code or creating quick lists (a dropdown menu in Ubuntu Unity giving quick access to common tasks for applications).

Course B

Course B was designed to more closely mirror the typical lecture-based classroom experience, as well as give students more flexibility in what they wanted to get involved in. Self-motivation, the desire to scratch your own itch, is an important part of what drives FOSS contributors. This freedom of course comes at a cost; there are no guarantees that students won't pick hostile or non-productive projects, and the guidance and support that they can receive from the rest of the class and instructor are limited because each project is likely to differ in terms of tools used, customs, and availability of documentation. We chose to use this structure for this class because the student population was deemed to be more mature and experienced, and thus potentially better able to deal with potential setbacks. Despite the divergence in projects, and that each student worked independently, there was an important social component, building on the CoP theory. There were weekly oral status reports before the whole class, and more lengthy bi-weekly experience reports and discussions. Students shared their progress, lessons learned, and pitfalls encountered, and gave each other advice on how to proceed. This helped build shared repertoire, and mutual engagement, key components to a CoP.

Lectures were based on materials from The Cathedral and the Bazaar [START_REF] Raymond | The cathedral and the bazaar: musings on Linux and open source by an accidental revolutionary[END_REF] and Producing Open Source Software [START_REF]Producing Open Source Software[END_REF]. Most of the lecture time was aimed at providing students with the required background, including an understanding of process, and the tools used in FOSS. A lot of the technical material was front-loaded to get students up and running quickly, and the second half of the course was designed around discussions of open problems in FOSS and speakers talking about their projects.

Students were evaluated through a midterm and final exam focusing on the historical, political and licensing frameworks of FOSS (30% total grade). They had small assignments distributed through the early part of the term aimed at helping them get familiar with the organization of a particular project, and the tools used in said project (org overview and mapping of resources; use of IRC and mailing lists; and code repository and bug tracking). This accounted for 20% of their grade.

The remaining 50% was distributed over 3 contributions of the students choosing to their project of choice (bug report, documentation, testing or code patch, no more than 2 of any one). Contributions had to be accompanied by a report reflecting the importance of the work, and the process followed to create and submit it to their project. Students had bi-weekly project reports and updates to their classmates, which kept everyone up-to-date, and helped disseminate best practices and pitfalls.

Because of the short duration of a term and the long review process associated with many projects, contributions were graded by the amount of effort and whether the process was adequate rather than whether the contribution was ultimately accepted. Acceptance was nice, but not always achievable to a true novice on the first try.

Results

The final analysis of course A showed that in year one 25 out of 30 students (83%) made some contribution to the project. Out of those 25 students 16 (53% of the total) made more than five contributions of varying degrees of difficulty. Additionally 3 out of 5 women and 4 of 6 non-white were part of the groups thathad the highest performance levels. Analysis of year two shows that 11 out of 14 students (79%) made contributions to the project and of those 11 students 5 (45%, of the total) made more than five contributions. Given the difference in skill sets due to the mix of CS, IS and MIS, the level of contribution was not considered in year two.

Course B similarly had a high degree of success, with 19 the 24 students completing their three contributions in a satisfactory manner in year one (79.2% of students), and 17 of 19 students (89.5% of students) in the second year. Of those who did not complete all three assignments, all completed at least one contribution in year one, and two in year two. For the second year, student evaluations indicated that this was one of the most worthwhile courses the students had completed, and more than half the students indicated that they intended to continue working on the project they had chosen. For the first year, evaluations were mixed, primarily due to frustration with the projects they had selected and issues of non-responsiveness and lacking or misleading documentation, and fewer than a quarter of students expressed an interest in continuing their work on the projects after the end of the class.

Discussion and Lessons Learned

While it is difficult to objectively evaluate the effectiveness of the courses we designed, other than in terms of meeting their learning objectives, we judge them to have been a success. Joining a FOSS project for the first time is a very timeconsuming and uncertain process, and for most students, either course helped them successfully navigate the learning process in a very limited amount of time.

As should be evident from the description of the courses presented, a significant amount of the learning was still self-directed; the students had to figure out what to do for themselves. What the course did provide was a social and technical context for doing so. The class gave them a goal, helped explain some of the organizational and cultural issues they were previously unfamiliar with, and the understanding that this process is difficult, and that it is OK to be lost. With this context, the students were largely able to navigate the process with some minimal support and encouragement.

Though we only have anecdotal evidence to support this, we found that the social context, the CoP framework that we sought to build, was immensely valuable. While many students initially were reluctant to admit problems or failures, and indeed would likely have struggled in silence with these until they succeeded or gave up, by the midpoint of the course there was a definitive feeling of camaraderie among the students. They shared their frustrations with each other openly, and were able to offer advice and coaching to each other unprompted. Forming in-class teams or not does not seem to have been a factor for success or failure.

That said, we did experience some significant problems in our courses. The openness of course A (make any number of contributions of any kind) coupled with the size of the Ubuntu project turned out to be a significant obstacle. As a result students reported being overwhelmed and unable to find a place to begin. It is worth noting that students who interacted with their mentors and each other on a regular basis found it easier to contribute to the project. It became apparent that the course needed more structure and direction. Students also needed to be taught how to use their mentors to gather information. Just providing mentorship did not ensure that students knew what to ask or how to get started talking to their mentors.

Course B was in some ways more open than Course A, but students were directed to either smaller projects, projects they already had experience with, or projects that had an established mentor network. The expectations in terms of contributions were better defined however. Fewer students reported being overwhelmed as a result.

Because of the openness of course A, evaluation was difficult. Grades were based on participation, contribution, and attendance. The difficulty evaluating students stemmed from not having clear guidelines and expectations. This, coupled with the lack of structure and overwhelming size of the project, pointed to a solution that would address all three problems. Using a smaller project written in a language students had experience with would provide students with a more moderate learning curve. The course needed assignments to provide the means to gain access to the project, but also as a means to evaluate students' work. Course B on the other hand turned out to be much easier to evaluate, and the exams and minor assignments helped students feel less worried about their grades.

The end result of using Ubuntu was the realization that the project was too large. Although there were many places to participate, and the community was very welcoming, most of the students reported being overwhelmed with the documentation of the project. While the documentation was exhaustive, the sheer volume made it difficult for students to find answers to their questions and a place to start. Fifteen out of twenty-seven students listed being overwhelmed by the amount of documentation and/or finding an entry point into the project because it was so large.

Not picking a project for students however led to more work for the instructor, and some additional uncertainty among students early in the term, but in the second year we developed guidelines for selecting better projects, and students were more devoted to their tasks. These courses will continue at both universities, and the curriculum is available for others seeking to adopt or design their own curriculum <links to be shared after review>.

Conclusions

Using FOSS in higher education serves both the students -by providing real world experience, as well as the FOSS community -by growing a pool of potential developers. Courses that emphasize hands-on experience and the completion of real contributions to real FOSS projects were able to achieve a very high success rate. Following a CoP model, whether strictly or loosely interpreted, contributed to this success, and helped students overcome the confusion and frustration of dealing with an often unstructured learning challenge.

  1. Knowledge -(a) Give a definition of FOSS (b) Discuss the history of FOSS (c) Identify where to get answers to questions about Ubuntu. (A only) 2. Comprehension -(a) Explain the socio-political and technical workings of a FOSS project (B only) (b) Identify and summarize the workings of FOSS tools 3. Application (a) Map a generic path for joining an FOSS (b) Make use of FOSS tools (e.g., version control, bug tracker, IRC) 4. Analysis (a) Identify a project to contribute to (B only) (b) Identify potential resources and key stakeholders (B only) (c) Identify areas of participation using current skills (A only) (d) Separate research of the areas discovered to be addressed by individual group members (A only) 5. Synthesis (a) Assemble individual research into a plan to gain entry into an aspect of Ubuntu (A only) (b) Devise a plan as a group to contribute, using additional input from Ubuntu mentors (A only) (c) Make three contributions to a project (B only) 6. Evaluation (a) Explain to other groups how to complete tasks in one area of the Ubuntu project (A only) (b) Document contribution, and present to class (B only)


Mario Chacon-Rivas

Cesar Garita

A successful OSS adaptation and integration in an e-Learning platform: TEC Digital

E-learning projects in many universities are focused on adapting or installing a software platform to upload teaching materials and sometimes to open discussion forums. However, it is totally possible to extend the learning management system (LMS) as a complete service platform for students and instructors including more advanced services. This paper shows the progressive integration of services and applications in TEC Digital as the open source e-learning platform of the Costa Rica Institute of Technology. This integration experience could be used as a case of study for other universities.

Introduction

In 2008, the Costa Rica Institute of Technology (TEC) started a project called TEC Digital to renew its LMS (Learning Management System) platform. T he general objective of TEC Digital was to incorporate ICT in the development of teaching activities at TEC [START_REF] Garita | OpenACS/dotLRN integration with ITCR platform[END_REF]. One of the main requirements then was that it should be open source [START_REF] Garita | TEC Digital: A case study of an e-learning environment for higher education in Costa Rica[END_REF]. Thus, the open source strategy that guides the architecture of TEC Digital, offers a high degree of extensibility which has led to the development of novel tools in the areas of instructional design, m-learning, adaptive learning, business intelligence, usability, and competence management, among others.

This paper shows the progressive integration of services and applications in the TEC Digital e-learning platform. This work could be used as case of study for other universities facing the problem of integrating e-learning technologies using OSS.

During the last two decades, many papers can be found concerning the comparison and adoption of LMS in universities [3][4]. There are different justifications for adopting one LMS or the other, based on given technical criteria [START_REF] Moreno | Plataforma tecnológica para potenciar los procesos de enseñanzaaprendizaje: desarrollo en la Universitat de València basado en software libre y colaborativo[END_REF]. In particular, there are several studies about Free/Libre Open Source Software (FLOSS) adoption in public sector and in e-learning. For instance Rossi et al, in [START_REF] Rossi | Free/Libre Open Source Adoption in the Public Sector: Current State and Lessons Learnt[END_REF], enumerated several individual, technological, organizational and environmental factors to be considered in OSS adoption. Also, in [START_REF]FLOSSMetrics project[END_REF] the FLOSS community presents a useful study of adoption models and myths around open source solutions. In [START_REF] Fernandes | FLOSS in Technology-Enhanced Learning[END_REF], a comparative analysis is presented regarding FLOSS LMS, and one of the main conclusions is that despite technical functionalities, the final decision is greatly affected by end user needs.

In terms of open source LMS architecture approaches, there are several works focusing on extensibility and service integration. In [START_REF] Khan | An Extendable Open Source Architecture of e-Learning System[END_REF], an extendable open source architecture of e-learning systems is presented, based on core components and optional extensions. In [START_REF] Jabr | E-learning management system using service oriented architecture[END_REF], a service-oriented architecture for LMS is discussed to support interoperability between LMS and different systems and databases. The architecture of TEC Digital follows these principles of extensibility and interoperability in order to support the development of novel components, as described in the next section.

Integrating services in TEC Digital

The process of adaptation and integration of the full e-learning system at TEC has involved the following main tasks or stages:

(1) Adoption of .LRN LMS within the university.

(2) Integration of internal information sources into .LRN.

(3) Integration of complementary services and applications.

(4) Development of novel complementary components. These tasks are briefly explained in the following subsections.

Adopting .LRN

In TEC, the adoption of the LMS was based on a comparison study between different platforms such as Moodle, Sakai and .LRN. In the end, .LRN was selected mostly due to its virtual community management, portal creation and interface design. The main issues compared against those LMS included: technical staff, interface design, adaptability to our internal organization, community use and development support. Once the LMS was chosen, a pilot plan was started involving a group of instructors from a few schools. Then, in 2009 .LRN was officially adopted as institutional platform and it has been consolidated through daily use.

Integration of internal information sources

It is very common that universities have the LMS installed on one platform and the administrative and academic information located on other different platforms. In TEC case, the academic and administrative information systems are based on a Microsoft platform. The .LRN architecture is based on open source solutions including PostgreSQL, OpenACS, AOLServer. In order to integrate information services from the internal university sources (e.g. student admission and registration department), a service-oriented architecture was implemented. This integration architecture allowed the addition of several features and tools such as: automatic users account creation from registry database, student/instructor profiles, and communities matching the internal organization.

Integration of services and applications

The TEC academic community requires several services and applications offered by third parties to support teaching and regular activities. Some of those services are: Web2Project, Munin, Limesurvey, CmapServer, OJS, GIT, Dspace. The integration of these components has been mostly done using OpenLDAP and integrating some functions internally into the LMS.

Development of novel components

Besides integrating existing services and components, TEC Digital has the objective of complementing (improving) the LMS platform with some advanced functionalities or tools for students and teachers as well as university managers and collaborators. Some of the components developed "in-house" that have been successfully integrated with .LRN include: Instructional Design Generator (course planning), Mobile Course (app for course information access), and Learning Activities Manager (evaluation). Please notice that the adoption and integration of the services and components described in this section, demands a highly extensible system architecture, based on well-defined layers, web services and protocols.

Through the described services and components, TEC digital manages around 12125 students, 1026 instructors, 148 virtual communities, 4481 courses, and 8500 user accesses by day.

Conclusions

Some of the major benefits for our university generated by TEC Digital open source solutions include: reduced software license costs, seamless integration of university systems, capacity building in open source solutions and perhaps, the biggest benefit of OSS investment is that the organization is the "owner" of its products and solutions.

On the other hand, there are some considerations regarding the use of OSS that should not be underestimated: the use of OSS in an organization and in particular at universities, must be carefully planned in several dimensions; the technical skills required for technicians supporting OSS platform can be different than in other platforms; the use of OSS does not mean no investment, the organization must invest in support, adaptation, integration and others, and finally, the definition and coordination of the technical team can be quite complex.


Eugenio Rosales

Abel Alfonso

Fírvida Donéstevez

Marielis González Muño

Allan Pierra Fuentes

Smart TV with Free Technologies in Support of Teaching-Learning Process

The digital divide created between Cuba and the rest of the world has forced us to use alternative technologies in order to preserve and strengthen the achievements of the Revolution in the field of education. One of the actions undertaken in this regard consists of making audiovisual equipment and media become a supplementary element of the teacher's educational work, and thus ensuring the rational use of the aforesaid media. This paper shows how to use a new trend of information technology and communications, using hybrid or smart TVs. This low-cost solution for low energy consumption, conceived as part of the educational process at all levels of the Island, provides some technical aspects and also shows, in the outline, some other ideas for incorporating this technology into the teaching-learning process. The results of laboratory tests are likewise shown.

Introduction

The birth of Information and Communication Technologies (ICT) has brought about deep changes in the structure of teaching aids, by adding some new tools and changing the existing, more traditional methods and techniques. These changes have also influenced the way of using teaching aids, since they have contributed to the optimization of newer techniques involved in the process of learning, granting more access to it [START_REF] Bravo | LOS MEDIOS DE ENSEÑANZA: CLASIFICACIÓN, SELECCIÓN Y APLICACIÓN[END_REF].

Television is one of those teaching aids which have since long transformed education inside and outside the school. By the early Seventies, cartoons made for children in the Soviet Union played a major educational part, and the year 1985 would see the emergence of Discovery Channel in the United States, thus becoming the first worldwide learning channel.

In Cuba television sets are used as teaching aids since 1961, when they were first use during the literacy campaign was on its way. Later on, by the year 1968, a series of televised programs was conceived with the aim of supporting classes in elementary and high schools.

During the 2000 -2001 school year, the initiative of using television as a teaching aid was taken up again and in some elementary, junior and senior high schools, a television set was used for every 100 students. At that time, the materials for teaching students only reached the audience as part of other programs broadcast by the national Cubavisión channel. All along the 2001 -2002 school year, each of the 9970 schools [START_REF] Cuba | Anuario Estadístico de Cuba 2010[END_REF] received a TV set per classroom. The total figure of televisions reached the number of 109.117 and they came along with some other 40.858 video cassette players [START_REF] Vicent | Revolución en las aulas de Cuba | Edición impresa[END_REF]. This major boost for education was firmly intended to extend the range of teachers' options to enrich their classes, by replacing expensive teaching aids with audio-visual materials in a more interactive way. Two more learning channels were conceived, with the purpose of broadcasting televised classes and educational multimedia that would back up the teaching process.

The University of Computer Sciences (UCI) was inaugurated in the year 2002. Within the university, as part of the back-up equipment and of the upgrading of the educational system, at least two TV sets and a computer were placed in each classroom, as well as other devices allowing the connection with the aforementioned machines. Different television channels were opened for the broadcast of televised classes, consultation and other educational materials. Besides, there was a website that granted access to any of those resources at anytime from a computer.

From what has been said, one can conclude that since the economic situation of the country is not at its best, it would be advisable to look for cheaper alternatives (so as to be able to replace and/or repair the computers in case of damage) and a lower energy consumption (to grant a rational use) for the technologies used in classrooms all over the country.

And then? How could a teaching aid based on ICT be used as a supplement to the teaching process and be likewise as cheap and energy-saving?

The aim of the present research is to design a teaching aid based on ICT, using low-cost and energysaving elements that can be used as a supplement to the teaching process.

Smart Television

A smart television (STV) is made up by a television designed to process and store data like a normal computer, allowing users to watch their favorite programs by request, without being overwhelmed by the flood of repetitive TV commercials. Instead, commercials appear in the guise of inserted messages or gadgets or over the broadcast itself. This kind of equipment may also take in games, applications and be able to interact with Internet through the e-mail, instant messages or Web surfing [START_REF] Kovach | What Is A Smart TV? -Business Insider[END_REF].

Background

By the year 2010, the enterprises like Google, Intel and Sony got together to announce to the world the news about a revolutionary appliance, the smart television, a technological novelty based on digital television. Yet, the social object for which STV were designed is much distant from the conception of a didactic teaching aid. Its introduction in Cuban schools may be favorable for the teaching-learning process because of the following reasons:

• The STV is a technological evolution of video cassette players, computers and televisions presently used at all levels of instruction in the country. • The educational software would be easily inserted in the learning process as didactic materials.

• The STV would facilitate the use of the network and grant access to Internet in order to get information and the didactic resources. • It could be put into service using low-cost and energy saving components. The new potential of smart televisions is due to the inclusion, in their circuits, of small computers like the ones used in mobile phones, tablets or even in portable computers. There are several transnational companies which are presently developing this kind of TV; among them are the world-known LG, Google and Samsung. There are also important projects for Free and Open Code Software (FOSS) which have switched from desk computers to television sets, such as GNU/Linux Ubuntu and even some others which had initially foreseen a foray into this kind of media like the Android project.

On the other hand, there are some hardware projects whose aim is to have small computers plugged in to the television. These would be extremely cheap since they don't even come with a chassis. Most likely, there isn't any other solution as popular as Raspberry Pi. Its manufacturer describes it as: (…) a computer whose size is that of a credit card that is plugged in to a TV and a keyboard. It's a PC that can do many a thing like a desk PC: spreadsheets, text processing and games. It can also play high-definition videos (Raspberry [START_REF] Pi | Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte[END_REF].

After Raspberry Pi started marketing computers the size of a card, several other brands have arisen, having a higher quality with regards to the processing potential and other technical features. Among the most promising ones, being in the core of the present research, are Odroid and APC 8750, these two have an outstanding feature: they are sold with the operating Android system already installed. In response to the primary goal set by this research, the use of the Raspberry Pi board was decided, mainly because it is cheaper than the two other options and presents an output device for the RCA video which is at the same time the standard input of television since the late Fifties.

A chart showing a comparison of the abovementioned boards is found below: Curiously, for Android, it was decided to have the architecture of a conventional GNU/Linux distribution changed. Why? Any GNU/Linux distribution has in its default settings some applications developed by using programming languages such as Perl, Python, Bash y C/C++, and also developed by using different graphic libraries like Ncurses, Gtk+ and/or Qt. This diversity causes a certain inefficiency that is not perceived or is just in any case of minor importance in a desk computer or telephone with limited resources. Standardizing development technologies (Java y C/C++) brought about the birth of powerful tools like SDKs and IDEs integrations like Eclipse, an incomparable phenomenon in the world of FOSS.

These tools have also given rise to some applications for Android in the last four years, surpassing the number of applications of any GNU / Linux distribution. Therefore, for the present research we propose the use of Android's operating system, for its maturity, and for it has a large number of applications and a version for Raspberry Pi.

Known Results

The STV has more interactive elements than presentations or slideshow based on static images do, since it can even contain live videos. For classes and teachers working in the field of information and communication, the television is a good chance to use educational applications.

It is advisable that the physical duration of the object ranges from 10 to 20 minutes. On its own side, the length of the student's learning period does not have a definite pattern, because it depends on her/his own skills (FONDEF-APROA, 2005).

Applications for the STV are compared, in this case, to the objects of learning, since the structure of an application for Android (the operating system chosen) ensures all the good practices that have been previously described. Besides, these applications make the use of templates easier, as well as the television's design, since they save time and resources while generating objects and putting them into sequence in a similar learning context. The use of templates is favorable for the design of the object and also for the process of understanding of the contents by the students, who will rely on a standard-format object (FONDEF-APROA, 2005).

Below, a chart shows a comparison of the energy consumed by some teaching aids:

1 Association of 84 companies whose aim is to develop a platform that allows users to interact with mobile systems in a better and cheaper way (Open Handset Alliance), among its members are to be found: LG, Aser, ASUS, ALCATEL, ZTE, Huawey, DELL, Fujitsu, HTC, Samsung, inter alia.

Conclusions

At the completion of the present research, a smart television set was designed, being able to work as a teaching aid and having the following features:

• Low production cost, since it can be manufactured by placing a 35 USD computer in the interior of the TV sets which are already in use in classrooms all over the country. • Low energy consumption, since this brand-new device would only consume 4W more than a regular TV set. • Lined up with the latest developments of information and telecommunication technologies, it would use Android as the fastest-expanding and most profitable operating system at present. • Also lined up with the most recent information and telecommunication trends in education, it would propose the use of applications as subjects of study. As from now on, this team will focus on introducing some samples of the teaching aid in real classrooms, in order to validate its proposal and to put this technology in service all over the nation as soon as possible.

Furthermore, the thread of software and hardware components used by the aforesaid system will be followed closely, since production costs tend to be lower all the time and it is likely that newer technologies will arise, making STV cheaper and more rational for Cuban education.

Table 1 .

 1 Comparison of boardsSince the year 2008, different free and/or open code projects have intended to provide an operating system for both types of devices. By the late 2009, Google released the first version of Android's operating system, which was backed up by the giant Internet transnational company and by Open Handset Alliance (OHA) 1 . Since 2010, the home page of Android's developers has announced that they are working on the transfer of this platform on to televisions.

	Board	Price	CPU	RAM	Video
	R. Pi (B)	$35	700 MHz	512MB	HDMI/RCA
	Odroid (U2)	$89	1.7GHz	2GB	HDMI
	APC (8750)	$49	800 MHz	512 MB	HDMI/VGA
	2.2 Operating system

Table 2 .

 2 Energy comparison among teaching aids

			Components' Power (W)
	Audiovisual aids	Television Computer Monitor Video/DVD Total
	Use of video/DVD	75	-	-	20	95
	Use of computer	75	300	60	-	435
	Smart television	75	4	-	-	79