Open Source + Commercial licenses for RTOS: What do people think - Page 1
Forum section: electronics / general

author: richardman
author_rank: Frequent Contributor
timestamp: November 19, 2015, 08:55:01 am
content: I note with interest that a lot of RTOS are now offering dual licenses: Open Source for non-commercial use, and "email/call us for quotes" for commercial license. Traditional RTOS typically charge ~$10K for a license, and one would surmise that these RTOSes are probably asking for similar amount, or even half that, at around $5000 level.So as a developer, lets say even if you are not planning to use an RTOS, what do you think about this model? Good, bad, indifferent? and why?

author: ataradov
author_rank: Super Contributor
timestamp: November 19, 2015, 09:07:45 am
content: Paying money like that for RTOS is for corporate suckers. It usually comes with some BS promise of guaranteed support, which ends up being a dud in a lot of cases.IMO, all small embedded RTOSes (FreeRTOS and likes) are mostly the same. Pick the one that has lower amount of junk in the code and go with it, if something goes wrong, you will be able to modify it for your needs.It is not a rocket science.

author: coppice
author_rank: Super Contributor
timestamp: November 19, 2015, 09:27:54 am
content: Use an RTOS that's widely used, and you can't find too many people complaining about. Smooth reliable operation has more to do with extensive use, and the feedback which comes from it, than support contracts.

author: Rasz
author_rank: Super Contributor
timestamp: November 19, 2015, 05:18:10 pm
content: Quote from: ataradov on November 19, 2015, 09:07:45 amsome of them (TNKernel) are apparently pretty terrible once you look under the hood.http://dmitryfrank.com/articles/how_i_ended_up_writing_my_own_kernelAlso prohibiting of posting benchmarks and comparisons (FreeRTOS)? WTF is up with that?

author: ataradov
author_rank: Super Contributor
timestamp: November 19, 2015, 05:23:07 pm
content: Quote from: Rasz on November 19, 2015, 05:18:10 pmAnd others are notThe point here is that if by RTOS supplier understands just the task switcher and a few simple synchronization primitives, then that can be done in a few days, I don't see the point in looking at something standard.If there is a bigger ecosystem of stuff, like included TCP/IP stack, USB stack with a ton of standard classes supported, then it is a different story and you need to look at those components, not the OS itself.Quote from: Rasz on November 19, 2015, 05:18:10 pmI understand that. Most people who want to do benchmarks have no idea what they are doing, and publishing inaccurate (bad or good) numbers is bad for main business.

author: Rasz
author_rank: Super Contributor
timestamp: November 19, 2015, 06:11:40 pm
content: Quote from: ataradov on November 19, 2015, 05:23:07 pmso easy to Godwin this up, there are many things bad for business, doesnt make it right to censor.

author: ataradov
author_rank: Super Contributor
timestamp: November 19, 2015, 06:12:52 pm
content: Quote from: Rasz on November 19, 2015, 06:11:40 pmIt is their software, they do whatever they want. Don't like it, don't use it.

author: 2bluesc
author_rank: Contributor
timestamp: November 25, 2015, 01:04:46 am
content: As far as ARM devices are concerned, I'd keep an eye on mBed OS which will be Apache Licensed.I tried to like ChibiOS, but their new licensing scheme (changed in August I think) is hard to make sense of. It's fine for big companies that can just throw around cash and makes sense for small production runs for hobbyists (less then 500 units). Where it doesn't make sense is medium volume production runs of 2k-50k+ units.https://www.mbed.com/en/development/software/mbed-os/I looked at FreeRTOS, but it feels weird with a constant upsell. Nuttx looks nice from a POSIX perspective, but seems tooo heavy.ARM opensourced Keil's RTX as "mbed RTOS" and looks like that'll be going away in favor of mBed OS in a year or so.I wish all the RTOS's would adopt CMSIS-RTOS API so that the underlying kernels could be slightly more interchangeable. Currently mbed RTOS supports the CMSIS-RTOS API and I think some chip vendors have implemented the API for their chips on FreeRTOS.The RTOS world is tooo fragmented ATM, but it looks like ARM/mbed among others is trying to fix it.

author: c4757p
author_rank: Super Contributor
timestamp: November 25, 2015, 01:08:36 am
content: Quote from: ataradov on November 19, 2015, 06:12:52 pmWhat is it with people like you who think one has tosilentlynot use it? If I think your business practices are crap I'm going to say so!But then, discussions like thisalwaysbring out the "anything done in the pursuit of profit is good" brigade.

author: richardman
author_rank: Frequent Contributor
timestamp: November 25, 2015, 01:39:45 am
content: So no one has comments on the original question per se, which is about dual licensing ("free" or $$$$, depending on who's using it)?

author: c4757p
author_rank: Super Contributor
timestamp: November 25, 2015, 01:45:23 am
content: On the fence, personally. On one hand, good on them for offering a 'free' version at all - they certainly don't have to. But on the other, commercial restrictions are widely considered to go against the nature of open software/hardware. Personally I avoid supposedly "open" things that tell people how they can use them.I'd be much more comfortable if it were "pay us to use this in a closed-source application", not "pay us to use this in a commercial application".

author: ataradov
author_rank: Super Contributor
timestamp: November 25, 2015, 02:37:05 am
content: Quote from: c4757p on November 25, 2015, 01:08:36 amWell, you can complain by writing on the forums, nobody cares. But don't complain to the authors. Constructive feedback is always welcome, but policy complaints are rarely constructive.I maintain a few software projects and I have very strict rules for accepting patches. I can't stand when people try to contribute the code with formatting different from the rest of the project simply because "but I use that style". I don't care, just go away, your contribution is useless for me. That's my policy and I don't need any feedback on it.

author: c4757p
author_rank: Super Contributor
timestamp: November 25, 2015, 02:51:01 am
content: Well, utterly off topic (again) (sorry!) that's agoodpolicy. Matching the coding style and practices of a project you're working on is just Software Development 101... you don't want to go accepting patches that worsen the quality of the codebase. Good on you for keeping the quality up. So many amateurish programmers out there who think you must accept their patches because they went to the effort to smear them into their keyboards.

author: richardman
author_rank: Frequent Contributor
timestamp: November 25, 2015, 03:33:21 am
content: Quote from: c4757p on November 25, 2015, 01:45:23 amDo you mean something like Open Source useL free, closed source use: $?but most "closed source" use is for commercial uses right?

author: c4757p
author_rank: Super Contributor
timestamp: November 25, 2015, 03:35:43 am
content: Most closed source is commercial, but not all commercial is closed source. Plenty of companies sell and make money off of open-source solutions.(Granted, I don't think they do so much in embedded...)

author: richardman
author_rank: Frequent Contributor
timestamp: November 25, 2015, 04:38:42 am
content: Quote from: c4757p on November 25, 2015, 03:35:43 amGot it. Thanks :-)

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: November 25, 2015, 09:56:43 am
content: Quote from: richardman on November 25, 2015, 01:39:45 amI don't know if you are changing the question, but free != Open Source. Of course, Open Source can be used commercially, and a license that specifies usage restrictions depending on user is not Open Source. (It is a fundamental principle of Open Source that same conditions apply to all licensees regardless of field of endeavour).There seems to be a common myth about dual licensing that it is a way to force commercial licensees to pay for using Open Source code, but it can't work like that. Once you add a "non-commercial" restriction, it is no longer Open Source. You are just offering two different non-open licenses. ie. You can have a license that says "free but only for non-commercial use", but there is no recognised Open Source license that allows that restriction.With dual licensing, you can induce commercial licensees by relaxing requirement to publish source code (if GPL), or by providing better support, but the commercial licensee still has the option to use the Open Source license. With an LGPL license or BSD, the commercial user would not have to publish code, maybe just put a credit in the documentation.So is the question about free software or Open Source ? The answers are quite different.

author: richardman
author_rank: Frequent Contributor
timestamp: November 25, 2015, 10:29:26 am
content: Quote from: donotdespisethesnake on November 25, 2015, 09:56:43 amOK, let's be specific: ChibiOS, OSMOSIS, FreeRTOS all seem to follow some kind of dual licenses where commercial users must pay.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: November 25, 2015, 03:51:30 pm
content: I don't think much of either.I've written my own RTOS. By having done so I get source code that I understand intimately because I wrote it, exactly the functionality that I need, no more/no less, and no strings attached with using it any way I like.