AnsweredAssumed Answered

How to integrate non Open Source soft with Alfresco communit

Question asked by iblanco on Mar 25, 2009
At our enterprise we are intending to offer our customers Alfresco as a document management system but with some specific extensions, integrations and configurations to treat specific types of documents and XML incomings.

Some customers might be able to afford and require the enterprise version but some other won’t require the service level offered by the enterprise version or might not be able to afford it. Can an Alfresco partner install and support, without Alfresco Enterprises advantages of course, community versions ?

We don’t have any problem in making our developments Open Source, that would be in line with our enterprise philoshopy, but we want to integrate or connect with some third party software that it is not Open Source.

So we have been thinking carefully about the different options and implications if we use the community version and finally reached some consensus.

I would very much appreciate if someone from Alfresco could confirm or correct this:

    If I develop an action, behaviour, transformer or whatever Java class specifically to extend Alfresco it must be GPL. Although there is a FLOSS exception my extension could not hold any other open source license just because this is not a general purpose program but a specific class/extension for Alfresco. The FLOSS exception only applies for the integration of already independent software, for example to integrate something like Jasper Reports for reporting in Alfresco.
    The same applies if I develop a custom REST API using the webscript framework, or if I create a new script. Although those programs are “independent” in some way and could in fact be interpreted by any other ECMAScript compliant interpreter, I would for sure use the Alfresco Javascript API so my script would be considered a derivative work and consecuently must be GPL.
    If I develop a custom REST API or use the already developed Alfresco REST API so that a third program can connect to Alfresco, not only do I have to make the custom API code GPL but also the third program, because the connection related part of the third program does not have any sense wihtout Alfresco so is a derivative work.
    If a program is able, or is developed to be able, to connect to Alfresco’s CMIS API the program can have whatever license we want, because the communication mechanism is based on a standard and is not intended to be exclusive of Alfresco.
    If a program leaves some documents in a folder, for example an XML file, and I develope actions/extension/behaviours that can read and manage that information. The actions/extension/behaviours must be GPL but does not put any restriction about the program that left the documents there because the comunications mechanism is a standard generic way.
    If I develope an action/plugin/extension/behaviour/script that takes data from a database, the action/plugin/extension must be GPL but it does not imply nothing to the third party software that may be writting to the database.
    If I develop an extension/plugin/behaviour/script under the GPL license Alfresco can not incorporate it to the Enterprise branch unless I arrange it with Alfresco and give another licensing to the extension. Nor could an Alfresco partner offer it to their Enterprise customers, although the customers could decide by themselves to install and use it as there is not distribution involved here. By the way ¿ what is the license for the OpenOffice and Office extensions ? ¿ And to the rest of the extensions in the forge ?
So the real options if you want to integrate a program you can not liberate are using the CMIS API or doing it just by passing files through folder mapping.

It would be great if, at least, the communication over the webscript framework API and the Alfresco included REST API would be allowed.

Obviously all this problems dissapear if you use the enterprise version, but as i stated before there might be quite a lot of companies who can not afford the cost of the enterprise version.

As I said, I think it would be great if someone from Alfresco could correct or confirm this.

Thanks very much.