On Wed, Apr 24, 2013 at 2:46 PM, Matthew Walker <mwalker(a)wikimedia.org> wrote:
At the risk of starting another huge bikeshed like [1]
I feel like we need
some good guidance on just how in the heck we are required to license
extensions/images/source code files. With the help of Marktraceur we now
have
http://www.mediawiki.org/wiki/Manual:Coding_conventions#Source_File_Headers
which is somewhat specific to PHP but could be generalized to JS, CSS, and
SQL.
If I can find some time (more likely, intern time) would it be useful
to do something broader, like:
https://www.mozilla.org/MPL/headers/
https://www.mozilla.org/MPL/license-policy.html
?
No promises! But I can put it on the TODO list if people are interested.
[1]
http://lists.wikimedia.org/pipermail/wikitech-l/2013-March/067217.html
But I have some additional questions... breaking this up into bits; my
current thought matrix is that:
== Extensions ==
* Must have a LICENSE file in the root with the full text of the license for
the extension,
Yes.
and appended any additional licenses for
libraries/resources
they've pulled in
** How do we specify what license goes to what included component?
In practice, most people who are sophisticated enough to care about
this are also sophisticated enough to grep for the details. This is
probably why there is no consistent way to handle this.
That said, one convention for this that I like has been separate files
for each component:
LICENSE.<component name>
That file includes the component name, file/directory path the
component can be found in, any other relevant notes, and the full text
of the license.
Then the master LICENSE file mentions that there are components under
other licenses and details and full license texts in LICENSE.*.
In cases where there are many, many subcomponents, but only one or two
licenses, you can flip the convention - LICENSE.Apache would list all
Apache-licensed components + have the Apache text, etc.
Of course, any existing license information in the sub-component
should be preserved (assuming that it is a different license because
it came to us as a standalone third-party library/tool).
For those of you who want to dive very deeply into this issue, a good
read is
https://www.softwarefreedom.org/resources/2012/ManagingCopyrightInformation…
== PHP Files ==
* For generic files, include a statement like
http://www.mediawiki.org/wiki/Manual:Coding_conventions#Source_File_Headers
* If it's the Extension.php file $wgExtensionCredits array should have the
following items
** author
** version
** url
** license?
** If we include additional libraries, so we add another entry to the
wgExtensionCredits array?
Can't speak enough to the details here to usefully comment, but happy
to discuss details. See also the other thread, where I (implicitly)
suggest that it might be a good idea for extension metadata to have a
pointer to a source download location.
== Image Files ==
Really shouldn't be licensed under GPLv2; but right now they implicitly are.
Is there a way to explicitly identify image/binary content as being CC
licensed? Do we just add a line to the license file about this?
In a dreamy ideal world, we all embed license metadata directly in our images!
In the meantime, yes - an explanation at the beginning of the LICENSE
file, probably with a separate LICENSE.images file with a detailed
explanation of what files are covered + the text of the license, is
probably the best way to go.
Hope that helps-
Luis
--
Luis Villa
Deputy General Counsel
Wikimedia Foundation
415.839.6885 ext. 6810
NOTICE: This message may be confidential or legally privileged. If you
have received it by accident, please delete it and let us know about
the mistake. As an attorney for the Wikimedia Foundation, for
legal/ethical reasons I cannot give legal advice to, or serve as a
lawyer for, community members, volunteers, or staff members in their
personal capacity.