Licensing questions

Joel Sherrill joel.sherrill at
Tue Aug 19 01:29:56 UTC 2003

Michael Kelly wrote:

>Hello all,
>As a new, potential provider of RTEMS BSP's,
>I am a bit confused about the licensing.  I have
>read the GPL and LGPL licenses, but some
>questions remain:
>1. Do I have to provide the source to a BSP,
>including drivers?  If so, how and when should
>this occur?  I have concerns about liability for
>early untested (or only partially tested) code.

No.  Most of RTEMS is under the GPL with an exception that lets
you link with it without imposing the GPL on your code.  The rest
of RTEMS (such as the network stack) is under a BSD license.

Both RTEMS and newlib (the C library) stick to source that
is free and imposes no restrictions on your application.

With that said, if your BSP is for a useful commercial board,
then it is desirable to get it merged when stable.  But if it is
for a proprietary board, the odds are that it does no one
else any good to have it.  If the BSP is based upon a
CPU with on-CPU peripherals, the core of the BSP is
generally useful.  Or some of the drivers may be useful
if they are generic (e.g. UART, NIC, etc.) , but we
don't want to maintain a BSP for a board which no one
else can get.

My assumption is that any BSP you would be thinking of would
be in the generally useful category because RTEMS already
includes a BSP for a Cogent ARM board.

>2. Are network drivers different than the other
>drivers since they are part of the BSD stack?
They follow a different structure and we encourage people to get
them from the *BSD world but that's about it.  If they are from the
BSD world, then they can be merged into RTEMS and others
can freely use them in their system.

As a project, we do not impose pure-GPL code on users as
part of the base RTEMS tarball.  If you want to include code under the GPL
or any other license in your application or BSP, then it is up to you to 
that you and all subsequent users adhere to that license.

Does that make sense?

>3. I want to include a BSP with each of my 
>Single Board Computers, but do not want to
>support customers unless they are paying for
>the support.  What are the accepted practices
>for charging a customer when you provide them
>with the RTEMS code and/or support?
You don't have to charge them anything.  Of course, that would
limit the amount of help and support you could give them. 

With free software, you pay for the support, consulting, training,
customization, etc. you require.  In this case, you might give it to
them and encourage them to pay for answering questions or
writing drivers for extra peripherals.  You could also send them to
OAR for training and core RTEMS support.

Long term, it might make sense to charge a modest fee and acquire
a "partial" OAR support engineer.  That's an arrangement where
a certain percentage of an RTEMS person's time is dedicated to
your needs and those of Cogent board users. 

It all depends on your business model and what makes sense as a
partnership.  If you want to make money on hardware volume, give
RTEMS and BSPs away and build in enough to cover the
dedicated RTEMS engineer.

As we have always said, give RTEMS away in serial boxes.  We don't
care.  Just contribute to the project and if you need help, please use
our services.  RTEMS does require time and resources.  Those cost
money.  We have to eat and pay the bills too.


>Michael J. Kelly
>VP Engineering/Marketing
>Cogent Computer Systems, Inc.
>1130 Ten Rod Road
>Suite A-201
>North Kingstown, RI 02852
>tel:401-295-6505 fax:401-295-6507
>alternate email: mkelly6505 at

More information about the users mailing list