Community mailing list archives

community@mail.odoo.com

Re: FW: access to code under AGPL v3

by
Andi Becker
- 01/19/2016 01:10:32
Thanks Joel

for correcting the links.




I think if there are no Free members you should really correct the wording on your website! http://prntscr.com/9rxuoe

This membership directory specifies different categories of Membership and functions - Delegates/Board

All lists all members also for 2015 and you can see also the board of 2015 and the delegates as the links below don't work again!
Board 2015 it shows "No result found."
Delegation 2015 it shows "No result found."
Members for 2015 (a lot) but the link shows "No result found." actually! - some names are doubled under All!
Members for 2016 (not so many) 18 Members
and 
Free Members

Those Free Members are also listed here and Camptocamp is listed here!

Our Members Directory



otherwise people and customers visiting that page might interpret that you don't have to pay anything!
Why not calling them Founding Members ;-)


===========

Copyright and license are different.

Exactly my talking and they should not get mixed up!

Every repo and modules in the OCA should have its own license defined (mostly AGPL everywhere currently, like https://github.com/OCA/rma/blob/9.0/LICENSE). If not, you can make a PR to correct that and it'll be accepted without doubt

This License is identical with the one of GNU AGPL v.3 License and they don't allow exceptions afaik!

This also means that also all OCA Version 9 modules are licensed under AGPL - right?

mostly AGPL everywhere currently

What does "currently" mean? Will there be a change of License already planned in future i.e. switching OCA AGPL modules to LGPL?

============

Take the rma repository as an example:

License file shows the following:

GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This is 100% the GNU AGPL v.3 License like it should be - OK!

Unfortunately a customer usually only sees a module out of that repository and most often he don't see the repository main directory as there isn't a link to it available in most modules.

So IMHO the licens should always be specified inside the module itself __openerp.py

example:

product_warranty

# -*- coding: utf-8 -*-
#########################################################################
# #
# #
#########################################################################
# #
# Copyright (C) 2009-2011 Akretion, Emmanuel Samyn #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
#########################################################################
{
'name': 'Product warranty',
'version': '8.0.1.0.0',
'category': 'Generic Modules/Product',
'author': "Akretion,Odoo Community Association (OCA),Vauxoo",
'website': 'http://akretion.com',
'license': 'AGPL-3',
'depends': ['product'],


  1. Under the Copyright section of that module the OCA does not get mentioned! It is only mentioned that until 2011 Akretion was holding the copyright.
  2. As there is an end date itals means that the copyright already expired and this module can be used by anybody as it is under public domain!
  1. Better would be:
    Mentioning always the OCA with its full name under the copyright section and keeping the year openend.

  1. The odoo community Association gets mentioned as author but author and copyright holder are not the same IMHO. There can be one who holds the copyright to it and also contributors can be authors.
-----

2. example

# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright 2015 Eezee-It
# Copyright 2013 Camptocamp
# Copyright 2009-2013 Akretion,
# Author: Emmanuel Samyn, Raphaël Valyi, Sébastien Beau,
# Benoît Guillot, Joel Grand-Guillaume
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'RMA Claim (Product Return Management)',
'version': '8.0.1.1.0',
'category': 'Generic Modules/CRM & SRM',
'description': """
Management of Return Merchandise Authorization (RMA)
====================================================
This module aims to improve the Claims by adding a way to manage the
product returns. It allows you to create and manage picking from a
claim. It also introduces a new object: the claim lines to better
handle that problematic. One Claim can have several lines that
concern the return of differents products. It's for every of them
that you'll be able to check the warranty (still running or not).
It mainly contains the following features:
* product returns (one by one, mass return by invoice)
* warranty control & return address (based on invoice date and product form)
* product picking in / out
* product refund
* access to related customer data (orders, invoices, refunds, picking
in/out) from a claim
* use the OpenERP chatter within team like in opportunity (reply to refer to
the team, not a person)
Using this module makes the logistic flow of return this way:
* Returning product goes into Stock or Supplier location with a incoming
shipment (depending on the settings of the supplier info in the
product form)
* You can make a delivery from the RMA to send a new product to the Customer
.. warning:: Currently, the warranty duration used is the one configured on the
products today, not the one which was configured when the product
has been sold.
Contributors:
-------------
* Emmanuel Samyn <esamyn@gmail.com>
* Sébastien Beau <sebastien.beau@akretion.com.br>
* Benoît Guillot <benoit.guillot@akretion.com.br>
* Joel Grand-Guillaume <joel.grandguillaume@camptocamp.com>
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Javier Carrasco <javier.carrasco@eezee-it.com>
""",
'author': "Akretion, Camptocamp, Eezee-it, MONK Software, "
"Odoo Community Association (OCA)",
'website': 'http://www.akretion.com, http://www.camptocamp.com, '
'http://www.eezee-it.com, http://www.wearemonk.com',
'license': 'AGPL-3',
'depends': [
'sale',
'stock',
'crm_claim',
'crm_claim_code',
'crm_claim_type',
'product_warranty',
],

Here the contributors get listed in a separate part of that __openerp.py file.
But again under the actual copyright section the OCA gets not mentioned and the specific authors get mentioned as an additon to the copyright part.
Have a look under "author" here also MONK Software gets; mentioned but they don't appear under the copyright or author part below the copyright section, while the OCA gets mentioned also as author.

Better would be IMHO:
List all Copyright holders under the copyright section at the top of that file so that they get actually be read first by people accessing the file. Add "Odoo Community Association (OCA) to that part and customers/developers/hosters can easily see, that it is a module where OCA holds the copyright and therefore they don't need to fear to get sued (as Maxime explained previously). As long as they don't get mentioned here under that copyright section it is not obvious who is actually holding the copyright!

---------

Example 3

# -*- coding: utf-8 -*-
#########################################################################
# #
# #
#########################################################################
# #
# Copyright (C) 2009-2011 Akretion, Emmanuel Samyn #
# #
#This program is free software: you can redistribute it and/or modify #
#it under the terms of the GNU General Public License as published by #
#the Free Software Foundation, either version 3 of the License, or #
#(at your option) any later version. #
# #
#This program is distributed in the hope that it will be useful, #
#but WITHOUT ANY WARRANTY; without even the implied warranty of #
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
#GNU General Public License for more details. #
# #
#You should have received a copy of the GNU General Public License #
#along with this program. If not, see <http://www.gnu.org/licenses/>. #
#########################################################################
{
'name': 'CRM claim extension',
'version': '1.0',
'category': 'Generic Modules/CRM & SRM',
'description': """
Akretion - Emmanuel Samyn
* Add some fields to CRM claim : canal, spirit, product.exchange
* Forbid to return product from picking out and in by masking the button
It also contain all views that weren't used when porting this module to v7.0.
Also, all wizard that were not used anymore also landed here in the wait his original
author (Akretion) take a decision on them.
""",
'author': "esamyn,Odoo Community Association (OCA)",
'website': 'http://www.erp-236.com',
'license': 'GPL-3 or any later version',
'depends': ['crm_claim'],

This module is not AGPL v.3 but it is GPL v.3 which is fine IMHO.
Also here applies the same problem like mentioned above concering the copyright notice and OCA does not get mentioned.

You pointed to the rma license file which is actually AGPL v.3 but it contains modules which are GPL v.3

Perhaps you can explain what is now if that module gets included into a Odoo 9 installation or in a Odoo 8 Installation.

Odoo 8 is AGPL and Fabien already clarified that all modules - so also that GPL v.3 one - would need to make its source available for users who interact with the site - correct?

What about now if an OCA module which is AGPL gets included into Odoo 9?

==========
Example 4

# -*- encoding: utf-8 -*-
###########################################################################
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
# Credits######################################################
# Coded by: Humberto Arocha humberto@openerp.com.ve
# Angelica Barrios angelicaisabelb@gmail.com
# Jordi Esteve <jesteve@zikzakmedia.com>
# Planified by: Humberto Arocha
# Finance by: LUBCAN COL S.A.S http://www.lubcancol.com
# Audited by: Humberto Arocha humberto@openerp.com.ve
#############################################################################
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##############################################################################
{
"name": "Common financial reports",
"version": "2.0",
"author": "Vauxoo,Odoo Community Association (OCA)",
"website": "http://www.vauxoo.com",
"license": "GPL-3 or any later version",

The license file in that repository again shows the 
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

The branch is 9.0 which might assume for somebody visiting that repository that all modules are AGPL v.3

Unfortunately especially in that repository it is getting even more confusing as some modules contain the "All rights reserved" sentence wich is a contradiction to AGPL or any GNU GPL license. Therefore it would be advised to re-release those modules with a link to an AGPL v.3 License under AGPL v.3.

Also here the module gets published not under AGPL but under GPL v.3 actually (if you ignore the "all rights reserved" part)

===========

To follow what Maxime suggested in his answer that customers and Hosters can trust OCA if they make sure only to use OCA modules I think all of this should be much clearer and much easier to be checked.

Problem 1:

Under the Copyright section of each module - usually OCA does not get mentioned at all
Mostly - but not always - OCA gets only mentioned as "author"
In some extensions also contributors get mentioned as authors in others not.

Problem 2:

Mostly the license file in the repository shows only the AGPL license but modules inside that repository are also released under AGPL v.3 license and a GPL v.3 License File is missing in that repository.

"
You should have received a copy of the GNU General Public License
# along with this program."
Problem 3:

Some companies/Developers add "All rights reserved" to their modules which makes them actually incompatible with any GNU License! 

============

You should maintain a proper copyright notice and a license notice in each nontrivial file in the package. (Any file more than ten lines long is nontrivial for this purpose.)

Even it is not mandatory a copyright file and included text should be used IMHO. Especially in the current situations where customers, hosters and developers need to check if their ODOO site are build with OCA only modules. 

A copyright notice looks like this:
Copyright (C) year1, year2, year3 copyright-holder
The word ‘Copyright’ must always be in English, by international convention.


There are strict technical requirements as to what a copyright notice must contain if it is to serve its purpose of preventing an innocent infringer defense. A valid copyright notice contains three elements:
  • the copyright symbol ©, or the words "Copyright" or "Copr.,"
  • the year of publication, and
  • the name of the copyright owner.

As you can see here you have to - it is a must - to enter the Odoo Community Association in the Copyright part! and not only the actual author or company who holds the copyright. i.e. a company in Thailand can hold the copyright for maximum of 10 years before it goes back to the author, if the author is an employee of that company and if he has signed an agreement with the company that the company holds the copyright! Also in your CLA it woudl be adviced to mention a period where OCA is holding the copyright.

==========

SOLUTION:

As in nearly all files OCA does not get listed in the copyright section of those modules I would ask OCA and their members to correct that!

I suggest that you will inform all your OCA members to correct all those license files in their __openerp.py files in the next 1 or 2 weeks till end of january to the following: (perhaps someone could even modify the script which creates modules in Odoo so that the script will ask for the copyright holders, that it adds the actual date and asks also for authors and contributors and will keep always the same structure as shown below.

# -*- coding: utf-8 -*-
##############################################################################
#
#
# Copyright (c) ENTER THE YEAR WHERE THE COPYRIGHT STARTED # - Odoo Community Association (OCA) # - ENTER THE NAME(S) OF ALL OTHER COPYRIGHT HOLDERS - ONE IN EACH LINE # - ... # # Author(s): - ENTER THE NAME(S) OF ALL AUTHORS <HONOR THEM BY ADDING THEIR EMAIL # SO THEY CAN BE CONTACTED!> - ONE IN EACH LINE # - Author number 2 # - ...
#
# Contributor(s): - ENTER THE NAME(S) OF CONTRIBUTORS - ONE IN EACH LINE # - ... # # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

Best would actually be if that specific part of __openerp.py would look always the same with the same structure in each single module and listing the Odoo Community Association (OCA) on first place of that list. No matter how long this list would be with additional copyright holders the OCA would be visible always at the same place. This is easy to check thanks to a clear structure.

Below the Copyright, Author and Contributor Section list the AGPL v.3 License text. It would be good if this would be always AGPL v.3. as this license file seems to be actually the one in all those repositories. In other words your members shoudl be asked to change and re-release their modules under AGPL v.3. 

Please check also your own modules concerning the "All rights reserved" part and re-release them as Bevan Weiss already suggested.

or another way would be to add also the GPL v.3 License file to all repositories and than also GPL v.3 could be used and the GPL v.3 License text would be included in the repository too, from authors - especially in Version 9 from authors who don't like that their code gets linked by a commercial licensed closed source product.

Some authors I realised they already now use GPL v.3 instead of switching to LGPL v.3 so they avoid that their code gets linked or used in a proprietary closed source product and enjoy the benefits of GPL v.3. I would actually encourage that, instead of forcing people to switch their modules to LGPL v.3 jm2c.


{'name': 'MODULE NAME', 'version': '1.0',
'category': 'Hidden',
'description': """DESCRIPTION OF THE MODULE""", 'license': AGPL v.3
'author': "AUTHORS AS LISTED ABOVE UNDER AUTHORS",
'maintainer': 'NAME OF THE MAINTAINER',
'website': 'THE LINK TO THE OCA REPOSITORY WHERE THIS MODULE RESIDES',
'depends': ['COMMA SEPARATED LIST OF MODULES THIS MODULE DEPENDS ON'],

If all modules would have a head which simply looks the same than they are also very easy and understandable to read!

under website I would link the people to the OCA repository and not to the original authors company. So people who use a module can find very easily the place where they ned to check of a module is from OCA or the Version which gets released perhaps by the author without OCA.

Actually it is a bit strange to have versions from OCA and the same from the author without OCA. 
Much better would be to have that module ONLY from OCA+author OR author.

Andi