Contribute: Difference between revisions

From QEMU
(Rename 'key info' to target new contributors, point to bitesizedtasks)
m (→‎Project Infrastructure: Update Tuesdays call schedule)
 
(47 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== Project Infrastructure ==
== Project Infrastructure ==
* Source repository: [http://git.qemu.org Mainline qemu.git] and [http://repo.or.cz/w/qemu.git developer repositories]
* [http://git.qemu.org Mainline qemu.git] source repository (for developer repositories see the {{src|path=MAINTAINERS}} file).
* Mailing list: [[MailingLists|mailing list]]
* [[Contribute/MailingLists|Mailing lists]]: savannah.nongnu.org
* IRC: #qemu on [http://www.oftc.net/ irc.oftc.net]
* IRC: #qemu on [http://www.oftc.net/ irc.oftc.net]
* Bug tracker: [[Contribute/ReportABug|launchpad]]
* [https://www.qemu.org/contribute/report-a-bug/ Bug tracker]: [https://gitlab.com/qemu-project/qemu/-/issues GitLab Issues]
* Continuous integration: [[ContinuousIntegration|buildbot]]
* [[Testing#Continuous_Integration|Continuous Integration]]: [https://gitlab.com/qemu-project/qemu/-/pipelines GitLab CI], [http://patchew.org/QEMU/ Patchew] and [https://travis-ci.org/qemu/qemu Travis]
* Wiki: [[Main_Page|this website]]
* [[Main_Page|Wiki]]: this website
* Phone call: Scheduled for Tuesdays on as-needed basis for agenda topics raised on mailing list.  Contact [mailto:quintela@redhat.com Juan Quintela] for dial-in details.  To find the time in your location, use:
* Phone call: Scheduled for Tuesdays on as-needed basis for agenda topics raised on mailing list.  Contact [mailto:quintela@redhat.com Juan Quintela] for dial-in details.  To find the time in your location, use:
  date -d 'TZ="America/New_York" Tuesday 10:00 am'
  date -d 'TZ="America/New_York" Tuesday 09:00 am'
* If you need to find out or change who's responsible for a particular bit of our infrastructure [[AdminContacts]] has this information.
* [[ToDo]] lists


== Info for new Contributors ==
== Info for new Contributors ==
* [[Contribute/DevelopmentProcess|The Development Process]]
* [https://www.qemu.org/contribute/report-a-bug/ How to report a bug]
* [[Documentation/GettingStartedDevelopers|Getting started for developers]]
* [[Documentation/GettingStartedDevelopers|Getting started for developers]]
* [[Contribute/SubmitAPatch|How to submit a patch]]
* [https://qemu.org/contribute/submit-a-patch/ How to submit a patch]
* [[Contribute/TrivialPatches|How to submit a trivial patch]]
* [https://qemu.org/contribute/trivial-patches/ How to submit a trivial patch]
* [[Contribute/ReportABug|How to report a bug]]
* [[Contribute/BiteSizedTasks|Bite Sized Tasks]]: Introductory task list for new contributors
* [[BiteSizedTasks|Bite Sized Tasks]]: Introductory task list for new contributors
* [[Contribute/FAQ|Contributor FAQ]]


== Students ==
See also Jeff Cody's presentation [https://www.youtube.com/watch?v=yjBid6iF4LE "New to QEMU: A Developer's Guide to Contributing"] on YouTube for some information about how to get started.


QEMU participated in Google's Summer of Code 2011 program.
== Student Outreach ==


Some reports on the processed topics (partially or fully) from 2010 can be found here:
The QEMU project participates in both the [[:Category:GSoC|Google Summer of Code]] and the [[:Category:Outreachy|Outreachy]] programs. See the respective pages for details of project ideas and deadlines for submissions.
* [[Google Summer of Code 2010/QMP|QMP]] - about syncing QEMU monitor and QEMU Machine Protocol (QMP) features
* [[Google Summer of Code 2010/VNC|VNC]] - about improvements in speed and features of QEMU supported VNC protocols


For more information on GSoC-2011 and especially lots more of probably still open topics for improvement please see [[Google_Summer_of_Code_2011|this page]].
== Development ==
The [[planning]] pages is where you can find important dates for the next release.


== Planning ==
The [[features]] page provides a description of in-progress features.
* [[Planning/2.5| 2.5]]
* [[Planning/2.4| 2.4]]
* [[Planning/2.3| 2.3]]
* [[Planning/2.2| 2.2]]
* [[Planning/2.1| 2.1]]
* [[Planning/2.0| 2.0]]
* [[Planning/1.7| 1.7]]
* [[Planning/1.6| 1.6]]
* [[Planning/1.5| 1.5]]
* [[Planning/1.4| 1.4]]
* [[Planning/1.3| 1.3]]
* [[Planning/1.2| 1.2]]
* [[Planning/1.1| 1.1]]
* [[Planning/1.0| 1.0]]
* [[Planning/0.15| 0.15]]
* [[Planning/0.15-example| 0.15 example]]
* [[Planning/0.14/Testing| 0.14 testing]]
* [[Planning/0.14| 0.14]]


== Features ==
== Subpages ==
* [[Features|Features]]
* [[Features/0.13| 0.13]]
* [[Features/0.13/HelperNetworking| 0.13/HelperNetworking]]
* [[Features/0.13|Proposed 0.13 Features]]
* [[Features/AHCI|AHCI]]
* [[Features/AutoconvergeLiveMigration| Autoconverge LiveMigration]]
* [[Features/Block/Merge|Block/Merge]]
* [[Features/CPUModels| CPUModels]]
* [[Features/Cow2| Cow2]]
* [[Features/DriveRefactoring| DriveRefactoring]]
* [[Features/DiskIOLimits| DiskIOLimits]]
* [[Features/FVD| FVD]]
* [[Features/FVD/Compare| FVD/Compare]]
* [[Features/FVD/Design| FVD/Design]]
* [[Features/FVD/Engineering| FVD/Engineering]]
* [[Features/FVD/Experiment| FVD/Experiment]]
* [[Features/FVD/Specification| FVD/Specification]]
* [[Features/FVD/WhyFVD| FVD/WhyFVD]]
* [[Features/FaultTolerance| FaultTolerance]]
* [[Features/HelperNetworking| HelperNetworking]]
* [[Features/NetDeviceFailover| NetDeviceFailover]]
* [[Features/PCIMemoryAPI| PCIMemoryAPI]]
* [[Features/PostCopyLiveMigration| PostCopy LiveMigration]]
* [[Features/PVCrashDetection| PVCrashDetection]]
* [[Features/Q35| Q35]]
* [[Features/QDevCleanup| QDevCleanup]]
* [[Features/QED| QED]]
* [[Features/QED/OnlineDefrag| QED/OnlineDefrag]]
* [[Features/QED/OutstandingWork| QED/OutstandingWork]]
* [[Features/QED/ParallelSubmission| QED/ParallelSubmission]]
* [[Features/QED/ScanAvoidance| QED/ScanAvoidance]]
* [[Features/QED/Specification| QED/Specification]]
* [[Features/QED/Streaming| QED/Streaming]]
* [[Features/QED/Trim| QED/Trim]]
* [[Features/QMP2| QMP2]]
* [[Features/QMP_0.14| QMP_0.14]]
* [[Features/QOM| QOM]]
* [[Features/QOM/CPU| QOM/CPU]]
* [[Features/Qcow2DataIntegrity| Qcow2DataIntegrity]]
* [[Features/RamAPI| RamAPI]]
* [[Features/ResetAPI| ResetAPI]]
* [[Features/Sheepdog| Sheepdog]]
* [[Features/Sheepdog/Corosync_Config| Sheepdog/Corosync]]
* [[Features/Sheepdog/Getting_Started| Sheepdog/Getting]]
* [[Features/Smartcard| Smartcard]]
* [[Features/Smartcard/Specification| Smartcard/Specification]]
* [[Features/Snapshots| Snapshots]]
* [[Features/Snapshots2| Snapshots2]]
* [[Features/SnapshottingImprovements| SnapshottingImprovements]]
* [[Features/TCI| TCG Interpreter ]]
* [[Features/Tracing| Tracing]]
* [[Features/Tracing/Roadmap| Tracing/Roadmap]]
* [[Features/Tracing/UseCases| Tracing/UseCases]]
* [[Features/Usability |Usability]]
* [[Features/VirtioBlkBoot| VirtioBlkBoot]]
* [[Features/VirtioIoeventfd| VirtioIoeventfd]]


=== Work in progress ===
Here are all the sub-pages for contribute
* [[Features/40p| 40p]]
* [[Features/BeBox| BeBox]]
* [[Features/CPUHotplug|CPUHotplug]]
* [[Features/GtkDisplayState| GtkDisplayState]]
* [[Features/PRePCleanup|PReP cleanup]]
* [[Features/Q35|Q35]]
* [[Features/RL78| RL78]]
* [[Features/Tegra2|Tegra2]]
* [[Features/RDMALiveMigration|RDMA Live Migration]]
* [[Features/MicroCheckpointing|Micro Checkpointing]]
* [[Features/Block/Rebase|Block Rebase]]
* [[Features/tcg-multithread|TCG MultiThread]]
* [[Features/record-replay|Record/Replay]]


=== Downstream ===
{{Special:PrefixIndex/Contribute/}}
* 6502 (on [https://github.com/AVEx-6502/qemu-6502 GitHub])
* AT91SAM9263 (on [https://github.com/Dushistov/qemu_at91sam9263 Github])
* Beagleboard (at Linaro)
* Blackfin
* Goldfish (at [https://android.googlesource.com/platform/external/qemu Android])
* Ranchu (Android rebase, see [https://groups.google.com/forum/#!forum/android-emulator-dev Google Group])
* [[Features/HPPA| HPPA]]
* Meta (on [https://github.com/img-meta/qemu GitHub])
* Taskit Portux920T (on [https://github.com/daro-tuberlin/Qemu-taskit-920T GitHub])
* [[Features/Z80| Z80]]
* Macintosh 128k (work in progress) (on [https://github.com/Dovgalyuk/qemu/tree/Macintosh-128k/ GitHub])
 
== GIT repo ==
* [http://git.qemu.org/ QEMU.org GIT repo]
* [http://repo.or.cz/w/qemu.git repo.or.cz]
* [http://git.kernel.org/?p=linux/kernel/git/mst/qemu.git;a=summary Qemu patches by Michael S. Tsirkin. Warning: constantly rebased. pci subsystem]
* [http://repo.or.cz/w/qemu/kevin.git kwolf Random patches. block device]
 
== Developers and Maintainers ==
 
* [[User:Agraf |Alexander Graf ]] (maintainer for PPC, S390)
* [[User:Wmat |Bill Traynor  ]]
* [[User:Blueswirl |Blueswirl ]] (committer, maintainer for SPARC, bsd-user)
* [[User:edgar |Edgar E. Iglesias ]] (committer, maintainer for CRIS, Microblaze)
* [[User:Kraxel |Gerd Hoffmann ]] (maintainer for audio, SPICE, USB)
* [[User:Joro |Joro ]]
* [[User:LuizCapitulino |Luiz Capitulino ]] (maintainer for QMP/QAPI)
* [[User:Mariusmm |Màrius Montón ]]
* [[User:MichaelTsirkin |Michael Tsirkin ]] (maintainer for PCI, vhost)
* [[User:Miguel |Miguel Di Ciurcio Filho ]]
* [[User:NataliaPortillo |Natalia Portillo ]]
* [[User:Paolo_Bonzini |Paolo Bonzini ]] (maintainer for NBD, SCSI)
* [[User:Pbrook |Paul Brook ]] (committer, maintainer for ARM, m68k)
* [[User:Stefan_Weil |Stefan Weil ]] (maintainer for [[Features/TCI|TCI]], [[Hosts/W32|w32, w64]])
* [[User:Stefanha |Stefan Hajnoczi ]] (maintainer for tracing)
* [[User:wuzhy |Zhi Yong Wu ]] ([[Features/DiskIOLimits|Block I/O throttling]], [[Features/VirtioSCSI|virtio-scsi&tcm_vhost]])
 
See file [http://repo.or.cz/w/qemu.git/blob_plain/HEAD:/MAINTAINERS MAINTAINERS] in the QEMU source distribution for the latest list
of QEMU maintainers.

Latest revision as of 11:51, 25 January 2022

Project Infrastructure

date -d 'TZ="America/New_York" Tuesday 09:00 am'
  • If you need to find out or change who's responsible for a particular bit of our infrastructure AdminContacts has this information.
  • ToDo lists

Info for new Contributors

See also Jeff Cody's presentation "New to QEMU: A Developer's Guide to Contributing" on YouTube for some information about how to get started.

Student Outreach

The QEMU project participates in both the Google Summer of Code and the Outreachy programs. See the respective pages for details of project ideas and deadlines for submissions.

Development

The planning pages is where you can find important dates for the next release.

The features page provides a description of in-progress features.

Subpages

Here are all the sub-pages for contribute