REST-API-Endpunkte für Lizenzen
Mit der REST-API kannst du beliebte Open-Source-Lizenzen und Informationen zur Lizenzdatei eines bestimmten Projekts abrufen.
Informationen zu Lizenzen
GitHub verwendet den Lizenznehmer Open Source Ruby Gem, um die Lizenz für ein Projekt zu ermitteln. Der Lizenznehmer gleicht den Inhalt der LICENSE
-Projektdatei (falls vorhanden) mit einer kurzen Liste bekannter Lizenzen ab. Die API berücksichtigt daher nicht die Lizenzen von Projektabhängigkeiten oder andere Mittel zum Dokumentieren der Lizenz eines Projekts, z. B. Verweise auf den Lizenznamen in der Dokumentation.
Wenn eine übereinstimmende Lizenz gefunden wird, entsprechen der zurückgegebene Lizenzschlüssel und Lizenzname der SPDX-Spezifikation.
Hinweis: Diese Endpunkte geben auch die Lizenzinformationen eines Repositorys zurück:
- Abrufen eines Repositorys
- Auflisten von Repositorys für einen Benutzer
- Auflisten von Organisationsrepositorys
- Auflisten von Forks
- Auflisten von Repositorys, die von einem Benutzer überwacht werden
- Auflisten von Teamrepositorys
GitHub ist vieles, aber keine Anwaltskanzlei. Daher bietet GitHub keine Rechtsberatung an. Die Verwendung der API oder die E-Mail-Kommunikation zu dieser stellt keine Rechtsberatung dar und führt nicht zu einer Mandatsbeziehung. Wenn du Fragen zu den zulässigen und unzulässigen Aktionen mit einer bestimmten Lizenz hast, solltest du deinen Rechtsberaterin konsultieren, bevor du fortfährst. Du solltest immer deinen Anwalt oder deine Anwältin konsultieren, bevor du Entscheidungen triffst, die rechtliche Auswirkungen haben oder sich auf deine Rechtsansprüche auswirken können.
GitHub hat diese Endpunkte erstellt, um Benutzer*innen über Open-Source-Lizenzen und die Projekte zu informieren, bei denen diese Lizenzen verwendet werden. Wir hoffen, dass wir dir damit helfen. Bedenke aber bitte, dass wir (bzw. die meisten von uns) keine Juristen sind und wie alle Menschen Fehler machen können. Aus diesem Grund stellt GitHub die API wie vorliegend bereit und übernimmt keine Gewährleistung im Hinblick auf alle auf oder über GitHub bereitgestellten Informationen und Lizenzen. Außerdem lehnt GitHub jegliche Haftung für Schäden ab, die sich aus der Nutzung der API ergeben.
Get all commonly used licenses
Lists the most commonly used licenses on GitHub. For more information, see "Licensing a repository ."
Differenzierte Zugriffstoken für "Get all commonly used licenses"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token erfordert keine Berechtigungen.
Dieser Endpunkt kann ohne Authentifizierung werden, wenn nur öffentliche Ressourcen angefordert werden.
Parameter für „Get all commonly used licenses“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
featured boolean |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Standard: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Standard: |
HTTP-Antwortstatuscodes für „Get all commonly used licenses“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
304 | Not modified |
Codebeispiele für „Get all commonly used licenses“
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/licenses
Response
Status: 200
[
{
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
{
"key": "lgpl-3.0",
"name": "GNU Lesser General Public License v3.0",
"spdx_id": "LGPL-3.0",
"url": "https://api.github.com/licenses/lgpl-3.0",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
{
"key": "mpl-2.0",
"name": "Mozilla Public License 2.0",
"spdx_id": "MPL-2.0",
"url": "https://api.github.com/licenses/mpl-2.0",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
{
"key": "agpl-3.0",
"name": "GNU Affero General Public License v3.0",
"spdx_id": "AGPL-3.0",
"url": "https://api.github.com/licenses/agpl-3.0",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
{
"key": "unlicense",
"name": "The Unlicense",
"spdx_id": "Unlicense",
"url": "https://api.github.com/licenses/unlicense",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
{
"key": "apache-2.0",
"name": "Apache License 2.0",
"spdx_id": "Apache-2.0",
"url": "https://api.github.com/licenses/apache-2.0",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
{
"key": "gpl-3.0",
"name": "GNU General Public License v3.0",
"spdx_id": "GPL-3.0",
"url": "https://api.github.com/licenses/gpl-3.0",
"node_id": "MDc6TGljZW5zZW1pdA=="
}
]
Get a license
Gets information about a specific license. For more information, see "Licensing a repository ."
Differenzierte Zugriffstoken für "Get a license"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token erfordert keine Berechtigungen.
Dieser Endpunkt kann ohne Authentifizierung werden, wenn nur öffentliche Ressourcen angefordert werden.
Parameter für „Get a license“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
license string Erforderlich |
HTTP-Antwortstatuscodes für „Get a license“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
304 | Not modified |
403 | Forbidden |
404 | Resource not found |
Codebeispiele für „Get a license“
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/licenses/LICENSE
Response
Status: 200
{
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZW1pdA==",
"html_url": "http://choosealicense.com/licenses/mit/",
"description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.",
"implementation": "Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.",
"permissions": [
"commercial-use",
"modifications",
"distribution",
"sublicense",
"private-use"
],
"conditions": [
"include-copyright"
],
"limitations": [
"no-liability"
],
"body": "\n\nThe MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
"featured": true
}
Get the license for a repository
This method returns the contents of the repository's license file, if one is detected.
This endpoint supports the following custom media types. For more information, see "Media types."
application/vnd.github.raw+json
: Returns the raw contents of the license.application/vnd.github.html+json
: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source Markup library.
Differenzierte Zugriffstoken für "Get the license for a repository"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Metadata" repository permissions (read)
Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.
Parameter für „Get the license for a repository“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
owner string ErforderlichThe account owner of the repository. The name is not case sensitive. |
repo string ErforderlichThe name of the repository without the |
Name, type, BESCHREIBUNG |
---|
ref string The Git reference for the results you want to list. The |
HTTP-Antwortstatuscodes für „Get the license for a repository“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
404 | Resource not found |
Codebeispiele für „Get the license for a repository“
Anforderungsbeispiel
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/license
Response
Status: 200
{
"name": "LICENSE",
"path": "LICENSE",
"sha": "401c59dcc4570b954dd6d345e76199e1f4e76266",
"size": 1077,
"url": "https://api.github.com/repos/benbalter/gman/contents/LICENSE?ref=master",
"html_url": "https://github.com/benbalter/gman/blob/master/LICENSE",
"git_url": "https://api.github.com/repos/benbalter/gman/git/blobs/401c59dcc4570b954dd6d345e76199e1f4e76266",
"download_url": "https://raw.githubusercontent.com/benbalter/gman/master/LICENSE?lab=true",
"type": "file",
"content": "VGhlIE1JVCBMaWNlbnNlIChNSVQpCgpDb3B5cmlnaHQgKGMpIDIwMTMgQmVu\nIEJhbHRlcgoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv\nZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgp0\naGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls\nZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgp0aGUgU29mdHdhcmUg\nd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh\ndGlvbiB0aGUgcmlnaHRzIHRvCnVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg\ncHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg\nY29waWVzIG9mCnRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z\nIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywK\nc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJv\ndmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj\nZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKY29waWVzIG9yIHN1YnN0YW50\naWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJ\nUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL\nSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ\nTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBG\nSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO\nR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUgpDT1BZ\nUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF\nUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKSU4gQU4gQUNUSU9OIE9G\nIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP\nVVQgT0YgT1IgSU4KQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU\nSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4K\n",
"encoding": "base64",
"_links": {
"self": "https://api.github.com/repos/benbalter/gman/contents/LICENSE?ref=master",
"git": "https://api.github.com/repos/benbalter/gman/git/blobs/401c59dcc4570b954dd6d345e76199e1f4e76266",
"html": "https://github.com/benbalter/gman/blob/master/LICENSE"
},
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZW1pdA=="
}
}