Have you considered making the code available under the Apache or MIT license as well? GPL creates some problems in terms of whether the code can be legitimately included in other things. What is the rationale for GPL as opposed to a 'just do what you want' type license?
Hi Julian,
thanks. We thought long and hard about the choice of license and have decided on GPL v3.0 only, given the behaviour we hope this will generate.
In summary:
- We would like Adapt (framework and tool) to be free
- We would like everyone to be able to use Adapt
- We would like to encourage mass adoption and to maintain an 'as low as possible barrier to adoption'
- We would like to encourage free contributions and service provision over chargeable add-ons
- We would like to channel the contributions from people using Adapt back into the Adapt Learning project
The last two points are the most pertinent in answer to your question. When looking at alternative licenses (including Apache and MIT types), it became clear that different licenses will generate different behaviours:
For instance, if the license allowed developers to create extensions that could be sold, one might say that this would 'encourage' them to build extensions in order to make money / earn a living. At the same time, you could stipulate that it would be harder for people to contribute code back for free, simply because extensions can be sold. Thus we felt this could impede the growth of Adapt’s feature set as well as put end users into a position where they would find themselves quickly needing to pay for additional features they might want. We consider this to be a potential barrier to uptake and therefore wanted to avoid it.
Likewise, we wanted to discourage Adapt being included in a system, which is being sold with a software license model. The intention of the project is to make a positive difference to the learning industry rather than enabling a software sales business model.
With the chosen license, it is most likely that people who use Adapt will ultimately refer back to this open source project, be that by referencing us or contributing code, time or money. The main point of this is that we want to benefit everyone but also 'benefit from them benefitting'.
We felt that the GPL v3.0 license best covers all of these intentions. With the chosen license, it is possible to:
- Create bespoke e-learning for clients (which is a service),
- Use the framework or tool (when ready) internally without having to pay any license fees
- Develop service models around the hosted nature of the Adapt Authoring tool. This includes hosting, support, maintenance, training, customisation, branding, providing consultancy etc.
So ultimately, we do encourage commercial service provision around the Adapt Learning open source project by anyone. This is possible as the authoring tool will be server-based. With this type of set-up, the necessary service provision is possible and will benefit the end users as opposed to software houses.
We do recognise that in order to break into the private sector (and therefore to get to a market leading position), commercial service provision with contracts and SLAs is a must. We're therefore building in features into the authoring tool, which make commercial service provision easy (see authoring tool concept diagram).
We also explain a lot of this thinking in our vision breakdown document. As a point of reference, Moodle is a very good example of this type of setup.
I hope this explains some of the background.
Thanks,
Sven
Sure, appreciate all that, and we use GPL for similar reasons, but - for example - an Apache project cannot consume GPL code, and so GPL would effectively prevent another set of developers building your code into a different system, so GPL is a bit more restrictive than ASF / MIT licenses. You could offer dual licensing. When I reviewed this recently I was susrpised to find the vast majority of the open source software I care about to be ASF / MIT, and that was a good thing as it allowed me to carry on using it, even if we became an Apache Project. As it stands, if we did that (and not saying we are..!) we wouldn't be able to build in your code to our software. It might also mean groups of developers are less inclined to collaborate.
Julian
BTW, that wasn't a moan at all: what you guys are doing is great. I think it's just that my perspectives have changed since we first looked at licensing in 2006: I think that it is probably a lot less likely than you might think that others would attempt to 'steal' your work, or put it into some proprietary software (and GPL doesn't really prevent that anyway); that it is the group of developers around the code that actually are the product, rather than the software itself; and and that the GPL creates some uncertainties for potential users whose use might actually add a lot of value ot the product, or be a source of funding (we have direct experience of a very big company choosing not to adopt the tools further because of licensing uncertainties. If they had taken it up, it would have created (significant) work for our community of developers, which is a good thing).
Hi Julian,
apologies for the delayed response and no worries - we haven't taken it as a moan at all. It's great to have your feedback, especially given your first-hand experience.
For now, I feel that the GPL v3.0 license best reflects what we are trying to achieve but that's not to say that we wouldn't consider and discuss specific opportunities as long as we felt there was a tangible benefit to the Adapt Learning project and community.
I have had a look at a number of open source projects I watch and am involved in and this particular set operate on a very similar model and on the GPL v3.0 license only. I'll dig around a bit more to get a clearer understanding of the impact of dual licensing.
Thanks
Sven
I think one potential problem for you is that you are building a platform, rather than an application: so the GPL doesn't protect you from the scenario you describe. I could take your platform, and because I host it (I am not redistributing it) I can happily change it, and charge for access to it, and I don't have to release anything to anyone.
The same goes for our software. So in the end you end up thinking that GPL isn't actually protecting you from the situations that worry you, and is potentially costing you useful users and collaborations or opportunities. You also realise that it's not the software per se that has the value: it's the community of developers working on it - because without them it's worth nothing.
The Apache license, together with the Apache way of doing IP and release management is designed to give potential users confidence that there are no legal problems with using a piece of software. People can adopt it with confidence. You've not your project out there yet, but when you do, you are going to start coming across all sorts of non-reasons for not adopting it. You want to minimise those.
I would advise doing an IP check at this stage to make sure that any software you are using in Adapt has a license compatible with your needs both now and in the future. The Apache example, again, is illustrative: if you've built your project on top of a load of GPL libraries you would have a problem getting the software into Apache, or any other foundation. That might not seem like a problem now. But it could have serious implications down the line.
I'm pretty much in line with this now: http://en.wikipedia.org/wiki/WTFPL
;-)
Hi Julian,
thanks - I have lifted this out into a separate thread and wanted to answer the specific points you raise:
"I think one potential problem for you is that you are building a platform, rather than an application: so the GPL doesn't protect you from the scenario you describe. I could take your platform, and because I host it (I am not redistributing it) I can happily change it, and charge for access to it, and I don't have to release anything to anyone"
This is a subtle point and important to clarify: The choice of license does prevent the code being sold as such (i.e. someone just selling to software without adding any value). However, it does not prevent someone selling the platform as a service via a SAAS offer (hosted as you say). This is intentional and we would like to encourage this type of service offer. In summary, the latter entails someone has to offer services (i.e. add value) and can then charge for that. The cost of these services will (in theory) be kept adequate seeing as anyone else can take the software and supply the same service. In summary, the differentiator is in the services provided. This is what we would like to encourage and GPL v3.0 meets this need pretty much exactly.
"The Apache license, together with the Apache way of doing IP and release management is designed to give potential users confidence that there are no legal problems with using a piece of software. People can adopt it with confidence."
True, this will increase the confidence around adopting but it also potentially generates other behaviours (e.g. people creating and charging for extensions), which are less aligned with our vision. We look closely at (and work with) Moodle and Totara to give just two examples. Both projects use a single license, GPL v3.0 model and this has worked well for them and both have been adopted worldwide. Moodle's reach is significant as one of the top 10 learning platforms globally across education, public and private sector. Granted, we have been educating clients and partners about open source as there are both myths and valid concerns but we are finding that the market's understanding, acceptance and willingness to consider open source solutions has significantly increased and continues to do so.
"I would advise doing an IP check at this stage to make sure that any software you are using in Adapt has a license compatible with your needs both now and in the future."
Just to reassure you and everyone that this was done at the outset as part of the refactoring work. We carefully looked into all of the libraries we are using and have selected ones, which were:
- licensed in line with our strategy
- fit for purpose
- stable and mature
- well supported with a large and active developer and user community
---
In summary, we have been duly diligent about expressing the vision, planning the strategy and choosing license and libraries we use.
Either way, thank you for raising this item. It's great to explain this in more detail as I am sure it will help everyone understand the thinking and strategy.
The task remains for us to look into and understand the impact of a dual licensing strategy fully. However, given everything we have discussed, we still very much believe that the single GPL v3.0 license approach is the best fit for Adapt Learning.
Thanks,
Sven
Hello Sven,
I know this is a very all thread, and I've also read this other thread regarding licensing. I think it is a very important topic (and pretty complex, I'd say).
While reviewing all this information, the license, etc. there's something that I thought I understood, but now it is not clear to me... and maybe you can help. I understand the motivations about using GPL v3.0 for the project, although I agree that the licensing is easier to understand applied to the Authoring tool (rather than for the framework).
You say that "The choice of license does prevent the code being sold as such (i.e. someone just selling to software without adding any value)", and for a long time, after a cursory overview of the license, I too thought this was the case, but now I'm not so sure. If you get a chance, could you briefly point out what clauses in the license prevent somebody for selling a plugin? As far as I see, in the Preamble, the license says:
"Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish)"
In clause 10. Automatic Licensing of Downstream Recipients, it says:
"You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights"
But that does not mean that you can't charge to distribute a GPL-ed piece of code (a plugin, in our case). In fact in the GNU site it talks about this:
http://www.gnu.org/philosophy/selling.html
http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
And looking at something like Totara... (I'm not familiar with it though) it seems to be that way... it's a GPL product, but the Enterprise version cannot be downloaded for free.
So all that is what's causing me to not be clear about this issue at all. Of course I'm not a lawyer either, and this can get pretty complex.
Please notice that I'm not saying this because I think it's a good idea to try to sell plugins. I don't think that's the case, and I agree with the underlying intentions that you have explained to help grow the reach of Adapt. The only big plugin (an xAPI extension) I've contributed to Adapt is available for free on GitHub. I think that selling a plugin is not practical anyway... because even if somebody charges for a plugin, the buyer will acquire all the rights under the license, and thus he will be able to re-distribute it if he wants (and may do it for free... so nobody will buy the other guy's plugin, since they can get it legally for free). The GPL license is about not limiting the user's rights, as I understand it.
I'll explain the case I have in mind, so you understand where I'm coming from:
As a service provider that does Adapt work, I make/customize a theme for a client. I obviously charge for my work/time (not for the code itself). Since the theme is a derivative work of the bundled Vanilla theme, and is therefore a covered work, clause 10 applies, and when I give the new theme to my client, she has to abide by the license as well (I do understand that a different license might apply to **some parts** of the new theme, e.g. images that the client owns). So, my client might decide to start selling that theme (whether she succeeds at it is another matter), and -according to the GPL license- I can't stop her from doing so. I can buy a copy, and then redistribute it for free, thus affecting her ability to sell. Of course, it doesn't make sense that I buy something that I've created... I already 'have' it, but if I created the theme under a work agreement with the client, just for that client, most likely I can't make free use of that theme, regardless of the GPL license (maybe there's a conflict between the GPL license and the Work agreement between my company and my client).
So, this seems to leave me -the provider- in a weak situation. This is why I really want to understand how it is that the license used in Adapt really prevents people from selling plugins, because I want it to be true!
Maybe clause 2 is relevant here, where it says "You may convey covered works to others for the sole purpose of having them make modifications exclusively for you"... maybe this situation can be seen as that: the client conveys an existing theme to me (although she does not 'give' it to me literally, she just says 'use the Vanilla theme as a starting point') for the sole purpose that I make modifications...
I might be looking too much into it, I don't know, but I think it can get very complex... and I think it is because of the nature of the Framework: it is source and executable at the same time, and it bundles code and content...⋅
So... if you or anybody can shed any light of this, it would be greatly appreciated.
Also, regarding the Adapt Community, there's something I've thought several times... so I'll say it: Aside from the Technical, Responsive, and Job forums... maybe it would be useful to have a separate forum for Business issues, because that's a very important aspect of Adapt as well. Many (or most) community members probably want to make commercial use of Adapt, or are using it in a commercial setting, or want to understand the licenses, and what can be done or not, etc. so, opening up that aspect for discussion might be appropriate, I think. At some levels we're all competitors, but we can be so in a healthy environment. I think that the whole Adapt initiative is a superb example of collaboration between different companies that operate in the same business space.
Thanks.
I'm brand new to Adapt but I have the same concern than Julian.
I'm more a software developper than an ID and for me outside of curiosity Adapt could be interesting to reuse in Kneaver for the eLearning part. We already share 90% of the technology : NodeJS, jQuery, backbone, grunt, npm etc.. Note that all these technologies have a very open type of license which cause adoption to be very fast.
My goal today was to install, try and try to plug into learning-cell the work we did for xAPI last year. Try to see if I can replicate what was done with storyline. This means investigate and learn more than the surface of Adapt.
My second goal was to see how to enhance the video component to have xAPI statements generated, for fun. Our product Kneaver as an xAPI interface to serve as a personal LRS/LMS.
I can spend 2, 3 hours like this but knowing that I will not be able to reuse Adapt in our environment is strongly limitating my motivation.
Talking with IDs they can't use Adapt as is if people like us are not around to help the components to evolve, build samples, bridges. Same as what happen in NodeJS, Express, jQuery. We take, we use, we adapt, we share. It's not my business model to sell components in eLearning or sell software devlopment services.
GPL is fine for closed project where most licensees will nver look under the hood: mySQL, inkscape, gcc etc
I think you have been doing a large work. The next obstacle is communication and building a community of first adopters.