- Hi everyone. So, I am an intern with IBM in the UK,
and I started in June with absolutely
no knowledge of quantum computing whatsoever.
So I spent the first few months sort of getting the hang
of what quantum computing is and also what Qiskit is.
And after that, I started developing some demos,
which we use locally in the UK.
These were basically aimed at explaining
what quantum is to people who have a really
low level of understanding
and also demonstrating the power of Aqua.
And then after that Christmas,
the need for demos dried up in Hursley,
we didn't have any more events for them,
didn't have any clients coming in
that wanted to see them.
So I decided it would be better for me
to start contributing to the library I had been using,
and I had never contributed to open source before.
So the first thing I did was went out and Googled,
how to write a pull request, what do I do?
I'd already contributed some issues,
while I was using Qiskit.
I came across a few things.
So that is something I would really encourage
everyone to do.
If you do find something where Qiskit,
isn't doing what you think it's doing,
or even if the docs aren't clear or anything like that,
just submit an issue on GitHub.
And, someone will get back to it.
Someone will have a look at it and fix it for you.
But once you've, perhaps submitted a few issues
and you've decided you want to start
making code to go into Qiskit for yourself.
It's time to start looking at pull requests.
So the easiest thing to do is just go on to GitHub,
look at the issues, choose one, and write a pull request.
It's as simple as that.
If you've never seen the repo before,
this is the qiskit-terra repo,
and this is the list of the open issues
we have at the minute,
you can see these nice tags, like for example,
feature requests.
And these are really helpful in
helping you choose what you want to do.
So a feature request is,
something new that would be added
if you answered this issue,
but there's also a really useful one for beginners down here
called good first issue.
And if you click on it,
you can see we've got loads of good first issues
that we need, people like you to come out and solve.
So what you do is if you want to answer one of these issues,
just leave a comment on it saying, hi,
I'd like to solve this and then get underway with coding it.
You do this by creating a fork of the repository and then
making a branch on that new repo and then just committing to
that branch.
And then once you've got all the code working
and you've done everything you want to do,
you then create a pull request
against the actual qiskit-terra repo.
Pull requests, basically just compare your branch
to the main branch and look at the differences.
And then, yeah all these things that say review required
is basically, one of the Qiskit team has to just
approve the code you've written.
And yeah, it's literally as simple as that
there's tests and things that run
when you create a pull request.
And if these don't pass your pull request, won't get merged,
but you can also run all these tests locally.
So you basically know how well you've done
before you submit it, if that makes sense.
And then sometimes like the reviewers
might ask you to change a few things.
So then you just change them
and then keep committing to the branch.
And then eventually, hopefully
it will get merged into master and then something
you've written will be part of Qiskit forever.
Yeah, and then you can start again on another issue.
So currently we've got, yeah, like I said,
a lot of open issues
and some of them are also in discussion.
So if perhaps you don't know any solutions quite yet,
but you do have some opinions about what you would like to
see in Qiskit or any of the ones type discussion already.
It'd be really helpful for you guys to comment on them
and just tell us what you want
and what you think about these things.
Thanks.