Open Source Systems – Mobile FOSS workshop

The last day of the Open Source Systems conference was dedicated to two workshops – one on free / libre and open source software (FLOSS) in education, and the other to the same in the mobile sector – denoted ‘mFOSS’.

Led by Tony Wasserman, a professor at the Silicon Valley campus of Carnegie Mellon University, the goal of the workshop was the creation of a research agenda for open source software in the mobile environment. He set the scene by illustrating how the number of mobile applications had grown from zero to almost a million in just a few years, and placing this in the context of cloud computing; the code used to write the application itself may be open source, the platform it’s targeted at may (or may not be open source), the storage may be open source and the development tools used may (or may not be) open source.

The workshop raised several key discussion points.

Where are the open source mobile apps?

The participants discussed why we are not seeing more mobile applications released under open source licenses. This included barriers such as difficulty with the current dominant mobile app stores – Apple’s iTunes platform and the Google Play store – with open source licensed applications being disallowed with Apple. This gave rise to discussion on whether there would be the rise of a ‘SourceForge’ or ‘GitHub’ style of mobile application store geared toward open source apps. It was also noted that many apps were hosted using open source resources – whether it be storage, platform or even development tools – but they themselves as end products were not open source.

What makes mobile different?

Discussion was also centred around differentiating mobile application development from traditional application development – and a long list was generated;

  • In mobile applications, there are many hardware and software platforms to cater for, and the users of them expect a continuous or familiar experience.
  • From a user interface perspective, there are many form factors to cater for.
  • There are many development platforms and languages to choose from when developing, and although there are some dominant ones, the market is essentially in a state of flux.
  • Traditional applications are not required to be context aware – and mobile applications must effectively sense and use context through sensors such as accelerometer, touch and swiping, GPS and location based services, cameras and voice input.
  • Applications are much more distributed – the hosting may be in one country, the storage in another and users in several other countries
  • This leads to a related issue of the complexity of testing mobile applications – with different operators and different gateways in different countries – essentially the number of intermediaries between the device and the internet is greater.
  • Internet connectivity on mobile devices is not continuous – and mobile applications need to be able to gracefully handle loss of connectivity. A related issue is the availability of 3G and LTE/4G connections in some communities – particularly remote communities – where data services are not available all the time. Can the application detect the network on which it’s running and adapt to the internet connectivity (or lack thereof) that prevails? Effectively this calls for ‘responsive design’ – not to the form factor but to the network. As a related point, SMS rather than 3/4G is the transport layer of choice to reach the most people, and in developing countries there tends to be a high penetration of mobile phones, but they are basic feature phones, not smartphones. Designing around SMS is very different to internet based applications.
  • While mobile device technology has advanced significantly in recent years, it’s still not perfect. Battery life and device power consumption needs to be a key factor in application design – as it’s possible to build a fantastic app that drains the device in a matter of minutes, effectively rendering it useless.
  • The social element of app design is becoming ubiquitous – and must be factored in – such as for social shopping.

What technical challenges remain?

There are very few standards for mobile devices – for screen resolutions, data handling and even privacy and security. Touch interfaces and other sensors differ between hardware and software platforms. There is scope for research to identify ways that effort for cross platform development could be minimised.

Testing remains a challenge also given the heterogeneity of hardware and software. What works well on one device under one se tof conditions may not work well on another.

Load is also an issue, particularly when the user base of a mobile application grows large. How is app availability under high loads assured? This has implications for platform services like EC2 and Amazon web services.

One point of discussion was differentiating between ‘building’ applications and ‘engineering’ them – the teepee versus the Taj Mahal. The key question of course comes back to fitness for purpose – is the application doing what it was designed to do, and is it doing it well?

Another challenge is the nature of application feedback. If applications break, they garner negative reviews, which persist even after the bug might be addressed. This introduces the notion of community – which forces a degree of testing and quality assurance.

Monetisation also remains a challenge, with people very reluctant to buy mobile applications, even though their handset costs a significant amount of money – so different business models are likely to emerge.

Privacy and security of personal data are also issues worthy of attention, particularly with the distributed nature of mobile applications.

In general, this was a worthwhile session which captured a number of the issues currently facing the mFOSS community.

Open Source Systems – Enablers and barriers to the use of open educational resources in Africa

Jean-Paul van Belle

Jean-Paul outlined a number of barriers to the adoption of open educational resources (OERs) in Africa, and the body of research he and his team had done to validate this. They concluded that;

  • Technology – Internet access is still an issue in many parts of Africa. OERs are difficult to use if internet access is not available. However, only the teacher in a group needs internet access; s/he can then teach his/her students once the OER materials are downloaded.
  • Copyright – Creative Commons license has not been tested in court very much
  • Politics and culture – An anti-Western cultural bias was found; people were suspicious of materials from the West, and also in English. There were a lack of materials in other languages.
  • Quality – People equivocate the free nature of OERs with poor quality; because it’s low cost it’s assumed to be poor quality
  • Discovery and meta data – there is no SourceForge for OER, making resources difficult to find. This was the second highest barrier.
  • Context – many OERs lack metadata, making them hard to find. It’s also hard to align them with learning objectives without this meta data.

The research also showed the need for communication, advertising, training and awareness, and that there was a lack of OERs suitable for use by Arabic and French language academics.

Open Source Systems – Keynote #6 – Carol Smith on Google’s Summer of Code programme

Carol Smith opened her keynote talk by providing a brief history of her life with Google; she started as a journalism graduate, and now runs the Google Open Source Programs office, which oversees all open source code used internally at Google, ensuring compliance with the relevant open source licenses. Part of this role is to undertake outreach programs to open source and student communities, and to maintain a relationship with the open source software organisations external to Google; of which there are many.

She is very interested in open source software and the motivations that drive people to contribute to the open source community. She walked the audience through a number of concepts from Daniel Pink’s book ‘Drive: The surprising truth about what motivates us‘. As she explained, Pink has analysed motivations around the world, with the conclusion that for tasks that are straightforward or repeatable, money is an appropriate motivator. Pay people more, and they will work harder or better. However,  for tasks that are conceptually oriented (like programming, let’s say), money is not an effective extrinsic motivator. So, what drives us?

  • Autonomy – our desire to work independently on a task and to feel ownership of it
  • Mastery – our urge to get better at things. This is why people have hobbies
  • Purpose – in CS opinion, is a sense of making a contribution to a cause – humans want to feel part of a bigger cause

If you pay people enough that they’re not worried about paying their bills and feeding themselves, they work to do the things that enrich them and that they enjoy. As Smith explained, open source software development lines up really well with these motivations. People are even willing to work for free on open source software because it enriches their lives.

Carol explained that universities are where students get lessons on independence; tools that enrich them for the rest of their lives – where they learn to feel ownership of their work – often in collaborative environments and through group work; but whether they pass or fail is their own responsibility. This is a lot like what motivates us; and a lot like open source.

However, we aren’t teaching open source in universities.

Some students are getting introduced to open source software in their university, but we could be doing a lot better. only lists 15 universities with programs in open source. Enter the Google Summer of Code program.

GSOC is a fully online, international program encouraging uni student participation in open source development. Interestingly, around half of students who participated in GSOC in 2012 listed something other than computer science as their major. To me this indicated the wide use of open source software in many fields – from graphics to humanitarian FOSS, astronomy, science and gaming. GSO inspires students to begin participating in open source development while providing an attractive alternative to other menial summer jobs  and also yields critical workplace experience. There are also benefits for the open source community and larger society in general through having more contributors to open source, and having more code released under open source licenses.

Carol encouraged other organisations to adopt the GSOC model, even if they could not be part of the program as a mentoring organisation. She also encouraged us to help get our universities to teach open source as part of the computer science curriculum.  She also noted that GSOC has around 12-13% female participation, and this is a statistic that she would like to change in the future.