boost (version: 1.72.0) by: boost project https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.zip https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.gz -------------------------------------------------------------------------------- SPDX id: BSL-1.0 Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. https://github.com/boostorg/boost/blob/boost-1.72.0/LICENSE_1_0.txt ================================================================================ CodeMeterEmbedded (version: 2.31) by: WIBU-SYSTEMS AG -------------------------------------------------------------------------------- CODEMETER - END USER LICENSE AGREEMENT CODEMETER - END USER LICENSE AGREEMENT WIBU-SYSTEMS AG, Karlsruhe, Germany and Wibu-Systems USA Inc., Edmonds, WA, USA Software License Agreement, Single Use License CodeMeter and WibuKey Software PLEASE READ THIS SOFTWARE LICENSE AGREEMENT ("LICENSE") BEFORE USING THE SOFTWARE. BY USING THE SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, SIGNIFY YOUR AGREEMENT TO BE BOUND BY THE TERMS OF THIS LICENSE BY CLICKING THE "AGREE/ACCEPT" BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, RETURN THE WIBU-SYSTEMS SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT FOR A REFUND OR, IF THE SOFTWARE WAS ACCESSED ELECTRONICALLY, CLICK "DISAGREE/DECLINE". IMPORTANT NOTE: To the extent this software may be used to reproduce materials, it is licensed to you only for reproduction of materials you are authorized or legally permitted to reproduce. General. The software, documentation and any fonts accompanying this License whether on disk, in read only memory, on any other media or in any other form (collectively the "WIBU-SYSTEMS Software") are licensed, not sold, to you by WIBU-SYSTEMS AG ("WIBU-SYSTEMS") for use only under the terms of this License, and WIBU-SYSTEMS reserves all rights not expressly granted to you. The rights granted herein are limited to WIBU-SYSTEMS's and its licensors' intellectual property rights in the WIBU-SYSTEMS Software and do not include any other patents or intellectual property rights. You own the media on which the WIBU-SYSTEMS Software is recorded but WIBU-SYSTEMS and/or WIBU-SYSTEMS's licensor(s) retain ownership of the WIBU-SYSTEMS Software itself. The rights granted under the terms of this License include any software upgrades that replace and/or supplement the original WIBU-SYSTEMS Software product, unless such upgrade contains a separate license. Permitted License Uses and Restrictions. This License allows you to install and use one copy of the WIBU-SYSTEMS Software on multiple computers at a time, if the WIBU-SYSTEMS Software is always used with a WibuKey Hardware, CodeMeter Hardware, CodeMeterAct License or a CodeMeterCloud License. The software may be used only with firm codes, for which a separate license agreement exists between the licensor and WIBU-SYSTEMS. Other Firm codes, e.g. 10, 5010 and 6000010, may only be used for internal testing of the licensor. This License does allow the WIBU-SYSTEMS Software to exist on more than one computer at a time, and you may make the WIBU-SYSTEMS Software available over a network where it could be used by multiple computers at the same time under these circumstances. You may make one copy of the WIBU-SYSTEMS Software in machine-readable form for backup purposes only; provided that the backup copy must include all copyright or other proprietary notices contained on the original. Except as and only to the extent expressly permitted in this License or by applicable law, you may not copy, decompile, reverse engineer, disassemble, modify, or create derivative works of the WIBU-SYSTEMS Software or any part thereof. This permits changes to the WIBU-SYSTEMS software for the user's own use and permits reverse engineering for debugging these changes. However, it is forbidden to pass on to third parties the knowledge gained from reverse engineering for debugging these changes. Furthermore, it is prohibited to pass on modified versions of the WIBU-SYSTEMS software. In any case, any warranty claims to the WIBU-SYSTEMS software shall be excluded unless the Customer can prove that the defect would also exist without the modifications. THE WIBU-SYSTEMS SOFTWARE IS NOT INTENDED FOR USE IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL SYSTEMS, LIFE SUPPORT MACHINES OR OTHER EQUIPMENT IN WHICH THE FAILURE OF THE WIBU-SYSTEMS SOFTWARE COULD LEAD TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE. Transfer. You may not rent, lease, lend or sublicense the WIBU-SYSTEMS Software. You may, however, make a one-time permanent transfer of all of your license rights to the WIBU-SYSTEMS Software to another party, provided that: (a) the transfer must include all of the WIBU-SYSTEMS Software, including all its component parts, original media, printed materials and this License; (b) you do not retain any copies of the WIBU-SYSTEMS Software, full or partial, including copies stored on a computer or other storage device; and (c) the party receiving the WIBU-SYSTEMS Software reads and agrees to accept the terms and conditions of this License. NFR (Not for Resale) Copies: Notwithstanding other sections of this License, WIBU-SYSTEMS Software labeled or otherwise provided to you on a promotional basis may only be used for demonstration, testing and evaluation purposes and may not be resold or transferred. Termination. This License is effective until terminated. Your rights under this License will terminate automatically without notice from WIBU-SYSTEMS if you fail to comply with any term(s) of this License. Upon the termination of this License, you shall cease all use of the WIBU-SYSTEMS Software and destroy all copies, full or partial, of the WIBU-SYSTEMS Software. Limited Warranty on Media. WIBU-SYSTEMS warrants the media on which the WIBU-SYSTEMS Software is recorded and delivered by WIBU-SYSTEMS to be free from defects in materials and workmanship under normal use for a period of ninety (90) days from the date of original retail purchase. Your exclusive remedy under this Section shall be, at WIBU-SYSTEMS's option, a refund of the purchase price of the product containing the WIBU-SYSTEMS Software or replacement of the WIBU-SYSTEMS Software which is returned to WIBU-SYSTEMS or an WIBU-SYSTEMS authorized representative with a copy of the receipt. THIS LIMITED WARRANTY AND ANY IMPLIED WARRANTIES ON THE MEDIA INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF SATISFACTORY QUALITY, AND OF FITNESS FOR A PARTICULAR PURPOSE, ARE LIMITED IN DURATION TO NINETY (90) DAYS FROM THE DATE OF ORIGINAL RETAIL PURCHASE. SOME JURISDICTIONS DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. THE LIMITED WARRANTY SET FORTH HEREIN IS THE ONLY WARRANTY MADE TO YOU AND IS PROVIDED IN LIEU OF ANY OTHER WARRANTIES (IF ANY) CREATED BY ANY DOCUMENTATION OR PACKAGING. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY BY JURISDICTION. Disclaimer of Warranties. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT USE OF THE WIBU-SYSTEMS SOFTWARE IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU. EXCEPT FOR THE LIMITED WARRANTY ON MEDIA SET FORTH ABOVE AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE WIBU-SYSTEMS SOFTWARE IS PROVIDED "AS IS", WITH ALL FAULTS AND WITHOUT WARRANTY OF ANY KIND, AND WIBU-SYSTEMS AND WIBU-SYSTEMS'S LICENSORS (COLLECTIVELY REFERRED TO AS "WIBU-SYSTEMS" FOR THE PURPOSES OF SECTIONS 6 AND 7) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH RESPECT TO THE WIBU-SYSTEMS SOFTWARE, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NON-INFRINGEMENT OF THIRD PARTY RIGHTS. WIBU-SYSTEMS DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE WIBU-SYSTEMS SOFTWARE, THAT THE FUNCTIONS CONTAINED IN THE WIBU-SYSTEMS SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE WIBU-SYSTEMS SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE WIBU-SYSTEMS SOFTWARE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY WIBU-SYSTEMS OR AN WIBU-SYSTEMS AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SHOULD THE WIBU-SYSTEMS SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR LIMITATIONS ON APPLICABLE STATUTORY RIGHTS OF A CONSUMER, SO THE ABOVE EXCLUSION AND LIMITATIONS MAY NOT APPLY TO YOU. Limitation of Liability. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL WIBU-SYSTEMS BE LIABLE FOR PERSONAL INJURY, OR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA, BUSINESS INTERRUPTION OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO YOUR USE OR INABILITY TO USE THE WIBU-SYSTEMS SOFTWARE, HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY (CONTRACT, TORT OR OTHERWISE) AND EVEN IF WIBU-SYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY FOR PERSONAL INJURY, OR OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall WIBU-SYSTEMS's total liability to you for all damages (other than as may be required by applicable law in cases involving personal injury) exceed the amount of fifty dollars ($50.00). The foregoing limitations will apply even if the above stated remedy fails of its essential purpose. Export Law Assurances. You may not use or otherwise export or reexport the WIBU-SYSTEMS Software except as authorized by United States law and the laws of the jurisdiction in which the WIBU-SYSTEMS Software was obtained. In particular, but without limitation, the WIBU-SYSTEMS Software may not be exported or re-exported (a) into (or to a national or resident of) any U.S. embargoed countries or (b) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Department of Commerce Denied Person's List or Entity List. By using the WIBU-SYSTEMS Software, you represent and warrant that you are not located in, under control of, or a national or resident of any such country or on any such list. Government End Users. The WIBU-SYSTEMS Software and related documentation are "Commercial Items", as that term is defined at 48 C.F.R. §2.101, consisting of "Commercial Computer Software" and "Commercial Computer Software Documentation", as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §227.7202-1through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States and Germany. Controlling Law and Severability. This License will be governed by and construed in accordance with the laws of Germany (Bundesrepublik Deutschland). This License shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly excluded. If for any reason a court of competent jurisdiction finds any provision, or portion thereof, to be unenforceable, the remainder of this License shall continue in full force and effect. Complete Agreement; Governing Language. This License constitutes the entire agreement between the parties with respect to the use of the WIBU-SYSTEMS Software licensed hereunder and supersedes all prior or contemporaneous understandings regarding such subject matter. No amendment to or modification of this License will be binding unless in writing and signed by WIBU-SYSTEMS. Any translation of this License is done for local requirements and in the event of a dispute between the German and any non-German versions, the German version of this License shall govern. Karlsruhe, Germany - February 2022 https://www.wibu.com/codemeter-eula.html ================================================================================ CommandLine (version: 2.8.0) by: Eric Newton https://www.nuget.org/packages/CommandLineParser/2.8.0 https://github.com/commandlineparser/commandline/archive/refs/tags/2.8.0.zip -------------------------------------------------------------------------------- SPDX id: MIT The MIT License (MIT) Copyright (c) 2005 - 2015 Giacomo Stelluti Scala & Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. https://github.com/commandlineparser/commandline/blob/2.8.0/License.md ================================================================================ cpu_features (version: 0.4.1) by: Google Open Source (https://github.com/google) https://github.com/google/cpu_features/archive/refs/tags/v0.4.1.zip -------------------------------------------------------------------------------- SPDX id: Apache-2.0 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. https://github.com/google/cpu_features/blob/v0.4.1/LICENSE ================================================================================ cryptopp (version: 5.6.3) by: Wei Dai https://github.com/weidai11/cryptopp/archive/refs/tags/CRYPTOPP_5_6_3.zip -------------------------------------------------------------------------------- SPDX id: BSL-1.0 Compilation Copyright (c) 1995-2013 by Wei Dai. All rights reserved. This copyright applies only to this software distribution package as a compilation, and does not imply a copyright on any particular file in the package. All individual files in this compilation are placed in the public domain by Wei Dai and other contributors. I would like to thank the following authors for placing their works into the public domain: Joan Daemen - 3way.cpp Leonard Janke - cast.cpp, seal.cpp Steve Reid - cast.cpp Phil Karn - des.cpp Andrew M. Kuchling - md2.cpp, md4.cpp Colin Plumb - md5.cpp Seal Woods - rc6.cpp Chris Morgan - rijndael.cpp Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp Richard De Moliner - safer.cpp Matthew Skala - twofish.cpp Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp Ronny Van Keer - sha3.cpp The Crypto++ Library (as a compilation) is currently licensed under the Boost Software License 1.0 (http://www.boost.org/users/license.html). Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. https://github.com/weidai11/cryptopp/blob/CRYPTOPP_5_6_3/License.txt ================================================================================ CUDA (version: 11.4) by: Nvidia Corporation -------------------------------------------------------------------------------- CUDA End User License Agreement End User License Agreement -------------------------- The CUDA Toolkit End User License Agreement applies to the NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA Display Driver, NVIDIA Nsight tools (Visual Studio Edition), and the associated documentation on CUDA APIs, programming model and development tools. If you do not agree with the terms and conditions of the license agreement, then do not download or use the software. Last updated: Mar 24, 2021. Preface ------- The Software License Agreement in Chapter 1 and the Supplement in Chapter 2 contain license terms and conditions that govern the use of NVIDIA software. By accepting this agreement, you agree to comply with all the terms and conditions applicable to the product(s) included herein. NVIDIA Driver Description This package contains the operating system driver and fundamental system software components for NVIDIA GPUs. NVIDIA CUDA Toolkit Description The NVIDIA CUDA Toolkit provides command-line and graphical tools for building, debugging and optimizing the performance of applications accelerated by NVIDIA GPUs, runtime and math libraries, and documentation including programming guides, user manuals, and API references. Default Install Location of CUDA Toolkit Windows platform: %ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v#.# Linux platform: /usr/local/cuda-#.# Mac platform: /Developer/NVIDIA/CUDA-#.# NVIDIA CUDA Samples Description This package includes over 100+ CUDA examples that demonstrate various CUDA programming principles, and efficient CUDA implementation of algorithms in specific application domains. Default Install Location of CUDA Samples Windows platform: %ProgramData%\NVIDIA Corporation\CUDA Samples\v#.# Linux platform: /usr/local/cuda-#.#/samples and $HOME/NVIDIA_CUDA-#.#_Samples Mac platform: /Developer/NVIDIA/CUDA-#.#/samples NVIDIA Nsight Visual Studio Edition (Windows only) Description NVIDIA Nsight Development Platform, Visual Studio Edition is a development environment integrated into Microsoft Visual Studio that provides tools for debugging, profiling, analyzing and optimizing your GPU computing and graphics applications. Default Install Location of Nsight Visual Studio Edition Windows platform: %ProgramFiles(x86)%\NVIDIA Corporation\Nsight Visual Studio Edition #.# 1. License Agreement for NVIDIA Software Development Kits --------------------------------------------------------- Important Notice—Read before downloading, installing, copying or using the licensed software: ------------------------------------------------------- This license agreement, including exhibits attached ("Agreement”) is a legal agreement between you and NVIDIA Corporation ("NVIDIA") and governs your use of a NVIDIA software development kit (“SDK”). Each SDK has its own set of software and materials, but here is a description of the types of items that may be included in a SDK: source code, header files, APIs, data sets and assets (examples include images, textures, models, scenes, videos, native API input/output files), binary software, sample code, libraries, utility programs, programming code and documentation. This Agreement can be accepted only by an adult of legal age of majority in the country in which the SDK is used. If you are entering into this Agreement on behalf of a company or other legal entity, you represent that you have the legal authority to bind the entity to this Agreement, in which case “you” will mean the entity you represent. If you don’t have the required age or authority to accept this Agreement, or if you don’t accept all the terms and conditions of this Agreement, do not download, install or use the SDK. You agree to use the SDK only for purposes that are permitted by (a) this Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions. 1.1. License 1.1.1. License Grant Subject to the terms of this Agreement, NVIDIA hereby grants you a non-exclusive, non-transferable license, without the right to sublicense (except as expressly provided in this Agreement) to: 1. Install and use the SDK, 2. Modify and create derivative works of sample source code delivered in the SDK, and 3. Distribute those portions of the SDK that are identified in this Agreement as distributable, as incorporated in object code format into a software application that meets the distribution requirements indicated in this Agreement. 1.1.2. Distribution Requirements These are the distribution requirements for you to exercise the distribution grant: 1. Your application must have material additional functionality, beyond the included portions of the SDK. 2. The distributable portions of the SDK shall only be accessed by your application. 3. The following notice shall be included in modifications and derivative works of sample source code distributed: “This software contains source code provided by NVIDIA Corporation.” 4. Unless a developer tool is identified in this Agreement as distributable, it is delivered for your internal use only. 5. The terms under which you distribute your application must be consistent with the terms of this Agreement, including (without limitation) terms relating to the license grant and license restrictions and protection of NVIDIA’s intellectual property rights. Additionally, you agree that you will protect the privacy, security and legal rights of your application users. 6. You agree to notify NVIDIA in writing of any known or suspected distribution or use of the SDK not in compliance with the requirements of this Agreement, and to enforce the terms of your agreements with respect to distributed SDK. 1.1.3. Authorized Users You may allow employees and contractors of your entity or of your subsidiary(ies) to access and use the SDK from your secure network to perform work on your behalf. If you are an academic institution you may allow users enrolled or employed by the academic institution to access and use the SDK from your secure network. You are responsible for the compliance with the terms of this Agreement by your authorized users. If you become aware that your authorized users didn’t follow the terms of this Agreement, you agree to take reasonable steps to resolve the non-compliance and prevent new occurrences. 1.1.4. Pre-Release SDK The SDK versions identified as alpha, beta, preview or otherwise as pre-release, may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy, accessibility, availability, and reliability standards relative to commercial versions of NVIDIA software and materials. Use of a pre-release SDK may result in unexpected results, loss of data, project delays or other unpredictable damage or loss. You may use a pre-release SDK at your own risk, understanding that pre-release SDKs are not intended for use in production or business-critical systems. NVIDIA may choose not to make available a commercial version of any pre-release SDK. NVIDIA may also choose to abandon development and terminate the availability of a pre-release SDK at any time without liability. 1.1.5. Updates NVIDIA may, at its option, make available patches, workarounds or other updates to this SDK. Unless the updates are provided with their separate governing terms, they are deemed part of the SDK licensed to you as provided in this Agreement. You agree that the form and content of the SDK that NVIDIA provides may change without prior notice to you. While NVIDIA generally maintains compatibility between versions, NVIDIA may in some cases make changes that introduce incompatibilities in future versions of the SDK. 1.1.6. Third Party Licenses The SDK may come bundled with, or otherwise include or be distributed with, third party software licensed by a NVIDIA supplier and/or open source software provided under an open source license. Use of third party software is subject to the third-party license terms, or in the absence of third party terms, the terms of this Agreement. Copyright to third party software is held by the copyright holders indicated in the third-party software or license. Subject to the other terms of this Agreement, you may use the SDK to develop and test applications released under Open Source Initiative (OSI) approved open source software licenses. 1.1.7. Reservation of Rights NVIDIA reserves all rights, title, and interest in and to the SDK, not expressly granted to you under this Agreement. 1.2. Limitations The following license limitations apply to your use of the SDK: 1. You may not reverse engineer, decompile or disassemble, or remove copyright or other proprietary notices from any portion of the SDK or copies of the SDK. 2. Except as expressly provided in this Agreement, you may not copy, sell, rent, sublicense, transfer, distribute, modify, or create derivative works of any portion of the SDK. For clarity, you may not distribute or sublicense the SDK as a stand-alone product. 3. Unless you have an agreement with NVIDIA for this purpose, you may not indicate that an application created with the SDK is sponsored or endorsed by NVIDIA. 4. You may not bypass, disable, or circumvent any encryption, security, digital rights management or authentication mechanism in the SDK. 5. You may not use the SDK in any manner that would cause it to become subject to an open source software license. As examples, licenses that require as a condition of use, modification, and/or distribution that the SDK be: a. Disclosed or distributed in source code form; b. Licensed for the purpose of making derivative works; or c. Redistributable at no charge. 6. Unless you have an agreement with NVIDIA for this purpose, you may not use the SDK with any system or application where the use or failure of the system or application can reasonably be expected to threaten or result in personal injury, death, or catastrophic loss. Examples include use in avionics, navigation, military, medical, life support or other life critical applications. NVIDIA does not design, test or manufacture the SDK for these critical uses and NVIDIA shall not be liable to you or any third party, in whole or in part, for any claims or damages arising from such uses. 7. You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorney’s fees and costs incident to establishing the right of indemnification) arising out of or related to your use of the SDK outside of the scope of this Agreement, or not in compliance with its terms. 1.3. Ownership 1. NVIDIA or its licensors hold all rights, title and interest in and to the SDK and its modifications and derivative works, including their respective intellectual property rights, subject to your rights under Section 1.3.2. This SDK may include software and materials from NVIDIA’s licensors, and these licensors are intended third party beneficiaries that may enforce this Agreement with respect to their intellectual property rights. 2. You hold all rights, title and interest in and to your applications and your derivative works of the sample source code delivered in the SDK, including their respective intellectual property rights, subject to NVIDIA’s rights under Section 1.3.1. 3. You may, but don’t have to, provide to NVIDIA suggestions, feature requests or other feedback regarding the SDK, including possible enhancements or modifications to the SDK. For any feedback that you voluntarily provide, you hereby grant NVIDIA and its affiliates a perpetual, non-exclusive, worldwide, irrevocable license to use, reproduce, modify, license, sublicense (through multiple tiers of sublicensees), and distribute (through multiple tiers of distributors) it without the payment of any royalties or fees to you. NVIDIA will use feedback at its choice. NVIDIA is constantly looking for ways to improve its products, so you may send feedback to NVIDIA through the developer portal at https://developer.nvidia.com. 1.4. No Warranties THE SDK IS PROVIDED BY NVIDIA “AS IS” AND “WITH ALL FAULTS.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, OR THE ABSENCE OF ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO WARRANTY IS MADE ON THE BASIS OF TRADE USAGE, COURSE OF DEALING OR COURSE OF TRADE. 1.5. Limitation of Liability TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT OR THE USE OR PERFORMANCE OF THE SDK, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF LIABILITY. IN NO EVENT WILL NVIDIA’S AND ITS AFFILIATES TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS AGREEMENT EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS LIMIT. These exclusions and limitations of liability shall apply regardless if NVIDIA or its affiliates have been advised of the possibility of such damages, and regardless of whether a remedy fails its essential purpose. These exclusions and limitations of liability form an essential basis of the bargain between the parties, and, absent any of these exclusions or limitations of liability, the provisions of this Agreement, including, without limitation, the economic terms, would be substantially different. 1.6. Termination 1. This Agreement will continue to apply until terminated by either you or NVIDIA as described below. 2. If you want to terminate this Agreement, you may do so by stopping to use the SDK. 3. NVIDIA may, at any time, terminate this Agreement if: a. (i) you fail to comply with any term of this Agreement and the non-compliance is not fixed within thirty (30) days following notice from NVIDIA (or immediately if you violate NVIDIA’s intellectual property rights); b. (ii) you commence or participate in any legal proceeding against NVIDIA with respect to the SDK; or c. (iii) NVIDIA decides to no longer provide the SDK in a country or, in NVIDIA’s sole discretion, the continued use of it is no longer commercially viable. 4. Upon any termination of this Agreement, you agree to promptly discontinue use of the SDK and destroy all copies in your possession or control. Your prior distributions in accordance with this Agreement are not affected by the termination of this Agreement. Upon written request, you will certify in writing that you have complied with your commitments under this section. Upon any termination of this Agreement all provisions survive except for the license grant provisions. 1.7. General If you wish to assign this Agreement or your rights and obligations, including by merger, consolidation, dissolution or operation of law, contact NVIDIA to ask for permission. Any attempted assignment not approved by NVIDIA in writing shall be void and of no effect. NVIDIA may assign, delegate or transfer this Agreement and its rights and obligations, and if to a non-affiliate you will be notified. You agree to cooperate with NVIDIA and provide reasonably requested information to verify your compliance with this Agreement. This Agreement will be governed in all respects by the laws of the United States and of the State of Delaware as those laws are applied to contracts entered into and performed entirely within Delaware by Delaware residents, without regard to the conflicts of laws principles. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed. You agree to all terms of this Agreement in the English language. The state or federal courts residing in Santa Clara County, California shall have exclusive jurisdiction over any dispute or claim arising out of this Agreement. Notwithstanding this, you agree that NVIDIA shall still be allowed to apply for injunctive remedies or an equivalent type of urgent legal relief in any jurisdiction. If any court of competent jurisdiction determines that any provision of this Agreement is illegal, invalid or unenforceable, such provision will be construed as limited to the extent necessary to be consistent with and fully enforceable under the law and the remaining provisions will remain in full force and effect. Unless otherwise specified, remedies are cumulative. Each party acknowledges and agrees that the other is an independent contractor in the performance of this Agreement. The SDK has been developed entirely at private expense and is “commercial items” consisting of “commercial computer software” and “commercial computer software documentation” provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions in this Agreement pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas Expressway, Santa Clara, CA 95051. The SDK is subject to United States export laws and regulations. You agree that you will not ship, transfer or export the SDK into any country, or use the SDK in any manner, prohibited by the United States Bureau of Industry and Security or economic sanctions regulations administered by the U.S. Department of Treasury’s Office of Foreign Assets Control (OFAC), or any applicable export laws, restrictions or regulations. These laws include restrictions on destinations, end users and end use. By accepting this Agreement, you confirm that you are not a resident or citizen of any country currently embargoed by the U.S. and that you are not otherwise prohibited from receiving the SDK. Any notice delivered by NVIDIA to you under this Agreement will be delivered via mail, email or fax. You agree that any notices that NVIDIA sends you electronically will satisfy any legal communication requirements. Please direct your legal notices or other correspondence to NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, California 95051, United States of America, Attention: Legal Department. This Agreement and any exhibits incorporated into this Agreement constitute the entire agreement of the parties with respect to the subject matter of this Agreement and supersede all prior negotiations or documentation exchanged between the parties relating to this SDK license. Any additional and/or conflicting terms on documents issued by you are null, void, and invalid. Any amendment or waiver under this Agreement shall be in writing and signed by representatives of both parties. 2. CUDA Toolkit Supplement to Software License Agreement for NVIDIA Software Development Kits ------------------------------------------------------------ The terms in this supplement govern your use of the NVIDIA CUDA Toolkit SDK under the terms of your license agreement (“Agreement”) as modified by this supplement. Capitalized terms used but not defined below have the meaning assigned to them in the Agreement. This supplement is an exhibit to the Agreement and is incorporated as an integral part of the Agreement. In the event of conflict between the terms in this supplement and the terms in the Agreement, the terms in this supplement govern. 2.1. License Scope The SDK is licensed for you to develop applications only for use in systems with NVIDIA GPUs. 2.2. Distribution The portions of the SDK that are distributable under the Agreement are listed in Attachment A. 2.3. Operating Systems Those portions of the SDK designed exclusively for use on the Linux or FreeBSD operating systems, or other operating systems derived from the source code to these operating systems, may be copied and redistributed for use in accordance with this Agreement, provided that the object code files are not modified in any way (except for unzipping of compressed files). 2.4. Audio and Video Encoders and Decoders You acknowledge and agree that it is your sole responsibility to obtain any additional third-party licenses required to make, have made, use, have used, sell, import, and offer for sale your products or services that include or incorporate any third-party software and content relating to audio and/or video encoders and decoders from, including but not limited to, Microsoft, Thomson, Fraunhofer IIS, Sisvel S.p.A., MPEG-LA, and Coding Technologies. NVIDIA does not grant to you under this Agreement any necessary patent or other rights with respect to any audio and/or video encoders and decoders. 2.5. Licensing If the distribution terms in this Agreement are not suitable for your organization, or for any questions regarding this Agreement, please contact NVIDIA at nvidia-compute-license-questions@nvidia.com. 2.6. Attachment A The following CUDA Toolkit files may be distributed with Licensee Applications developed by you, including certain variations of these files that have version number or architecture specific information embedded in the file name - as an example only, for release version 9.0 of the 64-bit Windows software, the file cudart64_90.dll is redistributable. Component CUDA Runtime Windows cudart.dll, cudart_static.lib, cudadevrt.lib Mac OSX libcudart.dylib, libcudart_static.a, libcudadevrt.a Linux libcudart.so, libcudart_static.a, libcudadevrt.a Android libcudart.so, libcudart_static.a, libcudadevrt.a Component CUDA FFT Library Windows cufft.dll, cufftw.dll, cufft.lib, cufftw.lib Mac OSX libcufft.dylib, libcufft_static.a, libcufftw.dylib, libcufftw_static.a Linux libcufft.so, libcufft_static.a, libcufftw.so, libcufftw_static.a Android libcufft.so, libcufft_static.a, libcufftw.so, libcufftw_static.a Component CUDA BLAS Library Windows cublas.dll, cublasLt.dll Mac OSX libcublas.dylib, libcublasLt.dylib, libcublas_static.a, libcublasLt_static.a Linux libcublas.so, libcublasLt.so, libcublas_static.a, libcublasLt_static.a Android libcublas.so, libcublasLt.so, libcublas_static.a, libcublasLt_static.a Component NVIDIA "Drop-in" BLAS Library Windows nvblas.dll Mac OSX libnvblas.dylib Linux libnvblas.so Component CUDA Sparse Matrix Library Windows cusparse.dll, cusparse.lib Mac OSX libcusparse.dylib, libcusparse_static.a Linux libcusparse.so, libcusparse_static.a Android libcusparse.so, libcusparse_static.a Component CUDA Linear Solver Library Windows cusolver.dll, cusolver.lib Mac OSX libcusolver.dylib, libcusolver_static.a Linux libcusolver.so, libcusolver_static.a Android libcusolver.so, libcusolver_static.a Component CUDA Random Number Generation Library Windows curand.dll, curand.lib Mac OSX libcurand.dylib, libcurand_static.a Linux libcurand.so, libcurand_static.a Android libcurand.so, libcurand_static.a Component NVIDIA Performance Primitives Library Windows nppc.dll, nppc.lib, nppial.dll, nppial.lib, nppicc.dll, nppicc.lib, nppicom.dll, nppicom.lib, nppidei.dll, nppidei.lib, nppif.dll, nppif.lib, nppig.dll, nppig.lib, nppim.dll, nppim.lib, nppist.dll, nppist.lib, nppisu.dll, nppisu.lib, nppitc.dll, nppitc.lib, npps.dll, npps.lib Mac OSX libnppc.dylib, libnppc_static.a, libnppial.dylib, libnppial_static.a, libnppicc.dylib, libnppicc_static.a, libnppicom.dylib, libnppicom_static.a, libnppidei.dylib, libnppidei_static.a, libnppif.dylib, libnppif_static.a, libnppig.dylib, libnppig_static.a, libnppim.dylib, libnppisu_static.a, libnppitc.dylib, libnppitc_static.a, libnpps.dylib, libnpps_static.a Linux libnppc.so, libnppc_static.a, libnppial.so, libnppial_static.a, libnppicc.so, libnppicc_static.a, libnppicom.so, libnppicom_static.a, libnppidei.so, libnppidei_static.a, libnppif.so, libnppif_static.a libnppig.so, libnppig_static.a, libnppim.so, libnppim_static.a, libnppist.so, libnppist_static.a, libnppisu.so, libnppisu_static.a, libnppitc.so libnppitc_static.a, libnpps.so, libnpps_static.a Android libnppc.so, libnppc_static.a, libnppial.so, libnppial_static.a, libnppicc.so, libnppicc_static.a, libnppicom.so, libnppicom_static.a, libnppidei.so, libnppidei_static.a, libnppif.so, libnppif_static.a libnppig.so, libnppig_static.a, libnppim.so, libnppim_static.a, libnppist.so, libnppist_static.a, libnppisu.so, libnppisu_static.a, libnppitc.so libnppitc_static.a, libnpps.so, libnpps_static.a Component NVIDIA JPEG Library Linux libnvjpeg.so, libnvjpeg_static.a Component Internal common library required for statically linking to cuBLAS, cuSPARSE, cuFFT, cuRAND, nvJPEG and NPP Mac OSX libculibos.a Linux libculibos.a Component NVIDIA Runtime Compilation Library and Header All nvrtc.h Windows nvrtc.dll, nvrtc-builtins.dll Mac OSX libnvrtc.dylib, libnvrtc-builtins.dylib Linux libnvrtc.so, libnvrtc-builtins.so Component NVIDIA Optimizing Compiler Library Windows nvvm.dll Mac OSX libnvvm.dylib Linux libnvvm.so Component NVIDIA Common Device Math Functions Library Windows libdevice.10.bc Mac OSX libdevice.10.bc Linux libdevice.10.bc Component CUDA Occupancy Calculation Header Library All cuda_occupancy.h Component CUDA Half Precision Headers All cuda_fp16.h, cuda_fp16.hpp Component CUDA Profiling Tools Interface (CUPTI) Library Windows cupti.dll Mac OSX libcupti.dylib Linux libcupti.so Component NVIDIA Tools Extension Library Windows nvToolsExt.dll, nvToolsExt.lib Mac OSX libnvToolsExt.dylib Linux libnvToolsExt.so Component NVIDIA CUDA Driver Libraries Linux libcuda.so, libnvidia-ptxjitcompiler.so Component NVIDIA CUDA File IO Libraries and Header All cufile.h Linux libcufile.so, libcufile_rdma.so, libcufile_static.a, libcufile_rdma_static.a The NVIDIA CUDA Driver Libraries are only distributable in applications that meet this criteria: 1. The application was developed starting from a NVIDIA CUDA container obtained from Docker Hub or the NVIDIA GPU Cloud, and 2. The resulting application is packaged as a Docker container and distributed to users on Docker Hub or the NVIDIA GPU Cloud only. In addition to the rights above, for parties that are developing software intended solely for use on Jetson development kits or Jetson modules, and running Linux for Tegra software, the following shall apply: * The SDK may be distributed in its entirety, as provided by NVIDIA, and without separation of its components, for you and/or your licensees to create software development kits for use only on the Jetson platform and running Linux for Tegra software. 2.7. Attachment B Additional Licensing Obligations The following third party components included in the SOFTWARE are licensed to Licensee pursuant to the following terms and conditions: 1. Licensee's use of the GDB third party component is subject to the terms and conditions of GNU GPL v3: This product includes copyrighted third-party software licensed under the terms of the GNU General Public License v3 ("GPL v3"). All third-party software packages are copyright by their respective authors. GPL v3 terms and conditions are hereby incorporated into the Agreement by this reference: http://www.gnu.org/licenses/gpl.txt Consistent with these licensing requirements, the software listed below is provided under the terms of the specified open source software licenses. To obtain source code for software provided under licenses that require redistribution of source code, including the GNU General Public License (GPL) and GNU Lesser General Public License (LGPL), contact oss-requests@nvidia.com. This offer is valid for a period of three (3) years from the date of the distribution of this product by NVIDIA CORPORATION. Component License CUDA-GDB GPL v3 2. Licensee represents and warrants that any and all third party licensing and/or royalty payment obligations in connection with Licensee's use of the H.264 video codecs are solely the responsibility of Licensee. 3. Licensee's use of the Thrust library is subject to the terms and conditions of the Apache License Version 2.0. All third-party software packages are copyright by their respective authors. Apache License Version 2.0 terms and conditions are hereby incorporated into the Agreement by this reference. http://www.apache.org/licenses/LICENSE-2.0.html In addition, Licensee acknowledges the following notice: Thrust includes source code from the Boost Iterator, Tuple, System, and Random Number libraries. Boost Software License - Version 1.0 - August 17th, 2003 . . . . Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4. Licensee's use of the LLVM third party component is subject to the following terms and conditions: ====================================================== LLVM Release License ====================================================== University of Illinois/NCSA Open Source License Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: LLVM Team University of Illinois at Urbana-Champaign http://llvm.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. * Neither the names of the LLVM Team, University of Illinois at Urbana- Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. 5. Licensee's use (e.g. nvprof) of the PCRE third party component is subject to the following terms and conditions: ------------ PCRE LICENCE ------------ PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. Release 8 of PCRE is distributed under the terms of the "BSD" licence, as specified below. The documentation for PCRE, supplied in the "doc" directory, is distributed under the same terms as the software itself. The basic library functions are written in C and are freestanding. Also included in the distribution is a set of C++ wrapper functions, and a just- in-time compiler that can be used to optimize pattern matching. These are both optional features that can be omitted when the library is built. THE BASIC LIBRARY FUNCTIONS --------------------------- Written by: Philip Hazel Email local part: ph10 Email domain: cam.ac.uk University of Cambridge Computing Service, Cambridge, England. Copyright (c) 1997-2012 University of Cambridge All rights reserved. PCRE JUST-IN-TIME COMPILATION SUPPORT ------------------------------------- Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu Copyright(c) 2010-2012 Zoltan Herczeg All rights reserved. STACK-LESS JUST-IN-TIME COMPILER -------------------------------- Written by: Zoltan Herczeg Email local part: hzmester Emain domain: freemail.hu Copyright(c) 2009-2012 Zoltan Herczeg All rights reserved. THE C++ WRAPPER FUNCTIONS ------------------------- Contributed by: Google Inc. Copyright (c) 2007-2012, Google Inc. All rights reserved. THE "BSD" LICENCE ----------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the name of Google Inc. nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 6. Some of the cuBLAS library routines were written by or derived from code written by Vasily Volkov and are subject to the Modified Berkeley Software Distribution License as follows: Copyright (c) 2007-2009, Regents of the University of California All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of California, Berkeley nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 7. Some of the cuBLAS library routines were written by or derived from code written by Davide Barbieri and are subject to the Modified Berkeley Software Distribution License as follows: Copyright (c) 2008-2009 Davide Barbieri @ University of Rome Tor Vergata. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 8. Some of the cuBLAS library routines were derived from code developed by the University of Tennessee and are subject to the Modified Berkeley Software Distribution License as follows: Copyright (c) 2010 The University of Tennessee. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer listed in this license in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 9. Some of the cuBLAS library routines were written by or derived from code written by Jonathan Hogg and are subject to the Modified Berkeley Software Distribution License as follows: Copyright (c) 2012, The Science and Technology Facilities Council (STFC). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the STFC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE STFC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10. Some of the cuBLAS library routines were written by or derived from code written by Ahmad M. Abdelfattah, David Keyes, and Hatem Ltaief, and are subject to the Apache License, Version 2.0, as follows: -- (C) Copyright 2013 King Abdullah University of Science and Technology Authors: Ahmad Abdelfattah (ahmad.ahmad@kaust.edu.sa) David Keyes (david.keyes@kaust.edu.sa) Hatem Ltaief (hatem.ltaief@kaust.edu.sa) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the King Abdullah University of Science and Technology nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 11. Some of the cuSPARSE library routines were written by or derived from code written by Li-Wen Chang and are subject to the NCSA Open Source License as follows: Copyright (c) 2012, University of Illinois. All rights reserved. Developed by: IMPACT Group, University of Illinois, http://impact.crhc.illinois.edu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. * Neither the names of IMPACT Group, University of Illinois, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. 12. Some of the cuRAND library routines were written by or derived from code written by Mutsuo Saito and Makoto Matsumoto and are subject to the following license: Copyright (c) 2009, 2010 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved. Copyright (c) 2011 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and University of Tokyo. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Hiroshima University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13. Some of the cuRAND library routines were derived from code developed by D. E. Shaw Research and are subject to the following license: Copyright 2010-2011, D. E. Shaw Research. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of D. E. Shaw Research nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 14. Some of the Math library routines were written by or derived from code developed by Norbert Juffa and are subject to the following license: Copyright (c) 2015-2017, Norbert Juffa All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 15. Licensee's use of the lz4 third party component is subject to the following terms and conditions: Copyright (C) 2011-2013, Yann Collet. BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16. The NPP library uses code from the Boost Math Toolkit, and is subject to the following license: Boost Software License - Version 1.0 - August 17th, 2003 . . . . Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 17. Portions of the Nsight Eclipse Edition is subject to the following license: The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at http:// www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content. If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org. 18. Some of the cuBLAS library routines uses code from OpenAI, which is subject to the following license: License URL https://github.com/openai/openai-gemm/blob/master/LICENSE License Text The MIT License Copyright (c) 2016 OpenAI (http://openai.com), 2016 Google Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19. Licensee's use of the Visual Studio Setup Configuration Samples is subject to the following license: The MIT License (MIT) Copyright (C) Microsoft Corporation. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20. Licensee's use of linmath.h header for CPU functions for GL vector/matrix operations from lunarG is subject to the Apache License Version 2.0. 21. The DX12-CUDA sample uses the d3dx12.h header, which is subject to the MIT license . ----------------- ================================================================================ Eigen (version: 3.3.7) by: Philip Avery, Abraham Bachrach, Sebastien Barthelemy, Carlos Becker, David Benjamin, Cyrille Berger, Armin Berres, Jose Luis Blanco, Mark Borgerding, Romain Bossart, Kolja Brix, Gauthier Brun, Gabriele Buondonno, Philipp Büttgenbach, Thomas Capricelli, Nicolas Carre, Jean Ceccato, Vladimir Chalupecky, Benjamin Chrétien, Andrew Coles, Jeff complexzeros, Everton Constantino, Marton Danoczy, Jeff Dean, Georg Drenkhahn, Christian Ehrlicher, Martinho Fernandes, Daniel Gomez Ferro, Rohit Garg, Mathieu Gautier, Anton Gladky, Stuart Glaser, Marc Glisse, Frederic Gosselin, Christoph Grüninger, Gaël Guennebaud, Philippe Hamelin, Marcus D. Hanwell, David Harmon, Chen-Pang He, Hauke Heibel, Christoph Hertzberg, Pavel Holoborodko, Tim Holy, Intel, Trevor Irons, Benoît Jacob, Bram de Jong, Kibeom Kim, Moritz Klammler, Claas Köhler, Alexey Korepanov, Igor Krivenko, Marijn Kruisselbrink, Abhijit Kundu, Moritz Lenz, Rasmus Munk Larsen, Bo Li, Sebastian Lipponer, Daniel Lowenberg, David J. Luitz, Naumov Maks, Angelos Mantzaflaris, D J Marcin, Konstantinos A. Margaritis, Roger Martin, Ricard Marxer, Vincenzo Di Massa, Christian Mayer, Frank Meier-Dörnberg, Keir Mierle, Laurent Montel, Eamon Nerbonne, Alexander Neundorf, Jason Newton, Jitse Niesen, Desire Nuentsa, Jan Oberländer, Jos van den Oever, Michael Olbrich, Simon Pilgrim, Bjorn Piltz, Benjamin Piwowarski, Zach Ploskey, Giacomo Po, Sergey Popov, Manoj Rajagopalan, Stjepan Rajko, Jure Repinc, Kenneth Frank Riddile, Richard Roberts, Adolfo Rodriguez, Peter Román, Oliver Ruepp, Radu Bogdan Rusu, C. Antonio Sanchez, Guillaume Saupin, Olivier Saut, Benjamin Schindler, Michael Schmidt, Dennis Schridde, Jakob Schwendner, Christian Seiler, Martin Senst, Sameer Sheorey, Andy Somerville, Alex Stapleton, Benoit Steiner, Sven Strothoff, Leszek Swirski, Adam Szalkowski, Silvio Traversaro, Piotr Trojanek, Anthony Truchet, Adolfo Rodriguez Tsourouksdissian, David Tellenbach, James Richard Tyrer, Rhys Ulerich, Henry de Valence, Ingmar Vanhassel, Michiel Van Dyck, Scott Wheeler, Freddie Witherden, Urs Wolfer, Manuel Yguel, Pierre Zoppitelli, Jonas Adler https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip -------------------------------------------------------------------------------- SPDX id: MPL-2.0 Mozilla Public License Version 2.0 ================================== 1. Definitions -------------- 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. 1.3. "Contribution" means Covered Software of a particular Contributor. 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. 1.5. "Incompatible With Secondary Licenses" means (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. 1.6. "Executable Form" means any form of the work other than Source Code Form. 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. 1.8. "License" means this document. 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. 1.10. "Modifications" means any of the following: (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or (b) any new file in Source Code Form that contains any Covered Software. 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. 1.13. "Source Code Form" means the form of the work preferred for making modifications. 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants and Conditions -------------------------------- 2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. 2.2. Effective Date The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. 2.3. Limitations on Grant Scope The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: (a) for any code that a Contributor has removed from Covered Software; or (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). 2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). 2.5. Representation Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. 2.6. Fair Use This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. 2.7. Conditions Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. 3. Responsibilities ------------------- 3.1. Distribution of Source Form All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. 3.2. Distribution of Executable Form If You distribute Covered Software in Executable Form then: (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. 3.3. Distribution of a Larger Work You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). 3.4. Notices You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. 3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. 4. Inability to Comply Due to Statute or Regulation --------------------------------------------------- If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Termination -------------- 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. ************************************************************************ * * * 6. Disclaimer of Warranty * * ------------------------- * * * * Covered Software is provided under this License on an "as is" * * basis, without warranty of any kind, either expressed, implied, or * * statutory, including, without limitation, warranties that the * * Covered Software is free of defects, merchantable, fit for a * * particular purpose or non-infringing. The entire risk as to the * * quality and performance of the Covered Software is with You. * * Should any Covered Software prove defective in any respect, You * * (not any Contributor) assume the cost of any necessary servicing, * * repair, or correction. This disclaimer of warranty constitutes an * * essential part of this License. No use of any Covered Software is * * authorized under this License except under this disclaimer. * * * ************************************************************************ ************************************************************************ * * * 7. Limitation of Liability * * -------------------------- * * * * Under no circumstances and under no legal theory, whether tort * * (including negligence), contract, or otherwise, shall any * * Contributor, or anyone who distributes Covered Software as * * permitted above, be liable to You for any direct, indirect, * * special, incidental, or consequential damages of any character * * including, without limitation, damages for lost profits, loss of * * goodwill, work stoppage, computer failure or malfunction, or any * * and all other commercial damages or losses, even if such party * * shall have been informed of the possibility of such damages. This * * limitation of liability shall not apply to liability for death or * * personal injury resulting from such party's negligence to the * * extent applicable law prohibits such limitation. Some * * jurisdictions do not allow the exclusion or limitation of * * incidental or consequential damages, so this exclusion and * * limitation may not apply to You. * * * ************************************************************************ 8. Litigation ------------- Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. 9. Miscellaneous ---------------- This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. 10. Versions of the License --------------------------- 10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. 10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. 10.3. Modified Versions If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice ------------------------------------------- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. Exhibit B - "Incompatible With Secondary Licenses" Notice --------------------------------------------------------- This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. https://gitlab.com/libeigen/eigen/-/blob/3.3.7/COPYING.MPL2?ref_type=tags ================================================================================ Expat (version: 2.4.6) by: James Clark https://github.com/libexpat/libexpat/archive/refs/tags/R_2_4_6.zip -------------------------------------------------------------------------------- SPDX id: MIT Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper Copyright (c) 2001-2022 Expat maintainers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. https://github.com/libexpat/libexpat/blob/master/expat/COPYING ================================================================================ FirmwareUpdate (version: 3.3.0) by: Andreas Gau -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ FirmwareUpdate (version: 3.4.1) by: Andreas Gau -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ FLANN (version: 1.8.4) by: Marius Muja, David G. Lowe https://github.com/flann-lib/flann/archive/refs/tags/1.8.4.zip -------------------------------------------------------------------------------- SPDX id: BSD-3-Clause The BSD License Copyright (c) 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. Copyright (c) 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the "University of British Columbia" nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://github.com/flann-lib/flann/blob/1.8.4/COPYING ================================================================================ GCBase (version: 3.3.0) by: -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ GCBase (version: 3.4.1) by: -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ GenApi (version: 3.4.1) by: Fritz Dierks, Hartmut Nebelung -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ GenApi (version: 3.4.1) by: Fritz Dierks, Hartmut Nebelung -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ GenX (version: beta5) by: Tim Bray http://www.tbray.org/ongoing/genx/ -------------------------------------------------------------------------------- SPDX id: MIT Copyright (c) Tim Bray and Sun Microsystems, 2004. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://www.tbray.org/ongoing/genx/COPYING ================================================================================ HDF5 (version: 1.12.0) by: University of California, Lawrence Livermore National Laboratory (UC LLNL) https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.2/src/hdf5-1.12.2.zip -------------------------------------------------------------------------------- HDF5 license Copyright Notice and License Terms for HDF5 (Hierarchical Data Format 5) Software Library and Utilities ----------------------------------------------------------------------------- HDF5 (Hierarchical Data Format 5) Software Library and Utilities Copyright 2006 by The HDF Group. NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities Copyright 1998-2006 by The Board of Trustees of the University of Illinois. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted for any purpose (including commercial purposes) provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or materials provided with the distribution. 3. Neither the name of The HDF Group, the name of the University, nor the name of any Contributor may be used to endorse or promote products derived from this software without specific prior written permission from The HDF Group, the University, or the Contributor, respectively. DISCLAIMER: THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS "AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT SHALL THE HDF GROUP OR THE CONTRIBUTORS BE LIABLE FOR ANY DAMAGES SUFFERED BY THE USERS ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to The HDF Group, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form. ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- Limited portions of HDF5 were developed by Lawrence Berkeley National Laboratory (LBNL). LBNL's Copyright Notice and Licensing Terms can be found here: COPYING_LBNL_HDF5 file in this directory or at http://support.hdfgroup.org/ftp/HDF5/releases/COPYING_LBNL_HDF5. ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- Contributors: National Center for Supercomputing Applications (NCSA) at the University of Illinois, Fortner Software, Unidata Program Center (netCDF), The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), and Digital Equipment Corporation (DEC). ----------------------------------------------------------------------------- Portions of HDF5 were developed with support from the Lawrence Berkeley National Laboratory (LBNL) and the United States Department of Energy under Prime Contract No. DE-AC02-05CH11231. ----------------------------------------------------------------------------- Portions of HDF5 were developed with support from the University of California, Lawrence Livermore National Laboratory (UC LLNL). The following statement applies to those portions of the product and must be retained in any redistribution of source code, binaries, documentation, and/or accompanying materials: This work was partially produced at the University of California, Lawrence Livermore National Laboratory (UC LLNL) under contract no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy (DOE) and The Regents of the University of California (University) for the operation of UC LLNL. DISCLAIMER: THIS WORK WAS PREPARED AS AN ACCOUNT OF WORK SPONSORED BY AN AGENCY OF THE UNITED STATES GOVERNMENT. NEITHER THE UNITED STATES GOVERNMENT NOR THE UNIVERSITY OF CALIFORNIA NOR ANY OF THEIR EMPLOYEES, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY- OWNED RIGHTS. REFERENCE HEREIN TO ANY SPECIFIC COMMERCIAL PRODUCTS, PROCESS, OR SERVICE BY TRADE NAME, TRADEMARK, MANUFACTURER, OR OTHERWISE, DOES NOT NECESSARILY CONSTITUTE OR IMPLY ITS ENDORSEMENT, RECOMMENDATION, OR FAVORING BY THE UNITED STATES GOVERNMENT OR THE UNIVERSITY OF CALIFORNIA. THE VIEWS AND OPINIONS OF AUTHORS EXPRESSED HEREIN DO NOT NECESSARILY STATE OR REFLECT THOSE OF THE UNITED STATES GOVERNMENT OR THE UNIVERSITY OF CALIFORNIA, AND SHALL NOT BE USED FOR ADVERTISING OR PRODUCT ENDORSEMENT PURPOSES. ----------------------------------------------------------------------------- support.hdfgroup.org/ftp/HDF5/releases/COPYING ================================================================================ Intel Performance Primitives (version: 7.1.1.119) by: Intel Corporation -------------------------------------------------------------------------------- Intel Simplified Software License Intel Simplified Software License (Version April 2018) Copyright (c) 2018 Intel Corporation. Use and Redistribution. You may use and redistribute the software (the "Software"), without modification, provided the following conditions are met: * Redistributions must reproduce the above copyright notice and the following terms of use in the Software and in the documentation and/or other materials provided with the distribution. * Neither the name of Intel nor the names of its suppliers may be used to endorse or promote products derived from this Software without specific prior written permission. * No reverse engineering, decompilation, or disassembly of this Software is permitted. Limited patent license. Intel grants you a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") this Software, but solely to the extent that any such patent is necessary to Utilize the Software alone. The patent license shall not apply to any combinations which include this software. No hardware per se is licensed hereunder. Third party and other Intel programs. "Third Party Programs" are the files listed in the "third-party-programs.txt" text file that is included with the Software and may include Intel programs under separate license terms. Third Party Programs, even if included with the distribution of the Materials, are governed by separate license terms and those license terms solely govern your use of those programs. DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE MATERIALS. LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. YOU AGREE TO INDEMNIFY AND HOLD INTEL HARMLESS AGAINST ANY CLAIMS AND EXPENSES RESULTING FROM YOUR USE OR UNAUTHORIZED USE OF THE SOFTWARE. No support. Intel may make changes to the Software, at any time without notice, and is not obligated to support, update or provide training for the Software. Termination. Intel may terminate your right to use the Software in the event of your breach of this Agreement and you fail to cure the breach within a reasonable period of time. Feedback. Should you provide Intel with comments, modifications, corrections, enhancements or other input ("Feedback") related to the Software Intel will be free to use, disclose, reproduce, license or otherwise distribute or exploit the Feedback in its sole discretion without any obligations or restrictions of any kind, including without limitation, intellectual property rights or licensing obligations. Compliance with laws. You agree to comply with all relevant laws and regulations governing your use, transfer, import or export (or prohibition thereof) of the Software. Governing law. All disputes will be governed by the laws of the United States of America and the State of Delaware without reference to conflict of law principles and subject to the exclusive jurisdiction of the state or federal courts sitting in the State of Delaware, and each party agrees that it submits to the personal jurisdiction and venue of those courts and waives any objections. The United Nations Convention on Contracts for the International Sale of Goods (1980) is specifically excluded and will not apply to the Software. *Other names and brands may be claimed as the property of others. https://github.com/boostorg/boost/blob/boost-1.36.0/LICENSE_1_0.txt ================================================================================ jasper (version: 1.900.1) by: Michael David Adams https://github.com/jasper-software/jasper/tree/version-1.900.1 -------------------------------------------------------------------------------- SPDX id: JasPer-2.0 JasPer License Version 2.0 Copyright (c) 2001-2006 Michael David Adams Copyright (c) 1999-2000 Image Power, Inc. Copyright (c) 1999-2000 The University of British Columbia All rights reserved. Permission is hereby granted, free of charge, to any person (the "User") obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 1. The above copyright notices and this permission notice (which includes the disclaimer below) shall be included in all copies or substantial portions of the Software. 2. The name of a copyright holder shall not be used to endorse or promote products derived from the Software without specific prior written permission. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. https://github.com/jasper-software/jasper/blob/version-1.900.1/LICENSE ================================================================================ jsonformoderncpp (version: 3.6.1) by: Niels Lohmann https://github.com/nlohmann/json/archive/refs/tags/v3.6.1.zip -------------------------------------------------------------------------------- SPDX id: MIT MIT License Copyright (c) 2013-2022 Niels Lohmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. https://github.com/nlohmann/json/blob/v3.6.1/LICENSE.MIT ================================================================================ libjpeg (version: 8d) by: Thomas G. Lane, Guido Vollbeding www.ijg.org/files/jpegsr8d.zip -------------------------------------------------------------------------------- SPDX id: IJG LICENSE TERMS (ships as a part of the libjpeg package in the README file) ============= 1. We don't promise that this software works. (But if you find any bugs, please let us know!) 2. You can use this software for whatever you want. You don't have to pay us. 3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code. In legalese: The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy. This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. All Rights Reserved except as specified below. Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions: (1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation. (2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group". (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind. These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us. Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software". We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor. https://jpegclub.org/reference/libjpeg-license/ ================================================================================ libpng (version: 1.6.35) by: Cosmin Truta, Glenn Randers-Pehrson, Andreas Dilger, Guy Eric Schalnat https://sourceforge.net/projects/libpng/files/libpng16/1.6.35/libpng-1.6.35.tar.gz/download -------------------------------------------------------------------------------- SPDX id: Libpng This copy of the libpng notices is provided for your convenience. In case of any discrepancy between this copy and the notices in the file png.h that is included in the libpng distribution, the latter shall prevail. COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. This code is released under the libpng license. libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors: Simon-Pierre Cadieux Eric S. Raymond Mans Rullgard Cosmin Truta Gilles Vollant James Yu Mandar Sahastrabuddhe Google Inc. Vadim Barkov and with the following additions to the disclaimer: There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user. Some files in the "contrib" directory and some configure-generated files that are distributed with libpng have other copyright owners and are released under other open source licenses. libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from libpng-0.96, and are distributed according to the same disclaimer and license as libpng-0.96, with the following individuals added to the list of Contributing Authors: Tom Lane Glenn Randers-Pehrson Willem van Schaik libpng versions 0.89, June 1996, through 0.96, May 1997, are Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, and are distributed according to the same disclaimer and license as libpng-0.88, with the following individuals added to the list of Contributing Authors: John Bowler Kevin Bracey Sam Bushell Magnus Holmgren Greg Roelofs Tom Tanner Some files in the "scripts" directory have other copyright owners but are released under this license. libpng versions 0.5, May 1995, through 0.88, January 1996, are Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. For the purposes of this copyright and license, "Contributing Authors" is defined as the following set of individuals: Andreas Dilger Dave Martindale Guy Eric Schalnat Paul Schmidt Tim Wegner The PNG Reference Library is supplied "AS IS". The Contributing Authors and Group 42, Inc. disclaim all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The Contributing Authors and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of the PNG Reference Library, even if advised of the possibility of such damage. Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, for any purpose, without fee, subject to the following restrictions: 1. The origin of this source code must not be misrepresented. 2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source. 3. This Copyright notice may not be removed or altered from any source or altered source distribution. The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would be appreciated. END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. TRADEMARK: The name "libpng" has not been registered by the Copyright owner as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, the Copyright owner claims "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a certification mark of the Open Source Initiative. OSI has not addressed the additional disclaimers inserted at version 1.0.7. EXPORT CONTROL: The Copyright owner believes that the Export Control Classification Number (ECCN) for libpng is EAR99, which means not subject to export controls or International Traffic in Arms Regulations (ITAR) because it is open source, publicly available software, that does not contain any encryption software. See the EAR, paragraphs 734.3(b)(3) and 734.7(b). Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 https://sourceforge.net/projects/libpng/files/libpng16/1.6.35/libpng-1.6.35-LICENSE.txt ================================================================================ libtiff (version: 4.0.9) by: Sam Leffler https://gitlab.com/libtiff/libtiff/-/tree/v4.0.9?ref_type=tags -------------------------------------------------------------------------------- SPDX id: libtiff Copyright (c) 1988-1997 Sam Leffler Copyright (c) 1991-1997 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics. THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. https://gitlab.com/libtiff/libtiff/-/blob/v4.0.9/COPYRIGHT?ref_type=tags ================================================================================ libusbK (version: 3.0.7.0) by: Travis Lee Robinson -------------------------------------------------------------------------------- ModifiedBSD Copyright (c) 2011-2012 Travis Lee Robinson. All rights reserved. APPLICABLE FOR ALL LIBUSBK BINARIES AND SOURCE CODE UNLESS OTHERWISE SPECIFIED. PLEASE SEE INDIVIDUAL COMPONENTS LICENSING TERMS FOR DETAILS. NOTE: Portions of dpscat use source code from libwdi which is licensed for LGPL use only. (See dpscat.c) NOTE: libusbK-inf-wizard.exe is linked to libwdi which is licensed for LGPL use only. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Travis Lee Robinson nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TRAVIS ROBINSON BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- GPL-3.0-only GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TRAVIS ROBINSON BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . -------------------------------------------------------------------------------- SPDX expression: ModifiedBSD OR GPL-3.0-only ================================================================================ Log (version: 3.3.0) by: Fritz Dierks -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ Log (version: 3.4.1) by: Fritz Dierks -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ log4cpp (version: 1.0.0) by: Bastiaan Bakker https://sourceforge.net/projects/log4cpp/files/log4cpp-1.0.x%20%28old%29/log4cpp-1.0/log4cpp-1.0.tar.gz/download -------------------------------------------------------------------------------- SPDX id: LGPL-2.1-or-later As of version 0.2.1 this library is licensed under the Lesser General Public License instead of the General Public License. No further license changes are planned :-). Log for C++ (short name: log4cpp), a C++ library for flexible logging. Copyright (C) 2000-2002 LifeLine Networks bv Copyright (C) 2000-2002 Bastiaan Bakker Portions Copyright others, see file THANKS and source code. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA https://log4cpp.sourceforge.net/#license ================================================================================ MathParser (version: 0.03b.0) by: Kirill Zaborski http://kirya.narod.ru/files/mathparser_0.03.zip -------------------------------------------------------------------------------- SPDX id: LGPL-2.1-or-later GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright © 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License. “The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the “Linked Version”. The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. http://kirya.narod.ru/mathparser.html ================================================================================ nanoflann (version: 1.3.1) by: Marius Muja, David G. Lowe, Jose L. Blanco https://github.com/jlblancoc/nanoflann/archive/refs/tags/v1.3.1.zip -------------------------------------------------------------------------------- SPDX id: BSD-2-Clause Software License Agreement (BSD License) Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. Copyright 2011 Jose L. Blanco (joseluisblancoc@gmail.com). All rights reserved. THE BSD LICENSE Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://github.com/jlblancoc/nanoflann/blob/v1.3.1/COPYING ================================================================================ NodeMapData (version: 3.3.0) by: Fritz Dierks -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ NodeMapData (version: 3.4.1) by: Fritz Dierks -------------------------------------------------------------------------------- GenApi V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ openjpeg (version: 1.2) by: Benoit Macq, Antonin Descampe, Francois-Olivier Devaux, Herve Drolon, Yannick Verschueren, David Janssens https://github.com/uclouvain/openjpeg/tree/version.1.2 -------------------------------------------------------------------------------- SPDX id: BSD-2-Clause Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium Copyright (c) 2002-2007, Professor Benoit Macq Copyright (c) 2001-2003, David Janssens Copyright (c) 2002-2003, Yannick Verschueren Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe Copyright (c) 2005, Herve Drolon, FreeImage Team All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://github.com/uclouvain/openjpeg/blob/version.1.2/license.txt ================================================================================ pcl (version: 1.12.0) by: Open Perception, Inc. https://github.com/PointCloudLibrary/pcl/tree/pcl-1.12.0 -------------------------------------------------------------------------------- SPDX id: BSD-3-Clause Software License Agreement (BSD License) Point Cloud Library (PCL) - www.pointclouds.org Copyright (c) 2009-2012, Willow Garage, Inc. Copyright (c) 2012-, Open Perception, Inc. Copyright (c) XXX, respective authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder(s) nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://github.com/PointCloudLibrary/pcl/blob/pcl-1.12.0/LICENSE.txt ================================================================================ PCRE2 (version: 10.22.0) by: Philip Hazel https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.22/pcre2-10.22.zip -------------------------------------------------------------------------------- SPDX id: BSD-3-Clause PCRE2 LICENCE ------------- PCRE2 is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD" licence, as specified below, with one exemption for certain binary redistributions. The documentation for PCRE2, supplied in the "doc" directory, is distributed under the same terms as the software itself. The data in the testdata directory is not copyrighted and is in the public domain. The basic library functions are written in C and are freestanding. Also included in the distribution is a just-in-time compiler that can be used to optimize pattern matching. This is an optional feature that can be omitted when the library is built. THE BASIC LIBRARY FUNCTIONS --------------------------- Written by: Philip Hazel Email local part: Philip.Hazel Email domain: gmail.com Retired from University of Cambridge Computing Service, Cambridge, England. Copyright (c) 1997-2021 University of Cambridge All rights reserved. PCRE2 JUST-IN-TIME COMPILATION SUPPORT -------------------------------------- Written by: Zoltan Herczeg Email local part: hzmester Email domain: freemail.hu Copyright(c) 2010-2021 Zoltan Herczeg All rights reserved. STACK-LESS JUST-IN-TIME COMPILER -------------------------------- Written by: Zoltan Herczeg Email local part: hzmester Email domain: freemail.hu Copyright(c) 2009-2021 Zoltan Herczeg All rights reserved. THE "BSD" LICENCE ----------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notices, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notices, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES ------------------------------------------ The second condition in the BSD licence (covering binary redistributions) does not apply all the way down a chain of software. If binary package A includes PCRE2, it must respect the condition, but if package B is software that includes package A, the condition is not imposed on package B unless it uses PCRE2 independently. End https://github.com/PCRE2Project/pcre2/blob/pcre2-10.22/LICENCE ================================================================================ Qt (version: 5.12.1) by: The Qt Company https://github.com/qt/qt5/archive/refs/tags/v5.12.1.zip -------------------------------------------------------------------------------- SPDX expression: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-or-later OR LicenseRef-Qt-Commercial -------------------------------------------------------------------------------- SPDX expression: MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later -------------------------------------------------------------------------------- SPDX id: MIT Copyright (c) 2004 Andrey Panin This software is released under the MIT license. https://raw.githubusercontent.com/qt/qtbase/v5.12.1/src/network/kernel/qauthenticator.cpp -------------------------------------------------------------------------------- SPDX id: BSD-2-Clause Copyright (C) 2000 Ming-Che Chuang Copyright (C) 2001, 2002 James Su, Turbolinux Inc. Copyright (C) 2002 WU Yi, HancomLinux Inc. Copyright (C) 2001, 2002 Anthony Fok, ThizLinux Laboratory Ltd. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://raw.githubusercontent.com/qt/qtbase/v5.12.1/src/corelib/codecs/QBKCODEC_LICENSE.txt -------------------------------------------------------------------------------- SPDX id: BSD-3-Clause PCRE2 LICENCE ------------- PCRE2 is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD" licence, as specified below, with one exemption for certain binary redistributions. The documentation for PCRE2, supplied in the "doc" directory, is distributed under the same terms as the software itself. The data in the testdata directory is not copyrighted and is in the public domain. The basic library functions are written in C and are freestanding. Also included in the distribution is a just-in-time compiler that can be used to optimize pattern matching. This is an optional feature that can be omitted when the library is built. THE BASIC LIBRARY FUNCTIONS --------------------------- Written by: Philip Hazel Email local part: Philip.Hazel Email domain: gmail.com Retired from University of Cambridge Computing Service, Cambridge, England. Copyright (c) 1997-2021 University of Cambridge All rights reserved. PCRE2 JUST-IN-TIME COMPILATION SUPPORT -------------------------------------- Written by: Zoltan Herczeg Email local part: hzmester Email domain: freemail.hu Copyright(c) 2010-2021 Zoltan Herczeg All rights reserved. STACK-LESS JUST-IN-TIME COMPILER -------------------------------- Written by: Zoltan Herczeg Email local part: hzmester Email domain: freemail.hu Copyright(c) 2009-2021 Zoltan Herczeg All rights reserved. THE "BSD" LICENCE ----------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notices, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notices, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES ------------------------------------------ The second condition in the BSD licence (covering binary redistributions) does not apply all the way down a chain of software. If binary package A includes PCRE2, it must respect the condition, but if package B is software that includes package A, the condition is not imposed on package B unless it uses PCRE2 independently. End https://raw.githubusercontent.com/qt/qtbase/v5.12.1/src/corelib/kernel/QEVENTDISPATCHER_CF_LICENSE.txt -------------------------------------------------------------------------------- SPDX id: Unicode-DFS-2015 COPYRIGHT AND PERMISSION NOTICE Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified. https://raw.githubusercontent.com/qt/qtbase/v5.12.1/src/corelib/tools/qtimezoneprivate_data_p.h -------------------------------------------------------------------------------- SPDX id: Unicode-DFS-2016 Copyright © 1991-2018 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. https://raw.githubusercontent.com/qt/qtbase/v5.12.1/src/corelib/tools/UNICODE_LICENSE.txt ================================================================================ sqlite (version: 3.7.16.1) by: Hipp, Wyrick & Company, Inc https://github.com/sqlite/sqlite/archive/refs/tags/version-3.7.16.1.zip -------------------------------------------------------------------------------- SPDX id: blessing The author disclaims copyright to this source code. In place of a legal notice, here is a blessing: May you do good and not evil. May you find forgiveness for yourself and forgive others. May you share freely, never taking more than you give. https://spdx.org/licenses/blessing.html ================================================================================ uvgrtp (version: 2.3.0) by: A. Altonen https://github.com/ultravideo/uvgRTP/archive/refs/tags/v2.3.0.zip -------------------------------------------------------------------------------- SPDX id: BSD-2-Clause BSD 2-Clause License Copyright (c) 2019-2021, Tampere University All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://github.com/ultravideo/uvgRTP/blob/v2.3.0/COPYING ================================================================================ XmlParser (version: 3.3.0) by: Andreas Gau -------------------------------------------------------------------------------- GenICam V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ XmlParser (version: 3.4.1) by: Andreas Gau -------------------------------------------------------------------------------- GenICam V1.6 License, Rules, and Application Form GenICam_License.doc Page 1 of 11 Generic Interface for Cameras License, Rules, and Application Form V1.6 License, Rules, and Application Form GenICam_License.doc Page 2 of 11 Table of Contents 1 OVERVIEW........................................................................ ..................................................4 2 SUBJECT OF THE GENICAM LICENSE.......................................................................4 3 RULES FOR STANDARD COMPLIANCY .....................................................................5 4 RULES FOR USING THE RUNTIME VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................6 5 RULES FOR USING THE DEVELOPMENT VERSION OF THE REFERENCE IMPLEMENTATION.................................................................. ...............................................7 6 RULES FOR REDISTRIBUTING SFNC OR GENTL SFNC ........................................7 7 GENICAM COLLABORATION RULES.........................................................................8 8 GENICAM STANDARD GROUP MEMBERSHIP APPLICATION............................9 V1.6 License, Rules, and Application Form GenICam_License.doc Page 3 of 11 HISTORY Version Date Changed by Change 0.0 22.06.2005 Dr. Friedrich Dierks, Basler First draft 0.3 10.07.2005 Dr. Friedrich Dierks, Basler Reformatted text; small changes 1.0 12.07.2005 GenICam standard group RC1 1.1 15.07.2005 Christoph Zierl, MVTec  Added logo and application form  Rephrased GenICam compliance  Improved textual consistency  Deleted description of runtime / development features 1.5 draft 29.01.2014 Dr. Friedrich Dierks, Basler Christoph Zierl, MVTec Stéphane Maurice, Matrox  Updated text in Chapter 1  Added updated overview of GenICam modules in Chapter 2  Updated text about compliancy rules in Chapter 3  Replaced “2005” by “” in sample copyright notice in Chapter 4  Updated text in Chapter 5, in particular clarified the usage of the GenApi reference implementation  Renamed Chapter 6 into “GenICam Collaboration Rules” and updated text  Updated layout and added intro text in membership application form 1.5 21.09.2014 GenICam standard group Official release of v1.5 1.6 draft 03.05.2018 Christoph Zierl, MVTec  Added chapter with rules for redistributing (GenTL) SFNC  Added GenCP compliancy rules  Added FWUpdate module  Added clarification regarding how to handle bug fixes and changes regarding unsupported platforms and compilers  Added clarification regarding how to change the GenICam teamwork rules 1.6 29.06.2018 GenICam standard group Official release of v1.6 V1.6 License, Rules, and Application Form GenICam_License.doc Page 4 of 11 1 Overview This document describes the GenICam license and the collaboration rules within the GenICam standard group. Furthermore, the official membership application form is also part of this document. 2 Subject of the GenICam License The goal of GenICam is to provide a generic programming interface for cameras which is independent of the camera’s interface technology like GigE Vision, USB3 Vision, CoaXPress, Camera Link, 1394 DCAM, or else. GenICam requires that cameras have a low level, register based programming interface, and that interface standards define a protocol for accessing these registers. All modern interface standards follow this scheme. The GenICam standard consists of several modules according to the main tasks to be solved:  GenApi: standardizes the format of a XML based device description file which describes how to map high level feature access (e.g. Camera.Gain = 42) by the user to low level register accesses (e.g. Camera.WriteReg( 0xff1234, 0x2A, 2)) .  SFNC (Standard Features Naming Convention): standardizes names, types, and behavior for the most common device features resulting in a plug&play-like interoperability between products from different vendors. Part of the SFNC is also the PFNC (Pixel Format Naming Convention) which standardizes the memory layout of video data.  CLProtocol: standardizes the interface of an adapter DLL to permit interfacing Camera Link cameras with GenICam.  FWUpdate: standardizes the firmware update process for devices using GenApi.  GenTL: standardizes a generic programming interface for transport layers, which defines the enumeration, control and data acquisition of cameras. This interface allows combining drivers and image processing libraries from different vendors.  GenTL SFNC: standardizes names, types, and behavior for common features of the transport layer interface.  GenCP (generic control protocol): standardizes a generic packet based protocol for controlling cameras. It is used to simplify the definition and implementation of new transport layer standards. The GenICam standard group also provides a reference implementation for the GenApi module. The reference implementation is a collection of software modules which can be distributed in two ways: as runtime version or as development version, see Chapters 4 and 5 for more details about using and redistributing the reference implementation. The runtime as well as the development version may contain 3rd party modules which come with their own license. These licenses override the GenICam license. V1.6 License, Rules, and Application Form GenICam_License.doc Page 5 of 11 Note that GenICam is an industry standard which is mostly used by vendors “under the hood” to provide interoperability between their products. As a consequence of this, the reference implementation does not contain any driver and thus cannot be used stand-alone to control a camera. 3 Rules for Standard Compliancy The standard documents are available for free to anybody. Users may download the latest version of the standard documents from the GenICam website at www.genicam.org. Regarding compliancy, the GenICam standard has been divided into three parts:  GenICam (mainly the modules GenApi and SFNC)  GenICam TL (mainly the modules GenTL and GenTL SFNC)  GenICam CP (mainly the module GenCP) While the compliancy rules for GenICam (i.e, the modules GenApi and SFNC) are always valid, the compliancy rules for GenICam TL and GenICam CP are only valid if applicable. The term GenICam compliant is true for:  Cameras (or other devices) providing a GenICam compliant XML based device description file and obeying the standard’s additional rules. In particular, it must follow the GenICam Standard Features Naming Convention (SFNC), whenever applicable or possible.  Software libraries being able to access GenICam compliant devices. The term GenICam TL compliant is true for:  Products that provide a transport layer interface compatible with the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Producers").  Products that can access devices via a GenICam GenTL Producer based on the definitions of the GenTL and the GenTL SFNC modules ("GenICam GenTL Consumers"). The term GenICam CP compliant is true for:  Cameras (or other devices) that support the generic packet-based protocol and provide the bootstrap register map as defined in the GenICam GenCP standard.  Products that can access devices via the generic packet-based protocol and bootstrap register map as defined in the GenICam GenCP standard. In general, the GenICam compliancy is declared by self-certification. The GenICam standard group can provide additional checklists that have to be used during the self-certification procedure. Vendors may use the GenICam logo(s) and use the name GenICamTM for advertising GenICam compliant products. In future, additional compliancy procedures may become mandatory for new devices such as validation test suites and/or obligations to participate at plug-fests. V1.6 License, Rules, and Application Form GenICam_License.doc Page 6 of 11 4 Rules for Using the Runtime Version of the Reference Implementation The runtime version of the reference implementation is available for free to anybody. Everyone may download the latest version from the GenICam website anonymously. The runtime version is distributed under a modified BSD license: Copyright (c) 2005-, All rights reserved. Redistribution and use in source and binary forms, without1 modification, are permitted provided that the following conditions are met:  Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  Neither the name of the GenICam standard group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In contrast to the BSD license the user must not modify the software except the installation procedure, see Chapter 5 for more details. This is to make sure only properly tested and released GenICam versions are used in the machine vision community and the support effort is restricted. 1 The original BSD license reads here “with or without modification”. V1.6 License, Rules, and Application Form GenICam_License.doc Page 7 of 11 5 Rules for Using the Development Version of the Reference Implementation In order to get access to the development version of the GenICam reference implementation a company must become associated member of the GenICam standard group. It can do so at no cost by registering at the EMVA by using the membership application form in the Appendix section. By registering, the designated representative contact can name a reasonable number of company individuals which get the following benefits:  Access to code repository, in particular to download the GenICam source code and use it for debugging.  Access to the GenICam mailing list.  Technical support from the GenICam community through the GenICam mailing list.  The company name is listed on the GenICam website as an associated member. By registering the company accepts the following obligations:  It must not give the source code to any 3rd party.  All bug fixes and all changes regarding unsupported platforms and compilers (for which no official binaries exist yet) shall be submitted to the respective GenICam module maintainers for reviewing and testing. Once the code change is in the code repository, private builds can be made using the repository code, provided that the official way to create a private namespace and private binary names is used. Additionally, the self-generated release must clearly indicate the snapshot version used and state that it is not an official release.  Custom builds of the unmodified source of the GenICam reference implementation may be re-distributed by companies, provided that they follow the official mechanism for utilizing private binary names, namespaces, and indicate the repository snapshot version of the source code.  It must submit improvements to the GenICam standard group which will validate them and add them to the next GenICam release in reasonable time.  The company must declare any intellectual property owned by it that may conflict with GenICam specifications. This is part of the application form. 6 Rules for Redistributing SFNC or GenTL SFNC Redistributing (parts of) SFNC or GenTL SFNC without modification, addition or interpretation, is allowed as long as it is clearly stated that this is a copy of the GenICam (GenTL) SFNC standard document version that can be found at www.genicam.org. V1.6 License, Rules, and Application Form GenICam_License.doc Page 8 of 11 7 GenICam Collaboration Rules The GenICam standard and its reference implementation are maintained and extended by the contributing members of the GenICam standard group. The development runs along the following workflow:  There are regular meetings. Typically, these meetings take place twice a year. Between meetings work packages are given to all companies who want to stay or become contributing members. A typical work package would be extending the reference implementation, writing a part of the standard specification, developing tests for the validation framework, preparing SFNC proposals, and marketing/administrative issues.  Each meeting starts by reviewing the work packages given from the last meeting. The contributing members accept the work package of each company by vote (simple majority). Those members having their work package accepted become contributing members as soon as the work package review is finished.  If during the meeting, decisions are made, the contributing members vote according to the following rules:  Voting is always performed during meetings or per email if approved modifications need to be incorporated.  Only contributing members can vote.  There is one vote per independent member company.  A simple majority is required for normal technical decisions.  A 2/3 majority is required for releases of the standard and/or the reference implementation.  A 2/3 majority is required for changing the teamwork rules. Any changes in the teamwork rules should, however, be communicated to and discussed with the EMVA Board of Directors.At the end of each meeting the contributing members define work packages available for all companies who want to contribute for the next meeting. These work packages are designed to distribute the current standard work on each working company and take into account the various interests and skills of each company. Any associated member can take a work package and thus become contributing member at the next meeting provided the work package is approved. Spare work packages may be defined so that companies wanting to join between meetings can pick it up and become contributing member immediately on the next meeting. The GenICam standard group is led by one chair and several sub-chairs. Typically, the (sub-)chairs are also the responsible persons for the maintenance of specific GenICam modules. The GenICam chairs are elected for a period of three years. The voting takes place during the regular meetings and requires a 2/3 majority. V1.6 License, Rules, and Application Form GenICam_License.doc Page 9 of 11 8 GenICam Standard Group Membership Application To apply for membership, please use this form, including the “Patent and Intellectual Property Rights Disclosure Statement”. Both forms have to be filled in completely, signed, and sent by email to info@emva.org with subject "GenICam Standard Group Membership Application". By signing the form, one accepts the GenICam license. After verification of the data provided in the form, the company becomes associated member of the GenICam standard group and gets access to the GenICam mailing list and repository. We are interested in the work of the GenICam standard group, and hereby apply for membership as an associated member. Our designated representative contact is: Name: Title: Company: Address: City: State/Province: Zip/Postal Code: Country: E-mail: Phone: FAX: Signature of applicant: Printed name: Title: Our interest category is:  Supplier (those directly concerned with the production, manufacture, or distribution of the products or components involved)  User (those who use the product(s) involved) Our technical competence is considered to be in: (check all areas that apply) V1.6 License, Rules, and Application Form GenICam_License.doc Page 10 of 11  Camera / Camera Control  API software  Frame grabber  Machine Vision software  Other: We have or are currently developing a GenICam compliant product:  Yes  No We plan to develop a GenICam compliant product:  Yes  No Device type: Target introduction:  6 Months  12 Months  Other: Statement of qualification/interest: Additional contacts for e-mail distribution and source code access: Name: E-mail: Name: E-mail: Name: E-mail: Name: E-mail: EMVA administration use only: Membership Check: Patent and IP Statement: Approval: Posted: V1.6 License, Rules, and Application Form GenICam_License.doc Page 11 of 11 Patent and Intellectual Property Rights Disclosure Statement Standards developed by the EMVA generally should not include the use of a patented item. However, technical reasons may justify such inclusion. In such cases the EMVA must place statements from parties to the standard into our records to reflect whether they are a patent holder or intend to hold any invention or intellectual property rights the use of which would be required for compliance with the proposed standard, and their intention for exercising such rights. For acceptance as an associated member of the GenICam standard group the below listed company, its officers, or controlling parties declares:  It does not hold and does not currently intend holding any invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard.  It does hold or do currently intend holding an invention or intellectual property rights the use of which would be required for compliance with the proposed GenICam standard. A license will be made available to any and all applicants under the following terms and conditions: Certification to be completed by the appropriate Corporate Officer with reasonable oversight of corporate holdings, applications or intentions regarding patents and Intellectual Property, e.g. CEO, President or Senior Technical Officer. I certify the above declaration to be a true and correct statement of fact. Signature: Date: Name: Title: Company: https://www.emva.org/wp-content/uploads/GenICam_License_20180629.pdf ================================================================================ xs3p (version: 1.1.5) by: https://sourceforge.net/projects/xs3p/files/xs3p-1.1.5.zip/download -------------------------------------------------------------------------------- xs3p From: Subject: DSTC Public License Date: Thu, 25 Sep 2008 18:08:08 +0200 MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: file://C:\Projects\genicam_v1_2\xml\GenApi\xs3p-1.1.3\LICENSE.html X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 =EF=BB=BF DSTC Public License

DSTC Public License (DPL)

Version 1.1

1. Definitions.

1.0.1. "Commercial Use" means distribution or otherwise making = the=20 Covered Code available to a third party.

1.1. "Contributor" means each entity that creates or = contributes to=20 the creation of Modifications.

1.2. "Contributor Version" means the combination of the = Original Code,=20 prior Modifications used by a Contributor, and the Modifications made by = that=20 particular Contributor.

1.3. "Covered Code" means the Original Code or Modifications = or the=20 combination of the Original Code and Modifications, in each case = including=20 portions thereof.

1.4. "Electronic Distribution Mechanism" means a mechanism = generally=20 accepted in the software development community for the electronic = transfer of=20 data.

1.5. "Executable" means Covered Code in any form other than = Source=20 Code.

1.6. "Initial Developer" means the individual or entity = identified as=20 the Initial Developer in the Source Code notice required by Exhibit=20 A.

1.7. "Larger Work" means a work which combines Covered Code or = portions thereof with code not governed by the terms of this = License.

1.8. "License" means this document.

1.8.1. "Licensable" means having the right to grant, to the = maximum=20 extent possible, whether at the time of the initial grant or = subsequently=20 acquired, any and all of the rights conveyed herein.

1.9. "Modifications" means any addition to or deletion from = the=20 substance or structure of either the Original Code or any previous=20 Modifications. When Covered Code is released as a series of files, a=20 Modification is:

  • A. Any addition to or deletion from the contents of a file=20 containing Original Code or previous Modifications.=20
  • B. Any new file that contains any part of the Original Code = or=20 previous Modifications.

1.10. "Original Code" means Source Code of computer software = code=20 which is described in the Source Code notice required by Exhibit = A as=20 Original Code, and which, at the time of its release under this License = is not=20 already Covered Code governed by this License.

1.10.1. "Patent Claims" means any patent claim(s), now owned = or=20 hereafter acquired, including without limitation, method, process, and = apparatus=20 claims, in any patent Licensable by grantor.

1.11. "Source Code" means the preferred form of the Covered = Code for=20 making modifications to it, including all modules it contains, plus any=20 associated interface definition files, scripts used to control = compilation and=20 installation of an Executable, or source code differential comparisons = against=20 either the Original Code or another well known, available Covered Code = of the=20 Contributor's choice. The Source Code can be in a compressed or archival = form,=20 provided the appropriate decompression or de-archiving software is = widely=20 available for no charge.

1.12. "You" (or "Your") means an individual or a legal entity=20 exercising rights under, and complying with all of the terms of, this = License or=20 a future version of this License issued under Section 6.1. For legal = entities,=20 "You" includes any entity which controls, is controlled by, or is under = common=20 control with You. For purposes of this definition, "control" means (a) = the=20 power, direct or indirect, to cause the direction or management of such = entity,=20 whether by contract or otherwise, or (b) ownership of more than fifty = percent=20 (50%) of the outstanding shares or beneficial ownership of such = entity.

2. Source Code License.

2.1. The Initial Developer Grant.

The Initial Developer hereby grants You a world-wide, royalty-free,=20 non-exclusive license, subject to third party intellectual property = claims:

(a) under intellectual property rights (other than patent or=20 trademark) Licensable by Initial Developer to use, reproduce, modify, = display,=20 perform, sublicense and distribute the Original Code (or portions = thereof) with=20 or without Modifications, and/or as part of a Larger Work; and

(b) under Patents Claims infringed by the making, using or = selling of=20 Original Code, to make, have made, use, practice, sell, and offer for = sale,=20 and/or otherwise dispose of the Original Code (or portions thereof).

(c) the licenses granted in this Section 2.1(a) and (b) are = effective=20 on the date Initial Developer first distributes Original Code under the = terms of=20 this License.

(d) Notwithstanding Section 2.1(b) above, no patent license is = granted: 1) for code that You delete from the Original Code; 2) separate = from=20 the Original Code; or 3) for infringements caused by: i) the = modification of the=20 Original Code or ii) the combination of the Original Code with other = software or=20 devices.

2.2. Contributor Grant.

Subject to third party intellectual property claims, each Contributor = hereby=20 grants You a world-wide, royalty-free, non-exclusive license

(a) under intellectual property rights (other than patent or=20 trademark) Licensable by Contributor, to use, reproduce, modify, = display,=20 perform, sublicense and distribute the Modifications created by such = Contributor=20 (or portions thereof) either on an unmodified basis, with other = Modifications,=20 as Covered Code and/or as part of a Larger Work; and

(b) under Patent Claims infringed by the making, using, or = selling of=20 Modifications made by that Contributor either alone and/or in = combination with=20 its Contributor Version (or portions of such combination), to make, use, = sell,=20 offer for sale, have made, and/or otherwise dispose of: 1) Modifications = made by=20 that Contributor (or portions thereof); and 2) the combination of = Modifications=20 made by that Contributor with its Contributor Version (or portions of = such=20 combination).

(c) the licenses granted in Sections 2.2(a) and 2.2(b) are = effective=20 on the date Contributor first makes Commercial Use of the Covered = Code.

(d) Notwithstanding Section 2.2(b) above, no patent license is = granted: 1) for any code that Contributor has deleted from the = Contributor=20 Version; 2) separate from the Contributor Version; 3) for infringements = caused=20 by: i) third party modifications of Contributor Version or ii) the = combination=20 of Modifications made by that Contributor with other software (except as = part of=20 the Contributor Version) or other devices; or 4) under Patent Claims = infringed=20 by Covered Code in the absence of Modifications made by that = Contributor.

3. Distribution Obligations

3.1. Application of License.

The Modifications which You create or to which You contribute are = governed by=20 the terms of this License, including without limitation Section = 2.2. The=20 Source Code version of Covered Code may be distributed only under the = terms of=20 this License or a future version of this License released under Section=20 6.1, and You must include a copy of this License with every copy = of the=20 Source Code You distribute. You may not offer or impose any terms on any = Source=20 Code version that alters or restricts the applicable version of this = License or=20 the recipients' rights hereunder. However, You may include an additional = document offering the additional rights described in Section = 3.5.

3.2. Availability of Source Code.

Any Modification which You create or to which You contribute must be = made=20 available in Source Code form under the terms of this License either on = the same=20 media as an Executable version or via an accepted Electronic = Distribution=20 Mechanism to anyone to whom you made an Executable version available; = and if=20 made available via Electronic Distribution Mechanism, must remain = available for=20 at least twelve (12) months after the date it initially became = available, or at=20 least six (6) months after a subsequent version of that particular = Modification=20 has been made available to such recipients. You are responsible for = ensuring=20 that the Source Code version remains available even if the Electronic=20 Distribution Mechanism is maintained by a third party.

3.3. Description of Modifications.

You must cause all Covered Code to which You contribute to contain a = file=20 documenting the changes You made to create that Covered Code and the = date of any=20 change. You must include a prominent statement that the Modification is = derived,=20 directly or indirectly, from Original Code provided by the Initial = Developer and=20 including the name of the Initial Developer in (a) the Source Code, and = (b) in=20 any notice in an Executable version or related documentation in which = You=20 describe the origin or ownership of the Covered Code.

3.4. Intellectual Property Matters

(a) Third Party Claims.

If Contributor has knowledge that a license under a third party's=20 intellectual property rights is required to exercise the rights granted = by such=20 Contributor under Sections 2.1 or 2.2, Contributor must include a text = file with=20 the Source Code distribution titled "LEGAL" which describes the claim = and the=20 party making the claim in sufficient detail that a recipient will know = whom to=20 contact. If Contributor obtains such knowledge after the Modification is = made=20 available as described in Section 3.2, Contributor shall promptly modify = the=20 LEGAL file in all copies Contributor makes available thereafter and = shall take=20 other steps (such as notifying appropriate mailing lists or newsgroups)=20 reasonably calculated to inform those who received the Covered Code that = new=20 knowledge has been obtained.

(b) Contributor APIs.

If Contributor's Modifications include an application programming = interface=20 and Contributor has knowledge of patent licenses which are reasonably = necessary=20 to implement that API, Contributor must also include this information in = the=20 LEGAL file.

(c) Representations.

Contributor represents that, except as disclosed pursuant to Section = 3.4(a)=20 above, Contributor believes that Contributor's Modifications are = Contributor's=20 original creation(s) and/or Contributor has sufficient rights to grant = the=20 rights conveyed by this License.

3.5. Required Notices.

You must duplicate the notice in Exhibit A in each file of the = Source=20 Code. If it is not possible to put such notice in a particular Source = Code file=20 due to its structure, then You must include such notice in a location = (such as a=20 relevant directory) where a user would be likely to look for such a = notice. If=20 You created one or more Modification(s) You may add your name as a = Contributor=20 to the notice described in Exhibit A. You must also duplicate = this=20 License in any documentation for the Source Code where You describe = recipients'=20 rights or ownership rights relating to Covered Code. You may choose to = offer,=20 and to charge a fee for, warranty, support, indemnity or liability = obligations=20 to one or more recipients of Covered Code. However, You may do so only = on Your=20 own behalf, and not on behalf of the Initial Developer or any = Contributor. You=20 must make it absolutely clear than any such warranty, support, indemnity = or=20 liability obligation is offered by You alone, and You hereby agree to = indemnify=20 the Initial Developer and every Contributor for any liability incurred = by the=20 Initial Developer or such Contributor as a result of warranty, support,=20 indemnity or liability terms You offer.

3.6. Distribution of Executable Versions.

You may distribute Covered Code in Executable form only if the = requirements=20 of Section 3.1-3.5 have been met for that Covered Code, and if = You=20 include a notice stating that the Source Code version of the Covered = Code is=20 available under the terms of this License, including a description of = how and=20 where You have fulfilled the obligations of Section 3.2. The = notice must=20 be conspicuously included in any notice in an Executable version, = related=20 documentation or collateral in which You describe recipients' rights = relating to=20 the Covered Code. You may distribute the Executable version of Covered = Code or=20 ownership rights under a license of Your choice, which may contain terms = different from this License, provided that You are in compliance with = the terms=20 of this License and that the license for the Executable version does not = attempt=20 to limit or alter the recipient's rights in the Source Code version from = the=20 rights set forth in this License. If You distribute the Executable = version under=20 a different license You must make it absolutely clear that any terms = which=20 differ from this License are offered by You alone, not by the Initial = Developer=20 or any Contributor. You hereby agree to indemnify the Initial Developer = and=20 every Contributor for any liability incurred by the Initial Developer or = such=20 Contributor as a result of any such terms You offer.

3.7. Larger Works.

You may create a Larger Work by combining Covered Code with other = code not=20 governed by the terms of this License and distribute the Larger Work as = a single=20 product. In such a case, You must make sure the requirements of this = License are=20 fulfilled for the Covered Code.

4. Inability to Comply Due to Statute or Regulation.

If it is impossible for You to comply with any of the terms of this = License=20 with respect to some or all of the Covered Code due to statute, judicial = order,=20 or regulation then You must: (a) comply with the terms of this License = to the=20 maximum extent possible; and (b) describe the limitations and the code = they=20 affect. Such description must be included in the LEGAL file described in = Section=20 3.4 and must be included with all distributions of the Source = Code.=20 Except to the extent prohibited by statute or regulation, such = description must=20 be sufficiently detailed for a recipient of ordinary skill to be able to = understand it.

5. Application of this License.

This License applies to code to which the Initial Developer has = attached the=20 notice in Exhibit A and to related Covered Code.

6. Versions of the License.

6.1. New Versions

The Distributed Systems Technology Centre ("DSTC") may publish = revised and/or=20 new versions of the License from time to time. Each version will be = given a=20 distinguishing version number.

6.2. Effect of New Versions

Once Covered Code has been published under a particular version of = the=20 License, You may always continue to use it under the terms of that = version. You=20 may also choose to use such Covered Code under the terms of any = subsequent=20 version of the License published by DSTC. No one other than DSTC has the = right=20 to modify the terms applicable to Covered Code created under this = License.

6.3. Derivative Works

If You create or use a modified version of this License (which you = may only=20 do in order to apply it to code which is not already Covered Code = governed by=20 this License), You must (a) rename Your license so that the phrases = "DSTC",=20 "DPL" or any confusingly similar phrase do not appear in your license = (except to=20 note that your license differs from this License) and (b) otherwise make = it=20 clear that Your version of the license contains terms which differ from = the DSTC=20 Public License. (Filling in the name of the Initial Developer, Original = Code or=20 Contributor in the notice described in Exhibit A shall not of = themselves=20 be deemed to be modifications of this License.)

7. Disclaimer of Warranty.

COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, = WITHOUT=20 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT=20 LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, = MERCHANTABLE,=20 FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO = THE=20 QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY = COVERED CODE=20 PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY = OTHER=20 CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR = CORRECTION.=20 THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS = LICENSE. NO=20 USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS=20 DISCLAIMER.

8. Termination.

8.1. This License and the rights granted hereunder will = terminate=20 automatically if You fail to comply with terms herein and fail to cure = such=20 breach within 30 days of becoming aware of the breach. All sublicenses = to the=20 Covered Code which are properly granted shall survive any termination of = this=20 License. Provisions which, by their nature, must remain in effect beyond = the=20 termination of this License shall survive.

8.2. If You initiate litigation by asserting a patent = infringement=20 claim (excluding declatory judgment actions) against Initial Developer = or a=20 Contributor (the Initial Developer or Contributor against whom You file = such=20 action is referred to as 'Participant') alleging that:

(a) such Participant's Contributor Version directly or = indirectly=20 infringes any patent, then any and all rights granted by such = Participant to You=20 under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice = from=20 Participant terminate prospectively, unless if within 60 days after = receipt of=20 notice You either: (i) agree in writing to pay Participant a mutually = agreeable=20 reasonable royalty for Your past and future use of Modifications made by = such=20 Participant, or (ii) withdraw Your litigation claim with respect to the=20 Contributor Version against such Participant. If within 60 days of = notice, a=20 reasonable royalty and payment arrangement are not mutually agreed upon = in=20 writing by the parties or the litigation claim is not withdrawn, the = rights=20 granted by Participant to You under Sections 2.1 and/or 2.2 = automatically=20 terminate at the expiration of the 60 day notice period specified = above.

(b) any software, hardware, or device, other than such = Participant's=20 Contributor Version, directly or indirectly infringes any patent, then = any=20 rights granted to You by such Participant under Sections 2.1(b) and = 2.2(b) are=20 revoked effective as of the date You first made, used, sold, = distributed, or had=20 made, Modifications made by that Participant.

8.3. If You assert a patent infringement claim against = Participant=20 alleging that such Participant's Contributor Version directly or = indirectly=20 infringes any patent where such claim is resolved (such as by license or = settlement) prior to the initiation of patent infringement litigation, = then the=20 reasonable value of the licenses granted by such Participant under = Sections 2.1=20 or 2.2 shall be taken into account in determining the amount or value of = any=20 payment or license.

8.4. In the event of termination under Sections 8.1 or 8.2 = above, all=20 end user license agreements (excluding distributors and resellers) which = have=20 been validly granted by You or any distributor hereunder prior to = termination=20 shall survive termination.

9. Limitation of Liability.

UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT = (INCLUDING=20 NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, = ANY OTHER=20 CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY = OF SUCH=20 PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, = OR=20 CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, = DAMAGES=20 FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR = ANY AND=20 ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE = BEEN=20 INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF = LIABILITY SHALL=20 NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH = PARTY'S=20 NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME=20 JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR=20 CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO = YOU.

10. U.S. Government End Users.

The Covered Code is a "commercial item," as that term is defined in = 48 C.F.R.=20 2.101 (Oct. 1995), consisting of "commercial computer software" and = "commercial=20 computer software documentation," as such terms are used in 48 C.F.R. = 12.212=20 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 = through=20 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered = Code with=20 only those rights set forth herein.

11. Miscellaneous.

This License represents the complete agreement concerning subject = matter=20 hereof. If any provision of this License is held to be unenforceable, = such=20 provision shall be reformed only to the extent necessary to make it = enforceable.=20 This License shall be governed by Queensland, Australia law provisions = (except=20 to the extent applicable law, if any, provides otherwise), excluding its = conflict-of-law provisions. With respect to disputes in which at least = one party=20 is a citizen of, or an entity chartered or registered to do business in=20 Australia, any litigation relating to this License shall be subject to = the=20 jurisdiction of Australian Courts, with the losing party responsible for = costs,=20 including without limitation, court costs and reasonable attorneys' fees = and=20 expenses. The application of the United Nations Convention on Contracts = for the=20 International Sale of Goods is expressly excluded. Any law or regulation = which=20 provides that the language of a contract shall be construed against the = drafter=20 shall not apply to this License.

12. Responsibility for Claims.

As between Initial Developer and the Contributors, each party is = responsible=20 for claims and damages arising, directly or indirectly, out of its = utilization=20 of rights under this License and You agree to work with Initial = Developer and=20 Contributors to distribute such responsibility on an equitable basis. = Nothing=20 herein is intended or shall be deemed to constitute any admission of=20 liability.

13. Multiple-licensed Code.

Initial Developer may designate portions of the Covered Code as=20 "Multiple-Licensed". "Multiple-Licensed" means that the Initial = Developer=20 permits you to utilize portions of the Covered Code under Your choice of = the DPL=20 or the alternative licenses, if any, specified by the Initial Developer = in the=20 file described in Exhibit A.

14. High Risk Activities.

The Software is not fault-tolerant and is not designed, manufactured = or=20 intended for use or resale as on-line control equipment in hazardous=20 environments requiring fail-safe performance, such as in the operation = of=20 nuclear facilities, aircraft navigation or communication systems, air = traffic=20 control, direct life support machines, or weapons systems, in which the = failure=20 of the Software could lead directly to death, personal injury, or severe = physical or environmental damage ("High Risk Activities").

EXHIBIT A - DSTC Public License.

The contents of this file are subject to the DSTC Public License = Version 1.1=20 (the 'License'); you may not use this file except in compliance with the = License.

Software distributed under the License is distributed on an 'AS IS' = basis,=20 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License = for the=20 specific language governing rights and limitations under the = License.

The Original Code is ______________________________________.

The Initial Developer of the Original Code is = ________________________.=20 Portions created by ______________________ are Copyright =C2=A9=20 _____________________________. All Rights Reserved.

Contributor(s): ______________________________________.

Alternatively, the contents of this file may be used under the terms = of the=20 _____ license (the "[___] License"), in which case the provisions of = [______]=20 License are applicable instead of those above. If you wish to allow use = of your=20 version of this file only under the terms of the [____] License and not = to allow=20 others to use your version of this file under the DPL, indicate your = decision by=20 deleting the provisions above and replace them with the notice and other = provisions required by the [___] License. If you do not delete the = provisions=20 above, a recipient may use your version of this file under either the = DPL or the=20 [___] License.'

[NOTE: The text of this Exhibit A may differ slightly from the text = of the=20 notices in the Source Code files of the Original Code. You should use = the text=20 of this Exhibit A rather than the text found in the Original Code Source = Code=20 for Your Modifications.]

https://docs.alliedvision.com/Vimba_X/Vimba_X_DeveloperGuide/_downloads/bf68854ed599e86458e218249fd8b6f7/xs3p_License.mht ================================================================================ xsde (version: 3.2.0) by: Boris Kolpackov https://www.codesynthesis.com/download/xsde/3.2/windows/i686/xsde-3.2.0-i686-windows.zip -------------------------------------------------------------------------------- SPDX id: GPL-2.0-or-later GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. https://www.codesynthesis.com/licenses/gpl-2.txt ================================================================================ XSLTProc (version: 1.1.38) by: Daniel Veillard, Thomas Broyer https://gitlab.gnome.org/GNOME/libxslt/-/archive/v1.1.38/libxslt-v1.1.38.zip -------------------------------------------------------------------------------- SPDX id: MIT Licence for libxslt except libexslt ---------------------------------------------------------------------- Copyright (C) 2001-2002 Daniel Veillard. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is fur- nished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of Daniel Veillard shall not be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from him. ---------------------------------------------------------------------- Licence for libexslt ---------------------------------------------------------------------- Copyright (C) 2001-2002 Thomas Broyer, Charlie Bozeman and Daniel Veillard. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is fur- nished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of the authors shall not be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from him. ---------------------------------------------------------------------- https://gitlab.gnome.org/GNOME/libxslt/-/blob/v1.1.38/Copyright?ref_type=tags ================================================================================ xxhash (version: 0.8.2) by: Yann Collet https://github.com/Cyan4973/xxHash/releases/download/v0.8.2/xxhsum_win64_v0_8_2.zip -------------------------------------------------------------------------------- SPDX id: BSD-3-Clause xxHash Library Copyright (c) 2012-2021 Yann Collet All rights reserved. BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. https://github.com/Cyan4973/xxHash/blob/v0.8.2/LICENSE ================================================================================ zlib (version: 1.2.11) by: Jean-Loup Gailly, Mark Adler https://github.com/madler/zlib/archive/refs/tags/v1.2.11.zip -------------------------------------------------------------------------------- SPDX id: Zlib /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.8, April 28th, 2013 Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). */ https://github.com/madler/zlib/blob/v1.2.11/zlib.h ================================================================================ zlib (version: 1.2.8) by: Jean-Loup Gailly, Mark Adler https://github.com/madler/zlib/archive/refs/tags/v1.2.8.zip -------------------------------------------------------------------------------- SPDX id: Zlib /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.8, April 28th, 2013 Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). */ https://github.com/madler/zlib/blob/v1.2.8/zlib.h