cancel
Showing results for 
Search instead for 
Did you mean: 

Extensions licensing issue for Alfresco CE

wvictor
Champ in-the-making
Champ in-the-making
Hi,

This is our situation:
We are developing a system that uses Alfresco in two ways:
1. Java client running separately, remotely communicating with an Alfresco repository using the functions in alfresco-web-service-client.jar. The client is used as a back end to automatically add content to the repository.
2. An extension to the Alfresco Web Client to view nodes created by [1] above, implemented using custom XML, JSP, and Java class files. These reside on top of Alfresco, and do not modify any of the files shipped with the standard CE distribution - files reside in the 'extension' subdirectories created using a ZIP file as described in http://wiki.alfresco.com/wiki/Packaging_And_Deploying_Extensions

We are developing this software for a specific client, who will own the entire project (applications, source, IP) once completed. The client then plans on distributing the EXTENSIONS defined in [1] and [2] above as part of a proprietary content automation package. As far as the applications in question go, the source for two functions (about 15 lines of code) need to remain closed. This is due to a class included from the API of a commercial Java library (purchased by our client) being used in a very specific way.

Money will not be charged for Alfresco in itself, since that is not what he will be selling. Clients will be free to use their own installation of Alfresco, or ask our client, or an Alfresco partner, to do an installation.

My question: His clients should have the choice between using Alfresco CE or EE - bigger clients will obviously want the QA and support that comes with EE, while some small businesses will not be able to afford it. What are the legal implications of running our (closed source) solution in locations where Alfresco CE is being used? Should our entire system suddenly conform to the GPL?

Regrads,
Willie
3 REPLIES 3

sbuckle
Champ in-the-making
Champ in-the-making
As I understand it, any extensions / plugins that you write for the community edition of Alfresco are subject to the terms of the GPL; in other words, if you distribute your application with those changes, e.g. you sell it, then you must also make the source code etc for those changes / extensions available.

Basically, the source code to any application that makes use of code released under a reciprocal license, such as the GPL, must be made available; the GPL essentially "infects" the application. A caveat to this is that you are not obliged to make your changes available IF the application is only used within your organization or is for personal use; in other words, if you don't distribute it.

Other licenses such as the Mozilla license and the LGPL are examples of partially closable licenses meaning they do allow you to write closed source plug-ins etc - if you make any changes to the core product then you must release those changes also. For example, you could write a closed source Firefox extension but you couldn't modify Firefox and distribute it without releasing your changes.

Those 15 lines of source code you want to keep closed source must be really good Smiley Happy

Disclaimer: I'm not a lawyer, this is just my understanding of the various licenses. You have been warned Smiley Happy

wvictor
Champ in-the-making
Champ in-the-making
Yup! Those lines of source contain the end of world hunger, the cure for cancer, a vaccine for AIDS, and eternal world peace! 😉

So if understand this correctly, I can sell my extension, as long as I provide source. Also, the stand-alone app can remain closed, right?

sbuckle
Champ in-the-making
Champ in-the-making
So if understand this correctly, I can sell my extension, as long as I provide source.

Yes; that is my understanding. You must include the source code with the binary distribution. Take a look at the FAQ - I've linked to the section on writing plug-ins but might be a good idea to read the rest of it as well: http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

Also, the stand-alone app can remain closed, right?

As long as your application is a completely separate application - a different process - doesn't use any of the Alfresco stuff and all you are doing is calling the web services API of an Alfresco repository, then as I understand it you can license it how you please. There is the concept of aggregation in the GPL (http://www.gnu.org/copyleft/gpl-faq.html#MereAggregation) meaning that you can distribute both GPL and non-GPL licensed code and the programs are treated as separate works with separate copyrights; it basically comes down to how the programs communicate, e.g. shared memory, inter-process communication etc.

Having said all of that you will still probably want to get all of this checked by a lawyer Smiley Happy