How to Handle Free Resources That Require Email Signup in free-programming-books

Resources that require an email address are accepted in the free-programming-books repository only when contributors append a parenthetical note specifying whether the email is requested or required.

The EbookFoundation/free-programming-books repository maintains strict guidelines to ensure transparency about access requirements. When curating educational materials, contributors must clearly identify resources that gate content behind email signup or account creation. Understanding how to properly handle free resources that require email signup ensures your submissions meet the repository's quality standards and help users make informed decisions.

Contribution Guidelines for Email-Required Resources

The definitive policy resides in docs/CONTRIBUTING.md, which mandates explicit disclosure of any email or account requirements. According to the source code documentation, links to pages requiring an email address are permitted only if accompanied by a standardized parenthetical note.

The guidelines recognize two distinct categories:

  • Email requested – Optional signup where the resource remains accessible without providing an email
  • Email required – Mandatory signup or account creation necessary to access content

This distinction allows readers to quickly assess whether they can access materials immediately or must complete a registration step first.

How to Format Entries with Signup Requirements

When adding resources to lists such as more/problem-sets-competitive-programming.md or books/free-programming-books-subjects.md, follow the exact notation patterns established in the contribution guidelines.

Optional Email Requests

For resources where an email address is solicited but not mandatory, use the format *(email address *requested*, not required)*.

* [Data brokering with Node.js: Process data at the speed of technology](https://heynode.com) – Osio Labs Inc. *(email address *requested*, not required)*

This notation, as implemented in the repository's linter rules, signals to readers that they can bypass the signup prompt if desired.

Mandatory Email Requirements

When access depends entirely on providing an email or creating an account, indicate this restriction using *(email address *required*)* or similar explicit language.

* [GitHub Learning Lab – Communicating using Markdown](https://lab.github.com/githubtraining/communicating-using-markdown) – GitHub Learning Lab *(GitHub account or email address required)*

The free-programming-books-subjects.md file demonstrates this pattern extensively with Leanpub resources using the note *(Leanpub account or valid email requested)*.

Incorrect Formatting

Entries lacking the parenthetical note will be flagged during the contribution review process. For example, this entry would be rejected:

* [Some Free Resource](https://example.com) – Provider

The absence of signup requirement disclosure violates the transparency standards defined in docs/CONTRIBUTING.md.

Summary

  • Parenthetical notes are mandatory for any resource requiring email signup or account creation, as specified in docs/CONTRIBUTING.md.
  • Distinguish between requested and required email addresses using the exact phrasing: email address *requested*, not required versus email address *required*.
  • Apply consistent formatting across all localized versions of the repository, including French, Spanish, and Korean contribution guides.
  • Reference existing examples in more/problem-sets-competitive-programming.md and books/free-programming-books-subjects.md for proper syntax.

Frequently Asked Questions

Are resources that require email signup allowed in free-programming-books?

Yes, but only when the requirement is explicitly disclosed. The repository accepts email-gated resources provided contributors append the standardized parenthetical note describing the signup requirement. This policy balances access to valuable educational content with transparency about access barriers.

What is the exact format for noting email requirements?

Use parentheses immediately following the resource title and author, containing one of these phrases: *(email address *requested*, not required)* for optional signups, or *(email address *required*)* for mandatory registration. Variations like *(GitHub account or email address required)* are also acceptable when they clearly communicate the access prerequisite.

Where can I find examples of correctly formatted entries?

Examine more/problem-sets-competitive-programming.md for numerous instances of *(email address *requested*)* annotations, or review books/free-programming-books-subjects.md to see how Leanpub listings use *(Leanpub account or valid email requested)*. These files demonstrate the live implementation of the contribution guidelines.

Why does the repository require parenthetical notes for email signup?

The notation serves dual purposes: it enables readers to make informed decisions about which resources to pursue based on their privacy preferences, and it allows automated linting scripts to verify compliance with repository standards. This systematic approach maintains consistency across thousands of curated programming resources.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →