Skip to content

Add licensed AI engineering study sources and an optional local sources list - #97

Open
lbildzinkas wants to merge 2 commits into
masterfrom
fm/ic-ai-sources
Open

lbildzinkas wants to merge 2 commits into
masterfrom
fm/ic-ai-sources

Conversation

@lbildzinkas

@lbildzinkas lbildzinkas commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

What changed

sources.yaml gains five AI engineering sources, so coach setup downloads them next to the System Design Primer and the Tech Interview Handbook. This material feeds the AI engineering interview track (#55).

The committed list holds only material whose licence allows sharing it. Sources without a licence are kept out of the public repository: coach setup now also reads an optional, git-ignored sources.local.yaml with the same schema, for personal study on one machine.

Each source is pinned to a commit, and only the English text it needs is listed: markdown pages, no images, translations or notebooks. A fresh download of the whole committed list is 154 files, about 2.1 MB.

Source Pinned commit Licence at that commit Files
alirezadir/Machine-Learning-Interviews 9ee3308 MIT 29: English guides under src/
mlabonne/llm-course 7abd96e Apache-2.0, no NOTICE file 2: README and LICENSE
huggingface/agents-course 3c469e7 Apache-2.0, no NOTICE file 45: units/en/ fundamentals, LangGraph, agentic RAG, GAIA, function calling, observability
microsoft/generative-ai-for-beginners d8ec07e MIT 23: English lesson READMEs 01-21
microsoft/ai-agents-for-beginners ff2ba66 MIT 21: English lesson READMEs 01-18 and study guide

Licences and credits

Every licence was re-checked at the pinned commit:

  • The three MIT LICENSE files are the standard MIT text with their own copyright lines (Alireza Dirafzoon, 2021; Microsoft Corporation for both Microsoft courses).
  • The two Apache-2.0 LICENSE files are the unmodified licence, they name no copyright holder, and neither repository has a NOTICE file.

THIRD_PARTY_NOTICES.md gives each source its own credit block: the project name and link, the authors or copyright holder as the licence or repository states them, the licence, exactly what is used, and that source's own licence notice text. The MIT blocks reproduce each LICENSE file verbatim. The Apache-2.0 blocks name the authors from the repository (the README for the LLM Course, the citation entry for the Agents Course) and carry the licence's recommended notice with a link to the full licence.

This is a reading of the licence files, not legal advice.

The optional local sources list

  • load_all_sources reads sources.yaml and, when it exists, sources.local.yaml, and validates them as one list so a local source cannot reuse a committed source's name or folder.
  • sources.local.yaml is in .gitignore.
  • README.md explains that personal sources go in that file, are marked local_only: true and are downloaded for personal study only.

Tests

  • The committed list validates, has the expected names, no translation folders, only units/en/ from the agents course, and no local-only or unlicensed source.
  • The local list is added when present, is skipped when absent, cannot reuse a committed name, and is git-ignored (git check-ignore).
  • coach setup downloads local sources and prints them as "(local only)".

How I checked it

  • A fresh uv run coach setup downloaded all 9 committed sources (154 files, 2.1 MB, no images or translation paths). A second run printed "already up to date" for each.
  • git status was clean after setup.
  • scripts/check.sh passes: ruff, pyright and 39 tests.

Closes #96

Eight sources, each pinned to a commit with its licence re-checked there:
MIT and Apache-2.0 material is credited in THIRD_PARTY_NOTICES.md, and the
three repositories with no licence are marked local only. Only English
text is fetched (about 3 MB), never images, translations or notebooks.

@lbildzinkas lbildzinkas left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like we are not crediting people properly, I wonder whether we can really use these sources in a public repo

…cal.yaml

The committed sources list now holds only the five AI engineering sources
whose licence allows sharing them, each credited in THIRD_PARTY_NOTICES.md
with its project, authors or copyright holder, what is used and its own
licence notice. Sources without a licence move out of the repository:
`coach setup` also reads an optional, git-ignored sources.local.yaml with
the same schema, for personal study on the owner's machine only.
@lbildzinkas lbildzinkas changed the title Add AI engineering study sources to the sources list Add licensed AI engineering study sources and an optional local sources list Oct 12, 2026
@lbildzinkas

Copy link
Copy Markdown
Owner Author

The public sources list now keeps only the five licensed sources, each with its own full credit block and licence notice in THIRD_PARTY_NOTICES.md, and the three unlicensed sources have been removed from the repository in favour of an optional git-ignored sources.local.yaml that coach setup reads for personal study.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AI engineering study sources in the sources list

1 participant