On Tue, Sep 2, 2014 at 11:51 AM, Joel Sherrill <joel.sherr...@oarcorp.com> wrote: > This is the license. > > The big problem I see first is the typical use only on our hardware > and that in order to redistribute, we must ensure that it is only > used on ARM hardware. > > This is a common restriction on vendor provided software and I > honestly don't know how to address including anything which > wants an open source project to ensure that anyone downloading > only uses it on the appropriate hardware. > > We have seen similar licenses from at least four vendors. > > If someone is able to crack this nut and find a way to not incur > liability for the RTEMS Project, I am open to ideas. But skeptical.
Would this mean that an implementation from scratch would be the best choice? > > --joel > > ======================================================== > > END USER LICENCE AGREEMENT FOR THE CORTEX MICROCONTROLLER SOFTWARE > INTERFACE STANDARD (CMSIS) SPECIFICATION AND SOFTWARE > > THIS END USER LICENCE AGREEMENT ("LICENCE") IS A LEGAL AGREEMENT BETWEEN > YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED > ("ARM") FOR THE USE OF THE CMSIS SPECIFICATION, EXAMPLE CODE, DSP > LIBRARY SPECIFICATION AND DSP LIBRARY IMPLEMENTATION AS SUCH TERMS ARE > DEFINED BELOW (COLLECTIVELY, THE "ARM DELIVERABLES"). ARM IS ONLY > WILLING TO LICENSE THE ARM DELIVERABLES TO YOU ON CONDITION THAT YOU > ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING "I AGREE", OR BY > INSTALLING OR OTHERWISE USING OR COPYING THE ARM DELIVERABLES YOU > INDICATE THAT YOU AGREE TO BE BOUND BY ALL THE TERMS OF THIS LICENCE. IF > YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, ARM IS UNWILLING TO > LICENSE YOU TO USE THE ARM DELIVERABLES AND YOU MAY NOT INSTALL, USE OR > COPY THE ARM DELIVERABLES. > > "CMSIS Specification" means any documentation and C programming language > files defining the application programming interface, naming and coding > conventions of the Cortex Microcontroller Software Interface Standard > (CMSIS) as well as the System View Description (SVD) documentation and > associated XML schema file. Notwithstanding the foregoing, "CMSIS > Specification" shall not include (i) the implementation of other > published specifications referenced in the CMSIS Specification; (ii) any > enabling technologies that may be necessary to make or use any product > or portion thereof that complies with the CMSIS Specification, but are > not themselves expressly set forth in the CMSIS Specification (e.g. > compiler front ends, code generators, back ends, libraries or other > compiler, assembler or linker technologies; validation or debug software > or hardware; applications, operating system or driver software; RISC > architecture; processor microarchitecture); (iii) maskworks and physical > layouts of integrated circuit designs; or (iv) RTL or other high level > representations of integrated circuit designs. > > "DSP Library Implementation" means any C programming language source > code implementing the functionality of the digital signal processor > (DSP) algorithms and the application programming interface as defined in > the DSP Library Specification. The DSP Library Implementation makes use > of CMSIS application programming interface and therefore is targeted at > Cortex-M class processors. > > "DSP Library Specification" means the DSP library documentation and C > programming language file defining the application programming interface > of the DSP Library Implementation. Notwithstanding the foregoing, "DSP > Library Specification" shall not include (i) the implementation of other > published specifications referenced in the DSP Library Specification; > (ii) any enabling technologies that may be necessary to make or use any > product or portion thereof that complies with the DSP Library > Specification, but are not themselves expressly set forth in the DSP > Library Specification (e.g. compiler front ends, code generators, back > ends, libraries or other compiler, assembler or linker technologies; > validation or debug software or hardware; applications, operating system > or driver software; RISC architecture; processor microarchitecture); > (iii) maskworks and physical layouts of integrated circuit designs; or > (iv) RTL or other high level representations of integrated circuit designs. > > "Example Code" means any files in C, C++ or ARM assembly programming > languages, associated project and configuration files that demonstrate > the usage of the CMSIS Specification, the DSP Library Specification and > the DSP Library Implementation, for microprocessors or device specific > software applications that are for use with microprocessors. > > 1. LICENCE GRANTS. > > 1.1 ARM hereby grants to you, subject to the terms and conditions of > this Licence, a non-exclusive, non-transferable licence, to; > > (i) use and copy the CMSIS Specification for the purpose of developing, > having developed, manufacturing, having manufactured, offering to sell, > selling, supplying or otherwise distributing products that comply with > the CMSIS Specification, provided that you preserve any copyright > notices which are included with, or in, the CMSIS Specification and > provided that you do not use ARM's name, logo or trademarks to market > such products; > > (ii) use, copy, and modify (solely to the extent necessary to > incorporate the whole or any part of the DSP Library Specification into > your documentation), the DSP Library Specification, for the purpose of > developing, having developed, manufacturing, having manufactured, > offering to sell, selling, supplying or otherwise distributing products > that comply with the DSP Library Specification, and distribute and have > distributed any documentation created by or for you that has been > derived from the DSP Library Specification with such products, provided > that you preserve any copyright notices which are included with, or in, > the DSP Library Specification and provided that you do not use ARM's > name, logo or trademarks to market such products; > > (iii) use, copy, modify and sublicense the Example Code solely for the > purpose of developing, having developed, manufacturing, having > manufactured, offering to sell, selling, supplying or otherwise > distributing products that comply with either or both the CMSIS > Specification and the DSP Library Specification, provided that you > preserve any copyright notices which are included with, or in, the > Example Code and that you do not use ARM's name, logo or trademarks to > market such products; > > (iv) use, copy and modify (provided that the logical functionality and > the application programming interface of the DSP Library Implementation > are maintained) the DSP Library Implementation, solely for the purposes > of developing; (a) software applications for use with microprocessors > manufactured or simulated under licence from ARM ("Software > Applications"); and (b) tools that are designed to develop software > programs for use with microprocessors manufactured or simulated under > licence from ARM ("Tools"); and > > (v) subject to clause 1.1(vi) below; (a) distribute and sublicense the > use of the DSP Library Implementation (including any modified forms > thereof created under Clause 1.1(iv) above) in binary or source format, > solely as incorporated into Software Library Applications and Tools to > third parties; and (b) sublicense to such third parties the right to use > and copy the Tools for the purposes of developing and distribute > software programs for use with microprocessors manufactured or simulated > under licence from ARM. > > (vi) CONDITIONS ON REDISTRIBUTION: If you choose to redistribute the > whole or any part of the DSP Library Implementation as incorporated into > Software Library Applications or Tools, you agree to; (a) ensure that > the DSP Library Implementation is licensed for use only as part of > Software Library Applications and Tools and only for use with > microprocessors manufactured or simulated under licence from ARM; (b) > not to use ARM's name, logo or trademarks to market Software > Applications and Tools; and (c) include valid copyright notices on > Software Applications and Tools, and preserve any copyright notices > which are included with, or in, the DSP Library Implementation. > > 2. RESTRICTIONS ON USE OF THE ARM DELIVERABLES. > > PERMITTED USERS: The ARM Deliverables shall be used only by you (either > a single individual, or single legal entity) your employees, or by your > on-site bona fide sub-contractors for whose acts and omissions you > hereby agree to be responsible to ARM for to the same extent as you are > for your employees, and provided always that such sub-contractors; (i) > are contractually obligated to use the ARM Deliverables only for your > benefit, and (ii) agree to assign all their work product and any rights > they create therein in the supply of such work to you. > > COPYRIGHT AND RESERVATION OF RIGHTS: The ARM Deliverables are owned by > ARM or its licensors and are protected by copyright and other > intellectual property laws and international treaties. The ARM > Deliverables are licensed not sold. Except as expressly licensed herein, > you acquire no right, title or interest in the ARM Deliverables or any > intellectual property therein. In no event shall the licences granted > herein be construed as granting you, expressly or by implication, > estoppels or otherwise, a licence to use any ARM technology except the > ARM Deliverables. > > 3. SUPPORT. > > ARM is not obligated to support the ARM Deliverables but may do so > entirely at ARM's discretion. > > 4. NO WARRANTY > > YOU AGREE THAT THE ARM DELIVERABLES ARE LICENSED "AS IS", AND THAT ARM > EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER > TERMS, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION THE > IMPLIED WARRANTIES OF NON-INFRINGEMENT, SATISFACTORY QUALITY, AND > FITNESS FOR A PARTICULAR PURPOSE. THE ARM DELIVERABLES MAY CONTAIN > ERRORS. ARM RESERVES THE RIGHT TO INCORPORATE MODIFICATIONS TO THE ARM > DELIVERABLES IN LATER REVISIONS OF THEM, AND TO MAKE IMPROVEMENTS OR > CHANGES IN THE ARM DELIVERABLES AT ANY TIME. > > 5. LIMITATION OF LIABILITY. > > THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE > AGAINST ARM IN CONTRACT, TORT OR OTHERWISE UNDER OR IN CONNECTION WITH > THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF (I) > THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE AND (II) > US$10.00. THE LIMITATIONS, EXCLUSIONS AND DISCLAIMERS IN THIS LICENCE > SHALL APPLY TO THE MAXIMUM EXTENT ALLOWED BY APPLICABLE LAW. > > 6. U.S. GOVERNMENT END USERS. > > US Government Restrictions: Use, duplication, reproduction, release, > modification, disclosure or transfer of this commercial product and > accompanying documentation is restricted in accordance with the terms of > this Licence. > > 7. TERM AND TERMINATION. > > 7.1 This Licence shall remain in force until terminated in accordance > with the terms of Clause 7.2 or Clause 7.3 below. > > 7.2 Without prejudice to any of its other rights if you are in breach of > any of the terms and conditions of this Licence then ARM may terminate > this Licence immediately upon giving written notice to you. You may > terminate this Licence at any time. > > 7.3 This Licence shall immediately terminate and shall be unavailable to > you if you or any party affiliated to you asserts any patents against > ARM, ARM affiliates, third parties who have a valid licence from ARM for > the ARM Deliverables, or any customers or distributors of any of them > based upon a claim that your (or your affiliate) patent is Necessary to > implement the CMSIS Specification or DSP Library Specification. In this > Licence; (i) "affiliate" means any entity controlling, controlled by or > under common control with a party (in fact or in law, via voting > securities, management control or otherwise) and "affiliated" shall be > construed accordingly; (ii) "assert" means to allege infringement in > legal or administrative proceedings, or proceedings before any other > competent trade, arbitral or international authority; (iii) "Necessary" > means with respect to any claims of any patent, those claims which, > without the appropriate permission of the patent owner, will be > infringed when implementing the CMSIS Specification or DSP Library > Specification because no alternative, commercially reasonable, > non-infringing way of implementing the CMSIS Specification or DSP > Library Specification is known. > > 7.4 Upon termination of this Licence, you shall stop using the ARM > Deliverables and destroy all copies of the ARM Deliverables in your > possession. The provisions of clauses 5, 6, 7, and 8 shall survive > termination of this Licence. > > 8. GENERAL. > > This Licence is governed by English Law. Except where ARM agrees > otherwise in a written contract signed by you and ARM, this is the only > agreement between you and ARM relating to the ARM Deliverables and it > may only be modified by written agreement between you and ARM. Except as > expressly agreed in writing, this Licence may not be modified by > purchase orders, advertising or other representation by any person. If > any clause or sentence in this Licence is held by a court of law to be > illegal or unenforceable the remaining provisions of this Licence shall > not be affected thereby. The failure by ARM to enforce any of the > provisions of this Licence, unless waived in writing, shall not > constitute a waiver of ARM's rights to enforce such provision or any > other provision of this Licence in the future. This Licence may not be > assigned without the prior written consent of ARM. > > ARM contract reference LEC-PRE-00489 > > > > ======================================================== > On 8/29/2014 11:52 PM, Chris Nott wrote: >> Absent answer means no. >> >> I had the same idea. Actually I have played around with using vendor >> libraries from TI and ST, and there is no problem compiling them in. I >> can't see any reason CMSIS wouldn't fit in fine too. Actually from >> memory the useful parts of CMSIS comprise two parts, ARM specific >> intrinsic instructions and register locations in a header file, and >> reasonable math libraries. It shouldn't be a bit deal to use these, I >> would ignore the CMSIS linker scripts and such though. >> >> I would like to see CMSIS and parts of the vendor libraries integrated >> with RTEMS if possible, but I am uncertain about licensing >> compatibility. It seems daft to have to rewrite register locations and >> platform specific instructions if the vendors provide them.. >> >> Regards, >> Chris. >> >> >> On 29/08/2014 10:04 AM, Daniel Gutson wrote: >>> absent answer means NO? >>> >>> Thanks, >>> >>> Daniel. >>> >>> On Thu, Aug 28, 2014 at 11:31 AM, Daniel Gutson >>> <daniel.gut...@tallertechnologies.com> wrote: >>>> Hi, >>>> >>>> is there any precedent regarding a CMSIS abstraction layer >>>> implementation on RTEMS? >>>> >>>> Thanks, >>>> >>>> Daniel. >>>> >>>> -- >>>> >>>> Daniel F. Gutson >>>> Chief Engineering Officer, SPD >>>> >>>> >>>> San Lorenzo 47, 3rd Floor, Office 5 >>>> >>>> Córdoba, Argentina >>>> >>>> >>>> Phone: +54 351 4217888 / +54 351 4218211 >>>> >>>> Skype: dgutson >>> >> _______________________________________________ >> devel mailing list >> devel@rtems.org >> http://lists.rtems.org/mailman/listinfo/devel > > -- > Joel Sherrill, Ph.D. Director of Research & Development > joel.sherr...@oarcorp.com On-Line Applications Research > Ask me about RTEMS: a free RTOS Huntsville AL 35805 > Support Available (256) 722-9985 > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel -- Daniel F. Gutson Chief Engineering Officer, SPD San Lorenzo 47, 3rd Floor, Office 5 Córdoba, Argentina Phone: +54 351 4217888 / +54 351 4218211 Skype: dgutson _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel