Open Source Systems – Mobile FOSS workshop

Posted on October 13th, 2012

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 – Keynote #6 – Carol Smith on Google’s Summer of Code programme

Posted on September 14th, 2012

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. teachingopensource.org 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.

Software Freedom Day Melbourne 2011 focusses on community building

Posted on September 18th, 2011

This year’s Melbourne-based Software Freedom Day event took a low-key approach, in stark contrast to last year’s award-winning affair. Hosted by Linux Users Victoria at The Hub in Docklands, the day kicked off with a BBQ (with opensauce – props to Lev Lafayette for a very witty pun). Unfortunately due to a power failure at Southern Cross Station, my V/line train from Geelong was delayed by over an hour – meaning I missed the BBQ.

Ben Sturmfels opened proceedings by explaining the need for software freedom, and why it is so important for us to value freedom – not only in software and computing but in everything we do. A key topic of the discussion which ensued was resolving the tension between hardline ‘fanatics’ in the community – those who baulk from using any form of distribution for example which contains elements of proprietary code – as Ubuntu and Debian do – and those who take a more liberal and pragmatic approach to using free and open source software.

The afternoon saw two groups of three workshops held – and I chose to attend that run by Alex Garber (@clockworkpc) on promoting FOSS and how it can be better marketed. It was clear that people were drawn to free and open source software via a variety of channels. Some arrive from a philosophical or idealistic desire to have more freedom over how they use their computer. Others have pragmatic reasons – such as lack of financial resources – for using FOSS solutions. Additionally, as pointed out by two-term LUV President, Lev Lafayette, FOSS alternatives can offer productivity and processing advantages over their proprietary cousins. This represents a distinct advantage in high performance applications such as those used in science and engineering. Participants in the discussion recounted some of their introductory experiences to Linux and open source software, with many indicating that they took a ‘softly-softly’ approach – often dual booting into Windows and Linux before making the move to a Linux only platform. The ability to use key software packages under Linux operating systems remains a key barrier to adoption; although applications such as EndNote have FOSS alternatives – LaTeX – the data formats they use are often closed or proprietary, thus making data interchange difficult.

I then facilitated a session on building and sustaining FOSS communities. Many of the themes were not new, but what was so encouraging and enlightening about discussions were the depth of passion people felt for the groups of which they were a part (including Andy Gelme – President of Melbourne Community Connected Hackerspaces and Ben Sturmfels, Convenor of the Melbourne Free Software Group).

We covered a lot of ground. Discussions started around community standards – standards of dress, behaviour, deportment andw hygiene are seen as important – both to set expectations and avoid ‘putting off’ potential new members of the community. The need for leadership, management and facilitation skills for those in senior roles in free software groups was discussed, without reaching consensus on whether it would be worthwhile to actually invest money in providing training for key members. This naturally led into a thread on the need for mentoring within the community – and establishing both formal and informal channels for knowledge sharing to continuously nurture a pool of talent ready to take on leadership roles. Diversity, as ever, was a hot topic – and it was encouraging to have three women (including myself) in the group of a dozen or so. The general feeling in the room was that there is no silver bullet to solving issues of diversity and inclusion – other than that as a community we have to critically examine our practises to ensure we are not being unwittingly exclusive in our behaviours.

The difficulties of establishing FOSS communities in regional areas – without a large critical mass of interested people – were also touched on. Here, the group suggested having regular groups with a broader focus to ensure sustainability and sufficient interest – such as a programming group rather than one focussing on a specific language or technology.

We also did some ‘blue sky’ work, and envisioned what we would like free and open source software groups to evolve into over the next few years. To summarise, the desire was to be recognised as a legitimate and trusted source of advice both for open hardware and software solutions. In particular, the desire to be viewed by industry and business as a respectable, reputable option viz a viz proprietary options, was highlighted. The need to do more ‘reach out’ type work with other community groups focussing on social equity and justice was also a strong theme of the session.

The threads from the discussion were mapped using FreeMind and are available below.

NOTE: Unlike the rest of the material in this blog, this post is released under the CC-BY license as below.

Creative Commons License
Software Freedom Day Melbourne 2011 FOSS Community Building by Kathy Reid is licensed under a Creative Commons Attribution 3.0 Unported License. Based on a work at blog.kathyreid.id.au.

Next Page »
© Klog: Kathy Reid’s Blog • Powered by Wordpress • Using the Swiss Cool theme.