A fresh look at Quantum Computing community - FOSDEM 2019

I kept coming back to the idea of attending FOSDEM at the beginning of every conference season. Colleagues’ recommendations only reinforced my willingness to go: “I just came back from FOSDEM, you should join next year!”.

This time, FOSDEM and GitMerge were both happening in Brussels almost simultaneously. The opportunity to attend two conferences over a weekend helped me make a final decision and I booked a flight ticket!

My main goal was to better understand the current needs of the open-source developer communities. A conference loaded with more than 10 developer rooms gave me that opportunity. I decided to explore Quantum Computing — a completely new area of software development for me. As it turned out the Quantum Computing dev room was organized for the first time in FOSDEM history. And it was a perfect choice.

Quantum Computing dev room — FOSDEM 2019

Today I would like to shed some light on Quantum Computing developer community from a newcomer’s perspective.

A quick note before we start — I will use “QC” as an abbreviation for Quantum Computing and “ML” as an abbreviation for Machine Learning.

Meet the organizers

The first FOSDEM QC dev room was organized by three active community members. Peter Wittek is an Assistant Professor at the University of Toronto. Tomas Babej and Mark Fingerhuth are talented founders of ProteinQure. It’s a biotech startup that employs QC and ML for computational protein drug design.

Tomas opened Quantum Computing dev room

During dev room kick off, Tomas gave a warm welcome and introduced the audience to the Quantum Computing basics and the latest community trends:

1. Role of Open Source in QC — the QC topic is on the rise right now, and the community is well aware of the importance of open source. The community has already established Quantum Open Source Foundation. It provides support for the development and standardization of QC open tools.

2. Market growth and predictions — a quick overview of the countries investments in QC. Also, Tomas illustrated the future of QC for the next 5–8 years.

3. QC nomenclature — a brief explanation of key QC phrases. He matched Quantum Annealing, Universal Gate Based QC or Continuous-Variable QC problems names with key companies involved.

8 key takeaways from QC dev room

An introduction to various QC software & hardware infrastructure was a dev room agenda backbone. Companies like Rigetti, D-Wave, IBM, Xanadu or Google presented their current stacks along with their open-source elements.

I would like to mention key elements demonstrating that the community is ready for open-source activities:

1. Core Rigetti’s tools open-sourced

Robert Smith from Rigetti Computing introduced their ecosystem — Forest.

He described and demoed the ecosystem’s two elements:

  • qvm — high-performance virtual machine. It can simulate both perfect and imperfect quantum computers
  • quilc — a quantum compiler that can compile any unitary gate

Open source spirit was in the air as Robert was making the repositories containing these tools public.

2. Software developers to contribute to QC open-source stack

Alexander Condello from D-Wave introduced the audience to the QC hardware world. He illustrated quantum computer construction, followed up with quantum processing unit probabilistic nature.

Alexander Condello from D-Wave presented the Ocean Software Developer Kit for solving Binary Quadratic Models.

He pointed out the importance of developers enablement to use open software for QC projects. That’s a key factor to QC stack growth and building a healthy ecosystem.

3. QC world in Quantum ready phase

Mark Mattingley-Scott from IBM shared knowledge about the current state of quantum computing. He based his story on IBMQ — an initiative to build quantum computers for business and science.

He demonstrated that QC passed the stage of being an exclusive domain for theoreticians and scientists. Current ecosystem is in the Quantum ready phase with first tangible hardware & software products. Quantum computers, even though not so powerful, are already here.

Hence, the current aim is to improve the existing stack to be practically competitive with Cloud computing.

4. Open source advantages in projects that impact the industry

Shahnawaz Ahmed, one of the core contributors, presented an open-source tool called QuTiP. An abbreviation comes from Quantum Toolbox in Python (a favorite scientists’ programming language).

That quantum physics simulator is a Swiss tool that works in the modeling quantum systems area. A large number of quantum projects exploited QuTiP, especially in research. It appears in over 600 citations in Google Scholar and over 43 000 in Conda forges.

Shahnawaz accurately pointed out the value of QuTiP open-source nature:

1. Bigger impact on the community. A QC idea translated into well-written code implementation facilitates knowledge digestion. Comparing to a pure academic paper, open-sourced implementation gives broader visibility and enables problem understanding.

2. Ease of reproducing. Open-sourcing encourages developers to share the results, data or trained models. It creates a foundation that is easier to reproduce — more people can use it and build on the top of it. This rapidly boosts community growth.

3. Building collaboration culture. Developing QC software as an open framework accelerates knowledge exchange with a variety of experts. With well-known workflows or tools like Git or Travis CI, it becomes easier to collaborate.

5. Facilitating knowledge sharing culture through open source

Joshua Izaac from Xanadu introduced us to their open-source quantum software library — Strawberry Fields. It’s a library dedicated to designing, simulation, and optimization of photonic quantum circuits. He also introduced Xanadu’s quantum machine learning library, PennyLane.

He emphasized the significance of the software delivery process with open-source standards. Ease of computation-based knowledge sharing is a core factor of dynamic growth in the scientific community. Yet, an academic paper might not be enough for others to reproduce the research results and build on the top of it Very often, you would need to start from scratch to prepare an implementation similar to one mentioned in the research.

Xanadu promotes an open, software-oriented culture when it comes to publishing research outcomes. Following the academic paper, they strive to release the source code along with proper code documentation. That’s the way they published a couple of last projects on GitHub in 2018.

6. Building quantum computing intuition is challenging

Kevin D. Kissell talked about Google’s quantum computing program. He started from basic quantum mechanics concepts, heading for current quantum hardware implementation. He followed up the talk with new quantum processor — Bristlecone. The presentation ended with Cirq— an open-source framework for NISQ — Noisy Intermediate Scale Quantum computers, created by Google.

One key point stood out during Kevin’s presentation. Quantum Computing community brings in people from both computer science and physics backgrounds. The entry barrier for the former group can be high, as it is difficult to learn the fundamentals on your own. On top of that, natural intuition about the Newtonian model of physics might interfere with having a better grasp of the quantum one. Kevin made a neat attempt to redefine basic physical intuition.

Nevertheless, it might be one of the core challenges when expanding the QC community with software developers ecosystem.

7.Discussing the role of open source and standardization in QC

One of the last dev room activities was a discussion panel led by Tomas Babej and Mark Fingerhuth with 4 guests participating: William Zeng, Alexander Condello from D-Wave, Joshua Izaac from Xanadu, Kevin D. Kissell from Google

Here is a summary of the key topics discussed during the panel:

1. Open source is a key to attract software development talent. Broadening the QC community seems to be one of the current crucial needs. More software people in the ecosystem means more innovative thinking and wider scope of expertise. Especially when the goal is to increase the quality of code implementation.

Open source promotes experts knowledge sharing by contributing to the community work outcome.

2. Attention to developer experience is necessary. When it comes to attracting more software people, it is essential to lower the entry barrier. Softer landing for software newcomers requires developer experience efforts for currently available resources.

QC is not only about quantum gates, but it’s also about an API design or clean and precise tool documentation. Hence, there is a strong need to have great web developers as well as the physicists. There is a lot of work to be done there.

3. It might be too early for any standardization for now. Taking a look at the available tools on the QC market right now, there are many inconsistencies. Variety of programming languages, software creation paradigms across companies can be overwhelming.

Yet, the main goal right now is to inspire new people to deliver more innovative ideas. As a result, it might be possible to observe patterns in the long run.

At this point, the time spent on enriching software tools is more effective than looking for any unification.

8.Looking at the current state of QC software

Mark Fingerhuth from ProteinQure closed the QC dev room with a concise report about QC development ecosystem. He presented his results based on OS Quantum software research that it’s available at GitHub. There are 26 projects considered in this review that passed all evaluation criteria:

source: https://qosf.org/evaluation/

Here are the key lessons:

1. Over 90% uses permissive (open) licenses. QC community is open when it comes to commercial use.

2. 23 out of 26 projects used automated test suites. High code implementation quality is a significant success factor.

3. Projects lack proper documentation. Most projects have basic documentation or readme. Yet, it’s not enough for many newcomers to start with.

4. Lack of hands-on tutorials. There are still only a few examples of ready-to-use tools, especially ones that could be valuable for newcomers.

5. Community-driven projects are as effective in a collaborative effort as commercial ones. It doesn’t make much difference when we compare PR / Issues average response time for both kinds of projects.

6. QC needs more software engineering talent. A lot of code needs to be implemented with high-quality software standards.

Final thoughts

Even though the community seems to be at the forming stage, they established some solid fundamentals. Throughout the whole day group maintainers gave a warm welcome to all newcomers.

I’m not even close to admitting that I understand quantum physics after that short period of time. Quoting Boromir from the Lord of the Rings: “One does not simply understand Quantum physics and quantum mechanics.”

Yet, the QC group with their communication maturity and no-hype policy allowed me to discover quantum development world and its current reality. Here are my key takeaways:

1. The road to Quantum Advantage phase seems to be a long, but time-framed. We would probably be able to start solving simple real-life problems on a quantum computer significantly faster than on classical one in 5–8 years.

2. Quantum computing growth process is similar to classical computing one. After reading Walter’s Issacson’s book — The Innovators — you can observe that we’re around the ENIAC computer discovery stage. It builds hope that we’re one or two huge steps before an influential change in computing.

3. I don’t need to be a physicist to start contributing. There is a huge gap in software development that needs to be covered in quantum projects and tools. I’m about to spend a couple of evenings to start my journey with basic QC Python tools.

If you also consider taking part in that journey and probably add your first open source contribution, please check the Quantum Open Source Foundation site. There, you will find how to start your learning process and what open-source projects you can join.

I’m a big fan of constructive feedback as one of the best ways to grow. If you have any thoughts about the article or you just start coding your first QC project — feel free to share it! Comments or any Twitter interaction are much appreciated!

Thanks to Michał Stęchły for helping me immerse into the Quantum Computing world and Lily Corpataux for great text review & editing!

Happy coding!
Arek Biela