{"id":13296653,"url":"https://github.com/creativecommons/cc-legal-tools-app","last_synced_at":"2025-10-07T05:10:33.089Z","repository":{"id":39969375,"uuid":"269169080","full_name":"creativecommons/cc-legal-tools-app","owner":"creativecommons","description":"Legal tool (licenses, public domain dedication, etc.) management application for Creative Commons","archived":false,"fork":false,"pushed_at":"2025-06-25T19:16:50.000Z","size":19096,"stargazers_count":128,"open_issues_count":27,"forks_count":119,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-06-25T20:25:53.342Z","etag":null,"topics":["creative-commons","django","licenses"],"latest_commit_sha":null,"homepage":"https://creativecommons.org/licenses/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/creativecommons.png","metadata":{"funding":{"github":["creativecommons"],"custom":["https://creativecommons.org/donate"]},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-03T18:51:38.000Z","updated_at":"2025-06-25T19:16:53.000Z","dependencies_parsed_at":"2023-09-21T19:03:04.746Z","dependency_job_id":"df3d6d19-2bd4-4aae-9f9d-8321e4ffb1c0","html_url":"https://github.com/creativecommons/cc-legal-tools-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/creativecommons/cc-legal-tools-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativecommons%2Fcc-legal-tools-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativecommons%2Fcc-legal-tools-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativecommons%2Fcc-legal-tools-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativecommons%2Fcc-legal-tools-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/creativecommons","download_url":"https://codeload.github.com/creativecommons/cc-legal-tools-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/creativecommons%2Fcc-legal-tools-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278722757,"owners_count":26034463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["creative-commons","django","licenses"],"created_at":"2024-07-29T17:20:54.013Z","updated_at":"2025-10-07T05:10:33.076Z","avatar_url":"https://github.com/creativecommons.png","language":"Python","funding_links":["https://github.com/sponsors/creativecommons","https://creativecommons.org/donate"],"categories":[],"sub_categories":[],"readme":"# cc-legal-tools-app\n\n**Creative Commons (CC) Legal Tools Application.** This repository contains the\napplication that manages the license tools and public domain tools (static\nHTML, internationalization and localization files, etc.). It consumes and\ngenerates data in the [creativecommons/cc-legal-tools-data][repodata]\nrepository.\n\n[repodata]:https://github.com/creativecommons/cc-legal-tools-data\n\n## Code of Conduct\n\n[`CODE_OF_CONDUCT.md`][org-coc]:\n\u003e The Creative Commons team is committed to fostering a welcoming community.\n\u003e This project and all other Creative Commons open source projects are governed\n\u003e by our [Code of Conduct][code_of_conduct]. Please report unacceptable\n\u003e behavior to [conduct@creativecommons.org](mailto:conduct@creativecommons.org)\n\u003e per our [reporting guidelines][reporting_guide].\n\n[org-coc]: https://github.com/creativecommons/.github/blob/main/CODE_OF_CONDUCT.md\n[code_of_conduct]: https://opensource.creativecommons.org/community/code-of-conduct/\n[reporting_guide]: https://opensource.creativecommons.org/community/code-of-conduct/enforcement/\n\n\n## About\n\nThis application manages 639 legal tools (636 licenses and 3 public domain\ntools). The current version of the licenses is 4.0 and includes 6 licenses.\nThey are international and are designed to operate globally, ensuring they are\nrobust, enforceable and easily adopted worldwide. Prior versions were adapted\nto specific jurisdictions (\"ported\"). That is why there are 636 licenses.\n\nBroadly speaking, each legal tool consists of three layers:\n1. `deed`: a plain language summary of the legal tool\n2. `legalcode`: the legal tool itself\n3. `rdf`: metadata about the legal tool in RDF/XML format\n\nWith translations of the deed and translations of the legal code, this\napplication manages over 30,000 documents.\n\n\n### Not the live site\n\nThis project is not intended to serve the legal tools directly. Instead, a\ncommand line tool can be used to save all the rendered HTML and RDF/XML pages\nas files. Then those files are used as part of the CreativeCommons.org\nsite (served as static files).\n\n\n## Setup and Usage\n\nOnce this project's required dependencies (Docker, Git, etc.) are enabled on\nyour system, you will be able to run the legal-tools application and generate\nstatic files.\n\nFor information on learning and installing the prerequisite technologies for\nthis project, please see [Foundational technologies — Creative Commons Open\nSource][found-tech].\n\n[found-tech]: https://opensource.creativecommons.org/contributing-code/foundational-tech/\n\n\n### Codebases Setup\n\nBoth this repository and the [creativecommons/cc-legal-tools-data][repodata]\nproject repository should be cloned side by side, resulting in a structure like\nthe following:\n```\ncreative-commons/\n├── cc-legal-tools-app/     (git clone of this repository)\n└── cc-legal-tools-data/    (git clone of the cc-legal-tools-data repository)\n```\n\nTo achieve this, we recommend the following procedure:\n\n1. Create and change to a container directory, such as `creative-commons` or `cc`.\n    ```shell\n    mkdir creative-commons\n    cd creative-commons\n    ```\n2. Clone both repos using SSH or, if that does not work, HTTPS protocol.\n    ```shell\n    git clone git@github.com:creativecommons/cc-legal-tools-app.git\n    git clone git@github.com:creativecommons/cc-legal-tools-data.git\n    ```\n    or\n    ```shell\n    git clone https://github.com/creativecommons/cc-legal-tools-app.git\n    git clone https://github.com/creativecommons/cc-legal-tools-data.git\n    ```\n\nVisit [Cloning a repository - GitHub Docs][gitclone] for more on how to clone a\nGitHub repository.\n\n[gitclone]:https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository\n\n\n### Docker Prep and Initial Execution\n\nUse the following instructions to prepare and run the project with Docker\nCompose.\n\n1. Ensure all prerequisites and repositories are in place.\n2. Ensure you are at the top level of the directory where you cloned this\nrepository (where `manage.py` is).\n    ```shell\n    cd cc-legal-tools-app\n    ```\n3. Create Django local settings file from the example file.\n    ```shell\n    cp cc_legal_tools/settings/local.example.py cc_legal_tools/settings/local.py\n    ```\n    - Update variables in new file, if necessary.\n    - This file is ignored by Git.\n4. Build the containers.\n    ```shell\n    docker compose build\n    ```\n5. **Run the containers.**\n    ```shell\n    docker compose up\n    ```\n   1. **app** ([127.0.0.1:8005](http://127.0.0.1:8005/)): this Django\n      application\n      - Any changes made to Python will be detected and rebuilt\n        transparently as long as the development server is running.\n   2. **static** ([127.0.0.1:8006](http://127.0.0.1:8006/)): a static web\n      server serving [creativecommons/cc-legal-tools-data][repodata]:`docs/`\n6. Initialize data.\nOpen a separate terminal tab, and in the same directory, run:\n    ```shell\n    ./bin/init_data.sh\n    ```\n    1. Deletes database (which may not yet exist)\n    2. Initializes database\n    3. Performs database migrations\n    4. Creates supseruser (will prompt for password)\n    5. Loads data\n\nNote: Once this full setup is performed, running Step 5 above will execute the\napplication on any subsequent occasion.\n\n\n## Project Usage\n\nWith the prerequisites installed and built, these tools can be used to generate\nand manage data from the associated [data repository][repodata].\n\n\n### Data\n\nThe legal tools metadata is in a database. The metadata tracks which legal\ntools exist, their translations, their ports, and their characteristics like\nwhat they permit, require, and prohibit.\n\n~~The metadata can be downloaded by visiting the URL path:\n`127.0.0.1:8005`[`/licenses/metadata.yaml`][metadata]~~ (currently disabled)\n\n[metadata]: http://127.0.0.1:8005/licenses/metadata.yaml\n\nThere are two main models (Django terminology for tables) in\n[`legal_tools/models.py`](legal_tools/models.py):\n1. `LegalCode`\n2. `Tool`\n\nA Tool can be identified by a `unit` (ex. `by`, `by-nc-sa`, `devnations`) which\nis a proxy for the complete set of permissions, requirements, and prohibitions;\na `version` (ex. `4.0`, `3.0)`, and an optional `jurisdiction` for ports. So we\nmight refer to the tool by its **identifier** \"BY 3.0 AM\" which would be the\n3.0 version of the BY license terms as ported to the Armenia jurisdiction. For\nadditional information see: [**Legal Tools Namespace** -\ncreativecommons/cc-legal-tools-data: CC Legal Tools Data (static HTML, language\nfiles, etc.)][namespace].\n\nThere are three places legal code text could be:\n1. **Gettext files** (`.po` and `.mo`) in the\n   [creativecommons/cc-legal-tools-data][repodata] repository (legal tools with\n   full translation support):\n   - 4.0 Licenses\n   - CC0\n2. **Django template**\n   ([`legalcode_licenses_3.0_unported.html`][unportedtemplate]):\n   - Unported 3.0 Licenses (English-only)\n3. **`html` field** (in the `LegalCode` model):\n   - Everything else\n\nThe text that's in gettext files can be translated via Transifex at [Creative\nCommons localization][cctransifex]. For additional information on the Django\ntranslation domains / Transifex resources, see [How the license translation is\nimplemented](#how-the-tool-translation-is-implemented), below.\n\nDocumentation:\n- [Models | Django documentation | Django][djangomodels]\n- [Templates | Django documentation | Django][djangotemplates]\n\n[namespace]: https://github.com/creativecommons/cc-legal-tools-data#legal-tools-namespace\n[unportedtemplate]: templates/includes/legalcode_licenses_3.0_unported.html\n[cctransifex]: https://www.transifex.com/creativecommons/public/\n[djangomodels]: https://docs.djangoproject.com/en/4.2/topics/db/models/\n[djangotemplates]: https://docs.djangoproject.com/en/4.2/topics/templates/\n\n\n### Translation\n\nSee [`docs/translation.md`](docs/translation.md)\n\n\n### Generate Static Files\n\nGenerating static files updates the static files in the `docs/` directory of\nthe [creativecommons/cc-legal-tools-data][repodata] repository (the [Data\nRepository](#data-repository), above).\n\n\n#### Static Files Process\n\nThis process will write the HTML files in the cc-legal-tools-data clone\ndirectory under `docs/`. By default it doesn't commit any changes.\n\n1. Ensure the [Data Repository](#data-repository), above, is in place\n2. Ensure [Docker Compose Setup](#docker-compose-setup), above, is complete\n3. Run the helper script:\n    ```shell\n    ./bin/publish.sh\n    ```\n    - Example output:\n        ```\n        # Django publish                                                       19:36:20\n        INFO 17:36:21 Checking legal code titles\n        INFO 17:36:23 Purging output_dir: /home/cc/cc-legal-tools-data/docs\n        INFO 17:36:31 Collecting static files\n        66 static files copied to '/home/cc/cc-legal-tools-app/tmp/public/static', 158 unmodified.\n        INFO 17:36:31 Writing robots.txt\n        INFO 17:36:31 Copying WordPress content files\n        INFO 17:36:31 Copying static cc-legal-tools files\n        INFO 17:36:31 Copying static RDF/XML files\n        INFO 17:36:31 Distilling index.rdf\n        INFO 17:36:33 Distilling images.rdf\n        INFO 17:36:33 Distilling ns.html\n        INFO 17:36:33 Copying plaintext legal code\n        INFO 17:36:33 Distilling dev index\n        INFO 17:36:34 Distilling lists\n        INFO 17:36:36 Distilling Licenses 4.0 deed HTML, legal code HTML, and RDF/XML\n        INFO 17:36:41 Distilling Licenses 3.0 deed HTML, legal code HTML, and RDF/XML\n        INFO 17:37:23 Distilling Licenses 2.5 deed HTML, legal code HTML, and RDF/XML\n        INFO 17:37:50 Distilling Licenses 2.1 deed HTML, legal code HTML, and RDF/XML\n        INFO 17:37:54 Distilling Licenses 2.0 deed HTML, legal code HTML, and RDF/XML\n        INFO 17:38:14 Distilling Licenses 1.0 deed HTML, legal code HTML, and RDF/XML\n        INFO 17:38:20 Distilling Public Domain all deed HTML, legal code HTML, and RDF/XML\n        INFO 17:38:21 Writing Apache2 redirects configuration\n        ```\n       - (note that the laptop environment and docker environment had different\n         timezones, CEST and UTC)\n\n\n#### Publishing Changes to Git Repo\n\n~~When the site is deployed, to enable pushing and pulling the licenses data repo\nwith GitHub, create an SSH deploy key for the cc-legal-tools-data repo with\nwrite permissions, and put the private key file (not password protected)\nsomewhere safe (owned by `www-data` if on a server), and readable only by its\nowner (0o400). Then in settings, make `TRANSLATION_REPOSITORY_DEPLOY_KEY` be\nthe full path to that deploy key file.~~ (not active nor current)\n\n\n#### Publishing Dependency Documentation\n\n- [Beautiful Soup Documentation — Beautiful Soup 4 documentation][bs4docs]\n  - [lxml - Processing XML and HTML with Python][lxml]\n- [GitPython Documentation — GitPython documentation][gitpythondocs]\n\n[bs4docs]: https://www.crummy.com/software/BeautifulSoup/bs4/doc/\n[gitpythondocs]: https://gitpython.readthedocs.io/en/stable/index.html\n[lxml]: https://lxml.de/\n\n\n### Machine/metadata Layer: RDF/XML\n\nFor details and history, see [`docs/rdf.md`](docs/rdf.md).\n\n\n## Development\n\nInside the Docker container, the Python-based tooling centers around by pre-commit and Django.\n\nSee the [Code of Conduct](#code-of-conduct) above and the [Code of Conduct document][code_of_conduct] for more information on participant expectations and responsibilities.\n\n\n### Contributing\n\nSee [`CONTRIBUTING.md`][org-contrib].\n\n[org-contrib]: https://github.com/creativecommons/.github/blob/main/CONTRIBUTING.md\n\n\n### Manual Setup\n\n\u003e :warning: **This section may be helpful for maintaining the project, but\n\u003e should _NOT_ be used for development. Please use the Docker Compose Setup,\n\u003e above.**\n\n1. Complete Docker Compose Setup, above\n2. Development Environment\n   1. Install dependencies\n      - Linux:\n        ```shell\n        sudo apt-get install python3.11 python3.11-dev python3-pip\n        ```\n        ```shell\n        pip3 install pipenv\n        ```\n      - macOS: via [Homebrew](https://brew.sh/):\n        ```shell\n        brew install pipenv python@3.11\n        ```\n      - Windows: [install Python][python-windows] and then use `pip` to install\n        `pipenv`:\n        ```shell\n        pip install pipenv\n        ```\n   2. Install Python environment and modules via pipenv to create a\n      virtualenv\n      - Linux:\n        ```shell\n        pipenv install --dev --python /usr/bin/python3.11\n        ```\n      - macOS: via [Homebrew](https://brew.sh/):\n        ```shell\n        pipenv install --dev --python /usr/local/opt/python@3.11/libexec/bin/python\n        ```\n      - Windows:\n        ```shell\n        pipenv install --dev --python \\User\\Appdata\\programs\\python\n        ```\n   3. Install pre-commit hooks\n    ```shell\n    pipenv run pre-commit install\n    ```\n3. Run development server ([127.0.0.1:8005](http://127.0.0.1:8005/))\n    ```shell\n    pipenv run ./manage.py runserver\n    ```\n   - Any changes made to Python will be detected and rebuilt transparently as\n     long as the development server is running.\n\n[python-windows]:https://www.pythontutorial.net/getting-started/install-python/\n\n\n### Software Versions\n\nThese are the currently designated versions of the various dependencies:\n- [Python 3.11][python311] specified in:\n  - [`.github/workflows/django-app-coverage.yml`][django-app-coverage]\n  - [`.github/workflows/static-analysis.yml`][static-analysis]\n  - [`.pre-commit-config.yaml`](.pre-commit-config.yaml)\n  - [`Dockerfile`](Dockerfile)\n  - [`Pipfile`](Pipfile)\n  - [`pyproject.toml`](pyproject.toml)\n- [Django 4.2 (LTS)][django42]\n  - [`Pipfile`](Pipfile)\n\n[django-app-coverage]: .github/workflows/django-app-coverage.yml\n[static-analysis]: .github/workflows/static-analysis.yml\n[python311]: https://docs.python.org/3.11/\n[django42]: https://docs.djangoproject.com/en/4.2/\n\n\n### Developer Resources\n\nThese resources are available for developing this tooling:\n- **[Python Guidelines — Creative Commons Open Source][ccospyguide]**\n- [Black][black]: the uncompromising Python code formatter\n- [Coverage.py][coveragepy]: Code coverage measurement for Python\n- Docker\n  - [Dockerfile reference | Docker Documentation][dockerfile]\n  - [Compose file version 3 reference | Docker Documentation][compose3]\n- [flake8][flake8]: a python tool that glues together pep8, pyflakes, mccabe,\n  and third-party plugins to check the style and quality of some python code.\n- [isort][isort]: A Python utility / library to sort imports.\n- [pre-commit][precommit]: A framework for managing and maintaining\n  multi-language pre-commit hooks.\n\n[ccospyguide]: https://opensource.creativecommons.org/contributing-code/python-guidelines/\n[black]: https://github.com/psf/black\n[coveragepy]: https://github.com/nedbat/coveragepy\n[dockerfile]: https://docs.docker.com/engine/reference/builder/\n[compose3]: https://docs.docker.com/compose/compose-file/compose-file-v3/\n[flake8]: https://gitlab.com/pycqa/flake8\n[isort]: https://pycqa.github.io/isort/\n[precommit]: https://pre-commit.com/\n\n\n\u003e :information_source: The rest of the documentation assumes Docker. If you are\n\u003e using a manual setup, use `pipenv run` instead of `docker compose exec app`\n\u003e for the commands below.\n\n\n### Helper Scripts\n\nBest run before every commit:\n- `./bin/coverage.sh` - Run coverage tests and report\n- `./bin/tools.sh` - Run Python code tools (isort, black, flake8)\n\nRun as needed:\n- `./bin/copy_theme.sh` - Copy the portions of\n  [creativecommons/vocabulary-theme][vocab-theme] needed for local development\n  - Run after each new release of\n    [creativecommons/vocabulary-theme][vocab-theme]\n\nGenerate static files:\n- `./bin/publish.sh` - Run Django publish mangement command via Docker\n\nDjango manage via Docker:\n- `./bin/manage.py` - Run Django management commands via Docker\n  - Example:\n    ```shell\n    ./bin/manage.py -h\n    ```\n\nData management:\n- `./bin/dump_data.sh` - Dump Django application data\n- `./bin/init_data.sh` - :warning: Initialize Django application data\n- `./bin/load_data.sh` - Load Django application data\n\n\n\nEsoteric and dangerous:\n- `./bin/updatemessages.sh` - :warning: Run Django Management\n  `nofuzzy_makemessages` with helpful options (ex. excluding legalcode) and\n  `compilemessages`\n\n[vocab-theme]: https://github.com/creativecommons/vocabulary-theme\n\n\n### Coverage Tests and Report\n\nThe coverage tests and report are run as part of pre-commit and as a GitHub\nAction. To run it manually:\n1. Ensure the [Data Repository](#data-repository), above, is in place\n2. Ensure [Docker Compose Setup](#docker-compose-setup), above, is complete\n2. Coverage test\n    ```shell\n    docker compose exec app coverage run manage.py test --noinput --keepdb\n    ```\n3. Coverage report\n    ```shell\n    docker compose exec app coverage report\n    ```\n\n\n### Commit Errors\n\n\n#### Error Building Trees\n\nIf you encounter an `error: Error building trees` error from pre-commit when\nyou commit, try adding your files (`git add \u003cFILES\u003e`) before committing them.\n\n\n## Frontend Dependencies\n\nThe following CC projects are used to achieve a consistent look and feel:\n- [creativecommons/vocabulary-theme][vocabulary-theme]: WordPress Theme\n  implementation of the Vocabulary design system\n\n[vocabulary-theme]: https://github.com/creativecommons/vocabulary-theme\n\n\n## Licenses\n\n\n### Code\n\n[`LICENSE`](LICENSE): the code within this repository is licensed under the\nExpat/[MIT][mit] license.\n\n[mit]: http://www.opensource.org/licenses/MIT \"The MIT License | Open Source Initiative\"\n\n\n### Legal Code text\n\n[![CC0 1.0 Universal (CC0 1.0) Public Domain Dedication\nbutton][cc-zero-png]][cc-zero]\n\nThe text of the Creative Commons public licenses (legal code) is dedicated to\nthe public domain under the [CC0 1.0 Universal (CC0 1.0) Public Domain\nDedication][cc-zero].\n\n[cc-zero-png]: https://licensebuttons.net/l/zero/1.0/88x31.png \"CC0 1.0 Universal (CC0 1.0) Public Domain Dedication button\"\n[cc-zero]: https://creativecommons.org/publicdomain/zero/1.0/\n\n\n### Vocabulary Theme\n\n[![CC0 1.0 Universal (CC0 1.0) Public Domain Dedication\nbutton][cc-zero-png]][cc-zero]\n\n[`COPYING`](COPYING): All the code within Vocabulary is dedicated to\nthe public domain under the [CC0 1.0 Universal (CC0 1.0) Public Domain\nDedication][cc-zero].\n\n[cc-zero-png]: https://licensebuttons.net/l/zero/1.0/88x31.png \"CC0 1.0 Universal (CC0 1.0) Public Domain Dedication button\"\n[cc-zero]: https://creativecommons.org/publicdomain/zero/1.0/ \"Creative Commons — CC0 1.0 Universal\"\n\n\n#### Normalize.css\n\nnormalize.css is licensed under the Expat/[MIT][mit] License.\n\n[mit]: https://opensource.org/license/mit/\n\n\n#### Fonts\n\n\n##### Accidenz Commons\n\n[Accidenz Commons][accidenzcommons] by Archetypo is licensed under the [Creative\nCommons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\nLicense][ccbysa40].\n\n[accidenzcommons]: https://creativecommons.org/2019/10/28/accidenz-commons-open-licensed-font/\n[ccbysa40]: https://creativecommons.org/licenses/by-sa/4.0/\n\n\n##### JetBrains Mono\n\n[JetBrains Mono][jetbrainsmono] is licensed under the [OFL-1.1 License][ofl].\n\n[jetbrainsmono]: https://www.jetbrains.com/lp/mono/\n[ofl]: https://github.com/JetBrains/JetBrainsMono/blob/master/OFL.txt\n\n\n##### Roboto Condensed\n\n[Roboto Condensed][robotocondensed] by Christian Robertson is licensed under\nthe [Apache License, Version 2.0][apache20].\n\n[robotocondensed]: https://fonts.google.com/specimen/Roboto+Condensed\n[apache20]: http://www.apache.org/licenses/LICENSE-2.0\n\n\n##### Source Sans Pro\n\n[Source Sans Pro][sourcesanspro] by Paul D. Hunt is licensed under the [Open\nFont License][oflsil].\n\n[sourcesanspro]: https://fonts.adobe.com/fonts/source-sans\n[oflsil]: https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi\u0026id=OFL\n\n\n##### Vocabulary Icons\n\nVocabulary Icons use icons from [Font Awesome][fontawesome] which are licensed\nunder the [Creative Commons Attribution 4.0 International (CC BY 4.0)\nLicense][ccbysa40].\n\n[fontawesome]: https://fontawesome.com/\n[ccby40]: https://creativecommons.org/licenses/by/4.0/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreativecommons%2Fcc-legal-tools-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreativecommons%2Fcc-legal-tools-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreativecommons%2Fcc-legal-tools-app/lists"}