Fog Creek Software
Discussion Board

Licensing schemes for embedded software

I am planning to write a software component for embedded systems. As I am totally new to this market, I did a survey to know how people sell their products. I found that there are three major licensing schemes:

* A per-project license (no limitation on the number of developers and no royalties on the number of produced units)

* A per-developer license (no royalties on the number of produced units)

* A per-unit license (with royalties)

There are evident pros and cons for each scheme. But my problem is that I can't understand how the per-developer and per-unit licenses work practically: Purchasers can lie about the real number of developers working on a project. They can also give incorrect information about the number of units they produced.

I know that in the ideal world companies are honest and fear the law. But I can't believe this especially if you sell your software to some lambda corporation located in another country and belonging to another jurisdiction. Control means are so limited in this case!

Saturday, August 23, 2003

Welcome to the software business.

Mitch & Murray (from downtown)
Saturday, August 23, 2003

Where I work, we make embedded systems.  We license the OS, and pay royalties to the OS supplier.  Their solution is to give us stickers.  Every single-board-computer we ship gets a sticker on it.

We buy the stickers (which is the royalty fee) in advance.

Personally, I find per-unit pricing to be the fairest to both developer and customer.  If a customer wants to make one or two systems, charging $10,000 for the software package can be a little unfair.  If the customer is doing a high-volume application (thousands of units), the ddeveloper can end up losing out because they charged a flat fee.

Most embedded OSes (WinCE, QNX, VxWorks, XP Embedded) are per unit royalties.

Myron A. Semack
Saturday, August 23, 2003

Per-unit royalties basically work the same as any other sort of software.  The only thing that enforces it is fear of legal action.  There is generally nothing that stops a company from not having a site license for windows, or office, or whatever either, but most companies do so to avoid legal action from MS.

Per-developer royalties can be easier, because the development software can be licensed such that only a certain number of people can use it at a time.

Mike McNertney
Saturday, August 23, 2003

Also note that per-unit licensing is one factor that drives people to using Linux and open-source in embedded solutions.

VxWorks per unit licensing fees are high enough and the value of their software low enough that it doesn't take a large number of units to justify spending major resources on people to support a project or a commercial embedded Linux solution.

This is a major reason WindRiver is floundering.

Doc mcClenny
Monday, August 25, 2003

As someone working on an embedded Linux solution, I will agree with everyone that has said things previously.

The various embedded Linux companies (Montavista being the major independent one left standing) do charge for their software, and it may shock some people that runtime fees can be charged for Linux products.

Now, my Linux product, on the other hand, runs on a bog-standard x86 platform, which makes development easy.  I didn't pay any money to anyone.  If I had gone with a non-x86 platform, then yeah, I would have gotten a development kit.

Monday, August 25, 2003

*  Recent Topics

*  Fog Creek Home