Towards Open Source/Data in the Context of Higher Education: Pragmatic Case Studies Deployed in Romania

. The open source ideology is unfortunately not so popular in Romania. This subject represents, to this day, an untackled problem especially in various local educational areas. The paper describes an interesting initiative taken this year by the Faculty of Computer Science, University of Ia¸si, Romania to change the collective opinion by progressively pushing the new generations of students through a binding process with the ideas involved in the open source philosophy. Three ongoing initiatives addressing this problem are detailed, including the results we have obtained so far through them, and also the steps that are planned to be taken soon on the matter.


Introduction
Based on multiple discussions with students in various events around the country, we observed that a high percentage of those with whom we talked have a few bad preconceptions when it comes to the open source ideology, from the fact that someone will use/steal your work to the idea that open source software is of poor quality.We set out to change that perspective and build a better community around the concept of open source software, ideally promoting collaboration and teamwork among fellow and future engineers [3].
The paper presents several details about three ongoing initiatives -sharing via GitHub of the most interesting student projects (Awesome FII Projects), a two-day national conference on various open source technologies (Open Source Camp), and an academia-industry joint training event (CloudbaseLABS ) -in order to help current and new generations of students get initiated and accustomed to the open source philosophy, methodologies, techniques, and tools in the context of actual Romanian higher education system -in particular, the Faculty of Computer Science from Iaşi, Romania.Several insights about these ongoing activities are provided, followed by conclusions and further work.

Advantages of a Fully Open Faculty
Each year, the students tackle a series of challenges meant to prepare them for real-life scenarios in the industry and sharpen their skills.Some of these challenges imply working in teams and using a wide range of industry technologies (e.g., various programming paradigms, languages, methodologies, software tools).Most of their work usually gets lost and is not saved and archived to be available online, and for that reason multiple generations of students receive similar tasks, those tasks not keeping up with developments in the industry.Also, each generation of students starts from scratch and usually has little ways of interacting with more experienced, older students.According to the Open Education Consortium1 , "education is sharing knowledge, insights and information with others, upon which new knowledge, skills, ideas and understanding can be built." From our point of view, there are multiple advantages to a open-sourceoriented faculty.Besides knowledge not getting lost, multiple generations can contribute to the same project over time.Additionally, there will be a high concentration of educational materials and resources that students can access to be able to get up to speed faster.Furthermore, due to the work older generations put in place, the bar is raised each year as a side effect.Another key feature of such a faculty is the fact that it offers its students a higher grade of visibility, resulting in more opportunities to get integrated in the job market.
In addition, we consider that our proposal approaches could be a suitable solution for learning beyond the classroom [11], by adopting both formal and informal instruction virtual spaces -in this case, focusing on open source code/data public repositories stored by GitHub.

Our Current Situation
At the moment, several disciplines taught at the Faculty of Computer Science Iasi (FII) already encourage students to build software projects under various open source licences, for various disciplines: Operating Systems, Computer Networks, Web Technologies, Software Engineering, etc.As an example, at the Web Application Development course, students receive specifications for projects (such as Ark, FaW, and SAPA)2 that are based on reusing open data, including governmental data, to be able to build public REST APIs that offer valuable machine-processable information.
Several timid initiatives to publicly offer content from the faculty have appeared due to enthusiastic professors, but unfortunately only reserved to specific disciplines and not driven by a unitary educational policy at the faculty, institutional or governmental level.These initiatives tackle student projects, that could eventually be of interest to the industry, or content to be able to educate students in the means of open source possibilities.
Multiple types of materials have emerged from these initiatives, from presentations, tutorials, workshops and seminars (available in Romanian or English) to a wide variety of events organised at FII such as RoPython, Open Source Iaşi 2014, Design Jam (2011, 2012, 2014, in collaboration with Mozilla Foundation), Web Technologies local workshops (2001)(2002)(2003)(2004)(2005)(2006)(2007)(2010)(2011)(2012)(2013)(2014).Other national important initiatives are the series of "Informatica la Castel" Summer School on Linux and Open Learning Environments (since 2004), ROSEdu (Romanian Open Source Education) community projects, InfoEducation (a national contest on software, Web, and robotics -established in 1993).Various details regarding the history and experiences of using open virtual environments in Romania are presented in [7] and [8].

First Steps. Initiatives in Progress
With the help provided by the FII academic staff, we started three projects to help new generations of students get initiated and accustomed to the open source philosophy, methodologies, and techniques.Their purpose is to not only build up interest in the Open Source subject, but also initiate and support the transition to a fully Open Source Faculty by offering the students a spectrum of opportunities to interact with the concept.
Each of the proposals has a specific objective, some of them ongoing and some already offering us a set of results to analyse.

Awesome FII Projects
Our first task was to solve the problem of lost knowledge (and wheel reinvention) over multiple generations.In that sense, we started a project entitled Awesome FII Projects3 .This project represents our initiative to build a virtually-stored open knowledge library for future students to browse through and keep as a reference to their work.With its purpose in mind, we built an organisation on the GitHub online platform [5] associated with the FII in order to keep track and store the top ranking projects, homeworks, assignment papers, technical/scientific articles, or useful posts.
Currently, three pilot courses students take in their first year of pursuing a Bachelor's Degree and the first year of pursuing a Master's Degree.Those courses are Introduction to Programming, Object-Oriented Programming, and Web Application Development.Also, students are encouraged to use a version control system.We are planning to extend this initiative to other disciplines of interest: Web Technologies and Human-Computer Interaction.
To be able to automate the process of adding the projects to the repository, we developed a REST API built upon the one exposed by GitHub which will help us manage the students and the projects they are building each year.When a new team of students is formed, a new repository is automatically created.
After the evaluation period has ended, based on the obtained grade and a set of default thresholds (e.g., grade bigger than 7, "readme" and "changelog" files present, code available under the terms of a specific open source license), matched projects are moved into the Hall Of Fame.
In the case of already published projects, a crawler was built -based on the GitHub API and GitHub Search Engine4 .This tool is able to search for projects having specific keywords directly related to FII disciplines (usually, these terms are predefined by the professors).As an example, if we search for "web fii", we can find 9 repositories and approximately 40 000 occurrences in the source-code.Every found repository is then going through a validation process in which the authors of the project are verified against a list of the enrolled students.If the authors of the repository match students from our faculty and those students form a known team, we can proceed in processing that repository.
Discussing results, due to the current student evaluation schedule, for Awesome FII Projects only one course (Introduction to Programming) has finalised out of the three pilot courses.This introductory discipline covered the basics of programming (arrays, functions, recursive functions, basic algorithms) over the span of 14 weeks of teaching.Each first year student (from the 14 groups, each containing on average 28 persons) had to develop -as a last laboratory evaluation step -a simple application chosen from a list of proposed projects by using the procedural paradigm (i.e.C language).At the end of the evaluation period, we selected the top ranking projects in terms of complexity and quality and added them to the Awesome FII Projects list.From 392 built and successfully assessed projects, we chose about 2 percent and added them to the faculty's GitHub public repository 5 .We observed that each repository has an average of 6 commits and an average of 2391 lines of code.
In the near future, about 35 projects of the Web Application Development discipline will be assessed -using a combination of criteria adapted from [1], [4], and [6] -and the best of them will be chosen to be included into the specific Awesome FII Projects collection.The project (developed by a team of 2-4 students) consists of an application built by using the existing social and semantic Web technologies.There are no restrictions regarding the implementation solution, but the open source approaches are highly encouraged.All data managed by the developed Web application must be modelled by using the RDF (Resource Description Framework) specifications [1,6].The project should be developed and deployed according to the actual practices in software/Web engineering by using a cloud-based approach for the code management.
Having established such a software project collection, we will able to assess the usability, usage spread, code quality and evolution of the most popular sub-repositories, following the ideas and proposals enumerated by [9] and [10].

Open Source Camp
The second project is called Open Source Camp6 and is meant to be a threein-one event consisting of a conference, a hackathon, plus several workshops, during two days (7-8 May 2016).The purpose is to gather various professionals from the industry and, with their help, build an event for all skill levels and perspectives (open source or not) and gather as much interest in the community.
Open Source Camp is based upon the idea launched in 2014 and called "Open Source Iaşi", a 10-hour local event gathering about 100 participants.This year, we are taking our event to a national level and hopefully gathering more than 300 students and developers, currently managed to invite a large part of the local and national communities dedicated to the open source movement: RoPython, ROSEdu, Rogentos, Open Knowledge Romania, and others to be investigated and contacted.We are further preparing the event and gathering support to promote the open source values and best practices.

CloudbaseLABS
The third already started project is CloudbaseLABS7 , initiated in collaboration with Cloudbase Solutions, a private IT company having an office in our city.With its help, we envisioned a two week training event for groups of eight students that will cover multiple technologies and pragmatic knowledge used in the industry -e.g., system and network administration, virtualisation, OpenStack8 architecture, Python programming.
We created a campaign in order to evaluate the number of students interested in open source.Out of 1873 contacted students, only 146 students actually opened our message -from those, 105 accessed our online provided resources (about 5%).After organising a social event and another campaign, we managed to climb to 7% of the students.Thus, there is much work to be done concerning the promotion of what the FLOSS movement is and its benefits for education.Finally, 24 students were selected to be part of the training program.Due to the large number of applications, this event was hosted in two rounds at FII.
During the training program, the main methodologies of development in open source projects were promoted.The participants had at their disposal a code repository 9 with a series of challenges which they were asked to solve.For each proposed solution, the participants received feedback from the organisers and the other students and were encouraged to improve their code.
As expected, their work progressed very well after a few days of constant feedback and supervising.The participants offered daily anonymous feedback to signal any problems and also to suggest what other things may be of interest to them.Accordingly, the training program was adapted to suit their needs and unanswered questions.Analysing the data from the provided source-code, a positive tendency is observed, from commits with large amount of issues to more refined code with a lower number of problems -see Figure 1.The three described initiatives join together in the same idea: to offer students the opportunity to learn about and interact with the open source ideology.Even if several disciplines encourage students to use open source software and to provide their code and data under the terms of open licenses, there is a large amount of potential.We have managed to awaken the curiosity and enthusiasm of a small group of people, which we hope will help us further to promote the FLOSS values and build an educated generation of students further, including the academic motivation and self-regulation while learning online by inspecting, understanding, and contributing to the existing knowledge [2].
We plan to integrate a semantic Web-based system that outputs statistics and metadata from all of the FII projects in the RDF format, following the Linked Open Data initiative [6].Using this system, we will be able to provide multiple types of information regarding each repository -e.g., the evolution of our students at a technical level, security problems in several types of applications, the most common mistakes found in code writing, and many others.

Fig. 1 .
Fig. 1.Visualising data regarding source-code quality of student projects