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.
[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, and appended any additional licenses for libraries/resources they've pulled in ** How do we specify what license goes to what included component?
== 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?
== JS/CSS Files == This gets a bit confusing because apparently we're supposed to have a license in every bit of content pushed to the user; did we ever settle that huge thread in any meaninful way? E.g. how to push minimized but licensed files?
== 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?
== And... go! ==
______ < moo. > ------ \ ^__^ \ ($$)_______ (__)\ )/\ U ||----w | || ||
~Matt Walker Wikimedia Foundation Fundraising Technology Team
On 2013-04-24 6: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.
[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, and appended any additional licenses for libraries/resources they've pulled in ** How do we specify what license goes to what included component?
By saying in the license file component x is under license y.
== 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?
Adding license info to extension credits is interesting idea. I have no idea how we would displsy it though.
== JS/CSS Files == This gets a bit confusing because apparently we're supposed to have a license in every bit of content pushed to the user; did we ever settle
that
huge thread in any meaninful way? E.g. how to push minimized but licensed files?
Says who? I do not believe this is a requirement. It perhaps would be nice, if done sanely, but not a requirement.
== 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?
Yes they should be licensed under gplv2 as they are part of the software. It would be nice if they were dual licensed under something cc-by-sa like as well. Line in the license file sounds fine.
I think you are slightly over thinking things. We just need to adequetely communicate license to potential reusers. It doesnt overly matter as to how provided the people are informed.
-bawolff
On Wed, Apr 24, 2013 at 6:27 PM, Brian Wolff bawolff@gmail.com wrote:
Says who? I do not believe this is a requirement. It perhaps would be nice, if done sanely, but not a requirement.
Says the GPL. To be specific:
From section 0 To “convey” a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
From section 5 You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
... b) The work must carry prominent notices stating that it is released
under this License and any conditions added under section 7.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
On 25 April 2013 00:36, Tyler Romeo tylerromeo@gmail.com wrote:
On Wed, Apr 24, 2013 at 6:27 PM, Brian Wolff bawolff@gmail.com wrote:
Says who? I do not believe this is a requirement. It perhaps would be nice, if done sanely, but not a requirement.
Says the GPL. To be specific:
I understand Luis was working on sane ways to do this in minified JS (and whether it is in fact required, or that counts as a compiled binary; though obviously it would be nice). So AIUI we're waiting on him.
- d.
On Thu, Apr 25, 2013 at 2:59 AM, David Gerard dgerard@gmail.com wrote:
On 25 April 2013 00:36, Tyler Romeo tylerromeo@gmail.com wrote:
On Wed, Apr 24, 2013 at 6:27 PM, Brian Wolff bawolff@gmail.com wrote:
Says who? I do not believe this is a requirement. It perhaps would be nice, if done sanely, but not a requirement.
Says the GPL. To be specific:
I understand Luis was working on sane ways to do this in minified JS (and whether it is in fact required, or that counts as a compiled binary; though obviously it would be nice). So AIUI we're waiting on him.
<personal hat on> It certainly doesn't count as source code: "The source code for a work means the preferred form of the work for making modifications to it" hardly describes minified JavaScript. </personal hat on>
On Thu, Apr 25, 2013 at 9:12 AM, Brad Jorsch bjorsch@wikimedia.org wrote:
<personal hat on> It certainly doesn't count as source code: "The source code for a work means the preferred form of the work for making modifications to it" hardly describes minified JavaScript. </personal hat on>
Irrelevant. The first sentence of section 6 indicates that even when conveying object code you must comply with sections 4 and 5, thus indication of the license is still required.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
On Thu, Apr 25, 2013 at 9:27 AM, Tyler Romeo tylerromeo@gmail.com wrote:
On Thu, Apr 25, 2013 at 9:12 AM, Brad Jorsch bjorsch@wikimedia.org wrote:
<personal hat on> It certainly doesn't count as source code: "The source code for a work means the preferred form of the work for making modifications to it" hardly describes minified JavaScript. </personal hat on>
Irrelevant. The first sentence of section 6 indicates that even when conveying object code you must comply with sections 4 and 5, thus indication of the license is still required.
But not in every individual compiled file.
On Thu, Apr 25, 2013 at 9:38 AM, Brad Jorsch bjorsch@wikimedia.org wrote:
But not in every individual compiled file.
Most likely, but even so, for some resources we don't convey the license *anywhere*. In other words, if I have a JS file from an external library that is not GPL licensed (maybe it's LGPL or something), the license for that file is not displayed anywhere, because the only licensing information on MediaWiki at all is on Special:Version. There needs to be some way to show the licenses of external libraries.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
Additional pressure to update Special:Version is going to come when we start using noun project icons -- like the ones that came out of the Iconathon. The license there is CC-BY but they strongly recommend we put statements to that effect in our 'About' pages for each image resource we use.
I'll take a poke this weekend to see how the Special:Version page could be massaged into outputting such information if we provided it.
~Matt Walker Wikimedia Foundation Fundraising Technology Team
On 04/25/2013 09:27 AM, Tyler Romeo wrote:
On Thu, Apr 25, 2013 at 9:12 AM, Brad Jorsch bjorsch@wikimedia.org wrote:
<personal hat on> It certainly doesn't count as source code: "The source code for a work means the preferred form of the work for making modifications to it" hardly describes minified JavaScript. </personal hat on>
Irrelevant. The first sentence of section 6 indicates that even when conveying object code you must comply with sections 4 and 5, thus indication of the license is still required.
I believe you're quoting GPLv3 ("Conveying Non-Source Forms"). MediaWiki is under GPLv2 or later. Of course, that raises the question of which version the WMF is trying to comply with...
Matt Flaschen
On Fri, Apr 26, 2013 at 1:12 AM, Matthew Flaschen mflaschen@wikimedia.orgwrote:
I believe you're quoting GPLv3 ("Conveying Non-Source Forms"). MediaWiki is under GPLv2 or later. Of course, that raises the question of which version the WMF is trying to comply with...
Also irrelevant. ;) GPL v2 has similar requirements in sections 1 and 3, respectively.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
On 26 April 2013 06:40, Tyler Romeo tylerromeo@gmail.com wrote:
On Fri, Apr 26, 2013 at 1:12 AM, Matthew Flaschen mflaschen@wikimedia.orgwrote:
I believe you're quoting GPLv3 ("Conveying Non-Source Forms"). MediaWiki is under GPLv2 or later. Of course, that raises the question of which version the WMF is trying to comply with...
Also irrelevant. ;) GPL v2 has similar requirements in sections 1 and 3, respectively.
As I noted, the continued bikeshedding while we wait on the actual lawyer is a waste of bytes and of people's attention.
- d.
On Fri, Apr 26, 2013 at 4:57 AM, David Gerard dgerard@gmail.com wrote:
As I noted, the continued bikeshedding while we wait on the actual lawyer is a waste of bytes and of people's attention.
Then stop replying. Mute this thread. Seriously, if you think a discussion is not worthwhile or is not in alignment with your interests, then all you have to do is ignore it. Meanwhile, other people will continue to spend their time worrying about whether MediaWiki is violating copyright law or not. Because it's straight up obnoxious to come into a thread and undermine a topic people care about by calling it "a waste of bytes and people's attention". If it were really a waste, why would people still be contributing to the thread?
Also, you should seriously look up the definition of the work bikeshedding. It's the theory that organizations give undue weight to trivial issues. I don't see how this is at all a trivial issue. MediaWiki is violating the license of third party tools it uses. Maybe you think that's trivial, but I and others have a different opinion.
And one more thing, it doesn't take a lawyer to read the GPL. Would you consult a lawyer before determining if robbery is illegal? No, because sometimes the law is damn obvious and doesn't need to be interpreted by experts.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
Luis, the thread: http://www.gossamer-threads.com/lists/wiki/wikitech/352923
On 04/26/2013 06:00 AM, Tyler Romeo wrote:
it's straight up obnoxious to come into a thread and undermine a topic people care about by calling it "a waste of bytes and people's attention".
No, David isn't calling the *topic* a waste; he's saying that it's more valuable to hear lawyers speak about this particular messy legal topic than to hear non-lawyers argue about it.
Also, you should seriously look up the definition of the work bikeshedding. It's the theory that organizations give undue weight to trivial issues.
Not organizations - noisy individuals. http://bikeshed.org/ "the amount of noise generated by a change is inversely proportional to the complexity of the change." Specifically, it's an observation that lots of people speak up when something comes up where they can have an opinion. From the canonical email:
In Denmark we call it "setting your fingerprint". It is about personal pride and prestige, it is about being able to point somewhere and say "There! *I* did that." It is a strong trait in politicians, but present in most people given the chance. Just think about footsteps in wet cement.
Regardless, it's fine for David to opine that lawyers' opinions do carry more weight here than non-lawyers'.
Look ma, I'm a lawyer!
I'll note that yesterday I was a fireman.
And an astronaut the day before.
Isn't pretending fun?
-Chad
-Chad On Apr 26, 2013 7:25 AM, "Sumana Harihareswara" sumanah@wikimedia.org wrote:
Luis, the thread: http://www.gossamer-threads.com/lists/wiki/wikitech/352923
On 04/26/2013 06:00 AM, Tyler Romeo wrote:
it's straight up obnoxious to come into a thread and undermine a topic people care about by calling it "a waste of bytes and people's attention".
No, David isn't calling the *topic* a waste; he's saying that it's more valuable to hear lawyers speak about this particular messy legal topic than to hear non-lawyers argue about it.
Also, you should seriously look up the definition of the work
bikeshedding.
It's the theory that organizations give undue weight to trivial issues.
Not organizations - noisy individuals. http://bikeshed.org/ "the amount of noise generated by a change is inversely proportional to the complexity of the change." Specifically, it's an observation that lots of people speak up when something comes up where they can have an opinion. From the canonical email:
In Denmark we call it "setting your fingerprint". It is about personal pride and prestige, it is about being able to point somewhere and say "There! *I* did that." It is a strong trait in politicians, but present in most people given the chance. Just think about footsteps in wet cement.
Regardless, it's fine for David to opine that lawyers' opinions do carry more weight here than non-lawyers'.
-- Sumana Harihareswara Engineering Community Manager Wikimedia Foundation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Cool it, Chad. -Sumana
On 04/26/2013 07:33 AM, Chad wrote:
Look ma, I'm a lawyer!
I'll note that yesterday I was a fireman.
And an astronaut the day before.
Isn't pretending fun?
-Chad
-Chad On Apr 26, 2013 7:25 AM, "Sumana Harihareswara" sumanah@wikimedia.org wrote:
Luis, the thread: http://www.gossamer-threads.com/lists/wiki/wikitech/352923
On 04/26/2013 06:00 AM, Tyler Romeo wrote:
it's straight up obnoxious to come into a thread and undermine a topic people care about by calling it "a waste of bytes and people's attention".
No, David isn't calling the *topic* a waste; he's saying that it's more valuable to hear lawyers speak about this particular messy legal topic than to hear non-lawyers argue about it.
Also, you should seriously look up the definition of the work
bikeshedding.
It's the theory that organizations give undue weight to trivial issues.
Not organizations - noisy individuals. http://bikeshed.org/ "the amount of noise generated by a change is inversely proportional to the complexity of the change." Specifically, it's an observation that lots of people speak up when something comes up where they can have an opinion. From the canonical email:
In Denmark we call it "setting your fingerprint". It is about personal pride and prestige, it is about being able to point somewhere and say "There! *I* did that." It is a strong trait in politicians, but present in most people given the chance. Just think about footsteps in wet cement.
Regardless, it's fine for David to opine that lawyers' opinions do carry more weight here than non-lawyers'.
-- Sumana Harihareswara Engineering Community Manager Wikimedia Foundation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Sorry everyone, was trying to ease the tension.
-Chad
On Fri, Apr 26, 2013 at 7:42 AM, Sumana Harihareswara sumanah@wikimedia.org wrote:
Cool it, Chad. -Sumana
On 04/26/2013 07:33 AM, Chad wrote:
Look ma, I'm a lawyer!
I'll note that yesterday I was a fireman.
And an astronaut the day before.
Isn't pretending fun?
-Chad
-Chad On Apr 26, 2013 7:25 AM, "Sumana Harihareswara" sumanah@wikimedia.org wrote:
Luis, the thread: http://www.gossamer-threads.com/lists/wiki/wikitech/352923
On 04/26/2013 06:00 AM, Tyler Romeo wrote:
it's straight up obnoxious to come into a thread and undermine a topic people care about by calling it "a waste of bytes and people's attention".
No, David isn't calling the *topic* a waste; he's saying that it's more valuable to hear lawyers speak about this particular messy legal topic than to hear non-lawyers argue about it.
Also, you should seriously look up the definition of the work
bikeshedding.
It's the theory that organizations give undue weight to trivial issues.
Not organizations - noisy individuals. http://bikeshed.org/ "the amount of noise generated by a change is inversely proportional to the complexity of the change." Specifically, it's an observation that lots of people speak up when something comes up where they can have an opinion. From the canonical email:
In Denmark we call it "setting your fingerprint". It is about personal pride and prestige, it is about being able to point somewhere and say "There! *I* did that." It is a strong trait in politicians, but present in most people given the chance. Just think about footsteps in wet cement.
Regardless, it's fine for David to opine that lawyers' opinions do carry more weight here than non-lawyers'.
-- Sumana Harihareswara Engineering Community Manager Wikimedia Foundation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
<quote name="Tyler Romeo" date="2013-04-26" time="06:00:17 -0400">
MediaWiki is violating the license of third party tools it uses.
This is not a clear fact, please don't express it like it is one. The weird part about this issue is that reasonable lawyers can (and probably will) disagree on this very topic. This is one of the biggest lessons I learned while I was played a pretend lawyer for the last half decade ("Copyright Specialist" at University of Michigan, and then all my time at Creative Commons); nothing dealing with (C) is certain, mostly.
There's a reason why the joke about a lawyer's favorite response is "it depends"; because it is true! :-) It depends on the very specific situational facts that would make up a case. And then, again, reasonable minds will disagree. :-)
Now, the question of what MediaWiki developers should do to fulfill the *spirit* of the GPL (or other FLOSS license of a third-party library we use) is up for debate. But please don't make broad claims that anyone is violating a license/copyright law. Assume good faith. I think the MediaWiki developers, of any FLOSS developers, should be people we can assume good faith of.
Greg
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.
wikitech-l@lists.wikimedia.org