Jeff Karau

Without using QP, I don't believe we could have delivered on our given schedule dates with the same level of quality."

Jeff Karau, Sr. Software Engineer, General Dynamics C4 Systems

Henrik Bohre

...After trying out a couple of CASE tools we came to the conclusion that expensive round-trip-engineering UML tools were cumbersome and did not fit our way of working. However, the innovative QP way to map UML state machines to C/C++ code was exactly what we were looking for..."

Henrik Bohre, Embedded Systems Consultant, GotCom AB, Göteborg, Sweden

Michael_Barr

I'm speaking from first-hand experience when I say this is really good stuff. I just hope others will recognize that and we can get past the old main+ISR vs. RTOS dilemma for a large variety of applications."

Michael Barr, President Netrino and former editor-in-chief of the ESP magazine

Haitham Hindi

Practical Statecharts in C/C++ has been an indispensible reference for my embedded systems work. The clear and succinct conceptual and software framework, along with the immediately usable code enabled us to get a working prototype of our control system in a few weeks."

Dr. Haitham Hindi, Palo Alto Research Center (PARC)

Paul Montgomery

...QP has been adopted accross the company and is used in all our products on a variety of OS platforms..."

Dr. Paul Montgomery, Director of Engineering, Novariant, Fremont CA

Stratos Product Development

We're glad to keep giving Quantum Leaps our business. QP has been really valuable for us—we've had a great experience working with Quantum Leaps frameworks and tools. It's been a big help in terms of delivering high-quality software within our clients' budgets, so thank you!"

Jason Machacek, Software Engineer, Stratos Product Development LLC, Seattle WA

EIM Controls, Inc.

I used the traditional RTOS approach for about 10 years. With the real-time debug log of QSPY and the ability to see what is going on in the logic flow, the code is very easy to debug and modify. It makes the code very modular and deterministic... You end up talking about the codes logic flow, and not the semantics of the software. QP is a great product."

Paul Walker, Software Engineer, EIM Controls, Inc.

Apple Computer, Inc.

I recently rewrote a major piece of code to utilise the QP framework and it has worked wonders. My previous code used a more traditional state machine and had quickly evolved into spaghetti code. The hierarchical state machine approach made the new code smaller, more robust, and much easier to maintain and extend."

Bob Bradley, Apple Computer, Inc., from Amazon.com review

Honeywell International

Quantum Leaps software has revolutionized not just the way we write our software, but the way we approach our design. It is intuitive, easy to implement and comes in an incredibly small package. If you're in the 8-bit world, you need this software!"

Chad Koster, Software Engineer, Honeywell

Rich Wooley

Simply put, designing sofware using the QP framework lets you code the way you think..."

Rich Wooley, Sofware Engineer, Nipro Diabetes Systems, Florida

more user stories

Open Source and Our Mission

Our mission at Quantum Leaps is to bring quantum-leaps of innovation to embedded systems programming. We believe that opening up our software for widespread use and scrutiny of the open source community is the best way of achieving this goal.

The Open Source Licenses Used

All Quantum Leaps software available for download from this website is released as open source under the GNU General Public License version 2 (GPLv2).

OSI Certified

The GPLv2 is probably the best known and most established open source license. It is fully compatible with the Open Source Definition, is endorsed by the Free Software Foundation, and has been approved by the Open Source Initiative (OSI). Software distributed under the GPLv2 can be marked with the OSI certification mark.

Please note that the GPLv2 can be restrictive, so if it doesn't meet your needs, you might consider licensing Quantum Leaps software under different terms of our commercial licenses (dual licensing).


Third-party software mentioned or linked-to from this website might be licensed under different terms. In particular, you should not assume that such software is open source. Please refer to the corresponding owner's websites for the licensing information.

Reciprocity of the GPLv2

GPLv2 is an archetypal reciprocal open source license. Here is how GPLv2 formulates the reciprocity requirement:

"You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License"

(GPLv2 Section 2[b])

.

The reciprocity of GPLv2 guarantees that the software community will benefit not just from the original Quantum Leaps code, but more importantly, from ever-growing body of applications of our software.

GPLv2 Applied to Quantum Leaps Software

As Lawrence Rosen explains in his recent book on the subject "Open Source Licensing", GPLv2 applies to software based not upon how it is linked but upon how it is distributed. Here is the pertinent fragment of GPLv2 Section 2:

If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

(GPLv2 Section 2)

.

In many cases, such as Linux™, these provisions are technically trivial to avoid. For example, by separate downloading and installing Linux applications the question of "distribution as a whole" can be easily sidestepped (so applications are not technically distributed with Linux, at least don't need to be).

Moreover, GPLv2 Section 10 leaves it up to the copyright holder to provide a guidance regarding the distribution policies. Quoting from the aforementioned book: "Linus Torvalds has set a policy that software that is merely combined with Linux is not subject to the GPLv2 regardless of how that software is distributed".

However, in the case of Quantum Leaps software and in contrast to Linux, the separate distribution of applications based on the QP™ frameworks is practically impossible, especially when the whole software is distributed inside an embedded system and any separate distribution doesn't make sense. Furthermore, in contrast to Linux and other traditional operating systems and RTOSs, QP applications cannot be "reasonably considered independent" because of the much higher level of reuse that leads to inversion of control between the application and the infrastructure on which it is based. QP™ applications are typically derived from the QP™ and follow very easily identifiable patterns down to specification of every state handler. Therefore, the second sentence in the quoted GPLv2 Section 2 fully applies to QP™ applications, not just to QP™ itself.

Quantum Leaps Guidelines for Distributing Dependent Software

GPLv2 Section 10 instructs the licensees to contact the owner of the copyright to the software for guidance regarding the distribution of their programs that depend on the original code.

Our guidelines for distributing any third-party software dependent on Quantum Leaps code are that all such third-party software must also be distributed under the terms of the GPLv2. In other words, applications based on the GPL-version of the copyleft.

Such a policy is the cornerstone of the quid pro quo ("something for something") guiding principle behind the dual-licensing business model practiced by Quantum Leaps and most other second-generation open source companies. The policy ensures that the users of the software must either contribute application code to the community (GPLv2 licensees), or contribute licensing revenue to the original software vendor by purchasing commercial licenses (commercial licensees).

Please note that Quantum Leaps has no rights, and does not claim any rights, to the application software developed by third parties, regardless if Quantum Leaps software used in these applications is licensed under the GPLv2 or commercial licenses.

A Practical Guide to GPL Compliance

[from] Support SFLC

The document "A Practical Guide to GPL Compliance" published by the Software Freedom Law Center (SFLC) provides a guide to effective compliance with the GNU General Public License (GPL) and related licenses.

Read the Guide to GPL Compliance from SFLC Download the Guide to GPL Compliance in PDF

Non-Profits, Academic Institutions, and Private Individuals

If you represent a non-profit organization or an academic institution, we recommend you publish your application as an open source software project using the GPLv2 license. Thereby, you'll be able to use Quantum Leaps software free of charge under the GPLv2. We believe that if you have strong reasons to not publish your application in accordance with the GPLv2, you should purchase commercial licenses. Note that non-profit organizations can apply for free commercial licenses, which will be liberally granted.

If you are a private individual you are free to use Quantum Leaps software for your personal applications as long as you do not distribute them. If you distribute our software in any way, you must make a decision between the GPLv2 and the commercial licenses.

Please note that the above rules apply, even if you ship (distribute) a free demo version of your own applications.

Note on Software Piracy

The recent book Embedded Systems Design on a Shoestring by Lewin A.R.D. Edwards (Newness, 2003) contains a timely note concerning software piracy of the open source code. Here is what Lewin Edwards advises:

With the plethora of useful open-source code floating around the Internet, free for the downloading, there might be a temptation simply to download and use whatever you please and assume that nobody will ever know because nobody will ever see your source code. Even ignoring the moral issues, this is suicidal folly. Anything from a disgruntled (or simply talkative) staff member to an interested hacker to a competitor reverse-engineering your product will destroy your company; discovery is inevitable, particularly if your product turns out to be a success. At the time of writing, several major American corporations are writhing in the throes of government investigations into accounting fraud; if your major product contains plagiarized code, discovery will lead to similar consequences. Worse—and this also applies to privately held companies, because it's not just stock price issue—you may be unable to ship any more units without an expensive major re-write of your operating system. Don't take this kind of risk. If you use free code, honor the license."

Embedded Systems Design on a Shoestring, page 50.


Last updated: November 22, 2009