やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubAPIライセンスで有効なキー名を推測してみる

あてずっぽう。もっとスマートな方法はないものか。

GitHub.Licenses.sqlite3

sqlite> select Id,Key,Name from Licenses order by Id asc;
0|other|Other
1|gpl-3.0|GNU General Public License v3.0
2|lgpl-3.0|GNU Lesser General Public License v3.0
3|mpl-2.0|Mozilla Public License 2.0
4|lgpl-2.1|GNU Lesser General Public License v2.1
5|unlicense|The Unlicense
6|bsd-3-clause|BSD 3-clause "New" or "Revised" License
7|mit|MIT License
8|bsd-2-clause|BSD 2-clause "Simplified" License
9|epl-1.0|Eclipse Public License 1.0
10|agpl-3.0|GNU Affero General Public License v3.0
11|apache-2.0|Apache License 2.0
12|gpl-2.0|GNU General Public License v2.0
14|isc|ISC License
15|cc0-1.0|Creative Commons Zero v1.0 Universal

今確認できているGitHubライセンスのキー。

GNUライセンスIDとの紐付け

Id Key Name GNU.HeaderId
0 other Other -
1 gpl-3.0 GNU General Public License v3.0 #GNUGPL,#GNUGPLv3
2 lgpl-3.0 GNU Lesser General Public License v3.0 #LGPL,#LGPLv3
3 mpl-2.0 Mozilla Public License 2.0 #MPL-2.0
4 lgpl-2.1 GNU Lesser General Public License v2.1 #LGPLv2.1
5 unlicense The Unlicense #Unlicense
6 bsd-3-clause BSD 3-clause “New” or “Revised” License #ModifiedBSD
7 mit MIT License #Expat
8 bsd-2-clause BSD 2-clause “Simplified” License #FreeBSD
9 epl-1.0 Eclipse Public License 1.0 #EPL
10 agpl-3.0 GNU Affero General Public License v3.0 #AGPL,#AGPLv3.0
11 apache-2.0 Apache License 2.0 #apache2
12 gpl-2.0 GNU General Public License v2.0 #GPLv2
14 isc ISC License #ISC
15 cc0-1.0 Creative Commons Zero v1.0 Universal #CC0

GNU.Licenses.sqlite3

sqlite> select Licenses.Id,Licenses.HeaderId,Multilingual.Name from Licenses left join Multilingual on Licenses.Id=Multilingual.LicenseId where Multilingual.LanguageCode='en' order by Licenses.Id;
1|#GNUGPL,#GNUGPLv3|GNU General Public License (GPL) version 3
2|#GPLv2|GNU General Public License (GPL) version 2
3|#LGPL,#LGPLv3|GNU Lesser General Public License (LGPL) version 3
4|#LGPLv2.1|GNU Lesser General Public License (LGPL) version 2.1
5|#AGPL,#AGPLv3.0|GNU Affero General Public License (AGPL) version 3
6|#GNUAllPermissive|GNU All-Permissive License
7|#apache2|Apache License, Version 2.0
8|#ArtisticLicense2|Artistic License 2.0
9||Clarified Artistic License
10|#BerkeleyDB|Berkeley Database License
11|#boost|Boost Software License
12|#ModifiedBSD|Modified BSD license
13|#CC0|CC0
14|#CeCILL|CeCILL version 2
15|#clearbsd|The Clear BSD License
16|#CryptixGeneralLicense|Cryptix General License
17|#eCos2.0|eCos license version 2.0
18|#ECL2.0|Educational Community License 2.0
19|#Eiffel|Eiffel Forum License, version 2
20|#EUDataGrid|EU DataGrid Software License
21|#Expat|Expat License
22|#FreeBSD|FreeBSD license
23|#freetype|Freetype Project License
24|#HPND|Historical Permission Notice and Disclaimer
25|#iMatix|License of the iMatix Standard Function Library
26|#imlib|License of imlib2
27|#ijg|Independent JPEG Group License
28|#informal|Informal license
29|#intel|Intel Open Source License
30|#ISC|ISC License
31|#MPL-2.0|Mozilla Public       License (MPL) version 2.0
32|#NCSA|NCSA/University of Illinois Open Source License
33|#NetscapeJavaScript|#NetscapeJavaScript
34|#newOpenLDAP|OpenLDAP License, Version 2.7
35|#PerlLicense|License of Perl 5 and below
36|#PublicDomain|Public Domain
37|#Python|License of Python 2.0.1, 2.1.1, and newer versions
38|#Python1.6a2|License of Python 1.6a2 and earlier versions
39|#Ruby|License of Ruby
40|#SGIFreeB|SGI Free Software License B, version 2.0
41|#StandardMLofNJ|Standard ML of New Jersey Copyright License
42|#Unicode|Unicode, Inc. License Agreement for Data Files and Software
43|#UPL|Universal Permissive License (UPL)
44|#Unlicense|The Unlicense
45|#Vim|License of Vim, Version 6.1 or later
46|#W3C|W3C Software Notice and License
47|#WebM|License of WebM
48|#WTFPL|WTFPL, Version 2
49|#Wx|#Wx
50|#X11License|X11 License
51|#XFree861.1License|XFree86 1.1 License
52|#ZLib|License of ZLib
53|#Zope2.0|Zope Public License, versions 2.0 and 2.1
54|#AGPLv1.0|Affero General Public License version 1
55|#AcademicFreeLicense|Academic Free License, all versions through 3.0
56|#apache1.1|Apache License, Version 1.1
57|#apache1|Apache License, Version 1.0
58|#apsl2|Apple Public Source License (APSL), version 2
59|#bittorrent|BitTorrent Open Source License
60|#OriginalBSD|Original BSD license
61|#CDDL|Common Development and Distribution License (CDDL), version 1.0
62|#CPAL|Common Public Attribution License 1.0 (CPAL)
63|#CommonPublicLicense10|Common Public License Version 1.0
64|#Condor|Condor Public License
65|#EPL|Eclipse Public License Version 1.0
66|#EUPL|European Union Public License (EUPL) version 1.1
67|#gnuplot|Gnuplot license
68|#IBMPL|IBM Public License, Version 1.0
69|#josl|Jabber Open Source License, Version 1.0
70|#LPPL-1.3a|LaTeX Project Public License 1.3a
71|#LPPL-1.2|LaTeX Project Public License 1.2
72|#lucent102|Lucent Public License Version 1.02 (Plan 9 license)
73|#ms-pl|Microsoft Public License (Ms-PL)
74|#ms-rl|Microsoft Reciprocal License (Ms-RL)
75|#MPL|Mozilla Public License (MPL) version 1.1
76|#NOSL|Netizen Open Source License (NOSL), Version 1.0
77|#NPL|Netscape Public License (NPL)
78|#Nokia|Nokia Open Source License
79|#oldOpenLDAP|Old OpenLDAP License, Version 2.3
80|#OSL|Open Software License, all versions through 3.0
81|#OpenSSL|OpenSSL license
82|#Phorum|Phorum License, Version 2.0
83|#PHP-3.01|PHP License, Version 3.01
84|#PythonOld|License of Python 1.6b1 through 2.0 and 2.1
85|#QPL|Q Public License (QPL), Version 1.0
86|#RPSL|RealNetworks Public Source License (RPSL), Version 1.0
87|#SISSL|Sun Industry Standards Source License 1.0
88|#SPL|Sun Public License
89|#xinetd|License of xinetd
90|#Yahoo|Yahoo! Public License 1.1
91|#Zend|Zend License, Version 2.0
92|#Zimbra|Zimbra Public License 1.3
93|#Zope|Zope Public License version 1
94|#NoLicense|No license
95|#Aladdin|Aladdin Free Public License
96|#apsl1|Apple Public Source License (APSL), version 1.x
97|#ArtisticLicense|Artistic License 1.0
98|#ATTPublicLicense|AT&T Public License
99|#cpol|Code Project Open License, version 1.02
100|#eCos11|eCos Public License, version 1.1
101|#DOR|CNRI Digital Object Repository License Agreement
102|#GPL-PA|GPL for Computer Programs of the Public Administration
103|#HESSLA|Hacktivismo Enhanced-Source Software License Agreement
104|#Jahia|Jahia Community Source License
105|#JSON|The JSON License
106|#ksh93|Old license of ksh93
107|#Lha|License of Lha
108|#Ms-SS|Microsoft's Shared Source CLI, C#, and Jscript License
109|#NASA|NASA Open Source Agreement
110|#OculusRiftSDK|Oculus Rift SDK License
111|#OpenPublicL|Open Public License
112|#PPL|Peer-Production License
113|#PINE|License of PINE
114|#Plan9|Old Plan 9 license
115|#RPL|Reciprocal Public License
116|#Scilab|Scilab license
117|#Scratch|Scratch 1.4 license
118|#SML|Simple Machines License
119|#Squeak|Old Squeak license
120|#SunCommunitySourceLicense|Sun Community Source License
121|#SunSolarisSourceCode|Sun Solaris Source Code (Foundation Release) License, Version 1.1
122|#Watcom|Sybase Open Watcom Public License version 1.0
123|#SystemC-3.0|SystemC “Open Source” License, Version 3.0
124|#Truecrypt-3.0|Truecrypt license 3.0
125|#UtahPublicLicense|University of Utah Public License
126|#YaST|YaST License
127|#FDL|GNU Free Documentation License
128|#FreeBSDDL|FreeBSD Documentation License
129|#OpenContentL|Open Content License, Version 1.0
130|#CC-BY-NC|Creative Commons Nocommercial, any version
131|#CC-BY-ND|Creative Commons Noderivatives, any version
132|#GPLOther|GNU General Public License
133|#FDLOther|GNU Free Documentation License
134|#ccby|Creative Commons Attribution 4.0 license
135|#ccbysa|Creative Commons Attribution-Sharealike 4.0 license
136|#dsl|Design Science License (DSL)
137|#FreeArt|Free Art License
138|#ODbl|Open Database license
139|#GPLFonts|GNU General Public License
140|#Arphic|Arphic Public License
141|#ecfonts|License       of the ec fonts for LaTeX
142|#IPAFONT|IPA    Font License
143|#SILOFL|SIL Open Font License 1.1
144|#GNUVerbatim|GNU Verbatim Copying License
145|#ccbynd|Creative Commons Attribution-NoDerivs 4.0 license    (a.k.a. CC BY-ND)

GitHubキーとの紐付け

https://github.com/search?utf8=%E2%9C%93&q=CC0+filename%3ALICENSE

GitHubで既存のリポジトリから探してみる作戦。けど途中で力尽きた。手動では無理。

Id GNU.HeaderId Name GitHub.Key GitHub.Search
1 #GNUGPL,#GNUGPLv3 GNU General Public License (GPL) version 3 gpl-3.0
2 #GPLv2 GNU General Public License (GPL) version 2 gpl-2.0
3 #LGPL,#LGPLv3 GNU Lesser General Public License (LGPL) version 3 lgpl-3.0
4 #LGPLv2.1 GNU Lesser General Public License (LGPL) version 2.1 lgpl-2.1
5 #AGPL,#AGPLv3.0 GNU Affero General Public License (AGPL) version 3 agpl-3.0
6 #GNUAllPermissive GNU All-Permissive License https://github.com/search?utf8=%E2%9C%93&q=GNU-All-Permissive++filename%3ALICENSE&type=Code&ref=searchresults
7 #apache2 Apache License, Version 2.0 apache-2.0
8 #ArtisticLicense2 Artistic License 2.0 artistic-1.0、Artistic-2.0、https://github.com/search?p=3&q=Artistic++filename%3ALICENSE&ref=searchresults&type=Code&utf8=%E2%9C%93
9 Clarified Artistic License artistic-clarified
10 #BerkeleyDB Berkeley Database License -
11 #boost Boost Software License Boost-1.0
12 #ModifiedBSD Modified BSD license bsd-3-clause
13 #CC0 CC0 cc0-1.0
14 #CeCILL CeCILL version 2 CECILL-B,CECILL-C,CECILL-1.0,CECILL-1.1,CECILL-2.0
15 #clearbsd The Clear BSD License clear-bsd
16 #CryptixGeneralLicense Cryptix General License
17 #eCos2.0 eCos license version 2.0
18 #ECL2.0 Educational Community License 2.0
19 #Eiffel Eiffel Forum License, version 2
20 #EUDataGrid EU DataGrid Software License
21 #Expat Expat License mit
22 #FreeBSD FreeBSD license bsd-2-clause
23 #freetype Freetype Project License
24 #HPND Historical Permission Notice and Disclaimer
25 #iMatix License of the iMatix Standard Function Library
26 #imlib License of imlib2
27 #ijg Independent JPEG Group License
28 #informal Informal license
29 #intel Intel Open Source License
30 #ISC ISC License isc
31 #MPL-2.0 Mozilla Public License (MPL) version 2.0 mpl-2.0
32 #NCSA NCSA/University of Illinois Open Source License
33 #NetscapeJavaScript #NetscapeJavaScript
34 #newOpenLDAP OpenLDAP License, Version 2.7
35 #PerlLicense License of Perl 5 and below
36 #PublicDomain Public Domain
37 #Python License of Python 2.0.1, 2.1.1, and newer versions
38 #Python1.6a2 License of Python 1.6a2 and earlier versions
39 #Ruby License of Ruby
40 #SGIFreeB SGI Free Software License B, version 2.0
41 #StandardMLofNJ Standard ML of New Jersey Copyright License
42 #Unicode Unicode, Inc. License Agreement for Data Files and Software
43 #UPL Universal Permissive License (UPL)
44 #Unlicense The Unlicense
45 #Vim License of Vim, Version 6.1 or later
46 #W3C W3C Software Notice and License
47 #WebM License of WebM
48 #WTFPL WTFPL, Version 2
49 #Wx #Wx
50 #X11License X11 License
51 #XFree861.1License XFree86 1.1 License
52 #ZLib License of ZLib
53 #Zope2.0 Zope Public License, versions 2.0 and 2.1
54 #AGPLv1.0 Affero General Public License version 1
55 #AcademicFreeLicense Academic Free License, all versions through 3.0
56 #apache1.1 Apache License, Version 1.1
57 #apache1 Apache License, Version 1.0
58 #apsl2 Apple Public Source License (APSL), version 2
59 #bittorrent BitTorrent Open Source License
60 #OriginalBSD Original BSD license
61 #CDDL Common Development and Distribution License (CDDL), version 1.0
62 #CPAL Common Public Attribution License 1.0 (CPAL)
63 #CommonPublicLicense10 Common Public License Version 1.0
64 #Condor Condor Public License
65 #EPL Eclipse Public License Version 1.0
66 #EUPL European Union Public License (EUPL) version 1.1
67 #gnuplot Gnuplot license
68 #IBMPL IBM Public License, Version 1.0
69 #josl Jabber Open Source License, Version 1.0
70 #LPPL-1.3a LaTeX Project Public License 1.3a
71 #LPPL-1.2 LaTeX Project Public License 1.2
72 #lucent102 Lucent Public License Version 1.02 (Plan 9 license)
73 #ms-pl Microsoft Public License (Ms-PL)
74 #ms-rl Microsoft Reciprocal License (Ms-RL)
75 #MPL Mozilla Public License (MPL) version 1.1
76 #NOSL Netizen Open Source License (NOSL), Version 1.0
77 #NPL Netscape Public License (NPL)
78 #Nokia Nokia Open Source License
79 #oldOpenLDAP Old OpenLDAP License, Version 2.3
80 #OSL Open Software License, all versions through 3.0
81 #OpenSSL OpenSSL license
82 #Phorum Phorum License, Version 2.0
83 #PHP-3.01 PHP License, Version 3.01
84 #PythonOld License of Python 1.6b1 through 2.0 and 2.1
85 #QPL Q Public License (QPL), Version 1.0
86 #RPSL RealNetworks Public Source License (RPSL), Version 1.0
87 #SISSL Sun Industry Standards Source License 1.0
88 #SPL Sun Public License
89 #xinetd License of xinetd
90 #Yahoo Yahoo! Public License 1.1
91 #Zend Zend License, Version 2.0
92 #Zimbra Zimbra Public License 1.3
93 #Zope Zope Public License version 1
94 #NoLicense No license
95 #Aladdin Aladdin Free Public License
96 #apsl1 Apple Public Source License (APSL), version 1.x
97 #ArtisticLicense Artistic License 1.0
98 #ATTPublicLicense AT&T Public License
99 #cpol Code Project Open License, version 1.02
100 #eCos11 eCos Public License, version 1.1
101 #DOR CNRI Digital Object Repository License Agreement
102 #GPL-PA GPL for Computer Programs of the Public Administration
103 #HESSLA Hacktivismo Enhanced-Source Software License Agreement
104 #Jahia Jahia Community Source License
105 #JSON The JSON License
106 #ksh93 Old license of ksh93
107 #Lha License of Lha
108 #Ms-SS Microsoft’s Shared Source CLI, C#, and Jscript License
109 #NASA NASA Open Source Agreement
110 #OculusRiftSDK Oculus Rift SDK License
111 #OpenPublicL Open Public License
112 #PPL Peer-Production License
113 #PINE License of PINE
114 #Plan9 Old Plan 9 license
115 #RPL Reciprocal Public License
116 #Scilab Scilab license
117 #Scratch Scratch 1.4 license
118 #SML Simple Machines License
119 #Squeak Old Squeak license
120 #SunCommunitySourceLicense Sun Community Source License
121 #SunSolarisSourceCode Sun Solaris Source Code (Foundation Release) License, Version 1.1
122 #Watcom Sybase Open Watcom Public License version 1.0
123 #SystemC-3.0 SystemC “Open Source” License, Version 3.0
124 #Truecrypt-3.0 Truecrypt license 3.0
125 #UtahPublicLicense University of Utah Public License
126 #YaST YaST License
127 #FDL GNU Free Documentation License
128 #FreeBSDDL FreeBSD Documentation License
129 #OpenContentL Open Content License, Version 1.0
130 #CC-BY-NC Creative Commons Nocommercial, any version
131 #CC-BY-ND Creative Commons Noderivatives, any version
132 #GPLOther GNU General Public License
133 #FDLOther GNU Free Documentation License
134 #ccby Creative Commons Attribution 4.0 license
135 #ccbysa Creative Commons Attribution-Sharealike 4.0 license
136 #dsl Design Science License (DSL)
137 #FreeArt Free Art License
138 #ODbl Open Database license
139 #GPLFonts GNU General Public License
140 #Arphic Arphic Public License
141 #ecfonts License of the ec fonts for LaTeX
142 #IPAFONT IPA Font License
143 #SILOFL SIL Open Font License 1.1
144 #GNUVerbatim GNU Verbatim Copying License
145 #ccbynd Creative Commons Attribution-NoDerivs 4.0 license (a.k.a. CC BY-ND)

テンプレート

https://github.com/github/choosealicense.com/tree/gh-pages/_licenses

上記ファイルから以下がキーと推測。これがAPIで有効なキーなのか不明だし、全部なのかも不明。

afl-3.0
agpl-3.0
apache-2.0
artistic-2.0
bsd-2-clause
bsd-3-clause-clear
bsd-3-clause
bsl-1.0
cc-by-4.0
cc-by-sa-4.0
cc0-1.0
epl-1.0
eupl-1.1
gpl-2.0
gpl-3.0
isc
lgpl-2.1
lgpl-3.0
lppl-1.3c
mit
mpl-2.0
ms-pl
ms-rl
ofl-1.1
osl-3.0
unlicense
wtfpl
zlib

所感

不毛。今ある主要ライセンスだけで足りるからいいか。