Quantum computing is real. But it's also hard. So hard that only a few developers, usually trained in quantum physics, advanced mathematics, or most likely both, can actually work with the few quantum computers that exist. Now D-Wave, the Canadian company behind the quantum computer that Google and NASA have been testing since 2013, wants to make quantum computing a bit easier through the power of open source software.

Traditional computers store information in "bits," which can represent either a "1" or a "0." Quantum computing takes advantage of quantum particles in a strange state called "superposition," meaning that the particle is spinning in two directions at once. Researchers have learned to take advantage of these particles to create what they call "qubits," which can represent both a 1 and a 0 at the same time. By stringing qubits together, companies like D-Wave hope to create computers that are exponentially faster than today's machines.

IBM demonstrated a working quantum computer in 2000 and continues to improve on its technology. Google is working on its own quantum computer and also teamed up with NASA to test D-Wave's system in 2013. Lockheed Martin and the Los Alamos National Laboratory are also working with D-Wave machines. But today's quantum computers still aren't practical for most real-world applications. qubits are fragile and can be easily knocked out of the superposition state. Meanwhile, quantum computers are extremely difficult to program today because they require highly specialized knowledge.

"D-Wave is driving the hardware forward," says D-Wave International president Bo Ewald. "But we need more smart people thinking about applications, and another set thinking about software tools."

That's where the company's new software tool Qbsolv comes in. Qbsolv is designed to help developers program D-Wave machines without needing a background in quantum physics. A few of D-Wave's partners are already using the tool, but today the company released Qbsolv as open source, meaning anyone will be able to freely share and modify the software.

"Not everyone in the computer science community realizes the potential impact of quantum computing," says Fred Glover, a mathematician at the University of Colorado, Boulder who has been working with Qbsolv. "Qbsolv offers a tool that can make this impact graphically visible, by getting researchers and practitioners involved in charting the future directions of quantum computing developments."

qubits for All

Qbsolv joins a small but growing pool of tools for would-be quantum computer programmers. Last year Scott Pakin of Los Alamos National Laboratory–and one of Qbsolv's first users–released another free tool called Qmasm, which also eases the burden of writing code for D-Wave machines by freeing developers from having to worry about addressing the underlying hardware. The goal, Ewald says, is to kickstart a quantum computing software tools ecosystem and foster a community of developers working on quantum computing problems. In recent years, open source software has been the best way to build communities of both independent developers and big corporate contributors.

Of course to actually run the software you create with these tools, you'll need access to one of the very few existing D-Wave machines. In the meantime, you can download a D-Wave simulator that will let you test the software on your own computer. Obviously this won't be the same as running it on a piece of hardware that uses real quantum particles, but it's a start.

Last year, IBM launched a cloud-based service that enables people to run their own programs on the company's quantum computer. But at least for the moment, Qbsolv and Qmasm will only be useful for creating applications for D-Wave's hardware. D-Wave's machines take a radically different approach to computing than traditional computers, or even other quantum computing prototypes. While most computers—ranging from your smartphone to IBM's quantum computer—are general purpose, meaning they can be programmed to solve all sort of problems, D-Wave's machines are designed for a single purpose: solving optimization problems. The classic example is known as the traveling salesman problem: calculating the shortest route that passes through a list of specific locations.

In the early days, critics wondered whether D-Wave's expensive machines were even quantum computers at all, but most researchers now seem to agree that the machines do exhibit quantum behavior. "There are very few doubts left that there are indeed quantum effects at work and that they play a meaningful computational role," University of Southern California researcher Daniel Lidar told us in 2015 after Google and NASA released a research paper detailing some of their work with the D-Wave. The big question now is whether D-Waves are actually any faster than traditional computers, and if its unique approach is better than that taken by IBM and other researchers.

Pakin says his team are believers in D-Wave’s potential, even though they admit its systems might not yet offer performance improvements except in very narrow cases. He also explains that D-Wave's computers don't necessarily provide the most efficient answers to an optimization problem—or even a correct one. Instead, the idea is to provide solutions that are probably good, if not perfect solutions, and to do it very quickly. That narrows the D-Wave machines' usefulness to optimization problems that need to be solved fast but don't need to be perfect. That could include many artificial intelligence applications.

Ideally, however, the hardware and software will improve to the point that other types of computing problems can be translated into optimization problems, and Qbsolv and Qmasm are steps towards building exactly that. But to get there, they'll need more than just open source software. They'll need an open source community.