geopython / pywps

PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.
https://pywps.org
MIT License
175 stars 117 forks source link

Add copyright headers to all files #187

Closed jachym closed 7 years ago

jachym commented 8 years ago

Add Copyright headers

jorgejesus commented 8 years ago

On my branch I have commited the files with the licenses. I am have used the MIT on python-master with the following:

Copyright (C) 2014-2016 PyWPS Development Team, represented by PyWPS Project Steering Committee

1) I am not certain if it should be represented by PyWPS Project Steering Committe or just @jachym. I prefer the first

2) Where I found the authors name (mainly @mgax @Noctalin ) I have included them on __author__, I thinking to put a table on line and ask for people to fill it to clain authorship of code

3) The code needs to be passed by flake8 at least to check if modules are being used, already noticed some declared modules that are not used

Pull request: I would do it after I pass everything through flake8, @jachym are all the points above OK with you ???

tomkralidis commented 8 years ago

Good idea! Suggestions:

mgax commented 8 years ago

I'd argue against spamming each source file with a copyright header. It's common practice to just provide a LICENSE.txt file at the top level of the repo. But I think making a single commit to clean up pep8 issues is a great idea.

tomkralidis commented 8 years ago

Having a standard header file is a requirement for OSGeo incubation and IMHO any project serious about copyright, distribution and related issues.

mgax commented 8 years ago

any project serious about copyright

I submit to you a source file from the Django project, I believe they qualify as "serious" :) No copyright header in there. And maybe it's a good time to raise the issue about this particular OSGeo incubation requirement. :)

tomkralidis commented 8 years ago

@mgax thanks for the example ;) Agree, worth a discussion, I will raise.

tomkralidis commented 8 years ago

Update: thread started in https://lists.osgeo.org/pipermail/incubator/2016-September/003165.html.

ldesousa commented 8 years ago

A Licence file does not replace a Copyright notice. In Europe Copyright applies by default, but this is not the case elsewhere (e.g. US). Therefore I would argue for a Copyright notice in each file header, with a reference to the Licence file.

jorgejesus commented 8 years ago

Hi to all Will had my 2 cents. Yes adding a big header is a pain and having to update the dates even worst, but is a job that has to be done, and better to be "pedantic" now than to be sorrow in the future, meaning I am more in favor of a copyright notice in each file header, I think that the heard was the standard in the past but people and new project stopped using it.

I have read the comments on the thread started by Tom, and maybe a good solution would be a smaller header like this:

/* (c) 2017 Open Source Geospatial Foundation - all rights reserved This code is licensed under the GPL 2.0 license, available at the root application directory. */

This is inline with the suggestion from @ldesousa

ldesousa commented 7 years ago

Precisely. The header needs only two lines: copyright notice and a reference to the licence file.

tomkralidis commented 7 years ago

Update: this turns out to be not a hard OSGeo requirement after some clarifications. I'm okay with going with @ldesousa's suggestion.

mgax commented 7 years ago

How about this? I think the "all rights reserved" is implied if you state the copyright owner.

# (c) 2017 OSGeo, licensed under GPL 2.0, see LICENSE.txt
jorgejesus commented 7 years ago

Shall we also include the development team ???? and the author on the python code or not necessary?

(c) 2017 OSGeo, licensed under GPL 2.0, see LICENSE.txt on root directory PyWPS Development Team, represented by PyWPS Project Steering Committe

author = "Santa's little helper" email = "santa@polenorte.com"

Any email is not a good idea to void spammer crawlers?

ldesousa commented 7 years ago

Most files have more than one author, I would leave that bit out. On the demo this might make sense, but I guess not here.

Another thing: I doubt we can have copyright assigned to mlre than one entity. I suggest something like: Copyright OSGeo Foundation, represented by the PyWPS PSC.

jorgejesus commented 7 years ago

PyWPS3.2 authors and license for each file ( done by command line and then checking each file)

File Author License
pywps/etc/pywps.cfg-temp None None
pywps/Parser/DescribeProcess.py Jachym Cepicky GPL
pywps/Parser/Execute.py Jachym Cepicky GPL
pywps/Parser/Get.py Jachym Cepicky GPL
pywps/Parser/GetCapabilities.py Jachym Cepicky GPL
pywps/Parser/Post.py Jachym Cepicky GPL
pywps/Parser/init.py Jachym Cepicky GPL
pywps/processes/init.py Jachym Cepicky GPL
pywps/processes/dummyprocess.py Jorge de Jesus GPL
pywps/processes/moreInOne.py Jachym Cepicky GPL
pywps/processes/moreInstancesInOne.py Jachym Cepicky GPL
pywps/processes/tests.py Jachym Cepicky GPL
pywps/processes/ultimatequestionprocess.py Jorge de Jesus GPL
pywps/Process/InAndOutputs.py Jachym Cepicky GPL
pywps/Process/Lang.py Jachym Cepicky GPL
pywps/Process/Process.py Jachym Cepicky GPL
pywps/Process/init.py Jachym Cepicky GPL
pywps/Templates/1_0_0/inc/init.py Jachym Cepicky GPL
pywps/Templates/1_0_0/inc/DescribeProcess_BoundingBoxValue.tmpl None None
pywps/Templates/1_0_0/inc/DescribeProcess_ComplexValue.tmpl None None
pywps/Templates/1_0_0/inc/DescribeProcess_LiteralValue.tmpl None None
pywps/Templates/1_0_0/inc/Execute_Data_Inputs.tmpl None None
pywps/Templates/1_0_0/inc/Execute_Data_Outputs.tmpl None None
pywps/Templates/1_0_0/init.py Jachym Cepicky GPL
pywps/Templates/1_0_0/DescribeProcess.tmpl None None
pywps/Templates/1_0_0/Execute.tmpl None None
pywps/Templates/1_0_0/GetCapabilities.tmpl None None
pywps/Templates/init.py Jachym Cepicky GPL
pywps/XSLT/init.py Jachym Cepicky GPL
pywps/XSLT/describeProcess2WSDL.xsl Jorge de Jesus GPL
pywps/XSLT/SOAP2WPS.xsl Jorge de Jesus GPL
pywps/XSLT/WPS2SOAP.xsl Jorge de Jesus GPL
pywps/Wps/Execute/UMN.py Jachym Cepicky GPL
pywps/Wps/Execute/init.py Jachym Cepicky GPL
pywps/Wps/DescribeProcess.py Jachym Cepicky GPL
pywps/Wps/GetCapabilities.py Jachym Cepicky GPL
pywps/Wps/Wsdl.py Jachym Cepicky & Jorge de Jesus GPL
pywps/Wps/init.py Jachym Cepicky GPL
pywps/Exceptions.py Jachym Cepicky GPL
pywps/Ftp.py Soeren Gebbert GPL
pywps/Grass.py Jachym Cepicky GPL
pywps/Soap.py Jachym Cepicky & Jorge de Jesus GPL
pywps/Template.py Jachym Cepicky GPL
pywps/init.py Jachym Cepicky GPL
pywps/config.py Jachym Cepicky GPL
pywps/response.py Jachym Cepicky GPL
tests/processes/init.py Jachym Cepicky GPL
tests/processes/buffer.py Jachym Cepicky GPL
tests/processes/dummyprocess.py Jachym Cepicky GPL
tests/processes/moreInOne.py Jachym Cepicky GPL
tests/processes/moreInstancesInOne.py Jachym Cepicky GPL
tests/processes/returner.py Jachym Cepicky GPL
tests/processes/tests.py Jachym Cepicky GPL
tests/processes/ultimatequestionprocess.py Jorge de Jesus GPL
tests/Templates/1_0_0/init.py Jachym Cepicky GPL
tests/Templates/1_0_0/inc/init.py Jachym Cepicky GPL
tests/Templates/1_0_0/inc/DescribeProcess_BoundingBoxValue.tmpl None None
tests/Templates/1_0_0/inc/DescribeProcess_ComplexValue.tmpl None None
tests/Templates/1_0_0/inc/DescribeProcess_LiteralValue.tmpl None None
tests/Templates/1_0_0/inc/Execute_Data_Inputs.tmpl None None
tests/Templates/1_0_0/inc/Execute_Data_Outputs.tmpl None None
tests/Templates/init.py Jachym Cepicky GPL
tests/Templates/1_0_0/DescribeProcess.tmpl None None
tests/Templates/1_0_0/Execute.tmpl None None
tests/Templates/1_0_0/GetCapabilities.tmpl None None
tests/benchmark.py Jorge de Jesus GPL
tests/envvars_tests.py Jachym Cepicky GPL
tests/exception.py Jachym Cepicky GPL
tests/exceptions.py Jachym Cepicky GPL
tests/parser.py Jachym Cepicky GPL
tests/perform_requests.py Jachym Cepicky GPL
tests/process_inits.py Jachym Cepicky GPL
tests/schema_validation.py Jachym Cepicky GPL
tests/soap_tests.py Jachym Cepicky GPL
tests/resquests/HTTP_GET.txt None None
tests/resquests/wps_describeprocess_exception_SOAP11.xml None None
tests/resquests/wps_describeprocess_exception_SOAP12.xml None None
tests/resquests/wps_describeprocess_request.xml None None
tests/resquests/wps_describeprocess_request_SOAP11RPC.xml None None
tests/resquests/wps_describeprocess_request_all.xml None None
tests/resquests/wps_describeprocess_request_all_SOAP.xml None None
tests/resquests/wps_describeprocess_request_dummyprocess.xml None None
tests/resquests/wps_execute_request-base64.xml None None
tests/resquests/wps_execute_request-bbox.xml None None
tests/resquests/wps_execute_request-complexinput-as-reference.xml None None
tests/resquests/wps_execute_request-complexinput-direct-rawdata-output.xml None None
tests/resquests/wps_execute_request-complexinput-direct.xml None None
tests/resquests/wps_execute_request-complexinput-one-output-as-reference.xml None None
tests/resquests/wps_execute_request-complexinput-output-as-reference.xml None None
tests/resquests/wps_execute_request-literalinput-responsedocument.xml None None
tests/resquests/wps_execute_request-literalinput.xml None None
tests/resquests/wps_execute_request-noinputs.xml None None
tests/resquests/wps_execute_request-rawdataoutput.xml None None
tests/resquests/wps_execute_request-responsedocument.xml None None
tests/resquests/wps_execute_request_compress_SOAP.xml None None
tests/resquests/wps_execute_request_flags_compress_SOAP.xml None None
tests/resquests/wps_execute_request_lineage.xml None None
tests/resquests/wps_execute_request_reference_lineage.xml None None
tests/resquests/wps_execute_request_ultimate_compress_SOAP.xml None None
tests/resquests/wps_execute_request_ultimatequestion_SOAP.xml None None
tests/resquests/wps_getcapabilities_request.xml None None
tests/resquests/wps_getcapabilities_request_SOAP11.xml None None
tests/resquests/wps_getcapabilities_request_SOAP11RPC.xml None None
tests/resquests/wps_getcapabilities_request_SOAP12.xml None None
doc/source/conf.py Jachym Cepicky GPL
webclient/WPS.js Jachym Cepicky GPL
webservices/cgi/pywps.cgi Jachym Cepicky GPL
webservices/wsgi/wsgiwps.py Jachym Cepicky GPL
webservices/tomcat/PywpsServlet.py Jachym Cepicky GPL
webservices/tomcat/web.xml Jachym Cepicky GPL
webservices/mod_python/wps.py Jachym Cepicky GPL
setup.py Jachym Cepicky GPL
wps.py Jachym Cepicky GPL
jachym commented 7 years ago

Hi,

short (2 lines) copyright header is fine

Forget about Jachym Cepicky - it's PyWPS PSC.

Authors can change - leave them out, git will tell

just my 0.02

jorgejesus commented 7 years ago

PyWPS4-master authors and license for each file ( done by command line and then checking each file)

File Author License
docs/Makefile None None
docs/conf.py PSC MIT
docs/demobuffer.py Jachym Cepicky MIT
tests/test_inout.py PSC MIT
tests/process.py PSC MIT
tests/processes/init.py PSC MIT
tests/data/point.xsd None None
tests/validator/init.py PSC MIT
tests/validator/test_literalvalidators.py PSC MIT
tests/validator/test_complexvalidators.py PSC MIT
tests/test_execute.py PSC MIT
tests/init.py PSC MIT
tests/requests/wps_execute_request_extended-responsedocument.xml None None
tests/requests/wps_describeprocess_request.xml None None
tests/requests/wps_getcapabilities_request.xml None None
tests/requests/wps_execute_request_rawdataoutput.xml None None
tests/requests/wps_execute_request-complexvalue.xml None None
tests/requests/wps_execute_request-responsedocument-2.xml None None
tests/requests/init.py PSC MIT
tests/requests/wps_execute_request-boundingbox.xml None None
tests/requests/wps_execute_request-responsedocument-1.xml None None
tests/test_wpsrequest.py PSC MIT
tests/test_exceptions.py PSC MIT
tests/common.py PSC MIT
tests/test_literaltypes.py PSC MIT
tests/test_describe.py PSC MIT
tests/test_ows.py PSC MIT
tests/test_formats.py PSC MIT
tests/test_assync.py PSC MIT
tests/test_capabilities.py PSC MIT
tests/test_dblog.py PSC MIT
pywps/inout/formats/init.py PSC MIT
pywps/inout/inputs.py PSC MIT
pywps/inout/storage.py PSC MIT
pywps/inout/init.py PSC MIT
pywps/inout/outputs.py PSC MIT
pywps/inout/basic.py PSC MIT
pywps/inout/literaltypes.py PSC MIT
pywps/validator/allowed_value.py PSC MIT
pywps/validator/base.py PSC MIT
pywps/validator/literalvalidator.py PSC MIT
pywps/validator/complexvalidator.py PSC MIT
pywps/validator/init.py PSC MIT
pywps/validator/mode.py PSC MIT
pywps/app/WPSRequest.py PSC MIT
pywps/app/basic.py PSC MIT
pywps/app/init.py PSC MIT
pywps/app/Process.py PSC MIT
pywps/app/Service.py PSC MIT
pywps/app/WPSResponse.py PSC MIT
pywps/dependencies.py PSC MIT
pywps/wpsserver.py PSC MIT
pywps/resources/schemas/init.py PSC MIT
pywps/resources/schemas/wps_all.xsd None None
pywps/resources/init.py PSC MIT
pywps/exceptions.py PSC MIT
pywps/_compat.py Alex Morega MIT
pywps/init.py PSC MIT
pywps/configuration.py Calin Ciociu MIT
pywps/dblog.py PSC MIT
setup.py PSC MIT
jorgejesus commented 7 years ago

From the multiple comments, I think we more or less agree on: PyWPS3-2: Copyright 2016 OSGeo Foundation, represented PyWPS Project Steering Committe, licensed under GPL 2.0, see LICENSE.txt on root directory. PyWPS4.0(master) Copyright 2016 OSGeo Foundation, represented PyWPS Project Steering Committe, licensed under MIT, see LICENSE.txt on root directory. Personal authors only relevant on demos. Do we need a final approval vode?

tomkralidis commented 7 years ago

I would remove 'on root directory', otherwise looks good to me.

+1 to put to a vote.

jorgejesus commented 7 years ago

+1 (also vote for remove of on root directory)

ldesousa commented 7 years ago

+1 I usually wirte something like: "Please consult the LICENCE file for details."

jorgejesus commented 7 years ago

Implementing PyWPS3-2: Copyright 2016 OSGeo Foundation, represented by PyWPS Project Steering Committe, licensed under GPL 2.0, Please consult LICENSE.txt for details. PyWPS4.0(master) Copyright 2016 OSGeo Foundation, represented by PyWPS Project Steering Committe, licensed under MIT, Please consult LICENSE.txt for details.

jorgejesus commented 7 years ago

Everything done made two pull requests #192 #193, when they are accepted please close issue

tomkralidis commented 7 years ago

Thanks all!