On Wed, Apr 24, 2013 at 2:46 PM, Matthew Walker mwalker@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.