A company wants to contribute a bug fix to a public open-source project hosted on another platform, while keeping its own working copy under the company's account. What is the standard workflow?
Show answer and explanation
Answer: D
A fork is a server-side copy of a repository that keeps a link to its upstream. The contributor commits to the fork, then opens a pull request so maintainers can review and merge the change. This keeps write access to the original project restricted while preserving history and attribution. Pushing directly to upstream normally requires permissions outside contributors lack, zip downloads detach the work from version history, and emailed patches bypass the review tooling.
Why the other options are wrong
- A. Pushing to upstream normally requires write permissions that outside contributors do not have. Even when it is possible, it bypasses the maintainers' review process and the fork-based contribution model.
- B. A zip download loses the commit history and upstream link. Uploading it as an unrelated repository makes it impossible to propose the change back cleanly through a pull request.
- C. Emailed patches sit outside the platform's review and tracking tools. They are harder to test, discuss and attribute, and many projects no longer accept them in that form.