Write on the wall

All of life is a journey which paths we take, what we look back on, and what we look forward to is up to us. We determine our destination, what kind of road we will take to get there, and how happy…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




You too can contribute to quantum computing! Thoughts after FOSDEM 2019

Dear Reader,

In this blog post, I would like to tell you about my thoughts and observations about the quantum computing community in general and open source QC community in particular. If at this point you think „Oh, but I’m not a part of this community. I’m not even sure what this whole quantum computing is about. There won’t be anything interesting for me in this blog post” — well… you might be surprised!

One thing before we start — OS stands for „open source” and QC for „quantum computing.”

This is a topic for a whole other article, so out of necessity I will simplify and generalize. Below is a list of some players/communities I’m aware of:

To give you some sense of scale, these are the sizes of some of these communities:

There is one important point to be made — this doesn’t take into account communities that are purely academic . Of course, people on universities have been doing QC research for the last 20–30 years, but right now we observe the rise of new, non-academic, communities. Since QC is no longer limited to academia, it’s much easier to get into the field and this is why I focus on these new communities in this blogpost.

When it comes to major players like Google, IBM, Rigetti, D-Wave or Xanadu, they produce a lot of open source stuff. Of course, not everything — they also have a part of their code closed and that’s fine.

But there are also small, independent projects developed by individuals or small teams. Some of them are developed by academics in cooperation with universities, others are private initiatives. They cover a wide range of topics: simulators, algorithms, compilers, games, cryptography, education, communication, and many others.

There are a couple of reasons why you might be interested in quantum computing:

Let’s focus on the last point. Given the size of the community — a couple of thousands of people — your actions can really make a difference. It really struck me when I was talking with people from Xanadu when I first met them. After their talk, I had many questions — „Have you tried this algorithm?”, „What about different parameters?”, „How does it work on bigger graphs?”. Their answer was „Great questions. We didn’t have time to do all this, but feel free to do so!”

And most of the time I was talking with researchers doing quantum computing I got the same answer: „No one has checked this yet. Why don’t you try?.”

So looking solely on the research part (and I think this is something the majority of people in the industry are doing, and of course, so does the academia), there is so much to do! If you want to start a research project, but you’re unsure what would be a good project to do, you can write me an e-mail — I have plenty of ideas, but not enough time ;)

But it’s actually not that hard to figure out that you need to do a lot of research in quantum computing. What’s harder to see is that there is plenty of other work to do where different skillsets are needed.

Some main problems of the QC community in general I see, are:

Ad 1. The point of view I’m most familiar with is through the lens of algorithms development. I see that there are not enough researchers working on these topics and not enough people implementing these algorithms and trying to apply them to real-life problems. I’m sure the situation is similar in other domains of QC.

Ad 2. Homogeneity has its pluses — it’s easy to communicate within the community and people have a similar way of thinking. But there are also downsides — the language used inside the group tends to be hermetic, people have limited perspective and since in this case, most people have a similar background, their skills are also not very diverse. This limits our ability to come up with novel solutions.

Ad 3. It might be discouraging to work on something that doesn’t work and won’t work for another couple of years. I mean — the machines we have do work, but it’s hard to say when they will work well enough to have some real-world application.

Ad 4. The language of QC is the language of physicists. Even worse, it’s the language of a subset of physicists — quantum ones. It’s hard to understand for people with other backgrounds and it might be a huge barrier for newcomers.

As I pointed out earlier, the community is rather homogenous and small. Most of the people are scientists/researchers/something like this. What if you’re not? Is there a way for you to contribute?

Of course! You might even have more of an impact, since there are not that many people with your skills.

I would like to give you some ideas about what you can do with various skills. I’m a science/software person so non-software categories might be somewhat neglected, but I tried my best. Some of these are very basic, some might be significant, but as I will explain in the next section, all are important.

Let me tell you what it looked like in my case. I talk only about projects I’ve contributed to, not ones I’ve created myself.

Apart from that, I have created some issues, gave feedback to people, made some suggestions for several libraries, some of which I’ve already mentioned.

As you can see, what I’ve done are not a lot of significant contributions — rather a couple of small ones. But, as I will argue in the next section, I believe it matters.

Have you ever heard about Francis Galton? He was a 19th c. scientist and inventor with extremely broad interests. One of his inventions is a device we call the Galton board, which is a great tool for showing how probability distributions work.

You can see it in the photo below. You put a ball at the top and at each stop it has a 50% chance of going left or right. In the end, it drops into one of the bins at the bottom. If you put a big enough number of balls, you will see that they form a Gaussian distribution at the bottom. It means that most of the balls will end up in the middle and only some of them on the left or right end.

But this article is about quantum computing, open software, and community, so why am I talking about the Galton Board? Because it’s a nice model of the mechanisms in play. Let’s say that the bottom of the board is how successful a person is with quantum computing — more to the right is better. A ball is a person. And every peg is some interaction with QC — reading an article, installing a library, going through the tutorial, applying for a job, etc.

Let’s be honest — quantum computing is not the easiest field and even though it’s much easier to start than most people think, it’s also easy to get discouraged. A new person needs to learn a lot of new notation, a different way of thinking, etc. And all of the time they feel uneasy because they don’t get a deep understanding of how it all works. If this person simply stumbles across a bug in the library — they will ask for help, wait a little bit, get help and go further. But if before the bug, they spent two hours installing it, 3 hours going through the tutorials, which were not updated since the last release and the docs written in mathematical jargon — it’s much more likely that this bug will be their last interaction with this code and they won’t even report it. In our Galton Board model, this situation is reflected by going left 4 times in a row (installation, tutorials, docs, code quality).

A single person who tested the installation process, figured out how to make it easier on Windows and actually improved it, would already skew one peg — now it doesn’t have 50/50 probability, perhaps 40/60. Another person who has updated the tutorial would skew another peg. And finally, someone who was able to write a more practical example for the docs would deal with the third one.

My point is — every contribution to the open source projects and community, no matter how small, makes other people more likely to be successful. And as time passes and you gain expertise, you will be able to bias more pegs more strongly, which will make the whole field stronger and more welcoming to newcomers. And in the end, this means we all are a little step closer to the incredible applications that QC might one day offer.

If you ever meet me and tell me that you’ve actually contributed to a QC library/project after reading this article, I will buy you a beer/coffee/some other beverage.

To make it harder for you to make excuses and for me to hold my money, here is a list of open source projects that are looking for contributors and help. I have personally asked the maintainers/developers from each project if they could use some help, no matter how small, and they all said “yes”, so feel free to contribute or contact them to see how they could use your skills :)

There are poster, slides, and code online, which give more information about the project. Github repository has instructions for contributors on the front page.

Both are free and libre software written in Common Lisp, with no proprietary components.

And there are also two libraries already mentioned earlier in this article:

Qiskit is an open source software framework for building quantum programs, mapping them to different backend devices, and running them on simulators and real hardware for free. It also provides the tools to build quantum algorithms and study noise in quantum computers.

Huge thanks to:

As always, please let me know if:

Have a nice day!

Michał Stęchły

Add a comment

Related posts:

A story from my hometown that makes me think I now need to write ten BETTER stories about my hometown.

I come from a reasonably small “mill” town called Kannapolis. We loved our Friday night high school football and eating at the local What-a-Burger. I was a Girl Scout. Churches on every other corner…

The Secret Behind Jews and Food

Every Jewish holiday and major life event is marked with food. Special foods are eaten on different holidays that relate to the specific theme or event the holiday commemorates. Have you heard the…

How I got started on my journey

I was a a normal guy working 40 hours a week looking til Friday. I knew I wanted to be in a better position in life but just figured more successful people just had better opportunities. At the time…