Changes between Version 21 and Version 22 of Contributor_information
- Timestamp:
- 11/11/2025 03:48:55 PM (4 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Contributor_information
v21 v22 1 1 = How to contribute = 2 2 3 This page is all about how you can contribute to VirtualBox. If you are only looking for information on how to download and run !VirtualBox, see the [wiki:"End-user_documentation" end-user documentation page] instead. If you first want to find out how to get the !VirtualBox source code and build it, have a look at the [wiki:"Technical_documentation" technical documentation].3 This page is all about how you can contribute to !VirtualBox. If you are only looking for information on how to download and run !VirtualBox, see the [wiki:"End-user_documentation" end-user documentation page] instead. If you first want to find out how to get the !VirtualBox source code and build it, have a look at the [wiki:"Technical_documentation" technical documentation]. 4 4 5 5 There are many ways how you can contribute to !VirtualBox. Even if you're not a programmer, you can help us with the '''documentation,''' or work on the '''design''', or you can help us by regularly trying out [wiki:Testbuilds test builds] - which are expected to be almost as reliable as normal releases - and telling us about any problems you encounter which were not present before. … … 11 11 Even though !VirtualBox' source code is licensed to you under the GPL, it's not enough to submit your patches under the GPL. The [wiki:"Licensing_FAQ" Licensing FAQ] will tell you more about how Oracle handles !VirtualBox licensing. 12 12 13 In any event, if you like to contribute anything that is subject to copyright (text, media, or code), Oracle must be legally certain they can redistribute the code you have contributed to their own customers who have purchased closed-source editions of !VirtualBox. In order to be able to accept your contribution, we must therefore ask you to do one of two things: 14 15 1. Fill out the [wiki:ICA "Contributor's Agreement"] (CA) and send it to Oracle. With the CA, you give Oracle permission to use your contribution under licenses other than the main !VirtualBox license. This is a once-in-a-lifetime event: once we have your CA, we will never again ask you to undergo any bureaucratic procedures, and all future contributions are covered. 16 17 2. If you don't want to sign such an agreement, you can alternatively submit your contribution under the [wiki:"UPL license"] or if there is no other option under the [wiki:"MIT license"]. Both are liberal, wide-spread Open Source licenses that allows Oracle (and anyone else) to use your contribution in both open-source and closed-source projects. 18 19 Basically, the main difference between the two options is this: With the CA, a written statement is necessary, but then ''only'' Oracle is allowed to relicense your code (unless you give other people the same permission). With the UPL or MIT license, you save the paperwork, but everyone else can use your code as well. It's your choice. 13 In any event, if you like to contribute anything that is subject to copyright (text, media, or code), Oracle must be legally certain they can redistribute the code you have contributed to their own customers who have purchased closed-source editions of !VirtualBox. In order to be able to accept your contribution, we must follow the [https://github.com/VirtualBox/virtualbox/blob/main/CONTRIBUTING.md contribution guide]. Essentially you need to make sure that you have submitted the Oracle Contributor Agreement when filing a Pull Request on GitHub. This is checked automatically and gives Oracle permission to use your contribution under licenses other than the main !VirtualBox license. This is a once-in-a-lifetime event: once we have your CA, we will never again ask you to undergo any bureaucratic procedures, and all future contributions are covered. 20 14 21 15 == The !VirtualBox development model == 22 16 23 The source code of !VirtualBox resides in a [ /browser public Subversion repository which is hosted on this site]. Currently, only Oracle employees have write access to ensure that only reviewed and tested patches find their way to the repository. However, over time, we would like to extend the group of people with write access.17 The source code of !VirtualBox resides in a [https://github.com/VirtualBox/virtualbox public GitHub repository]. Currently, only Oracle employees have write access to ensure that only reviewed and tested patches find their way to the repository. 24 18 25 19 Patches are always first applied to an internal Oracle repository and then automatically synchronized to the public repository. A large test laboratory at Oracle's facilities and a dedicated test team in 24/7 operation ensure that the code quality remains excellent: dozens of test machines perform automated tests to spot regressions and monitor performance. … … 31 25 == How to submit your contributions == 32 26 33 If you have developed a patch for !VirtualBox which you think could be useful for others and fits within the product's architecture, then you should submit it for inclusion. As a first step, you should execute the [wiki:ICA "Contributor's Agreement"] as described above, which is a very straightforward and risk-free process. Then you should submit your patch to the '''vbox-dev''' mailing list or to the '''Developers Corner''' forum (see the "[wiki:"Community"]" page) along with a description of what it does. In case you have not signed the CA, please explicitly state that you are licensing the patch under the [wiki:"MIT license"].27 If you have developed a patch for !VirtualBox which you think could be useful for others and fits within the product's architecture, then you should submit it for inclusion. Follow the usual process for Pull Requests on GitHub and make sure you have an electronically signed Oracle Contributor Agreement filed, as described in the [https://github.com/VirtualBox/virtualbox/blob/main/CONTRIBUTING.md contribution guide]. 34 28 35 29 Please keep in mind that it might take some time to review your patch and integrate it. Also, please expect feedback from other developers on how to improve your patch and address potential issues. We can only incorporate your patch if it does not harm the product stability.

