license.conf 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. LICENSE_EXPRESSION_IMPLICIT_OR=yes
  2. LICENSE_EXPRESSION_IMPLICIT_AND=yes
  3. LICENSE_EXPRESSION=
  4. LICENSE_NAMES=
  5. MODULE_LICENSES_RESTRICTIONS=
  6. MODULE_LICENSES_RESTRICTION_EXCEPTIONS=
  7. MODULE_LICENSES_RESTRICTION_TYPES=
  8. DEFAULT_MODULE_LICENSE=YandexUncategorized
  9. EXPLICIT_LICENSE_PREFIXES=
  10. # List of license properties which can be used to restrict transitive dependencies. There are three variables checked for each
  11. # property:
  12. # * LICENSES_<PROP_NAME>_STATIC: list of licenses which propagates this property when linking with code published by one of
  13. # them statically.
  14. # * LICENSES_<PROP_NAME>_DYNAMIC: list of licenses which propagates this property when linking with code published by one of
  15. # them dyamically.
  16. # * LICENSES_<PROP_NAME>: list of licenses which propagates this property regrdless of type of linking with code published by
  17. # one of them. Putting some license into this list is equivalent to putting it into both
  18. # LICENSES_<PROP_NAME>_STATIC and LICENSES_<PROP_NAME>_DYNAMIC lists.
  19. LICENSE_PROPERTIES= \
  20. FORBIDDEN NDA REQUIRE_DISCLOSURE PERMISSIVE REQUIRE_CITATION SERVICE
  21. LICENSES_UNATTRIBUTED= \
  22. AFL-2.0 \
  23. AML \
  24. APSL-1.0 \
  25. ASM-BSD-3-Clause \
  26. Amazon-SL \
  27. Artistic-1.0-Perl \
  28. BCL \
  29. BSD-3-Clause-Open-MPI \
  30. BSD-4-Clause-Shortened \
  31. BSLA \
  32. Bison-Exception \
  33. Bison-exception-2.2 \
  34. BouncyCastle-MIT \
  35. Brian-Gladman-3-Clause \
  36. Bsd-New-Tcpdump \
  37. Bsd-Original-Uc-1986 \
  38. CC-BY-1.0 \
  39. CC-BY-2.0 \
  40. CC-BY-2.5 \
  41. CC-BY-3.0 \
  42. CC-BY-4.0 \
  43. CC-BY-NC-1.0 \
  44. CC-BY-NC-2.0 \
  45. CC-BY-NC-2.5 \
  46. CC-BY-NC-3.0 \
  47. CC-BY-NC-ND-1.0 \
  48. CC-BY-NC-ND-2.0 \
  49. CC-BY-NC-ND-2.5 \
  50. CC-BY-NC-ND-3.0 \
  51. CC-BY-NC-SA-1.0 \
  52. CC-BY-NC-SA-2.0 \
  53. CC-BY-NC-SA-2.5 \
  54. CC-BY-NC-SA-3.0 \
  55. CC-BY-ND-1.0 \
  56. CC-BY-ND-2.0 \
  57. CC-BY-ND-2.5 \
  58. CC-BY-ND-3.0 \
  59. CC-BY-SA-1.0 \
  60. CC-BY-SA-2.0 \
  61. CC-BY-SA-2.5 \
  62. CC-BY-SA-3.0 \
  63. CC-BY-SA-4.0 \
  64. CDDL \
  65. CECILL-B \
  66. Carnegie-Mellon \
  67. Carnegie-Mellon-Contributors \
  68. DOC \
  69. DSO-1.1 \
  70. EDL-1.0 \
  71. Elastic-License-2.0 \
  72. FSFUL \
  73. FSFULLR \
  74. Fftpack-2004 \
  75. GCC-exception-3.1 \
  76. GDAL \
  77. GFDL-1.1-or-later \
  78. GPL-2.0 WITH Classpath-exception-2.0 \
  79. GPL-2.0 WITH FOSS-exception \
  80. GPL-2.0-only WITH Mysql-Linking-Exception-2018 \
  81. GPL-2.0-only WITH Universal-FOSS-exception-1.0 \
  82. GPL-2.0-or-later WITH Avisynth-C-Interface-Exception \
  83. GPL-2.0-or-later WITH Bison-Exception-2.0 \
  84. GPL-2.0-or-later WITH Bison-exception-2.2 \
  85. GPL-2.0-or-later WITH C-Interface-Exception \
  86. GPL-2.0-or-later WITH Libtool-exception \
  87. GPL-2.0-or-later WITH mif-exception \
  88. Go-License \
  89. Google-Patent-License-Webm \
  90. Google-Patent-License-Webrtc \
  91. HPND \
  92. HPND-sell-variant \
  93. HPND-sell-variant \
  94. HSQLDB-BSD-3-Clause \
  95. Hdf5 \
  96. IPL-1.0 \
  97. Ibm-Dhcp \
  98. Ietf-trust \
  99. ImageMagick \
  100. Info-Zip \
  101. Intel-Confidential \
  102. Intel-Material \
  103. JAMon-BSD-3-Clause \
  104. LGPL-3.0-or-later WITH ZeroMQ-Exception \
  105. LPL-1.02 \
  106. LicenseRef-scancode-bsd-new-nomod \
  107. LicenseRef-scancode-cc-by-2.0-uk \
  108. LicenseRef-scancode-cc-devnations-2.0 \
  109. LicenseRef-scancode-cc-sampling-1.0 \
  110. LicenseRef-scancode-free-unknown \
  111. LicenseRef-scancode-generic-cla \
  112. LicenseRef-scancode-generic-exception \
  113. LicenseRef-scancode-other-copyleft \
  114. LicenseRef-scancode-other-permissive \
  115. LicenseRef-scancode-pcre \
  116. LicenseRef-scancode-proprietary-license \
  117. LicenseRef-scancode-unknown \
  118. LicenseRef-scancode-unknown-license-reference \
  119. LicenseRef-scancode-warranty-disclaimer \
  120. MirOS \
  121. Mit-Xfig \
  122. Mozilla-GC \
  123. NAIST-2003 \
  124. Nvidia-Gov \
  125. Oracle \
  126. Oracle-technology \
  127. PSF-3.7.2 \
  128. Qhull \
  129. Quicklz \
  130. Ruby \
  131. SSPL-1.0 \
  132. SZIP \
  133. Sendmail \
  134. Softsurfer \
  135. Spencer-99 \
  136. Stlport-4.5 \
  137. TCL \
  138. TU-Berlin-1.0 \
  139. Unicode-TOU \
  140. Universal-FOSS-exception-1.0 \
  141. Unknown \
  142. Unlicense \
  143. Vcalendar \
  144. Vim \
  145. X11-Adobe-Dec \
  146. X11-Hanson \
  147. X11-XConsortium-Veillard \
  148. Xfree86-1.0 \
  149. Xnet \
  150. jQuery-MIT
  151. LICENSES_PATCHES_FORBIDDEN= \
  152. Unicode
  153. LICENSES_FORBIDDEN= \
  154. AGPL-3.0-only \
  155. AGPL-3.0-or-later \
  156. Artistic-1.0 \
  157. Musl-Exception \
  158. ${LICENSES_UNATTRIBUTED}
  159. # Group for proprietary code licenses
  160. LICENSES_NDA= \
  161. Intel-NDA \
  162. mimepp \
  163. OracleOebs \
  164. Sophos-SDK \
  165. YandexUncategorized \
  166. YandexNDA
  167. # These licenses allow use with opensource code only
  168. LICENSES_REQUIRE_DISCLOSURE= \
  169. CDDL-1.0 \
  170. CDDL-1.1 \
  171. CECILL-2.0 \
  172. CPL-1.0 \
  173. EPL-1.0 \
  174. EPL-2.0 \
  175. GPL \
  176. GPL-1.0-only \
  177. GPL-1.0-or-later \
  178. GPL-1.0-or-later WITH Linux-syscall-note \
  179. GPL-1.1 \
  180. GPL-2.0 \
  181. GPL-2.0-only \
  182. GPL-2.0-only WITH GCC-exception-2.0 \
  183. GPL-2.0-only WITH Linux-syscall-note \
  184. GPL-2.0-or-later \
  185. GPL-2.0-or-later WITH GCC-exception-2.0 \
  186. GPL-2.0-or-later WITH Linux-syscall-note \
  187. GPL-3.0-only \
  188. GPL-3.0-or-later \
  189. GPL-3.0-or-later WITH Bison-exception-2.2
  190. LICENSES_REQUIRE_DISCLOSURE_STATIC= \
  191. LGPL \
  192. LGPL-1.0-or-later \
  193. LGPL-2.0-only \
  194. LGPL-2.0-or-later \
  195. LGPL-2.0-or-later WITH Libtool-exception \
  196. LGPL-2.0-or-later WITH Linux-syscall-note \
  197. LGPL-2.1-only \
  198. LGPL-2.1-only WITH Linux-syscall-note \
  199. LGPL-2.1-or-later \
  200. LGPL-2.1-or-later WITH Linux-syscall-note \
  201. LGPL-3.0-only \
  202. LGPL-3.0-or-later
  203. # These licenses allows any kind of linkage with proprietary code
  204. LICENSES_PERMISSIVE= \
  205. 0BSD \
  206. Apache-1.0 \
  207. Apache-1.1 \
  208. Apache-2.0 \
  209. Apache-2.0 WITH LLVM-exception \
  210. APSL-2.0 \
  211. Beerware \
  212. blessing \
  213. BSL-1.0 \
  214. BSD \
  215. BSD-1-Clause \
  216. BSD-2-Clause \
  217. BSD-2-Clause-Patent \
  218. BSD-2-Clause-Views \
  219. BSD-3-Clause \
  220. BSD-4-Clause \
  221. BSD-4-Clause-UC \
  222. BSD-derived \
  223. BSD-ORIGINAL-UC-1986 \
  224. BSD-Source-Code \
  225. Bsd-Simplified-Darwin \
  226. Bsd-Unchanged \
  227. Bsd-Unmodified \
  228. bzip2-1.0.6 \
  229. CC0-1.0 \
  230. CC-PDDC \
  231. Cmu-Computing-Services \
  232. CUP-Parser \
  233. curl \
  234. Custom-Punycode \
  235. Facebook-SDK \
  236. FDK \
  237. FSFAP \
  238. FTL \
  239. H2 \
  240. IBM-pibs \
  241. ICU \
  242. Ietf \
  243. IJG \
  244. Intel-Simplified \
  245. ISC \
  246. JSON \
  247. Khronos \
  248. Libpbm \
  249. LicenseRef-scancode-bitstream \
  250. LicenseRef-scancode-ams-fonts \
  251. Linux-OpenIB \
  252. Libpng \
  253. libpng-2.0 \
  254. libtiff \
  255. Martin-Birgmeier \
  256. MIT \
  257. MIT-0 \
  258. MIT-CMU \
  259. MIT-Modern-Variant \
  260. MIT-Nagy \
  261. MIT-open-group \
  262. Mit-Old-Style \
  263. Mit-Veillard-Variant \
  264. MPL-1.0 \
  265. MPL-1.1 \
  266. MPL-2.0 \
  267. Minpack \
  268. NCSA \
  269. NTP \
  270. Not-Applicable \
  271. Nvidia \
  272. OGC-1.0 \
  273. OLDAP-2.8 \
  274. OML \
  275. OpenSSL \
  276. PayPal-SDK \
  277. PCRE \
  278. PD \
  279. Public-Domain \
  280. Public-Domain-US-Govt \
  281. PHP-3.01 \
  282. PIL \
  283. Plexus \
  284. PostgreSQL \
  285. Protobuf-License \
  286. PSF \
  287. PSF-2.0 \
  288. Python-2.0 \
  289. Qhull \
  290. Red-Hat-Attribution \
  291. Repoze-public \
  292. RSA-MD \
  293. RSA-MD4 \
  294. RSA-1990 \
  295. Sleepycat \
  296. Snprintf \
  297. SGI-B-2.0 \
  298. SMLNJ \
  299. SSH-short \
  300. SSLeay \
  301. Sunpro \
  302. Unicode-DFS-2016 \
  303. Unicode-Icu-58 \
  304. Unicode-Mappings \
  305. Unlicense \
  306. Unrar \
  307. UPL-1.0 \
  308. Vertica \
  309. W3C \
  310. WTFPL \
  311. X11 \
  312. X11-Lucent \
  313. YandexOpen \
  314. Zlib \
  315. zlib-acknowledgement \
  316. ZPL-2.1 \
  317. ${CUSTOM_LICENSE_MUSL_EXCEPTION} \
  318. ${LICENSES_PATCHES_FORBIDDEN}
  319. LICENSES_PERMISSIVE_DYNAMIC= \
  320. LGPL \
  321. LGPL-2.0-only \
  322. LGPL-2.0-or-later \
  323. LGPL-2.1-only \
  324. LGPL-2.1-or-later \
  325. LGPL-3.0-only \
  326. LGPL-3.0-or-later
  327. # https://st.yandex-team.ru/ARCADIAWGSUP-34
  328. CUSTOM_LICENSE_LIBSSH2_AGENT_WIN=Libssh2-Agent-Win
  329. # Permissive only in musllib
  330. CUSTOM_LICENSE_MUSL_EXCEPTION=Musl-Exception-in-Musllib
  331. # TODO: this list is almost empty. needed for DEVRULES-151
  332. LICENSES_REQUIRE_CITATION= \
  333. Apache-2.0 \
  334. Cmu-Computing-Services \
  335. OpenSSL \
  336. Spencer-94 \
  337. ${CUSTOM_LICENSE_LIBSSH2_AGENT_WIN}
  338. LICENSES_SERVICE= \
  339. Service-Dll-Harness \
  340. Service-Prebuilt-Tool \
  341. Service-Py23-Proxy
  342. macro _REQUIRE_EXPLICIT_LICENSE(Prefix...) {
  343. SET(EXPLICIT_LICENSE_PREFIXES ${Prefix})
  344. }
  345. ### @usage: LICENSE(licenses...)
  346. ###
  347. ### Specify the licenses of the module, separated by spaces. Specifying multiple licenses interpreted as permission to use this
  348. ### library satisfying all conditions of any of the listed licenses.
  349. ###
  350. ### A license must be prescribed for contribs
  351. macro LICENSE(Flags...) {
  352. SET(LICENSE_EXPRESSION $Flags)
  353. SET(LICENSE_NAMES $Flags)
  354. }
  355. ### @usage RESTRICT_LICENSES(ALLOW_ONLY|DENY LicenseProperty...)
  356. ###
  357. ### Restrict licenses of direct and indirect module dependencies.
  358. ###
  359. ### ALLOW_ONLY restriction type requires dependent module to have at leas one license without propertis not listed in restrictions
  360. ### list.
  361. ###
  362. ### DENY restriction type forbids dependency on module with no license without any listed propery from the list.
  363. ###
  364. ### Note: Can be used multiple times on the same module all specified constraints will be checked.
  365. ### All macro invocation for the same module must use same constraints type (DENY or ALLOW_ONLY)
  366. macro RESTRICT_LICENSES(TYPE, EXCEPT[], RESTRICTIONS...) {
  367. SET_APPEND(MODULE_LICENSES_RESTRICTION_TYPES $TYPE)
  368. SET_APPEND(MODULE_LICENSES_RESTRICTIONS $RESTRICTIONS)
  369. SET_APPEND(MODULE_LICENSES_RESTRICTION_EXCEPTIONS $EXCEPT)
  370. }