[Openerp-community] Odoo License restriction?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[Openerp-community] Odoo License restriction?

Axel Mendoza Pupo
Some time ago I did some modules for another software based on code taken from OpenERP v7.0 and those modules was accepted to be part of the software core functionalities. The modules was developed to be able to send and receive emails via SMTP, POP3 and IMAP. 

My question are related to the license restriction that someone may have when the code from OpenERP/Odoo is used in a modified form to develop new features for another software.
Odoo have the license:
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3, 19 November 2007
And the other software have LGPL license

The software maintainer write me with concerns about the license interactions, and the news that the modules could not be integrated into the core without removing the OpenERP source code.

Is there a way to allow someone to do this kind of develop based on OpenERP source code??

We all develop OpenSource

_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
Reply | Threaded
Open this post in threaded view
|

Re: [Openerp-community] Odoo License restriction?

Raphael Valyi
Hello Axel,

this is probably correct: basically you cannot put AGPL v3 code (OpenERP/Odoo) along with LGPL code without distributing the combined work under the AGPL v3 (which is aggressively open source ad may not be inline with the philosophy of that LGPL software).

"open source" sounds like just a simple word but there are very important licensing details. For instance if you heard about the Oracle vs Google case, both software were "open source", Java was GPL and Google developed Dalvik under was Apache 2 because they didn't want to use GPL code OpenJDK in their phones. You see were it went...

So yes, that may sounds boring but that's true. Not all open source projects have the same vision: GPL and AGPL have a "copyleft" vision where all derivative work should respect their initial license, that ensure for instance that any user can get access to the source code. That's very nice for the user, but sometimes that's not so nice for the editor business or just even the software production, that's why other licenses, such as LGPL instead allows making closed source software with their code to some extent.

The following graph may help you to get an idea of how it works and how AGPL v3 seats as the most "militant" license here:

(and that's a choice that was made by OpenERP SA during 2009 as they moved from GPL to AGPL deliberately)


Eventually you can take the AGPL code you extracted from OpenERP and wrap is in a small web service that you would publish as AGPL code and call that webservice from your LGPL code without "contaminating" it. It's the same thing as browsing Odoo with Internet Explorer doesn't force Microsoft to publish Internet Explorer closed source source code.

So AGPL is cool because it prevents some big company to come and make a close version of Odoo and destroy the work of everybody from the community or even OpenERP SA and the freedom of their users, or even in the eventuality OpenERP SA would fail as a business and the founder wouldn't be the ones deciding for the software anymore.
But while it's there to avoid such hijacking, you can still probably work around your use case with a proper architecture if you really need some Odoo features at some point in your project. In fact the hardest part of AGPL is probably the fact that nobody sells modules, so the ecosystem is a bit slower to develop, but the good part is that unlike something like Magento apps store, it's there to stay.

Hope this helps.


-- 
Raphaël Valyi
Founder and consultant
+55 21 3942-2434





On Wed, Jul 9, 2014 at 9:03 PM, Axel Mendoza Pupo <[hidden email]> wrote:
Some time ago I did some modules for another software based on code taken from OpenERP v7.0 and those modules was accepted to be part of the software core functionalities. The modules was developed to be able to send and receive emails via SMTP, POP3 and IMAP. 

My question are related to the license restriction that someone may have when the code from OpenERP/Odoo is used in a modified form to develop new features for another software.
Odoo have the license:
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3, 19 November 2007
And the other software have LGPL license

The software maintainer write me with concerns about the license interactions, and the news that the modules could not be integrated into the core without removing the OpenERP source code.

Is there a way to allow someone to do this kind of develop based on OpenERP source code??

We all develop OpenSource

_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp



_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
Reply | Threaded
Open this post in threaded view
|

Re: [Openerp-community] Odoo License restriction?

Axel Mendoza Pupo
That's helps a lot, thanks. My modules right now are apart from the core, the idea is to get integrated into the API ecosystem. They are tools to be used in an ESB environment to send and receive mails while developing web services. Right now they live as part as a module, so you said that if the module is licensed as AGPL 3, then it can be used as a dependency and the rest of the software could remains LGPL without get contaminated with the AGPL 3 restrictions??



On Wed, Jul 9, 2014 at 8:32 PM, Raphael Valyi <[hidden email]> wrote:
Hello Axel,

this is probably correct: basically you cannot put AGPL v3 code (OpenERP/Odoo) along with LGPL code without distributing the combined work under the AGPL v3 (which is aggressively open source ad may not be inline with the philosophy of that LGPL software).

"open source" sounds like just a simple word but there are very important licensing details. For instance if you heard about the Oracle vs Google case, both software were "open source", Java was GPL and Google developed Dalvik under was Apache 2 because they didn't want to use GPL code OpenJDK in their phones. You see were it went...

So yes, that may sounds boring but that's true. Not all open source projects have the same vision: GPL and AGPL have a "copyleft" vision where all derivative work should respect their initial license, that ensure for instance that any user can get access to the source code. That's very nice for the user, but sometimes that's not so nice for the editor business or just even the software production, that's why other licenses, such as LGPL instead allows making closed source software with their code to some extent.

The following graph may help you to get an idea of how it works and how AGPL v3 seats as the most "militant" license here:

(and that's a choice that was made by OpenERP SA during 2009 as they moved from GPL to AGPL deliberately)


Eventually you can take the AGPL code you extracted from OpenERP and wrap is in a small web service that you would publish as AGPL code and call that webservice from your LGPL code without "contaminating" it. It's the same thing as browsing Odoo with Internet Explorer doesn't force Microsoft to publish Internet Explorer closed source source code.

So AGPL is cool because it prevents some big company to come and make a close version of Odoo and destroy the work of everybody from the community or even OpenERP SA and the freedom of their users, or even in the eventuality OpenERP SA would fail as a business and the founder wouldn't be the ones deciding for the software anymore.
But while it's there to avoid such hijacking, you can still probably work around your use case with a proper architecture if you really need some Odoo features at some point in your project. In fact the hardest part of AGPL is probably the fact that nobody sells modules, so the ecosystem is a bit slower to develop, but the good part is that unlike something like Magento apps store, it's there to stay.

Hope this helps.


-- 
Raphaël Valyi
Founder and consultant
<a href="tel:%2B55%2021%203942-2434" value="+552139422434" target="_blank">+55 21 3942-2434





On Wed, Jul 9, 2014 at 9:03 PM, Axel Mendoza Pupo <[hidden email]> wrote:
Some time ago I did some modules for another software based on code taken from OpenERP v7.0 and those modules was accepted to be part of the software core functionalities. The modules was developed to be able to send and receive emails via SMTP, POP3 and IMAP. 

My question are related to the license restriction that someone may have when the code from OpenERP/Odoo is used in a modified form to develop new features for another software.
Odoo have the license:
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3, 19 November 2007
And the other software have LGPL license

The software maintainer write me with concerns about the license interactions, and the news that the modules could not be integrated into the core without removing the OpenERP source code.

Is there a way to allow someone to do this kind of develop based on OpenERP source code??

We all develop OpenSource

_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp




_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
Reply | Threaded
Open this post in threaded view
|

Re: [Openerp-community] Odoo License restriction?

Raphael Valyi
On Wed, Jul 9, 2014 at 11:57 PM, Axel Mendoza Pupo <[hidden email]> wrote:
That's helps a lot, thanks. My modules right now are apart from the core, the idea is to get integrated into the API ecosystem. They are tools to be used in an ESB environment to send and receive mails while developing web services. Right now they live as part as a module, so you said that if the module is licensed as AGPL 3, then it can be used as a dependency and the rest of the software could remains LGPL without get contaminated with the AGPL 3 restrictions??

If I understand correctly, you said your program in an Odoo module. Then yes, it has to be distributed as AGPL 3.

Now yes, the rest of the software that is LGPL, can use that module calling it with an API (XML/RPC, JSON...) without being contaminated. That's what you mean when you said an ESB would call it, right?

Now basically, if instead a program does
from openerp import fields, orm or whatever
then it that program needs to be licensed under AGPL. That's the case of an Odoo module with Python code for instance.

Now if some 3rd party tool is importing that contaminated AGPL module as a Python module, then yes, that program get its overall distribution contaminated as AGPL. But calling with a webservice would be OK.

An other possible architecture without web service could be:
  • LGPL software code imports your program that is licensed under whatever license
  • the Odoo module also imports your program.

The the wrapping code importing your program should be AGPL, but the program itself can have whatever license because it doesn't depend on Odoo's code. This is the same principle how NVidia graphic drivers work around the GPL restrictions of the Linux Kernel and they even earn some very special love from the Linux community with this http://www.youtube.com/watch?v=_36yNWw_07g&feature=kp

So you see, there are lot's of opportunities to build nice products and nice product reputations ;-)

-- 
Raphaël Valyi
Founder and consultant
+55 21 3942-2434




_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
Reply | Threaded
Open this post in threaded view
|

Re: [Openerp-community] Odoo License restriction?

Lionel Sausin
In reply to this post by Axel Mendoza Pupo
Le 10/07/2014 02:03, Axel Mendoza Pupo a écrit :
> My question are related to the license restriction that someone may
> have when the code from OpenERP/Odoo is used in a modified form to
> develop new features for another software.
I'm not a lawer but:
1 - this is clearly "derivative work" of both the odoo module
2 - it's admitted that modules are themselves derivative works of the core.
so AGPL applies to your code.

Simply re-implement the AGPL part from scratch, i think it'd clear the
problem and should be easy enough for a single module.
Odoo SA themselves did that when they switched to AGPL, for small parts
which conflicting contributors refused to relicence.

If reimplemnting is a problem, you still have the option to get a
double-licence AGPL + LGPL :
1 - ask the original author of the module to relicence it as LGPL
2 - ask Odoo SA for a licence - I think they don't do that for the core
itself, but here for a module they have nothing to do with, maybe they'd
make an exception. You can always ask.


_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
Reply | Threaded
Open this post in threaded view
|

Re: [Openerp-community] Odoo License restriction?

Raphael Valyi

Hello Lionel,

I agree with what you said but let me just correct one point because I think these licensing things should really be taken seriously in general:

On Thu, Jul 10, 2014 at 5:58 AM, Lionel Sausin <[hidden email]> wrote:
Le 10/07/2014 02:03, Axel Mendoza Pupo a écrit :

My question are related to the license restriction that someone may have when the code from OpenERP/Odoo is used in a modified form to develop new features for another software.
I'm not a lawer but:
1 - this is clearly "derivative work" of both the odoo module
2 - it's admitted that modules are themselves derivative works of the core.
so AGPL applies to your code.

Simply re-implement the AGPL part from scratch, i think it'd clear the problem and should be easy enough for a single module.
Odoo SA themselves did that when they switched to AGPL, for small parts which conflicting contributors refused to relicence.

Not to my knowledge.

in 2009 they moved from GPL to AGPL and as you can see in that graph http://timreview.ca/ojs/february11/february11_daffara1.png you can always include GPL code (the contribs) in and AGPL software without asking anyone's permission because the AGPL still preserve the user guaranties of the GPL, it just adds an extra guarantee that the user will receive the source code even if the software is distributed online like a SaaS without binary distribution. If somebody did not agree with that at that time, they didn't have their contrib violated by the AGPL branch and they could very much start maintaining a pure GPL branch without the AGPL evolution and in fact this is exactly what the Tryton fork did.

Now, during 2011, there have been an attempt (so 3 after 3 years of contribs under strict AGPL when OpenERP SA was still peanuts and largely supported by a community, without any contributor agreement of any sort granting else than AGPL) to change the AGPL license adding some extra non symmetric clause that would allow OpenERP SA to sell the right (in the Enterprise contract) to a 3rd party to not submit its code to the AGPL clause (the private modules thing). Well in that case, contributors were not asked anything and it was said that if somebody disagree they would rewrite (nice isn't it?) and no extensive rewrite was done either...

So personally I would love to see that kind of clause removed, specially as it sets Odoo a bit aside from the OSI licenses and introduce a juridic risk that someday in the long future, a big company like SAP or whatever could use to attack the Odoo product or a company using it with these kind of licensing terms. If you see what happened with Oracle and Google for things that would be details compared to this, I wouldn't try that kind of thing if someday Odoo achieve some of its potential.
That last 2011 move has been compiled in that blog post at the time http://version2beta.com/articles/a-new-openerp-product-and-license/

I like very much the OpenERP / Odoo project, but no sorry I cannot stand that kind of licensing approximations. We do open source because it's something we like, not because we are stupid. Today OpenERP SA received yet a new investment of 10 millions USD. What will happen if the business plan fail, just like it already failed with Openbravo or Compiere http://www.compieresource.com/2010/06/compiere-open-source-failed.html ? Should all the people who invest in OpenERP / Odoo expose themselves to licensing threats whenever the original founders may not be the ones that would decide for the software anymore? For me open source is meant to be safe, safer that proprietary software (even if they can be late o schedule). So this is the very reason I don't like these approximations.

So I just wanted to clarify that point but aside from that I agree on all you said.

Best regards.


-- 
Raphaël Valyi
Founder and consultant
+55 21 3942-2434







_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
Reply | Threaded
Open this post in threaded view
|

Re: [Openerp-community] Odoo License restriction?

Anders Wallenquist-2
In reply to this post by Axel Mendoza Pupo
2014-07-10 02:03, Axel Mendoza Pupo skrev:
Some time ago I did some modules for another software based on code taken from OpenERP v7.0 and those modules was accepted to be part of the software core functionalities. The modules was developed to be able to send and receive emails via SMTP, POP3 and IMAP. 

My question are related to the license restriction that someone may have when the code from OpenERP/Odoo is used in a modified form to develop new features for another software.
Odoo have the license:
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3, 19 November 2007
And the other software have LGPL license

The software maintainer write me with concerns about the license interactions, and the news that the modules could not be integrated into the core without removing the OpenERP source code.

Is there a way to allow someone to do this kind of develop based on OpenERP source code??

I don't know the background of the choice of LGPL for the other part of the software. Usually LGPL are choosen for libraries that could be incorporated in other software that is closed source, apache/bsd or GPL. If you had choosen GPL for the main-project and LGPL for libraries/drivers and other stuff you think other projects can use - it makes sense for an free software project. Then you are using GPL to protect the main codeset but widen the use for not so important parts (libraries/drivers). Or if you had choosen a closed source, apache/bsd style for your main project and LGPL for code that you think other projects can use. If you know that your customers want to close your code and you don't bother apache/bsd-style of licences are good. If you are a small company and don't want Oracle or other large company to "steal" or close your code GPL are better.

I think the force for Google to choose a weak licence for Android/Dalvik was large telcos  that want to build their own user interfaces and drivers for hardware using closed source.

Regards
Anders Wallenquist


We all develop OpenSource


_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [hidden email]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp