Licensing Options

The Moddable SDK is offered with two distinct licensing options. The first option is a Free and Open Source Software (FOSS) license; the second, a commercial software license.

Why open source?

Moddable offers an FOSS licensing option because we believe it is the right thing to do.

Choosing a license

The selection of a FOSS license to use for the Moddable SDK was difficult. We have a bias towards licenses that oblige improvements and fixes made to our code be shared with everyone. We believe that's only fair. Where the Moddable SDK incorporates other FOSS software, we have published any changes we made. The Mozilla Public License (MPL) is a license which incorporates this requirement. In fact, a very early version of portions of the Moddable SDK was briefly released using the MPL.

A key consideration in selection of an FOSS license for the Moddable SDK is the license status of XS, our JavaScript virtual machine. XS was created by Kinoma and originally available only under a proprietary commercial license. When Marvell acquired Kinoma, one happy consequence was publishing our work on XS as FOSS. At Marvell we selected the Apache V2 license. The selection was a result of many factors, but one stands out. Android uses the Apache license, which meant it was already acceptable to many of Marvell's customers.

The license selected for the Moddable SDK must be compatible with the Apache license used by XS. The Moddable SDK is built around XS. The tools are written in JavaScript and hosted by XS. The device runtime is primarily JavaScript code executed by a highly optimized XS host. Apache is an option, of course, however it does not ensure that improvements and fixes are made generally available. There has been a great deal of energy put into establishing the compatibility between Apache and the GPL. It turns out that Apache and GPLv2 are considered incompatible. However, Apache and GPLv3 are considered compatible. As a result, we have selected LGPLv3 and GPLv3 as the primary licenses for the Moddable SDK.

Summary of licenses Moddable uses

There are a number of different FOSS licenses used in the Moddable SDK. Here are the licenses we use:

Files from other FOSS projects use other licenses, all of which we believe to compatible with the licenses above. Of particular note, portions of XS are licensed under the Apache V2 license. Each file carries a license statement, so check the source code of the files you are using to understand the requirements of its license.

Commercial license

We understand that FOSS licensed software does not meet the needs of all organizations or independent developers creating software for embedded devices. In our work with organizations, large and small, building embedded software we have encountered many different reasons why FOSS is not a viable option, particularly for mission critical aspects of a product. We want these organizations to be able to use our software. Because these organizations are not contributing by making their own code available to us and others under a FOSS license, we believe it is fair to ask them to pay a license fee for the use of our software to help support our on-going software development.

Additionally, organizations expect warranties, IP provenance, patent rights, on-demand bug fixes, and development assistance from the software they license for use in their products. These have a real cost and require a full time staff.

It is common in the embedded software space to only provide licensing pricing under a non-disclosure agreement. There are good reasons for this, especially since each potential licensee has unique circumstances which can change the license cost and terms. Still, we don't like it when we are asked to sign an NDA to receive a simple price quote. In the interest of promoting the kind of transparency we'd like to see in the embedded software market, we provide our licensing costs publicly.

For use of the Moddable SDK in a product using a commercial software license, Moddable charges twenty-five cents (US dollar) per unit. This price is valid for any volume. If you are a small shop shipping 1000 units of an embedded device, the commercial license is truly only $250 per year.

We understand that organizations shipping a large volume of products may feel a volume discount is appropriate. We are open to that discussion.

Our commercial license includes:

Note: Support level commensurate with licensee's product volume.

Any large organization will have its own particular requirements. We are open to reviewing those to find a way to support them if at all possible.

For questions about the Moddable SDK commercial license, contact us by email at info@moddable.com

No approach satisfies everyone

By offering two distinct licensing options -- one open source and the other commercial -- we hope to make it possible for the majority of embedded software developers to use the Moddable SDK in their products, if they choose. We recognize that no single option or two will satisfy everyone.

As an anecdote, when we made the decision at Marvell to provide our work on XS under the Apache V2 license, the very first customer we told about the decision responded with a room full of silence. They politely explained that they were more concerned about receiving development support and prompt bug fixes than they were about the cost of the software. They were happy to pay to know that someone stood behind the software they were using.

We also understand that there are very strong positions established regarding the many FOSS licenses. No doubt there will be those that disagree with our choices. Perhaps this article provides those who disagree with some understanding of our thought process.

The XS code at the heart of the Moddable SDK has been provided in many different ways: commercial license of proprietary code, Apache license, LGPLv3/GPLv3 license, and commercial license of FOSS code. Perhaps in the future there will be other licensing options. If you have suggestions, we would like to hear them.

Finally

Any good lawyer will tell you that this article is not legal advice or a binding contract.