# NOTICE schema.jppgr.am is an unofficial third-party index of Telegram's Type Language (TL) schema. It is not affiliated with, endorsed by, sponsored by or operated by Telegram Messenger Inc. or any Telegram entity. "Telegram" and "MTProto" are used here solely to identify the protocol, schema and documentation being indexed. Trademarks remain the property of their respective owners. This file records where every shipped artifact comes from and on what basis it is redistributed. ## licenses - this project's own terms: https://schema.jppgr.am/api/license - GNU General Public License v3, for material originating in telegramdesktop/tdesktop, Ajaxy/telegram-tt and morethanwords/tweb: https://schema.jppgr.am/api/license?name=gpl-3.0 - Boost Software License 1.0, for material originating in tdlib/td: https://schema.jppgr.am/api/license?name=bsl-1.0 ## original to this project - the fetch, merge and conflict-detection pipeline (`packages/scripts`) - the per-layer pinned override ledger (`packages/scripts/src/sources/overrides.ts`) - the api, frontend and TL codec (`packages/api`, `packages/frontend`, `packages/shared`) - the layer index, diff, search and conflict structures derived from upstream schemas Combinator ids are not copied from any source. Each is the CRC32 of the normalized TL definition, computed here from the definition text, and is reproducible by anyone holding the same definition. ## upstream schema sources | source | origin | upstream license | layers contributed | |---|---|---|---| | tdesktop | https://github.com/telegramdesktop/tdesktop | GPL-3.0 with OpenSSL exception | 149 | | tdlib | https://github.com/tdlib/td (`td/generate/scheme/telegram_api.tl`) | BSL-1.0 | 134 | | danog | https://github.com/danog/schemas | none published | 118 | | corefork | https://corefork.telegram.org/schema | none published | 114 | | core | https://core.telegram.org/schema | none published | 105 | | weba | https://github.com/Ajaxy/telegram-tt (`src/lib/gramjs/tl/static/api.tl`) | GPL-3.0 | 70 | | webk | https://github.com/morethanwords/tweb (`src/scripts/in/schema.json`) | GPL-3.0 | 46 | | tgscheme | https://github.com/TGScheme/Schema | none published | 38 | 181 layers are shipped in total; most are corroborated by several sources. Each layer's text is taken whole from one upstream revision, recorded per layer in `data/meta.json`. tdlib is distributed under the Boost Software License 1.0. tdesktop is distributed under the GNU General Public License version 3 with an OpenSSL linking exception; telegram-tt and tweb are distributed under the GNU General Public License version 3. The copyright notices, license grants and warranty disclaimers of these projects are preserved by reference in this file; their full texts are retained at `licenses/BSL-1.0.txt` and `licenses/GPL-3.0.txt`, ship with every copy of this repository and of the data it serves, and are served alongside that data at the endpoints listed above. danog/schemas and TGScheme/Schema publish no license. They are themselves mirrors of Telegram-originated TL definitions and assert no rights in them; material taken from them is treated on the same basis as material taken from core and corefork. TL definitions are interface specifications. To the extent they attract copyright, the same definitions are published by Telegram Messenger Inc. under BSL-1.0 in tdlib and under GPL-3.0 in tdesktop, and are redistributed here under those grants with notices intact. ## Telegram-authored documentation text The following artifacts reproduce descriptive text written by Telegram Messenger Inc. and published on core.telegram.org and corefork.telegram.org. Copyright in that text is Telegram's; it is reproduced here to annotate the schema it documents, and every group carries a link back to the page it came from. | artifact | content | origin | |---|---|---| | `data/docs.json` | type, constructor, method and parameter descriptions | core.telegram.org, corefork.telegram.org | | `data/errors.json` | error names and their descriptions | core.telegram.org/api/errors, corefork | | `data/config.json` | constant groups, per-entry descriptions, push notification templates | core.telegram.org/api/config and linked pages | ## other artifacts | artifact | content | origin | |---|---|---| | `data/layers/*.tl`, `data/index.json` | TL definitions per layer | the eight schema sources above | | `data/mtproto/`, `data/mtproto-index.json` | MTProto transport schema | tdesktop (GPL-3.0), tdlib (BSL-1.0) | | `data/appconfig.json` | live `help.getAppConfig` values | Telegram servers, over MTProto | | `data/conflicts.json`, `data/meta.json`, `data/status.json` | merge provenance and pipeline state | generated by this project | `data/appconfig.json` holds factual configuration values served by Telegram to any client that requests them. Values derived from the fetching account are stripped before publishing. ## inquiries Rights holders who believe any material here falls outside the bases recorded above should contact the operator of schema.jppgr.am, identifying the specific artifact and field. Provenance for any individual definition is available at `/api/conflicts` and in `data/meta.json`.