 I think in the very very long term yes but you know for the moment you know certainly not there's there's just you know too many people are looking to try to figure out what the secret recipe is it provides a competitive advantage there's a lot of tension because most of the people who work in this area are historically researchers and academics they all know one another they all go to the same conferences they frequently went to the same schools but most of them are working for paymasters that you know really would like to keep as much under the table as possible until it's clear I mean they always ask to publish and we publish as much as we can we like to be open but some stuff I would buy a for a metaphor consider you know the whole you know risk v move so we finally have after what 50 years of computers an open-source computer design and even that's not a computer design that's just the instruction set okay so it will happen but it will take a generation or two in my opinion so in obviously in a lot of you have to use this is anyone telling me in the church yeah great so I agree with Kevin in terms of where some of the industrial players are going but a lot of the advancements in this field are still happening in industry and there's actually a lot of open-source software that goes all the way down even available today so there's things called Q codes which is used for controlling supernet in qubits and there's a bunch of groups thank you someone here who works on that project we're not here now there's open-source controls for DAX and ADCs depending on your platform there's our tick which is open-source project for fast feedback on ion traps which is another kind of quantum computing and these things go like this is like all the way down down to the metal so I think there's going to be a proprietary stream and that might be the leading stream but there's already sort of open-source bases in academia and I don't think those are going to die out I hope that they're not you know and and to some just to follow your point to some degree the firmware is only relevant to a very particular implementation I mean and that's sort of the point I mean what we were trying to get you know Cirque down to the lowest level that is useful to people you know working on machines in the abstract yeah we got firmware but our firmware is different on every for every chip and modifications the chip will meet modifications firmware so open-sourcing that firmware until we actually start having standard well again Linux became possible because there were PCs okay so once there is a ubiquitous cheap quantum platform you know then I think the the open sourcing of the low-level software will make sense just that yeah I think that while the while each piece of hardware is bespoke and relatively bespoke to the companies I just fundamentally agreeing with that point that the very second I think that you get some model where you could reasonably expect a large number of people to use it or maybe just even as as we start to scale up and you start to see common components appear between the different refrigerators say that are more accessible then you might see more standardization of the software but until that point I don't think I don't think so other than maybe in very narrow verticals where some things are useful and use some open-source components are used deep in the stack yeah that's what I was gonna say so in quantum photonics we're using for a lot of our equipment off the rack stuff that a lot of universities and other scientific labs use so there is a lower entry to barrier a lower barrier to entry the thing is it will still take time because we're still standardizing exactly what architecture will look like on the quantum photonics chips so I guess and in the very short term we'll be doing optimization based on user submitted jobs and how can we optimize and make this process more efficient in the long term definitely I see a process for once we've standardized the quantum photonics the one thing that would be a barrier though are the detectors so the measurements at the end of the circuit so at the moment we're using two very high quality best in the field first on number resolution detectors PNRs from NIST and these don't require supercooling but they require a degree of cooling so these answers accessible as the rest of the photonics up we have so that's still a bit very yeah yeah so actually that's very possible you can build a quantum photonics chip with off the rack stuff it won't necessarily be universal and you want to have access to all the quantum algorithms the very basic thing you could build a chip that does something with the classical properties of light and then introduce some quantum properties that way so there are easier ways to access it's definitely in quantum photonics and I think that's the approach we'll be taking so we'll have a sort of procedure to our devices as well I think one point that is worth highlighting is like the number of startups you're seeing in the field kind of shows that it is possible to sort of in some sense build a quantum computer in a hobby sense I mean these are obviously I have no idea what the barrier of funding is for for these places because I'm not involved with that side of the building but you do see that you're getting more and more of companies and small and research groups at universities and various people getting involved with this this field which still again I mean there's a different amount of infrastructure goes into that but it does show that there are it's not so high that you need you know giant companies to do the funding right from the beginning just to say the real cost the real obstacle isn't cost it's expertise well the core team that is building the hardware have invested you know many many years and in trying to master the superconducting technology and so we don't have hardware teams working on anything else at this point the algorithms guys on the other hand I mean the beauty of quantum information theory is that it doesn't matter what the qubit is composed on the behavior is the same and so the algorithms you know should be applicable wherever else and I sometimes joke that if somebody else actually comes up with a better scheme you know I'll be a faster cheaper more stable you know hardware a substrate you know I'll be the first to say let's move to that but I try not to say that in front of John Martinez's team because you would break their hearts I do want to get the others involved but you know I'll point out that you know I mean I've worked for IP companies that you know that used patents as a weapon Google tends to try to use them as a shield there are things that I've invented not in the quantum field at Google that we didn't patent but we filed the paper to prove that I had invented it so that nobody else could because we didn't want to shut it off from the world I mean Google does that kind of stuff now are we gonna do that with key quantum discoveries I do not know but again historically we're fairly open but you raise you raise an excellent point it's it's a good point there's there are some things that other industries have done and some other things that we could as a community think about doing so there's examples of one thing you can do is have like a defensive patent consortium where the stuff where groups of startups will pool IP so maybe they each have a few patents but if they pool their IP for defense then if any when they have access to it if any one of them gets sued by a large company and there's other kinds of consortium models and stuff like that I'm not gonna go too far and advocate for any particular one for our field but that's it's a thing to think about and there are some of these groups that are starting to come together like the quantum open source foundation would be a group that could think about this there's something called the quantum economic development consortium in the US that has mostly big companies and a lot of startups in it as well as Google's in it too so there's there's some space for us to think about how to do that in our in our industry and it's we can actually act on it's not something we just have to talk about so that's good I guess the only other point I would add to that is like there is definitely different types of patents that companies focus on so for instance some D-wave were a lot slower to patent or to otherwise IP protect like algorithms because we want we want more people in the field we want more people in the ecosystem so you know there's incentives the same incentives that had us open source our software in the first place is the incentives that keep some of that stuff unprotected or otherwise just defensively patented but as you get sort of maybe harkening back to the first question as you get sort of further down the stack the the incentives start to switch a little bit so It's reached almost 1000 stars and then later I dropped completely into 2018 because it's very difficult to reach a simple developer to start developing in this platform because it took around one year for me to learn the basics and I put a lot of time in almost all the all the movie, IBM and all the external other products as well and some articles as well and as well papers, theory papers so I kickstart for all the new quantum machine learning algorithms as well but the main problem what I face is if I'm teaching someone like I mean having basic knowledge of coding capability he can't continue I mean he the next step nothing he can't do anything and only it's useful for a researcher mostly people who will know about more theory steps so what's your opinion point of view how it's can be reachable to a simple developer so that it's useful for everyone to contribute because my contribution totally wasted into waste actually only a few people are using but anyway it's no no no if I want to make a new open source product or something that I plan but I tend to agree with you I think we sometimes make especially the physics very hard to access and not very accessible to people who want to get involved and once again gauged so I think we definitely have to do a better job at doing that yeah I agree with you 100% there've been times where I've had to learn the other frameworks from the other companies so especially when I was doing the penny lane forest plug-in I think I started with pike will version 1.9 and halfway through pike will version 2 came out to where there were lots of API breakage and I it happened really fast or I didn't really notice but I pip installed upgrade and everything broke so even even from a quantum researcher it's difficult to keep up and so I think it's something we definitely need to improve on yeah I mean so at least from the way's perspective I mean though we started our open source project a little bit later than I think some of some of the other folks up here but I went live maybe about a year ago and the whole purpose of that was number one to sort of bring it higher level and higher level and higher level so that we could access groups and I think that the all of the projects that are going on from all these different companies and groups are starting to reach a level of maturity that you can you at least you're you're not going to version 3.0 and then 4.0 every week you're you know at least have months in between these things and that gives you just enough stability that you can reasonably start reaching up higher in the API and then I think the other point is that part of the reason that at least for us that we went into the open source space is because we want just more people in the ecosystem asking more questions making more connections because then my best case scenario is someday someone's going to ask a question on stack overflow and someone else will answer it without us ever having to have been involved right achievement unlocked yeah exactly yeah yeah so I mean I think that just getting getting more people in the ecosystem creates that connective tissue that then lets the next people who come in have a little bit of a softer landing and and you can sort of build up from there another thing to remember is that a lot of these packages a lot of them are really about quantum gates and quantum computing but a lot of them have the classical software in them there are there are web frameworks in them there are API's in them and all of these things also need to work really well and could be made better so as a web developer I think there's a lot of ways that you could contribute because a lot of people who are developing the physics code are good at the physics but not the web development and this would be actually a very very useful way to contribute. Yeah that's a good question if you come to tomorrow I think there's a lot of there's some other ones that people talk about so come check out those talks the plug for those I can tell you about why we ended up with Python at Rigeti there's some lists but why that was the interface we chose it was based on the target audience that we thought would be using this so it's typically people who are a little bit more mathematical programmers maybe a little bit more scientific programming they know vectors so that's ML people and Python is kind of a lingua franca for that initial group and it has a lot of other reasons that it's going to be easy to prototype in so that's why we ended up with Python on the front end but there's tons of reasons why in the long term it's almost certainly not going to be Python. We might have real quantum programming languages at some point like all of these are kind of like embedded Q-sharp from Microsoft is one to check out that's kind of actually but that is that's already got a lot of barriers barriers to entry it's kind of like maybe the hardest way to do it it's multi-paradigm already it's like based on F-sharp so I think there's there's at some point room for proper quantum programming languages. I think another reason that Python is attractive is that you know it has some of these tools coming in like Scython and it has pretty good C plus plus bindings in the first place so I think most of the stacks here are all sort of Python interfaces but have some C core for at least some part of it so you know when you're when you're doing these sorts of things you want to both address the first point which is make it easy to access but then you want to also give it performance and so at least for us that cost benefit analysis has resulted in having writing it in Python prototyping it in Python having it live out live out there for a little while and then start knocking down the type tall poles by converting the the intensive parts into C and so when you actually look at the total execution time of sort of an average job I think again on a lot of these stacks what you'll see is that it actually spends a lot more time in C code than in Python and can I just add to that that one other reason we went with Python well I mean there's two smaller reasons in that because we're working with very the hardware team is also kind of prototyping a bit as well so Python's a good language for prototyping and on top of that we found that Python is just really easy to install so we have more complicated packages where we have C extensions we have C plus plus extensions and we have for trying extensions and with Python we can have a pipeline where we build the binaries for all the operating systems and Python versions we want to target and for the user all they have to do is pip install and they don't even have to worry about dependencies. Yeah in Google's case we had a certain amount of experience with programmatic interfaces to the various REST APIs for the cloud services and in many cases we started out publishing in Java and what we found is you know everybody's saying okay Java's really nice but couldn't you give us something that's like oh Python and so you know so that was already sort of a trend we knew that people that the users of cloud compute in general seemed to like to use it for the aforementioned reasons it's easy to use you get quick feedback it's not this very long compiled debug cycle and then you know very significantly of course we did TensorFlow and yes there are TensorFlow bindings for other languages but nobody ever talks about them right it's all being done in Python because of that dominance in the data science space and keep in mind that the official name for the Google Quantum team is the Google Quantum AI lab so there's that influence that comes in. I don't have that much keep up. I mean it will grow in a very very very high state. In 2015 TensorFlow, then that's maybe. Okay so let me show you. I will pass the interview computationally. That's not the point in computing right. We're here for the expansion of PR programs. And once you get there they actually you try to find which and you are maybe talking about in that case. I just had my experience when I worked with this bit. It was a huge mess to understand what happens. The prime reason for that is that you don't have types nowhere. You have to debug through the code to understand what it is. And that's like as I am a software engineer actually and for me it's like that's cold hell. I would say as well both you are used to. Yeah. That types point is a really good. Languages is always a fun topic right. Everyone's talking about languages. So in quantum computing debugging is tough. Because if you have n qubits and you want to print the state you're going to end up with two to the n complex numbers. So if you have 100 qubits you have no print statements. So your debug flow is a little weird. And so that makes me think that in the longer term we're going to need languages which are more formal. They have actual type systems so that we can use this as a way to control formally what we're doing when we can't do normal print debug flows. So that's another reason to think that we'll move a little bit. And it's worse than that. Because you can't do a break point restart. Right yes. So debugging is a big thing. Speaking about debugging we actually have a project tomorrow which is inspiring to be a quantum debugger, visual debugger. So I invite you to check it out tomorrow. See you back. But speaking about productivity and being able to write code and debug it. Like last year we spent a lot of time working on different research remark in our company. And basically what we quickly figured out is that we developed some code for we get this platform. We developed some code for the US platform. And if you wanted to try IBM's platform, Qiskit, you would have to like put all this code tailored for our forest to IBM Qiskit. And if you wanted to... How compact and compact and all that. If you wanted to like try CERC it would be the same thing. So do you guys think that... And Mark is going to speak about it a little bit in his closing remarks. But I would be interested in knowing what do you guys think about standardization or like putting these projects together and what is it doing? So I definitely that ease of use is good. Most people who program program on multiple platforms. So making it easier to do that is important. There are things that are... The way to make that easier that I think is a good one is this transpilation stuff. So there's like a Kazimiquil converter and these kind of transpil... And the reason I think that's better rather than standardizing is it's a little early to think about this field standardizing. We still need to come up with a lot of creative different ideas. We aren't at a stage where people are running quantum computations and they're much faster, they're much better and we know what the patterns are and we know how to do quantum programming. We don't know how to do any of these things. So having a more diversity in approaches is I think important. And so I'd actually be careful about early standardization but translation, definitely. I think... Just to respond to that point. This comes up at just about every conference and I will echo the point that it's a bit early to think about standardization but you can think of standardization as a horizontal and a vertical axis here and as much as do we actually want to have a common low-level language maybe at some point? Do we want to have a standard high-level language? Yeah, maybe at some point. But ultimately, again, we're talking open source here so ultimately what's going to happen is there's going to be library APIs that are relatively high-level that do things that are useful for people where the implementations underneath may be actually device specific and you link in a very large sense of the term with the one that's required. I think that's the sort of thing that will evolve but it's early, early days. We don't know what's most efficient. Can I just add on that when we were developing Penny Lane, we had the idea as a QML framework but what we noticed after developing and having people use it was that sometimes you would use it even though you didn't want to access any of the grade into the QML features. Sometimes even when I have a strawberry fields program I'll just do it in Penny Lane because it's faster and it allows me to quickly swap it out and try QIS case or something. It's not a proper high-level abstract replacement because you still can't control any of the lower-level hardware optimizations. You're still constrained into this Q-node encapsulation where you have to work with expectation values but playing around with that has gone me excited for the future where eventually there will be this high-level library that allows you to mix and match and change devices. I think because the D-wave architecture is so different than a lot of the other architectures here it's sort of hard for us to talk about standardization in the same way but maybe I'll put a slightly different slant on it which is like one plug for standardization I like to see is standardization of benchmarks because right now it's very much the Wild West for different companies doing different benchmarks that can be both a good thing and a bad thing for everybody but having some more standard targets that then can be compared would I think really help the field. What's the quantum M-nist? These kind of standard tests have done a ton for machine learning. I guess maybe I'll take the really easy answer which is like in a analogous way to the way that machine learning has touched on everyone's lives in the sense that it's a refactor of a bunch of other old concepts that suddenly if you put them in the right way and sort of put the right hardware behind them you can get a lot of benefit from that. I think sort of the dream of quantum is to have sort of a similar effect where it's like it in some way touches very lightly on everybody's lives but probably at least in no time that I'm imagining are you going to have it on your wrist because just the way the hardware is designed. I see it as being potentially in the future like everywhere but also kind of a level or two abstracted away from the average use case but I'd love to hear actually other people's opinions. I agree 100% with what you said. Well again, when you say benefiting the man of the street and I don't take you to be asking is the man of the street going to be carrying around a quantum cell phone. Again, give us enough centuries and people will of course have something like that but no in the near term where I think it's going to have an impact and again, I did not talk very much about the applications I was really much more interested in explaining how the system works and how that influences the design of the language that we open sourced but if you look at applications that are seriously being investigated now is for example, with quantum superposition you can do a much better job of global optimization of for example traffic management for public transit or for taxis. If you use Waze, Waze will tell you where the traffic is but Waze creates its own traffic champs because it directs everybody to what is at a given moment the optimal path. What you actually need to do is you need to distribute the traffic in some intelligent way where you're not creating new traffic champs and that's a hard problem and there are quantum algorithms that will tend to get there and so people like Volkswagen are investing in looking at it for things like that, it's just one example, there are others. I'll put in one other plug. Sometimes people talk about a big application space for quantum computers being the quantum simulation which sounds like it's very esoteric but what it actually means is designing molecules with computers. So we design planes on computers now, not in wind tunnels and that's why we've been able to go from the Wright brothers to jets so fast but the molecular equivalent is still throw a bunch of PhDs at it. If you know anyone who did a PhD in chemistry they might have spent their entire PhD figuring out how to make a couple of molecules. But in the long run if we can use computers to help design molecules the man on the street may have organic batteries solar cells that are much more efficient impacts on making fertilizer cheaper the stuff that we design with quantum computers I think is going to be a very very impactful in the long run. That's a great point. And there's more even beyond when tanks work. There's actually several kind of other examples. There was a contrasted divergence algorithm. Yeah, yeah. Yeah, new racing one. That's a really good point. So maybe the last topic I wanted to discuss a little bit selfishly was the idea of having some kind of open source foundation for what it should do and really like the reason we started it was after the realization we worked on this review paper for quantum computing software and we evaluated multiple frameworks, multiple projects and most of the big projects did pretty well. But there was smaller projects sometimes completely forgo documentation or they didn't have any tests. And we kind of thought that we should in the long term promote these good practices and promote the source and the software engineering of ways we are doing things. But maybe there are things that we'll mention that we should be doing but we should be thinking about it. And I'm curious like what they might be. I mean just to echo something I said earlier like I think just having a community that we can grow getting more people in the ecosystem on all of the platforms, some of the platforms trying comparing the platforms using you know doing web development doing you know anything really just getting more smart people doing more things on all these systems I think would help all of us because then that creates that sort of competition and ideas and generating and just all the energy that we need to do the amount of work because you know one of the things about working at one of these companies that I think is most fun is like there's so many ideas, there's so many there's so much low hanging fruit and there's so many things to try that you know we could have 10 times as many employees and we wouldn't be able to try it just on the software side, right? So having more smart people in the ecosystem trying those things can only really be a benefit to the field as a whole. Yeah I agree and I also think it's really useful and really important to have a sort of central area that people can refer to and see all these different quantum software projects There are awesome lists on Facebook, this is one of the first places that instead of just listing it also discussed the different projects and said you know these ones have been active anymore, these ones are still active, these ones have decent documentation I think that's a very important thing so we can again overview of the quantum software ecosystem especially if you use this who are new to it or don't have a quantum background because a lot of the documentation that already exists was written by physicists and it's something we can improve upon and something like the QOSF can definitely help with that Yeah I particularly agree with that last point, there are things to be done I don't think it's critical yet simply because the size of the community, the number of people who are actually doing development is relatively small, it would be a total exaggeration to say that they all still know each other but it's a pretty small group and as the more things scale the more the signal noise ratio degrades and the more points of coordination, clarification documentation, standardization become important People who like to learn actually after talking to many people I see this pattern that there are a lot of people who are very motivated to actually learn quantum computing and do some stuff with that then they start to learn and dig deeper and try to understand very well how these qubits actually work and interact and in the end well they might get some understanding but some of them get discouraged because they just can't understand it deeply and on the other hand there is this other approach that I personally like of treating some of these algorithms a few way away like a black box and trying to poke it here and there and see what happens and then in the meantime getting a better feel of how it works and so I think I think we should check it out and joining this theory and practice and starting from a higher point and I personally think it has it's easier this way for many people who are not theoretical physicists or experimental as well and so my question is do we have any thoughts about it or is it a good thing and how to actually explain to people that you don't need to understand all the nitty-gritty details of how the quantum computer works to do a meaningful job to do a meaningful research just by checking some hypothesis and pointing direction for other people I think that's a great point most of us don't understand these machines all the way down to the physics of the transistors and it's kind of contrasting maybe like a bottom-up approach which is what people learn in physics of like here's the linear algebra as opposed to a problem-first approach I think this might be something that the open source foundation could help with they could have a list of problems of like here's a way to get started like little challenges opening eye puts out requests for research challenges there could be smaller ones that are a little bit educational of like start trying to implement this trying to solve this problem would be a good thing to have