Open Source convention considers situational awareness in cars, and more

A report from OSCon

Every conference draws people in order to make contacts, but the Open Source convention also inspires them with content. I had one friend withdraw from an important business meeting (sending an associate) in order to attend a tutorial.

Lots of sessions and tutorials had to turn away attendees. This was largely fall-out from the awkward distribution of seats in the Oregon Convention Center: there are just half a dozen ballroom-sized spaces, forcing the remaining sessions into smaller rooms that are more appropriate for casual meetings of a few dozen people. When the conference organizers measure the popularity of the sessions, I suggest that any session at or near capacity have its attendance counted as infinity.

More than 3,900 people registered for OSCon 2013, and a large contingent kept attending sessions all the way through Friday.

So what did the conference cover? There were tracks on comfortable older languages and on languages that were new for many attendees (I was a bit surprised by the large number of sessions on Go). Other highlights include sessions on coding and (especially) design for mobile devices, advanced topics in relational databases and other data stores, a nice chunk of OpenStack sessions, explanations of hardware hacking and sensors, a few discussions of specific security issues, and lots of guidelines for running open source projects and communities. Nor were social issues neglected: diversity, hacking for social change, open data in government.

You can’t really summarize open source by listing a few technologies, and I suspect the reason people come back to OSCon year after year is the cross-pollination. Food is actually a great metaphor for OSCon. There are vegan conferences, nutrition conferences, locavarian conferences, and so on, but these topics all have impacts on one another. For instance, the requirements of one principle sometimes conflict with the requirements of another, and people need to come together to discuss the boundaries. Furthermore, one must be flexible: you can’t cut all fat from your diet, and you can’t obtain everything you need for health within a one-hundred mile radius. Similarly, a principle such as putting software in the cloud or using functional programming models has to be tempered. Having all the tendencies in one place provides attendees with benefits–and speakers too.

OSCon has always grown by redefining itself, going over 15 years from a Perl conference to one focused on multiple scripting languages, to operating systems and core server software, then web programming, and now an explosion of topics. It’s the tapestry and not any one thread that calls for attention.

The slow new

I heard no major announcements this year–certainly nothing with the significance of the announcement at the 2010 OSCon of OpenStack. A parry to that initiative is the partnership between Amazon.com and Eucalyptus. Because Amazon.com is the leading provider of SaaS and Eucalyptus offers a compatible API for private virtualization, the two complement each other naturally. I don’t know whether the partnership will slow the momentum behind OpenStack, though. Yes, you will be able to move your eggs between baskets more easily. But the key question in a dynamic environment is which baskets will grow faster, and OpenStack has tremendous community support. A presentation by Mark Atwood, Monty Taylor, and Elizabeth Krumbach Joseph on the code contribution process at OpenStack cited enormous numbers of developers.

I went to a talk about HDFS 2.0, curious about where they’re innovating. The features they are adding for high availability seem like garden-variety architectural choices similar to the ones made in other distributed systems. For instance, they now allow multiple namespaces, implement hot standby through journaling, and offer copy-on-write snapshots.

So I’m pegging this period in open source as one of consolidation and incremental enhancements. Community building is also a big focus.

Companies continue to release code that they don’t feel is part of their core competitive advantage, as I wrote about in another posting. For instance, craigslist has released something they call a blob server, which stores images on multiple clusters, with three local replicas on each cluster. Another recent release of theirs is a Memcache clustered proxy (mcp).

I’d also like to give a shout-out to a data discovery framework call Harvest, released by Michael Italia, whom I interviewed last year, and another colleague at at Children’s Hospital of Philadelphia. This impressive tool combines database fields to present clusters of related information, and lets a researcher look for particular nouns in the data without worrying about the schema used to store them.

When programmed to understand basic relationships, the tool can display graphs of useful information, such as the distribution of a disease over a population, without the user asking for anything more than the name of the disease. Fields are extracted and combined intelligently to support “concepts” representing the user’s view of the information. The programmer can provide special formats for the display of each field.

Currently, data is stored in a relational database and served up through Django. Privacy is respected by suppressing sensitive fields using Django Guardian, although more could be done in this area.

Let’s tighten up

Although open source communities are quite mature, several speakers at OSCon called on us to be more professional.

Matthew McCullough of GitHub, a conference cochair, called on attendees to add an open-source license to their GitHub repositories. Lacking an explicit license, their code remains proprietary. A large number of attendees responded within 24 hours. Another keynoter, Eileen Evans, found that BSD- and Apache-style licenses (which she called “permissive” licenses in contrast to the GPL) were growing in popularity and were increasingly attracting businesses to open source, although the GPL is still found on the majority of projects. She concluded that the permissive licenses are just as viable as the GPL for projects that want wide commercial adoption, whereas the GPL used to be more trusted.

r0ml (Robert Lefkowitz) called on attendees to join professional societies such as the Association for Computing Machinery (whose policy board I am serving on this year) and the IEEE. He pointed out that these organizations rarely recognize, in a formal manner, the achievements of the open source community. And if they fail to represent our interests in some ways (such as on patents or SOPA), joining and becoming activists can push them in the directions that are important to us. Along these lines, I’d like to report that the ACM has long had a “green access” policy toward the publication of papers, and is experimenting with other forms of open access to research, a clear trend in technical fields.

Finally, there were many suggestions for ways to bring more women into open source. Although their presence at OSCon was reasonably high (at least, higher than many tech conferences I’ve been to recently), the field has to do much better. Karen Sandler, who organizes special events for women as part of the GNOME foundation, said that lots of open source projects lack a single female contributor. Her solutions included encouraging them to submit more papers at conferences, giving them opportunities to meet with veteran coders, and providing ongoing mentoring. Her talk had a good-sized audience consisting of both women and men.

Finally, we can’t forget Piers Cawley’s soulful call on developers to avoid foul language.

Can your car make you drive more safely?

Many of the keynotes at OSCon are meant to stretch your mind, and a few of the regular sessions did too. One of the talks that got my mind racing was Nick Pudar’s presentation on the APIs for third-party apps in General Motors cars. (Other manufacturers, of course, are doing similar things.) The overarching concept is to have an App Store (actually called the App Shop) where developers can offer apps that improve the driving experience.

Naturally, apps that interact with you at 60 miles per hour call for more scrutiny than apps on a phone or tablet. Pudar assured us that car manufacturers–and their regulators–would look at the risks of driver distraction, along with general concerns for presenting an awesome user experience. But he also suggested that we look more broadly than distraction. Could an automobile sense enough about our environment and our behavior to increase our situational awareness–effectively making us better drivers?

The trade press has latched on to the wonders of self-driving cars, cars that exchange data to orient each other, and smart traffic systems that plan routes and traffic flow. We’re nowhere near such a world, and the GM offerings are modest by comparison. The range of information an automobile can serve up to applications is still impressive.

One rock-bottom simple but very useful app lets you indicate whether your trip is for work or personal. The app tallies the miles driven and sends a weekly summary to you, which you can submit for reimbursement or tax purposes.

Vehicles currently provide access to voice-based instructions, the GPS, and the navigational system. An app can display the pressure of each tire, lock or unlock doors, and honk the horn. Not to long from now, expect to find proximity sensors for hands so that when you bring your hand close to the car’s screen, context-specific icons can appear. The car will also be able to determine the ambient temperature outside, and barometric pressure from fluid inside the car. OAuth will be supported, so you can provide consent to third parties to access your information.

Ironically, many developers nowadays don’t have a car. GM has anticipated that too: they offer an emulator and can test your apps for you. Finally, they will provide secure paths to update the software in their cars.

$Wall[16] >$Wall[12]

One of the aesthetic highlights at each OSCon (inherited from the Perl conference, where of course it was the keynote) is Larry Wall’s State of the Onion speech. Back in 2009, he devoted the talk error messages, never a trigger for scintillating conversation. Calculations show the 2009 talk to be his 13th State of the Onion, because this year’s was his 17th.

But this year’s talk hardly discussed Perl 6 at all, or Perl in general for that matter. It is true that he slipped in a few features, such replacing the traditional floating-point representation for rational numbers. The main topic was his ongoing engagement (I would not write “struggle,”, for I do not see Larry in a struggle for anything in the world) with prostate cancer. It was quite a moving and effective talk, eliciting sympathy as well as laughter.

The general thought behind this year’s talk was comparisons, leading to the conceit of using < and > signs for the slides. Larry ultimately wound around to saying that comparing languages was unfair, because one is always “more sucky” than another along one dimension and “less sucky” along another. This could be taken like a cheap defense against claims that Perl has seen its day and that it’s time to move on–worries expressed even in recent postings by people who love Perl, such as The Rising Costs of Aging Perlers and Perl–The Detroit of Scripting Languages. But I think that, as with many statements seemingly tossed off by Larry in a jovial moment, deep insights are lurking.

A few possible reactions that came to my mind. Languages were designed with particular domains in mind, and are awkward when applied to other domains. Certainly some languages produce more maintainable code than others, but the way you code is ultimately more important than the language you use. Great claims have also been made for performance, but once again, execution has to be in sync with the language. And all languages are Turing machines, able ultimately to do whatever you want, so while people flock to one as their salvation, fashions also change. We back you, Larry!