A student wants to start contributing to Linux projects. Which activity is the most effective way to start?
Contributing documentation, bug reports, or small code fixes lowers the barrier to entry, letting the student build familiarity with a project's tooling, conventions, and community before tackling complex changes. This directly satisfies the stem's constraint of being the most effective starting activity for a newcomer to Linux projects.
Why this answer
Contributing to open source is a gradual process, and the most effective entry point for a new contributor is participating in documentation, bug reporting, or small code fixes. These activities let newcomers learn project conventions, communicate with maintainers, and build trust before tackling larger changes. They also provide immediate value to the project without requiring deep kernel expertise.
Exam trap
The trap here is assuming that contributing requires deep technical expertise or large code changes, when in fact documentation and bug reporting are valid and often recommended first steps.
How to eliminate wrong answers
Option A is wrong because passively reading source code without providing feedback does not contribute to the project and does not help the student engage with the community or improve the code. Option B is wrong because starting a proprietary distribution for profit contradicts the core principles of open source licensing and is not a realistic or effective way to begin contributing to existing Linux projects. Option D is wrong because rewriting the entire Linux kernel from scratch is an enormous, impractical undertaking that ignores the collaborative nature of kernel development and is not a sensible starting activity.