* Contributor wanting to get started with simple contributions @ 2020-08-13 11:18 Rohit Shinde 2020-08-25 2:26 ` Rohit Shinde 0 siblings, 1 reply; 15+ messages in thread From: Rohit Shinde @ 2020-08-13 11:18 UTC (permalink / raw) To: qemu-devel [-- Attachment #1: Type: text/plain, Size: 1138 bytes --] Hello everyone, I am a hobby programmer (working as an SDE in the industry) and I have been observing qemu for quite a while. I have always wanted to contribute but I couldn't manage my time. I am good at Java and Python but quite a bit rusty with C++ and C (although working with it will not be a problem, I might have to google more than usual). On the theory side, I have a good grasp of data structures and algorithms and a decent understanding of OS and Compilers. I have built qemu from source and I have my machine setup for git-publish via email. I would like to start contributing with one of the bite sized tasks mentioned in the wiki page. The one that interests me and which I think is the easiest are the sections on "Compiler Driven Cleanup" and "Dead Code Removal". I think this is a good way to get introduced to the codebase. I plan to stay and become a long term contributor. Is there any CS theory that I would need to know other than what I mentioned above? Is it possible to "learn on the go"? I realize this is quite a long email and I would like to thank everyone in advance for reading this! Regards, Rohit. [-- Attachment #2: Type: text/html, Size: 1347 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-13 11:18 Contributor wanting to get started with simple contributions Rohit Shinde @ 2020-08-25 2:26 ` Rohit Shinde 2020-08-25 5:50 ` Thomas Huth 2020-08-26 15:40 ` John Snow 0 siblings, 2 replies; 15+ messages in thread From: Rohit Shinde @ 2020-08-25 2:26 UTC (permalink / raw) To: qemu-devel; +Cc: jsnow, ehabkost, crosa [-- Attachment #1: Type: text/plain, Size: 1781 bytes --] Hey John, I sent this email a couple of weeks ago to the qemu mailing list since I didn't really know who to approach. I am interested in contributing to the python-qemu package. I have quite a bit of experience in Python, but no experience in packaging libraries. Whatever you mentioned in the reply to my comment on the bug, was pretty interesting. I would like to get started with at least ensuring that all python code is flake8/pylint compliant. Do let me know what you think of this. Thanks, Rohit. On Thu, Aug 13, 2020 at 7:18 AM Rohit Shinde <rohit.shinde12194@gmail.com> wrote: > Hello everyone, > > I am a hobby programmer (working as an SDE in the industry) and I have > been observing qemu for quite a while. I have always wanted to contribute > but I couldn't manage my time. I am good at Java and Python but quite a bit > rusty with C++ and C (although working with it will not be a problem, I > might have to google more than usual). On the theory side, I have a good > grasp of data structures and algorithms and a decent understanding of OS > and Compilers. > > I have built qemu from source and I have my machine setup for git-publish > via email. > > I would like to start contributing with one of the bite sized tasks > mentioned in the wiki page. The one that interests me and which I think is > the easiest are the sections on "Compiler Driven Cleanup" and "Dead Code > Removal". I think this is a good way to get introduced to the codebase. > > I plan to stay and become a long term contributor. Is there any CS theory > that I would need to know other than what I mentioned above? Is it possible > to "learn on the go"? > > I realize this is quite a long email and I would like to thank everyone in > advance for reading this! > > Regards, > Rohit. > [-- Attachment #2: Type: text/html, Size: 2339 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-25 2:26 ` Rohit Shinde @ 2020-08-25 5:50 ` Thomas Huth 2020-08-26 15:00 ` Rohit Shinde 2020-08-26 15:40 ` John Snow 1 sibling, 1 reply; 15+ messages in thread From: Thomas Huth @ 2020-08-25 5:50 UTC (permalink / raw) To: Rohit Shinde, qemu-devel; +Cc: jsnow, ehabkost, crosa On 25/08/2020 04.26, Rohit Shinde wrote: > Hey John, > > I sent this email a couple of weeks ago to the qemu mailing list since I > didn't really know who to approach. Hi Rohit, The qemu-devel mailing list is very high traffic. So I'm sorry, but you might need to be a little bit more specific with your questions if you expect an answer... > I have built qemu from source and I have my machine setup for > git-publish via email. > > I would like to start contributing with one of the bite sized tasks > mentioned in the wiki page. The one that interests me and which I > think is the easiest are the sections on "Compiler Driven Cleanup" > and "Dead Code Removal". I think this is a good way to get > introduced to the codebase. Sure, just go ahead and have a try! Once you've successfully wrote a patch, please have a look at https://wiki.qemu.org/Contribute/SubmitAPatch how to submit it. > I plan to stay and become a long term contributor. Is there any CS What does "CS" stand for? > theory that I would need to know other than what I mentioned above? > Is it possible to "learn on the go"? You certainly have to "learn on the go", since it is likely quite impossible to grasp a huge project like QEMU at once. Cheers, Thomas ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-25 5:50 ` Thomas Huth @ 2020-08-26 15:00 ` Rohit Shinde 2020-08-26 15:51 ` John Snow 2020-08-27 4:37 ` Thomas Huth 0 siblings, 2 replies; 15+ messages in thread From: Rohit Shinde @ 2020-08-26 15:00 UTC (permalink / raw) To: Thomas Huth; +Cc: crosa, jsnow, qemu-devel, ehabkost [-- Attachment #1: Type: text/plain, Size: 2177 bytes --] Hey Thomas, I didn't really have any specific questions. I wanted to know if there was any part of qemu that I could contribute to. Qemu is overwhelmingly vast and without some pointers, I felt very lost. On Tue, Aug 25, 2020 at 1:51 AM Thomas Huth <thuth@redhat.com> wrote: > On 25/08/2020 04.26, Rohit Shinde wrote: > > Hey John, > > > > I sent this email a couple of weeks ago to the qemu mailing list since I > > didn't really know who to approach. > > Hi Rohit, > > The qemu-devel mailing list is very high traffic. So I'm sorry, but you > might need to be a little bit more specific with your questions if you > expect an answer... > > > I have built qemu from source and I have my machine setup for > > git-publish via email. > > > > I would like to start contributing with one of the bite sized tasks > > mentioned in the wiki page. The one that interests me and which I > > think is the easiest are the sections on "Compiler Driven Cleanup" > > and "Dead Code Removal". I think this is a good way to get > > introduced to the codebase. > > Sure, just go ahead and have a try! Once you've successfully wrote a > patch, please have a look at > https://wiki.qemu.org/Contribute/SubmitAPatch how to submit it. > > > I plan to stay and become a long term contributor. Is there any CS > > What does "CS" stand for? > Computer Science :) > > > theory that I would need to know other than what I mentioned above? > > Is it possible to "learn on the go"? > > You certainly have to "learn on the go", since it is likely quite > impossible to grasp a huge project like QEMU at once. > > I am interested in contributing to something like device emulation. There might be lots of devices which Qemu might want to emulate but which haven't yet been emulated. If possible, I would like to give that a shot. However, there was work related to python packaging as well, which I had commented on in Launchpad. John told me quite a bit about that as well. I am interested in that as well. I have already submitted a trivial patch for handling compiler warnings and I am trying to get it accepted. Cheers, > Thomas > > Thanks, Rohit. [-- Attachment #2: Type: text/html, Size: 3234 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-26 15:00 ` Rohit Shinde @ 2020-08-26 15:51 ` John Snow 2020-08-26 17:55 ` Rohit Shinde 2020-08-27 4:37 ` Thomas Huth 1 sibling, 1 reply; 15+ messages in thread From: John Snow @ 2020-08-26 15:51 UTC (permalink / raw) To: Rohit Shinde, Thomas Huth; +Cc: crosa, qemu-devel, ehabkost On 8/26/20 11:00 AM, Rohit Shinde wrote: > Hey Thomas, > > I didn't really have any specific questions. I wanted to know if there > was any part of qemu that I could contribute to. Qemu is overwhelmingly > vast and without some pointers, I felt very lost. Yeah, it can be hard to get started. What are your interests in programming/development, any specific types of coding you like doing more than others? What draws you to the QEMU in particular? Is there something you'd like to see QEMU do that it doesn't today, or something you feel like you are particularly suited to doing? If I can figure out what brought you here, maybe I can direct you to some projects that might benefit from your attention. [Apart from the Python stuff, which we are discussing elsewhere in another thread.] Some topic areas: - Emulation (TCG) - Virtualization (KVM) - Esoteric/Legacy architecture/device emulation - Optimization (Network, Storage, CPU) - Regression/Acceptance Testing - Fuzzing - Configuration - Deployment - Continuous Integration - Accessibility, Ease-of-use - Build systems & tooling - Development process - SDK/API development If you have any specific knowledge in areas that aren't Linux on x86, there are likely areas of QEMU that could benefit from your knowledge. We are always looking for people to help maintain and develop code intended for other architectures on other platforms. --js ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-26 15:51 ` John Snow @ 2020-08-26 17:55 ` Rohit Shinde 2020-08-29 5:14 ` Rohit Shinde 0 siblings, 1 reply; 15+ messages in thread From: Rohit Shinde @ 2020-08-26 17:55 UTC (permalink / raw) To: John Snow; +Cc: Thomas Huth, crosa, qemu-devel, ehabkost [-- Attachment #1: Type: text/plain, Size: 2954 bytes --] Hey John, I came across QEMU in 2015 when I was looking to participate in GSOC. I did GSoC through another org. I kept following qemu because I was interested in virtualization, systems level coding and device emulation. Currently, most of my professional dev work is done in Java and Python (with some C++). I am interested in C/C++ development simply because of the things you can accomplish with the tools that these languages give you. My interests in programming as a hobby are very general. I would like to take part in all kinds of development at least once (example: OS development, virtualization, compilers, networking, etc). Professionally, I am a backend developer who does SDK/API development along with writing general purpose software that serves business needs. This is all at the application level. So I have quite some experience in areas like CI/CD, deployment, build systems and API dev. However, I don't know how much of that will translate to QEMU development since the environment I work in is quite different. Out of the topic areas you mention, I am very interested in the following (mentioned in order of interest): 1. Emulation 2. KVM 3. Storage optimization. I have been reading about KVM quite a bit because I wanted to know how virtualization theory is actually implemented. And once again, thanks for the response! I really appreciate it! Thanks, Rohit. On Wed, Aug 26, 2020 at 11:51 AM John Snow <jsnow@redhat.com> wrote: > On 8/26/20 11:00 AM, Rohit Shinde wrote: > > Hey Thomas, > > > > I didn't really have any specific questions. I wanted to know if there > > was any part of qemu that I could contribute to. Qemu is overwhelmingly > > vast and without some pointers, I felt very lost. > > Yeah, it can be hard to get started. > > What are your interests in programming/development, any specific types > of coding you like doing more than others? What draws you to the QEMU in > particular? Is there something you'd like to see QEMU do that it doesn't > today, or something you feel like you are particularly suited to doing? > > If I can figure out what brought you here, maybe I can direct you to > some projects that might benefit from your attention. [Apart from the > Python stuff, which we are discussing elsewhere in another thread.] > > Some topic areas: > > - Emulation (TCG) > - Virtualization (KVM) > - Esoteric/Legacy architecture/device emulation > - Optimization (Network, Storage, CPU) > - Regression/Acceptance Testing > - Fuzzing > - Configuration > - Deployment > - Continuous Integration > - Accessibility, Ease-of-use > - Build systems & tooling > - Development process > - SDK/API development > > > If you have any specific knowledge in areas that aren't Linux on x86, > there are likely areas of QEMU that could benefit from your knowledge. > We are always looking for people to help maintain and develop code > intended for other architectures on other platforms. > > --js > > [-- Attachment #2: Type: text/html, Size: 3580 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-26 17:55 ` Rohit Shinde @ 2020-08-29 5:14 ` Rohit Shinde 2020-09-02 16:38 ` Rohit Shinde 0 siblings, 1 reply; 15+ messages in thread From: Rohit Shinde @ 2020-08-29 5:14 UTC (permalink / raw) To: John Snow; +Cc: crosa, QEMU Developers, ehabkost [-- Attachment #1: Type: text/plain, Size: 3454 bytes --] Hey John, Sorry to bother you! I just wanted to know if you had any thoughts on the mail I sent. Is there anything I can pick up right now with regards to the Python package? You mentioned that linting is something that needs to be completed before we go ahead, so maybe I can start with that? Thanks, Rohit. On Wed, Aug 26, 2020 at 1:55 PM Rohit Shinde <rohit.shinde12194@gmail.com> wrote: > Hey John, > > I came across QEMU in 2015 when I was looking to participate in GSOC. I > did GSoC through another org. I kept following qemu because I was > interested in virtualization, systems level coding and device emulation. > > Currently, most of my professional dev work is done in Java and Python > (with some C++). I am interested in C/C++ development simply because of the > things you can accomplish with the tools that these languages give you. My > interests in programming as a hobby are very general. I would like to take > part in all kinds of development at least once (example: OS development, > virtualization, compilers, networking, etc). Professionally, I am a backend > developer who does SDK/API development along with writing general purpose > software that serves business needs. This is all at the application level. > So I have quite some experience in areas like CI/CD, deployment, build > systems and API dev. However, I don't know how much of that will translate > to QEMU development since the environment I work in is quite different. > > Out of the topic areas you mention, I am very interested in the following > (mentioned in order of interest): > > 1. Emulation > 2. KVM > 3. Storage optimization. > > I have been reading about KVM quite a bit because I wanted to know how > virtualization theory is actually implemented. > > And once again, thanks for the response! I really appreciate it! > > Thanks, > Rohit. > > On Wed, Aug 26, 2020 at 11:51 AM John Snow <jsnow@redhat.com> wrote: > >> On 8/26/20 11:00 AM, Rohit Shinde wrote: >> > Hey Thomas, >> > >> > I didn't really have any specific questions. I wanted to know if there >> > was any part of qemu that I could contribute to. Qemu is overwhelmingly >> > vast and without some pointers, I felt very lost. >> >> Yeah, it can be hard to get started. >> >> What are your interests in programming/development, any specific types >> of coding you like doing more than others? What draws you to the QEMU in >> particular? Is there something you'd like to see QEMU do that it doesn't >> today, or something you feel like you are particularly suited to doing? >> >> If I can figure out what brought you here, maybe I can direct you to >> some projects that might benefit from your attention. [Apart from the >> Python stuff, which we are discussing elsewhere in another thread.] >> >> Some topic areas: >> >> - Emulation (TCG) >> - Virtualization (KVM) >> - Esoteric/Legacy architecture/device emulation >> - Optimization (Network, Storage, CPU) >> - Regression/Acceptance Testing >> - Fuzzing >> - Configuration >> - Deployment >> - Continuous Integration >> - Accessibility, Ease-of-use >> - Build systems & tooling >> - Development process >> - SDK/API development >> >> >> If you have any specific knowledge in areas that aren't Linux on x86, >> there are likely areas of QEMU that could benefit from your knowledge. >> We are always looking for people to help maintain and develop code >> intended for other architectures on other platforms. >> >> --js >> >> [-- Attachment #2: Type: text/html, Size: 4378 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-29 5:14 ` Rohit Shinde @ 2020-09-02 16:38 ` Rohit Shinde 2020-09-30 4:38 ` John Snow 0 siblings, 1 reply; 15+ messages in thread From: Rohit Shinde @ 2020-09-02 16:38 UTC (permalink / raw) To: John Snow; +Cc: crosa, QEMU Developers, ehabkost [-- Attachment #1: Type: text/plain, Size: 3743 bytes --] Hey John, I wanted to follow up on this, in case you missed my previous email :) Thanks, Rohit. On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde <rohit.shinde12194@gmail.com> wrote: > Hey John, > > Sorry to bother you! I just wanted to know if you had any thoughts on the > mail I sent. > > Is there anything I can pick up right now with regards to the Python > package? You mentioned that linting is something that needs to be > completed before we go ahead, so maybe I can start with that? > > Thanks, > Rohit. > > On Wed, Aug 26, 2020 at 1:55 PM Rohit Shinde <rohit.shinde12194@gmail.com> > wrote: > >> Hey John, >> >> I came across QEMU in 2015 when I was looking to participate in GSOC. I >> did GSoC through another org. I kept following qemu because I was >> interested in virtualization, systems level coding and device emulation. >> >> Currently, most of my professional dev work is done in Java and Python >> (with some C++). I am interested in C/C++ development simply because of the >> things you can accomplish with the tools that these languages give you. My >> interests in programming as a hobby are very general. I would like to take >> part in all kinds of development at least once (example: OS development, >> virtualization, compilers, networking, etc). Professionally, I am a backend >> developer who does SDK/API development along with writing general purpose >> software that serves business needs. This is all at the application level. >> So I have quite some experience in areas like CI/CD, deployment, build >> systems and API dev. However, I don't know how much of that will translate >> to QEMU development since the environment I work in is quite different. >> >> Out of the topic areas you mention, I am very interested in the following >> (mentioned in order of interest): >> >> 1. Emulation >> 2. KVM >> 3. Storage optimization. >> >> I have been reading about KVM quite a bit because I wanted to know how >> virtualization theory is actually implemented. >> >> And once again, thanks for the response! I really appreciate it! >> >> Thanks, >> Rohit. >> >> On Wed, Aug 26, 2020 at 11:51 AM John Snow <jsnow@redhat.com> wrote: >> >>> On 8/26/20 11:00 AM, Rohit Shinde wrote: >>> > Hey Thomas, >>> > >>> > I didn't really have any specific questions. I wanted to know if there >>> > was any part of qemu that I could contribute to. Qemu is >>> overwhelmingly >>> > vast and without some pointers, I felt very lost. >>> >>> Yeah, it can be hard to get started. >>> >>> What are your interests in programming/development, any specific types >>> of coding you like doing more than others? What draws you to the QEMU in >>> particular? Is there something you'd like to see QEMU do that it doesn't >>> today, or something you feel like you are particularly suited to doing? >>> >>> If I can figure out what brought you here, maybe I can direct you to >>> some projects that might benefit from your attention. [Apart from the >>> Python stuff, which we are discussing elsewhere in another thread.] >>> >>> Some topic areas: >>> >>> - Emulation (TCG) >>> - Virtualization (KVM) >>> - Esoteric/Legacy architecture/device emulation >>> - Optimization (Network, Storage, CPU) >>> - Regression/Acceptance Testing >>> - Fuzzing >>> - Configuration >>> - Deployment >>> - Continuous Integration >>> - Accessibility, Ease-of-use >>> - Build systems & tooling >>> - Development process >>> - SDK/API development >>> >>> >>> If you have any specific knowledge in areas that aren't Linux on x86, >>> there are likely areas of QEMU that could benefit from your knowledge. >>> We are always looking for people to help maintain and develop code >>> intended for other architectures on other platforms. >>> >>> --js >>> >>> [-- Attachment #2: Type: text/html, Size: 4905 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-09-02 16:38 ` Rohit Shinde @ 2020-09-30 4:38 ` John Snow 2020-10-13 18:46 ` Rohit Shinde 0 siblings, 1 reply; 15+ messages in thread From: John Snow @ 2020-09-30 4:38 UTC (permalink / raw) To: Rohit Shinde; +Cc: QEMU Developers, ehabkost, crosa On 9/2/20 12:38 PM, Rohit Shinde wrote: > Hey John, > > I wanted to follow up on this, in case you missed my previous email :) > > Thanks, > Rohit. > Sorry Rohit, very buried in my work and haven't been doing a good job with my inbox. Right now, I am working on converting the QAPI parser module to the strictly typed mypy subset: https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html There are six parts in all, that is part one. I am posting a v4 right now as I write this. Work that remains to be done after these six parts: - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old patches for this that were on-list prior to the 5.1 release. - Move ./scripts/qapi to ./python/qemu/qapi/ - Move ./python/qemu to ./python/qemu/core/ - Create a "make check" style script that will run mypy/pylint/flake8/isort on all the code in ./python. (I have patches for this, too.) - Start investigating python scripts in ./scripts and consider moving them to ./python/qemu/tools, fixing them up to pass mypy/flake8/pylint/isort (etc) as I go. There are no existing patches to do this yet. Other work I am doing: - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py - Investigating a YAML format for the QAPI parser - Building a JSON-SCHEMA output format for the QAPI generator > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>> wrote: > > Hey John, > > Sorry to bother you! I just wanted to know if you had any thoughts > on the mail I sent. > > Is there anything I can pick up right now with regards to the Python > package? You mentioned that linting is something that needs to be > completed before we go ahead, so maybe I can start with that? > > Thanks, > Rohit. > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-09-30 4:38 ` John Snow @ 2020-10-13 18:46 ` Rohit Shinde 2020-10-14 17:59 ` John Snow 0 siblings, 1 reply; 15+ messages in thread From: Rohit Shinde @ 2020-10-13 18:46 UTC (permalink / raw) To: John Snow; +Cc: QEMU Developers, ehabkost, crosa [-- Attachment #1: Type: text/plain, Size: 2421 bytes --] Hey John, Sorry for the late reply! I was in the midst of a job change and couldn't get time to get to this. The work sounds interesting! I have a couple of questions regarding this: 1. How do I actually build this part? I am familiar with building and using QEMU. Does the qapi parser get built along with the main code? 2. If not, how do I start using this part and contributing to it? Thanks, Rohit. On Tue, Sep 29, 2020 at 9:38 PM John Snow <jsnow@redhat.com> wrote: > On 9/2/20 12:38 PM, Rohit Shinde wrote: > > Hey John, > > > > I wanted to follow up on this, in case you missed my previous email :) > > > > Thanks, > > Rohit. > > > > Sorry Rohit, very buried in my work and haven't been doing a good job > with my inbox. > > Right now, I am working on converting the QAPI parser module to the > strictly typed mypy subset: > > https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html > > There are six parts in all, that is part one. I am posting a v4 right > now as I write this. > > > Work that remains to be done after these six parts: > > - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old > patches for this that were on-list prior to the 5.1 release. > > - Move ./scripts/qapi to ./python/qemu/qapi/ > > - Move ./python/qemu to ./python/qemu/core/ > > - Create a "make check" style script that will run > mypy/pylint/flake8/isort on all the code in ./python. (I have patches > for this, too.) > > - Start investigating python scripts in ./scripts and consider moving > them to ./python/qemu/tools, fixing them up to pass > mypy/flake8/pylint/isort (etc) as I go. There are no existing patches to > do this yet. > > > Other work I am doing: > > - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py > - Investigating a YAML format for the QAPI parser > - Building a JSON-SCHEMA output format for the QAPI generator > > > > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde > > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>> > wrote: > > > > Hey John, > > > > Sorry to bother you! I just wanted to know if you had any thoughts > > on the mail I sent. > > > > Is there anything I can pick up right now with regards to the Python > > package? You mentioned that linting is something that needs to be > > completed before we go ahead, so maybe I can start with that? > > > > Thanks, > > Rohit. > > > > [-- Attachment #2: Type: text/html, Size: 3415 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-10-13 18:46 ` Rohit Shinde @ 2020-10-14 17:59 ` John Snow 0 siblings, 0 replies; 15+ messages in thread From: John Snow @ 2020-10-14 17:59 UTC (permalink / raw) To: Rohit Shinde; +Cc: crosa, QEMU Developers, ehabkost On 10/13/20 2:46 PM, Rohit Shinde wrote: > Hey John, > > Sorry for the late reply! I was in the midst of a job change and > couldn't get time to get to this. > > The work sounds interesting! I have a couple of questions regarding this: > > 1. How do I actually build this part? I am familiar with building and > using QEMU. Does the qapi parser get built along with the main code? It's python, so it doesn't get built. It's in ./scripts/qapi/. It is invoked by the build machinery to turn the files in ./qapi into C files that get built into QEMU. Try "make check-qapi-schema" to see this stuff run and get tested. > 2. If not, how do I start using this part and contributing to it? Depends on what you want to actually try to do, what interests you, what your goals are, etc. Some of the various Python-related tasks that I am working on right now are laid out below. > > > Thanks, > Rohit. > > On Tue, Sep 29, 2020 at 9:38 PM John Snow <jsnow@redhat.com > <mailto:jsnow@redhat.com>> wrote: > > On 9/2/20 12:38 PM, Rohit Shinde wrote: > > Hey John, > > > > I wanted to follow up on this, in case you missed my previous > email :) > > > > Thanks, > > Rohit. > > > > Sorry Rohit, very buried in my work and haven't been doing a good job > with my inbox. > > Right now, I am working on converting the QAPI parser module to the > strictly typed mypy subset: > > https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html > > There are six parts in all, that is part one. I am posting a v4 right > now as I write this. > Part one is now merged; parts 2-6 remain. > > Work that remains to be done after these six parts: > > - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old > patches for this that were on-list prior to the 5.1 release. > This part is done, or mostly done. > - Move ./scripts/qapi to ./python/qemu/qapi/ > Still pending parts 2-6 of the QAPI cleanup. > - Move ./python/qemu to ./python/qemu/core/ > Patches on list to do this. > - Create a "make check" style script that will run > mypy/pylint/flake8/isort on all the code in ./python. (I have patches > for this, too.) > Need to resurface old patches to do this. I have a draft that was sent to the list prior to 5.1, but haven't touched it since. > - Start investigating python scripts in ./scripts and consider moving > them to ./python/qemu/tools, fixing them up to pass > mypy/flake8/pylint/isort (etc) as I go. There are no existing > patches to > do this yet. > I started porting ./scripts/qmp very recently. It is based off of my python maintainer's branch. > > Other work I am doing: > > - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py > - Investigating a YAML format for the QAPI parser > - Building a JSON-SCHEMA output format for the QAPI generator > Various half-finished drafts exist only on my computer for these. I also have some very rough prototype work to create an asynchronous QMP client in python. > > > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde > > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com> > <mailto:rohit.shinde12194@gmail.com > <mailto:rohit.shinde12194@gmail.com>>> wrote: > > > > Hey John, > > > > Sorry to bother you! I just wanted to know if you had any > thoughts > > on the mail I sent. > > > > Is there anything I can pick up right now with regards to the > Python > > package? You mentioned that linting is something that needs to be > > completed before we go ahead, so maybe I can start with that? > > > > Thanks, > > Rohit. > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-26 15:00 ` Rohit Shinde 2020-08-26 15:51 ` John Snow @ 2020-08-27 4:37 ` Thomas Huth 2020-08-28 0:49 ` Rohit Shinde 1 sibling, 1 reply; 15+ messages in thread From: Thomas Huth @ 2020-08-27 4:37 UTC (permalink / raw) To: Rohit Shinde, QEMU Developers On 26/08/2020 17.00, Rohit Shinde wrote: > Hey Thomas, > > I didn't really have any specific questions. I wanted to know if there > was any part of qemu that I could contribute to. Qemu is overwhelmingly > vast and without some pointers, I felt very lost. Ok, that's true - QEMU is really a huge project. I'd really recommend to pick some topics from https://wiki.qemu.org/Contribute/BiteSizedTasks first to get a feeling for contributing patches to QEMU. Since you're interested in emulation, maybe the topics from the "Device models" section would also be a good fit? > > I plan to stay and become a long term contributor. Is there any CS > > What does "CS" stand for? > > Computer Science :) Oh, well, thanks, ok, that was too easy. I guess there are just too many abbreviations around ;-) > > > theory that I would need to know other than what I mentioned > above? I'd recommend to browse the various KVM forum presentations on http://www.linux-kvm.org/page/Category:Conferences to see if there is something that catches your eye. You can find the recordings of most presentations on https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA , too. > > Is it possible to "learn on the go"? > > You certainly have to "learn on the go", since it is likely quite > impossible to grasp a huge project like QEMU at once. > > I am interested in contributing to something like device emulation. > There might be lots of devices which Qemu might want to emulate but > which haven't yet been emulated. Sure, but I think you first need a target you're interested in first. E.g. do you want to focus on x86, ARM, PPC, m68k, ... ? Depending on that, you can start looking around in the hw/ directory for "missing" or "TODO" items. Thomas ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-27 4:37 ` Thomas Huth @ 2020-08-28 0:49 ` Rohit Shinde 2020-08-28 4:14 ` Thomas Huth 0 siblings, 1 reply; 15+ messages in thread From: Rohit Shinde @ 2020-08-28 0:49 UTC (permalink / raw) To: Thomas Huth; +Cc: QEMU Developers [-- Attachment #1: Type: text/plain, Size: 2648 bytes --] Hey Thomas, Thanks for the in-depth response! I appreciate it a lot! On Wed, Aug 26, 2020 at 9:38 PM Thomas Huth <thuth@redhat.com> wrote: > On 26/08/2020 17.00, Rohit Shinde wrote: > > Hey Thomas, > > > > I didn't really have any specific questions. I wanted to know if there > > was any part of qemu that I could contribute to. Qemu is overwhelmingly > > vast and without some pointers, I felt very lost. > > Ok, that's true - QEMU is really a huge project. I'd really recommend to > pick some topics from https://wiki.qemu.org/Contribute/BiteSizedTasks > first to get a feeling for contributing patches to QEMU. Since you're > interested in emulation, maybe the topics from the "Device models" > section would also be a good fit? > > > > I plan to stay and become a long term contributor. Is there > any CS > > > > What does "CS" stand for? > > > > Computer Science :) > > Oh, well, thanks, ok, that was too easy. I guess there are just too many > abbreviations around ;-) > > > > > > theory that I would need to know other than what I mentioned > > above? > > I'd recommend to browse the various KVM forum presentations on > http://www.linux-kvm.org/page/Category:Conferences to see if there is > something that catches your eye. You can find the recordings of most > presentations on > https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA , too. > > > > Is it possible to "learn on the go"? > > > > You certainly have to "learn on the go", since it is likely quite > > impossible to grasp a huge project like QEMU at once. > > > > I am interested in contributing to something like device emulation. > > There might be lots of devices which Qemu might want to emulate but > > which haven't yet been emulated. > Sure, but I think you first need a target you're interested in first. > E.g. do you want to focus on x86, ARM, PPC, m68k, ... ? Depending on > that, you can start looking around in the hw/ directory for "missing" or > "TODO" items. > I am pretty familiar with the x86 architecture since I have worked with processors right from 8086 to the Pentium line of processors. I have a nice familiarity with x86_64. I have a passing familiarity with ARM and SPARC architectures, but not much more. So I think I would like to focus on the x86 architecture. I'll poke around the hw/ directory. Please feel free to give me pointers in the meanwhile. > > Thomas > > Since I am new to the community, I wanted to make sure if it is fine if I post general questions to the mailing list and copy you? I see that all the posts in the mailing list are mostly patches and nothing else. Thanks, Rohit. [-- Attachment #2: Type: text/html, Size: 3842 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-28 0:49 ` Rohit Shinde @ 2020-08-28 4:14 ` Thomas Huth 0 siblings, 0 replies; 15+ messages in thread From: Thomas Huth @ 2020-08-28 4:14 UTC (permalink / raw) To: Rohit Shinde; +Cc: QEMU Developers On 28/08/2020 02.49, Rohit Shinde wrote: > Hey Thomas, > > Thanks for the in-depth response! I appreciate it a lot! > > > > On Wed, Aug 26, 2020 at 9:38 PM Thomas Huth <thuth@redhat.com > <mailto:thuth@redhat.com>> wrote: > > On 26/08/2020 17.00, Rohit Shinde wrote: > > Hey Thomas, > > > > I didn't really have any specific questions. I wanted to know if there > > was any part of qemu that I could contribute to. Qemu is > overwhelmingly > > vast and without some pointers, I felt very lost. > > Ok, that's true - QEMU is really a huge project. I'd really recommend to > pick some topics from https://wiki.qemu.org/Contribute/BiteSizedTasks > first to get a feeling for contributing patches to QEMU. Since you're > interested in emulation, maybe the topics from the "Device models" > section would also be a good fit? > > > > I plan to stay and become a long term contributor. Is > there any CS > > > > What does "CS" stand for? > > > > Computer Science :) > > Oh, well, thanks, ok, that was too easy. I guess there are just too many > abbreviations around ;-) > > > > > > theory that I would need to know other than what I mentioned > > above? > > I'd recommend to browse the various KVM forum presentations on > http://www.linux-kvm.org/page/Category:Conferences to see if there is > something that catches your eye. You can find the recordings of most > presentations on > https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA , too. > > > > Is it possible to "learn on the go"? > > > > You certainly have to "learn on the go", since it is likely quite > > impossible to grasp a huge project like QEMU at once. > > > > I am interested in contributing to something like device emulation. > > There might be lots of devices which Qemu might want to emulate but > > which haven't yet been emulated. > Sure, but I think you first need a target you're interested in first. > E.g. do you want to focus on x86, ARM, PPC, m68k, ... ? Depending on > that, you can start looking around in the hw/ directory for "missing" or > "TODO" items. > > I am pretty familiar with the x86 architecture since I have worked with > processors right from 8086 to the Pentium line of processors. I have a > nice familiarity with x86_64. I have a passing familiarity with ARM and > SPARC architectures, but not much more. So I think I would like to focus > on the x86 architecture. I'll poke around the hw/ directory. Please feel > free to give me pointers in the meanwhile. > > Since I am new to the community, I wanted to make sure if it is fine if > I post general questions to the mailing list and copy you? Sure, but I'm not the right guy for x86 ;-) It's often a good idea to have a look at the MAINTAINERS file to find people who you could put on CC: for specific topics. Thomas ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions 2020-08-25 2:26 ` Rohit Shinde 2020-08-25 5:50 ` Thomas Huth @ 2020-08-26 15:40 ` John Snow 1 sibling, 0 replies; 15+ messages in thread From: John Snow @ 2020-08-26 15:40 UTC (permalink / raw) To: Rohit Shinde, qemu-devel; +Cc: ehabkost, crosa On 8/24/20 10:26 PM, Rohit Shinde wrote: > Hey John, > Hi Rohit! > I sent this email a couple of weeks ago to the qemu mailing list since I > didn't really know who to approach. > Sorry, I didn't see a mail. The volume is quite high and I missed it. For Python issues, the usual suspects are: Me (Lately), Markus Armbruster (Primarily around the QAPI parser), Cleber Rosa (Primarily around VM tests), Eduardo Habkost (In general). > I am interested in contributing to the python-qemu package. I have quite > a bit of experience in Python, but no experience in packaging libraries. I must admit I am also quite new to packaging python, but I'm learning as I go. For now, we do not have any published package so we do not need to maintain any kind of stable API, but there are many places in the QEMU source tree that rely on the python packages and must keep working. > Whatever you mentioned in the reply to my comment on the bug, was pretty > interesting. I would like to get started with at least ensuring that all > python code is flake8/pylint compliant. > OK! I have some patches in progress, let me clean them up for post-5.1 and I will CC you when I send them. I have been on PTO for a little while and was focused on another project, so they have to be resurrected a little bit. I will likely continue to be distracted by other projects, so if you are able to help with some of the Python refactoring/redevelopment that will be a good help. > Do let me know what you think of this. > Sure, stay tuned. > Thanks, > Rohit. > > On Thu, Aug 13, 2020 at 7:18 AM Rohit Shinde > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>> wrote: > > Hello everyone, > > I am a hobby programmer (working as an SDE in the industry) and I > have been observing qemu for quite a while. I have always wanted to > contribute but I couldn't manage my time. I am good at Java and > Python but quite a bit rusty with C++ and C (although working with > it will not be a problem, I might have to google more than usual). > On the theory side, I have a good grasp of data structures and > algorithms and a decent understanding of OS and Compilers. > > I have built qemu from source and I have my machine setup for > git-publish via email. > > I would like to start contributing with one of the bite sized tasks > mentioned in the wiki page. The one that interests me and which I > think is the easiest are the sections on "Compiler Driven Cleanup" > and "Dead Code Removal". I think this is a good way to get > introduced to the codebase. > > I plan to stay and become a long term contributor. Is there any CS > theory that I would need to know other than what I mentioned above? > Is it possible to "learn on the go"? > > I realize this is quite a long email and I would like to thank > everyone in advance for reading this! > > Regards, > Rohit. > ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2020-10-14 18:00 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-08-13 11:18 Contributor wanting to get started with simple contributions Rohit Shinde 2020-08-25 2:26 ` Rohit Shinde 2020-08-25 5:50 ` Thomas Huth 2020-08-26 15:00 ` Rohit Shinde 2020-08-26 15:51 ` John Snow 2020-08-26 17:55 ` Rohit Shinde 2020-08-29 5:14 ` Rohit Shinde 2020-09-02 16:38 ` Rohit Shinde 2020-09-30 4:38 ` John Snow 2020-10-13 18:46 ` Rohit Shinde 2020-10-14 17:59 ` John Snow 2020-08-27 4:37 ` Thomas Huth 2020-08-28 0:49 ` Rohit Shinde 2020-08-28 4:14 ` Thomas Huth 2020-08-26 15:40 ` John Snow
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).