As mentioned in a previous question about the Apache 2.0 code header, I mentioned having the code header which is recommended by the Appendix of the Apache 2.0 license.
However there are two fields that information can be placed in regarding copyrights/licenses for a standardized Python boilerplate header for a module. The two fields are __copyright__ and __license__ as specified by this relevant answer on Stack Overflow.
I'm wondering about what information should go where, should I include only my name and copyright year in the __copyright__ field and then have the __license__ field be the full text of the Apache 2.0 license? Should the __license__ field duplicate the copyright line with my name and the year?
OR
Alternatively could have the full text of the license in the __copyright__ field and then simply list the license name in the __license__ field as Apache 2.0 as the __license__ field is more commonly used.
I'm mostly worried about preserving the Apache 2.0 header's use without having to split it up but I'm also worried about duplicate information in a header. (Containing copyright year and my name in both __license__ and __copyright__ fields.)
Currently I was thinking the following:
__copyright__ = """
Copyright 2016 <MY FULL NAME>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
__license__ = "Apache 2.0"
__init__.pyfor Python). Normally if copyright/license information matters below than the package level, I need much finer-grained tagging than per-file. – Todd Knarr Jul 08 '16 at 01:57