Prohibited to use the library for open Source projects ??

The header of all files in the Stellarisware package contains (amongst other) the following phrase:

"You may not combine this software with "viral" open-source software in order to form a larger program."

Can anyone from TI explain exactly what this means.

What in the world is "viral" open-source software? A virusprogram?

Do we really have to re-write the whole library to do anything open-source related with the Stellaris processors?

What about all the demos with FreeRTOS and lwIP. Why is that okay?



10 Replies

  • A lengthy discussion of this topic may be found here ...

    Hopefully, this thread will provide you with a bit more background/details.


  • In reply to Bobby Bradford:

    Thank you for that link, Stellaris Bobby.

    I read through that thread and it unfortunately seem to confirm my concerns.

    I have two VERY huge projects for an overseas customer, where I had planned to use a LM chip with built in ethernet, but as part of the code would be from other open source projects, the clause in the TI header state that I can NOT combine the Stellarisware software with other open-source software in order to form a larger program, we simple don't dare go that way.

    This clause is really, really sad, as it will stop thousands of projects from using a TI processor. Many (if not all) commercial projects today, include some kind of open-source code. None of these would be able to use a TI processor, unless they rewrite the full library.
    Then, what's the point of supplying it? Except for those few that write ALL code from scratch, including the OS and communication stacks (or use proprietary software ONLY).

    And the clause is really, really weird too, as Stellarisware is virtually useless for any other processor, as it's 90% hardware locked.

    I'm not going to rewrite ten thousand lines of register mappings from a header file because some lawyer got powerhungry, so I'll take my chances of a lawsuit on my personal project, but for the commercial ones, TI is out.

    There are a number of alternative without these rather silly restrictions.



  • In reply to Jesper:

    I'm curious.  Which open-source package are you wishing to use (if you are able to say).  What type of licence does it have (GPL, LGPL, etc.)?

    With reference to your original comments about lwIP and FreeRTOS, the lwIP license does not contain any clauses with respect to code that links with it.  FreeRTOS uses a modified GPL, which specifically states that as long as the third-paty package linking with FreeRTOS uses the public APIs, that third-party package is not subject to the GPL license.


  • In reply to Bobby Bradford:

    Well, does it really matter what license the other parts have?  The Stellarisware clause say I can't use it with any open source code. As I understand it.

    I'm going to use lwIP for a TCP/IP stack, and _might_ use FREERTOS or some other os. But there could be other snippets of code or modules from various projects, such as FatFS, minINI, some of my own previously release open source code  e.t.c.
    I would use the BSD license for the code release within the project.

    But I don't see how it's important what _those_ licenses say. It's the TI license that restrict the use of the Stellarisware with other Open Source code.

    All this licensing stuff is getting out of hand it seem. Just look at the GPL license - who's ever going to understand those umpteen pages of lawyerese?

    In the good old days there were public domain, free for all to do WHATEVER they pleased. I liked that, and that's how I've released most of my stuff.


  • In reply to Jesper:

    I believe that the problem is that we have a different understanding of the phrase "viral open-source software", as used in the StellarisWare license/EULA.  It is not the open-source software that is "viral".  It is the open-source software license that may be "viral".

    My understanding of a "viral" license is that when open-source code with a viral license is combined with any other code to create a derivative work, the entire content of the derivative work becomes subject to the "viral" licensing of the original open-source code.  This term is often applied to GPL, which requires that any derivative work be released under the terms of GPL.

    We link with, and include in StellarisWare distributions, source code for lwIP.  This is open-source software.  However, the licensing for this open-source software has no "viral" clause that would require us to release any or our StellarisWare applications that use lwip (e.g. "enet_lwip") to be released under the same licensing as lwIP.

    FreeRTOS has a modified GPL license.  The exception to GPL indicates that if the derivative work communicates with FreeRTOS via the FreeRTOS API, it is NOT subject to the FreeRTOS license and may be distributed under alternate licensing terms, as long as the FreeRTOS component, as used in the application, is made available (

    So, it does matter what the license of the open-source software is.  There are some cases where it can be perfectly legal to combine StellarisWare with open-source software.  There are other cases where it may not be.  It depends on the license terms of the open-source software.

    Not sure if I've clarified anything for you or not.  As stated by Jean Anne in the other forum thread (mentioned in an earlier post), ultimately, if you have legal concerns about StellarisWare licensing with third-party code, you will have to consult with your own legal counsel for an answer.


  • In reply to Bobby Bradford:

    Thank you for the extensive answer, Bobby, you did clear up some issues.

    English is not my native language, so the term "viral" was unknown to me. Not being from the US either, the need to involve lawyers for this, is almost unthinkable, too complex and way over the top.

    I think your understanding of "viral" license is perfectly valid, but I'm not taking the chance that the TI lawyer have another explanation.

    It's much simpler to just use a different processor with a more open and flexible license.

    Sad, because I really liked this family, but I already have extensive code libraries for Atmel, ST and NXP devices, which is all under a BSD like license and not limiting the use in any way.

    As you say, sometimes it's legal to use Stellarisware with other open-source software, sometimes it's not.  I can't work with that. There's often issues with open-source licensing as to whether you have to release your code as open-source, but I've never seen problems like this where I can't even USE the code with other open-source.


  • In reply to Jesper:

    Jesper,  I know its an old thread but we too are in the same boat.  Until TI changes their "viral" clause I assume many of the opensouce hardware business will continue to go to atmel as well as others.

    What I do not understand is all the giveaways and cheap development boards for the hobbyist community to get into MSP430 / Stellaris stuff (evalbot) and then having such a poorly worded terms of service.  

    I agree it is a shame but we too will be going with another processor almost for sure.  

    And the fact that the customer (US) would need to consult OUR legal team to interpret TI's terms of service is absurd.


    Oh and while I am at it... Stellarisware only released as an exe?  Really?


  • In reply to riley porter:

    riley porter
    Oh and while I am at it... Stellarisware only released as an exe?  Really?

    Where are you getting this from?  Stellarisware isn't an .exe, it's a combination of library code and macros that you can include in your code.  If you want, you can use precompiled versions of the libraries, but full source is made available.

    Perhaps you are talking about some specific tools, such as LMFlash, that are only released as executables.


  • In reply to slandrum:

    self extracting exe... :) Meaning no zip no tgz etc..  I do know what stellarisware is :)



  • Just noticed that StellarisWare driverlib version 9107 has now changed it's licensing to BSD - from the release notes: 

    The driver library has been moved to the TI BSD License. Please refer to the TI-BSD-EULA.txt file in the root of the StellarisWare install for the terms of this license.