I am considering a new GPL project. I have been looking at the FreeRTOS website. I do not understand how you can have both a GPL and commercial license. What if someone else contributes a modification to one of the source files under the GPL....How do you then give a commercial license to that code?
Under Linux, each modifying programmer gets his own GPL copyright. Is FreeRTOS different? How is your license different from the LGPL?
You don't, unless this is with prior agreement. You can use the code in commercial applications without purchasing anything, if you accept and abide by the very liberal terms and conditions. The commercial license is intended for those requiring support and/or development on a commercial basis and for those that cannot agree to the terms and conditions for whatever reason. I own the copyright to nearly all the code and list the code to which I don't own the copyright. There is peripheral code around that is developed by other people but not included in the download or commercially licensed versions.
The 'modified GPL' is designed to make the code base as easy to use as possible while still maintaining the integrity of the open source nature and protecting from exploitation. This is the intension anyway. I have had several attempts at getting this right, the way it is now I think is the most correct it has been, while still not perfect!
"FreeRTOS.org" wrote in news:Z5xQh.5332$ email@example.com:
Man, this license crap is very confusing. If you are selling support or future development, clearly licenses are not an issue. Why is there a license involved? You can always do custom software/contracting?
However, if you want community involvement, how does that work? For instance, I am considering doing a xxx driver project - which could easily be incorporated into freerdos. If you give a commercial license for freerdos, and it includes my driver, how does that work? I don't understand the basic principles in selling something that is inherently free?
I am not trying to give you a hard time. I looked at freertos source and it is very nice. You have gone down a path I am considering, but I don't understand this whole license issue.
Yes, that is why I spend a lot of my life talking about it - even after 'attempting' to make it simple.
It was never part of the original plan or intension to offer commercial licenses. It is something we have done in response to requests from users (which is nice for me). People who are using FreeRTOS.org already, then decide they want the license conditions changed for whatever reason. Some of the usage scenarios people come up with could never be predicted.
"FreeRTOS.org" wrote in news:B6IQh.5549$ firstname.lastname@example.org:
OK, I still don't understand. If I contribute a change to some part of the basic freertos package and claim GPL copyright to my changes.... How can you re-license it (for whatever reason) other than under GPL? At lease in Linux authors all claim copyright of sources where they made contributions.
Or, put another way, I am a mgr in some company with lawyers that believe that GPL requires that all/some of the internally developed code must be released to the public ... How can I get a license from you that involves 10+ other people with some GPL claim?
I am not a lawyer and I am not trying to be nasty. I would like to know how to do an open source project and have the option to have a commercial license?
The only way I can see is to be the only author. Then I can change to any license. That kind of defeats the community contribution part of the point of open source.
I'd suggest trying to clearly re-state your objectives rather than your objections. This would help other people (like me) to understand what you are trying to achieve. Perhaps you are confusing a "commercial license" with a "proprietary license". If you wan the later (propriatary license) for the entire work then starting with open-source isn't an option.
P.S. I'm not a lawyer either... but I do know there are experts on software licensing that are worth talking to about these things. If this is a critical issue to your business then consulting with such a person would be an investement well worth making.
I am not a lawyer, or even a FreeRTOS user (I started trying it out, but got distracted by work - one day I'll try again). But perhaps this will help explain things.
Richard owns (almost all of) the code for FreeRTOS, and controls the project, the website, and perhaps has even trademarked the name. You can't contribute to the *project* except through him. You can, of course, make changes to the FreeRTOS source code as and when you want. There are several scenarios:
1) You write a new driver for your own use. You can license it as you want. If you are using the commercial licensed version of FreeRTOS, you can include it in your systems with your own open or closed licensing, as you see fit. If you are using the modified GPL version of FreeRTOS, then parts of your code that are separate files can have any license, while parts that are modifications of FreeRTOS must be released under the same modified GPL (or the full GPL).
2) You write a new driver, and want everyone to be able to use it under the modified GPL. You can pass it to Richard to add to his site as a "contribution", or make it downloadable from your own site. Richard cannot include the code in the commercial licensed version of FreeRTOS, but is free to include it in the modified GPL version.
3) You write a new driver, and want it to become an integral part of FreeRTOS. You will basically need to make a deal with Richard, possibly involving giving or selling him the copyrights, so that he is free to provide the code under both licenses.
You can't. FreeRTOS does not use a pure GPL, but a modified GPL (very similar to the Mozilla Public License, I believe). This means that you can link separate files along with the FreeRTOS files, without any restrictions on the licensing for these other files - only the FreeRTOS parts are GPL'ed. The commercial licence is not compatible with the GPL
- any contributions to FreeRTOS which are (modified) GPL-only cannot be included in the commercial version.
It does not defeat the community contribution part of open source, but it does restrict it. Many other projects (MySQL and QT being perhaps the largest and best known) have a similar system. Quite simply, they do not accept contributions into their main development unless there is some arrangement or transfer of copyrights, because they need the rights to have the dual licenses. If you find a bug in MySQL, and send them a GPL'ed patch to fix it, it will not be added to MySQL - someone will use the patch to establish a specification of the issue, and someone else will write a clean-room implementation of the change. On the other hand, if you write a little add-on for MySQL and GPL it, MySQL AB may well include it as a separately licensed program, just as Richard provides extras for FreeRTOS from other people that cannot be released under the commercial license.
David Brown wrote in news:461ba630$0$24600$ email@example.com:
David (and Richard), thanks for explaining this to me. It sounds very similar to what I would like to do on an open source project.
1 - the core licensed under say the LGPL so people can use it without having to release proprietary code. Accept community fixes with the requirement that it could be relicensed as a package in the future.
2 - Allow GPL or "any license" extensions.
3 - In the future if there is a benefit, the core could be put under a commercial license.
Now all I have to do is find the time to do the project.
LGPL is of (almost) no use for embedded systems. Basically, LGPL is for dynamically loaded libraries - an end user can take the code for the library, modify it, and use it along with your binary. For typical staticly linked embedded applications, this is a big problem - you have to give out linkable object files containing your own modules, along with all other instructions, linker files, libraries, and anything else needed to allow an end user to modify the library and re-link.
What makes more sense is either to go the whole way and say GPL (i.e., you'll share your code if they share theirs), or use the Mozilla Public License or a FreeRTOS-style "modified GPL" (they are, I believe, virtually the same). Basically, these say that the files under the MPL are treated in an GPL fashion (any changes must be covered by the MPL and be available to end users), while any files you write yourself and link with the MPL'ed code are your own business.