Page MenuHomePhabricator

Add extension licenses to extension.json so they appear correctly on Special:Version
Open, NormalPublic

Description

Some MediaWiki extensions are missing the license-name field in the file extension.json or in $wgExtensionCredits. This means no license is shown for them in Special:Version (e.g. https://en.wikipedia.org/wiki/Special:Version) or the license is displayed as 'License', instead of something like for example GPL-2.0-or-later.

To fix this, we need to make changes like https://gerrit.wikimedia.org/r/#/c/264553/ in the relevant extensions.

  1. Check the existing LICENSE or COPYING file of the extension to verify which license the extension has.
  2. Look up the corresponding value of that license in https://spdx.org/licenses/
  3. Add that value as the value of the license-name parameter to the file extension.json.
  4. Provide your patch for that extension in Wikimedia Gerrit. See https://www.mediawiki.org/wiki/Gerrit/Tutorial for how to set up Git and Gerrit.

Note that some extensions are possibly missing a LICENSE or COPYING file, which would result in a broken license link.

Note: the 'extensions' listed as wikibase or data values is outside scope of this task. Most of these are actually libraries and instead need to be moved to the libraries section of SpecialVersion. (see: T123937)

Still to do (missing a line license-name in the file extension.json) as of 2018-10-05:

  • AJAXPoll
  • AkismetKlik
  • ArticleRatings
  • Athena
  • BlueSpiceSubPageTree
  • Cargo
  • CommentStreams
  • ConfirmEdit/MathCaptcha
  • ConfirmEdit/QuestyCaptcha
  • ConfirmEdit/ReCaptcha
  • ConfirmEdit/ReCaptchaNoCaptcha
  • ContributionTracking -> T99643
  • Contributors
  • Diagnosis
  • DiscussionThreading
  • ExternalArticles
  • GoogleDocTag
  • GoogleGeocode
  • GooglePlaces
  • HoverGallery
  • Hovergallery
  • Hreflang
  • LifeWebCore
  • LockDownEnglishPages
  • MagicNumberedHeadings
  • MarkAsHelpful
  • MintyDocs
  • MP3MediaHandler
  • NukeDPL
  • NumberOfWikis
  • OAuthAuthentication
  • OpenIDConnect
  • OpenLayers
  • PageDisqus
  • PageLanguage
  • PhpTagsWidgets
  • PluggableAuth
  • Prezi
  • PronunciationRecording
  • Push
  • Quantcast
  • QuickGV
  • QuickSearchLookup
  • SafeDelete
  • SearchExtraNS -> T100957
  • SecureSessions
  • SemanticTitle
  • ShoutWikiAds
  • SimpleSAMLphp
  • SkinPerPage -> T203832
  • Snippet
  • StaffEdits
  • StatCounter
  • Tabber
  • TestLanguageNameGrammar
  • Theme
  • TwnMainPage
  • UserAgreement
  • WhitelistPages
  • WikipediaExtracts

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
D3r1ck01 added a subscriber: D3r1ck01.

Will help mentor this for Google-Code-in-2018

Aklapper updated the task description. (Show Details)Oct 5 2018, 8:08 PM
Aklapper updated the task description. (Show Details)Oct 5 2018, 9:08 PM

I've played a bit with this and updated the list of extensions that don't have a license-name value in their .json file in the task description by running

#!/bin/bash
grep -c --include="extension.json" -r "license-name" . | while read -r line ; do
  if [[ $(echo "${line: -1}") = 0 ]]; then
    echo $(echo "$line" | sed -e "s/\/extension.json\:0//")
  fi
done

@D3r1ck01: I think this is only a safe Google-Code-in-2018 task for repositories which do have a COPYING or LICENSE file. When there is none, a GCI student would have to investigate the source files for headers containing license info, the history of the extension homepage on mediawiki.org and who set the "License" parameter on the wiki page, etc.
Furthermore, sometimes things are inconsistent, for example I just filed https://phabricator.wikimedia.org/T206363 as an outcome of my playing.

D3r1ck01 updated the task description. (Show Details)Oct 5 2018, 9:21 PM
D3r1ck01 added a comment.EditedOct 5 2018, 9:23 PM

That makes a lot of sense @Aklapper. Thanks for making the list of extensions! In that case we can import this into GCI as a recurrent task. Also the only concerns are;

  • I hope it won't be a hard dependency for us to merge the participants work before approving the task on GCI as there could be some delays to merge code as I do not have +2 rights so maybe a +1 on the participants patch could mean approval?
  • Also, maybe we could poke maintainer of mediawiki/* sometime to merge the patches that have been approved during GCI, right?

Also, I've made the list have checkboxes to track which has been done and which is pending! :)

Change 469848 had a related patch set uploaded (by Zoranzoki21; owner: Zoranzoki21):
[mediawiki/extensions/CommentStreams@master] Add license information to CommentStreams extension

https://gerrit.wikimedia.org/r/469848

Change 469849 had a related patch set uploaded (by Zoranzoki21; owner: Zoranzoki21):
[mediawiki/extensions/ExternalArticles@master] Add license-name to ExternalArticles extension

https://gerrit.wikimedia.org/r/469849

Change 469848 merged by jenkins-bot:
[mediawiki/extensions/CommentStreams@master] Add license information to CommentStreams extension

https://gerrit.wikimedia.org/r/469848

Change 470164 had a related patch set uploaded (by Bjornskjald; owner: Bjornskjald):
[mediawiki/extensions/PronunciationRecording@master] Add license-name field

https://gerrit.wikimedia.org/r/470164

Change 470165 had a related patch set uploaded (by Bjornskjald; owner: Bjornskjald):
[mediawiki/extensions/PluggableAuth@master] Add license-name field

https://gerrit.wikimedia.org/r/470165

D3r1ck01 updated the task description. (Show Details)Oct 28 2018, 9:40 AM

Change 469849 merged by jenkins-bot:
[mediawiki/extensions/ExternalArticles@master] Add license-name to ExternalArticles extension

https://gerrit.wikimedia.org/r/469849

D3r1ck01 updated the task description. (Show Details)Oct 28 2018, 4:36 PM

Change 470303 had a related patch set uploaded (by Stibba; owner: Stibba):
[mediawiki/extensions/HoverGallery@master] Add license-name to extension.json of HoverGallery

https://gerrit.wikimedia.org/r/470303

Change 470304 had a related patch set uploaded (by Stibba; owner: Stibba):
[mediawiki/extensions/OpenLayers@master] Add license-name to extension.json of OpenLayers

https://gerrit.wikimedia.org/r/470304

D3r1ck01 updated the task description. (Show Details)Oct 29 2018, 10:17 AM

Change 470304 merged by jenkins-bot:
[mediawiki/extensions/OpenLayers@master] Add license-name to extension.json of OpenLayers

https://gerrit.wikimedia.org/r/470304

Change 470303 merged by jenkins-bot:
[mediawiki/extensions/HoverGallery@master] Add license-name to extension.json of HoverGallery

https://gerrit.wikimedia.org/r/470303

Umherirrender removed a subscriber: Umherirrender.

Change 470165 merged by jenkins-bot:
[mediawiki/extensions/PluggableAuth@master] Add license-name field to extension.json

https://gerrit.wikimedia.org/r/470165

D3r1ck01 updated the task description. (Show Details)Oct 29 2018, 8:04 PM

Change 470532 had a related patch set uploaded (by Rafidaslam; owner: Rafid Aslam):
[mediawiki/extensions/TestLanguageNameGrammar@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470532

Change 470533 had a related patch set uploaded (by Rafidaslam; owner: Rafid Aslam):
[mediawiki/extensions/SemanticTitle@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470533

Change 470532 merged by jenkins-bot:
[mediawiki/extensions/TestLanguageNameGrammar@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470532

Change 470533 merged by jenkins-bot:
[mediawiki/extensions/SemanticTitle@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470533

Change 470164 had a related patch set uploaded (by Bjornskjald; owner: Bjornskjald):
[mediawiki/extensions/PronunciationRecording@master] Add license-name field to extension.json

https://gerrit.wikimedia.org/r/470164

Change 470546 had a related patch set uploaded (by Rafidaslam; owner: Rafid Aslam):
[mediawiki/extensions/QuickGV@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470546

Change 470548 had a related patch set uploaded (by Rafidaslam; owner: Rafid Aslam):
[mediawiki/extensions/Push@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470548

Change 470588 had a related patch set uploaded (by Rafidaslam; owner: Rafid Aslam):
[mediawiki/extensions/WikipediaExtracts@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470588

Change 470589 had a related patch set uploaded (by Rafidaslam; owner: Rafid Aslam):
[mediawiki/extensions/TwnMainPage@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470589

D3r1ck01 updated the task description. (Show Details)Oct 30 2018, 1:01 PM
rafidaslam updated the task description. (Show Details)Oct 30 2018, 1:08 PM
rafidaslam updated the task description. (Show Details)

Change 470589 merged by jenkins-bot:
[mediawiki/extensions/TwnMainPage@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470589

D3r1ck01 updated the task description. (Show Details)Oct 30 2018, 2:18 PM
D3r1ck01 updated the task description. (Show Details)Oct 30 2018, 4:03 PM

Change 470164 merged by jenkins-bot:
[mediawiki/extensions/PronunciationRecording@master] Add license-name field to extension.json

https://gerrit.wikimedia.org/r/470164

Change 470588 merged by jenkins-bot:
[mediawiki/extensions/WikipediaExtracts@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470588

Change 470546 merged by jenkins-bot:
[mediawiki/extensions/QuickGV@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470546

Change 470548 merged by jenkins-bot:
[mediawiki/extensions/Push@master] extension.json: Add license-name field

https://gerrit.wikimedia.org/r/470548

Change 266038 abandoned by Krinkle:
[WIP] Add license name to extension.json

Reason:
Replaced by 1eb98ce63c4c7010233 and 5b7e57dc1ab49c1.

https://gerrit.wikimedia.org/r/266038

Krinkle updated the task description. (Show Details)Feb 8 2019, 8:27 PM

Change 264793 merged by jenkins-bot:
[mediawiki/extensions/Comments@master] Add license-name to extension.json

https://gerrit.wikimedia.org/r/264793

Contributors is missing a LICENSE or COPYING file but the license information is provided on its wiki page Extension:Contributors. Should I add the COPYING file too or just the missing license-name line?

Yes @jeropbrenda, do both! Go for it :)

Add the appropriate COPYING file that matches the GNU General Public License 2.0 or later license and then add the missing license-name in extension.json.

Change 498026 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/Contributors@master] Add license information

https://gerrit.wikimedia.org/r/498026

Change 498061 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/ArticleRatings@master] Add license information

https://gerrit.wikimedia.org/r/498061

Change 498068 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/DiscussionThreading@master] Add license information

https://gerrit.wikimedia.org/r/498068

Change 498070 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/GoogleDocTag@master] Add license information

https://gerrit.wikimedia.org/r/498070

Change 498071 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/GoogleGeocode@master] Add license information

https://gerrit.wikimedia.org/r/498071

Change 498072 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/GooglePlaces@master] Add license information

https://gerrit.wikimedia.org/r/498072

Change 498074 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/MintyDocs@master] Add license information

https://gerrit.wikimedia.org/r/498074

Change 498075 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/SecureSessions@master] Add license information

https://gerrit.wikimedia.org/r/498075

Change 498076 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/Athena@master] Add license information

https://gerrit.wikimedia.org/r/498076

Change 498081 had a related patch set uploaded (by Jeropbrendawm; owner: Jeropbrendawm):
[mediawiki/extensions/Tabber@master] Add license information

https://gerrit.wikimedia.org/r/498081

Change 498323 had a related patch set uploaded (by Nikitrain; owner: Nikitrain):
[mediawiki/extensions/AJAXPoll@master] Add license information

https://gerrit.wikimedia.org/r/498323

Change 498323 abandoned by Nikitrain:
Add license information

https://gerrit.wikimedia.org/r/498323

Change 498325 had a related patch set uploaded (by Nikitrain; owner: Nikitrain):
[mediawiki/extensions/AJAXPoll@master] Add license information

https://gerrit.wikimedia.org/r/498325

Change 498335 had a related patch set uploaded (by Nikitrain; owner: Nikitrain):
[mediawiki/extensions/NukeDPL@master] Add license information

https://gerrit.wikimedia.org/r/498335

Change 498337 had a related patch set uploaded (by Nikitrain; owner: Nikitrain):
[mediawiki/extensions/AJAXPoll@master] Add license information

https://gerrit.wikimedia.org/r/498337

Change 498337 abandoned by Nikitrain:
Add license information

https://gerrit.wikimedia.org/r/498337

Change 498325 merged by jenkins-bot:
[mediawiki/extensions/AJAXPoll@master] Add license information

https://gerrit.wikimedia.org/r/498325

Change 498335 merged by jenkins-bot:
[mediawiki/extensions/NukeDPL@master] Add license information

https://gerrit.wikimedia.org/r/498335

Nikitrain updated the task description. (Show Details)Mar 31 2019, 1:00 PM