Reading README Files: Open Source Project Documentation
5 exercises — reading installation sections, API reference tables, badge meanings, licence sections, and dependency version constraints in README files.
0 / 5 completed
1 / 5
A README installation section states: 'Requires Node.js >= 18.0.0. Install with: npm install my-library.' You are running Node.js 16.14.0. What should you do before installing?
Reading installation requirements: the >= operator in semver means 'greater than or equal to'. Node.js 16.14.0 is below 18.0.0, so the library will likely fail or behave unexpectedly. You must upgrade Node.js first. Always check the engine/version requirements before running install commands.
2 / 5
A README API reference table shows:
Parameter | Type | Required | Description apiKey — string — Yes — Your API key timeout — number — No — Request timeout in ms (default: 5000) retries — number — No — Retry count (default: 3)
Which parameters MUST be provided when calling the API?
Reading API parameter tables: 'Required: Yes' means there is no default — you must provide the value or the call will fail. 'Required: No' with a default means the parameter is optional. Here only apiKey is required; the others have defaults and can be omitted.
3 / 5
A README header displays three badges: build: passing, coverage: 87%, licence: MIT. What do these badges tell you about the project?
README badge meanings: each badge reports a specific metric. 'build: passing' = the CI pipeline currently passes. 'coverage: 87%' = 87% of code lines are covered by tests (not features). 'licence: MIT' = you can use, modify, and distribute freely. Badges do not make claims about production-readiness or documentation completeness.
4 / 5
A library's README states it is licensed under the GNU GPL v3. Your company wants to use this library in a proprietary (closed-source) product. What does the GPL v3 require?
Copyleft licences: the GPL v3 is a strong copyleft licence. If you distribute software that incorporates GPL v3 code, you must release your own source code under GPL v3 as well. This is often called the 'viral' property. Many companies avoid GPL libraries in proprietary products for this reason.
5 / 5
A README lists a peer dependency: "react": "^18.0.0". Which versions of React does this accept?
npm semver caret operator: ^18.0.0 means 'compatible with 18.0.0' — it allows patch and minor updates within the same major version. So it accepts 18.0.0, 18.1.0, 18.2.3, etc., but NOT 19.0.0. This is the most common version specifier in package.json files.