EuroPython 2015 – a community is not a company
An open source community is not a company. Ideas can be promoted by exposing them at community gatherings. EuroPython 2015 attracted over 1100 "Pythonistas" and showed how thriving and diverse this community is. What's up in the Python world? Read on...
It’s more than a language: Python is a language, an ecosystem of implementations, libraries, services, and a community. Python has a large and vibrant open source community – but a community is not a company. Decision making often works by exposing ideas and finding interested contributors, and there is no central design or marketing for the ecosystem.
So collaboration is essential. While modern communication facilities simplify this collaboration, nothing beats an occasional gathering in the form of a conference. The European Pythonistas therefore assemble regularly at EuroPython, which I was happy to attend for the first time this year.
When attending talks at a conference, you have to select between parallel streams of presentations. However, a few common trends appear. I picked some of particular interest to me. Of course, there are many more, including the Big Data, which has become ubiquitous as Data Science.
From the origin of the attendees and speakers, EuroPython 2015 in Bilbao was a very diverse conference. 1100 attendees from over 20 countries were present, amongst them 47 from Switzerland.
Margaret Hamilton was the chief developer of the Apollo 11 software (as I learned at a keynote). But nowadays, women are a minority in most technical communities – and Python is no different. However, the community actively promotes participation and inclusion, from a great key note by the creators of Django Girls, to Guido van Rossum’s Q&A session where half of the questions must be asked by women. There is a Code of Conduct which basically stipulates respect; although this should be obvious, it still is a strong signal that all are welcome and nobody will be excluded.
While listening to talks I got the impression that there is no other deployment option than the cloud. Containers (Docker) have superseded VMs as the primary means of deploying code. I think we’re already seeing the 2nd generation of the cloud, with Apache Spark replacing Hadoop, Docker replacing VMs, and concepts like Google Kubernetes (presented in a keynote) orchestrating containers to run on a series of data centers. DevOps is largely a given; whereas micro services instead of larger, intertwined services become a mainstream architecture. Finally we might be back to the “mainframe illusion” (as in my good old cloud) of one big computer with “infinite” capacity (Cloud Native, Cloud Native Foundation). This is hardly specific to Python, but the Python community seems to be at the forefront of technology, using its glue language to bring things together.
“Kill GIL” & PyPy
At PyCon 2014 in Montreal, I had the impression that the GIL (which prevents using many cores within one process for CPU-bound work) was not an active topic within the community. At this year’s EuroPython, even Guido van Rossum talked about it and tweeted Reports of the GIL’s death have been greatly exaggerated.
PyPy’s Armin Rigo reported on his progress with Software Transactional Memory (STM), confirming PyPy as the most performant implementation. Unfortunately, PyPy does not offer binary or C API level compatibility with the enormous number of C extensions created by the community. However, Romain Guillebert talked about PyMetabiosis, a bridge allowing PyPy to use CPython extensions. The troughput is limited at the moment, but it is indeed a marvelous piece of engineering progress – I’m inclined to compare it with the Vizcaya Bridge, the world’s oldest transporter bridge constructed in 1893 in Bilbao:
But it shows that adoption of PyPy is an issue of ecosystem evolution. Larry Hastings pointed out that the GIL enabled the rapid development of C extensions to Python, and hence was essential for the rapid growth of the Python ecosystem.
As an interesting aside, Python 3.5 introduces optional type hints. When asked whether this will help PyPy with its JIT compiler to improve performance, Armin Rigo declined, claiming that the tracing JIT compiler gets a more detailed view on types through execution.
One business application
While Google, Zalando, Skyscanner, Yelp and many others showed what they do with Python to provide their services, there was only one general business application being demonstrated: Odoo, an open source, extensible ERP and CMS. Although not widely known in the Python world (they presented themselves as “underdog killer app”), they have 2 million users running their business on Odoo and its 4500 apps. Odoo shows that open source in general and domain specific business applications does not preclude commercial success.
Bilbao is a very comfortable place for a conference: Not too big, easy to get around, not so hot that you would rather go to a beach. The Euskalduna conference center is a top-notch venue for a conference of this size, with enough space for talks, the exhibition, posters and ad-hoc sessions in the hallways. My hotel was just across the street, and I also saw sometimes some Pythonistas jogging around the nearby park. Pintxos, the local version version of tapas, but much enhanced by food loving Basques, were an ideal conference lunch: tasty, can be eaten while standing, and not heavy so it’s easier for the after-lunch speakers to keep the audience awake. When you needed a break from Python, there is much more to see in Bilbao than the famous Guggenheim museum (the bridges, for example, are interesting).
So when the organizers announced that next year’s EuroPython will again be in Bilbao, everybody seemed to be very pleased. I hope to go back and check on the evolution of the Python ecosystem and community, and hopefully see some more business apps.
Agur y eskerrik asko!