Page MenuHomePhabricator

Mark fair use images on Wikipedia projects for logged-in users
Open, Needs TriagePublic

Description

It would be nice when I am on a random page in a Wikipedia project (such as English or Russian) to see whether an image in use on the page is a fair use image or not. This would be useful when looking at paintings used to illustrate saints' pages for example. If the painting is on Commons I will just use the Commons image and eventually the fair use image can be cleaned up. Alternatively, I will transfer the painting to Commons if it is not there yet. If the fair use image is genuinely fair use (i.e. under copyright and not suitable for Commons), then I will leave it alone.

Event Timeline

Jane023 created this task.Oct 27 2019, 12:35 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 27 2019, 12:35 PM

So to be clear, if the file was clearly marked with a green border or something, then that would be a prompt for me to go look at it and attempt to substitute it.

Nirmos added a subscriber: Nirmos.Oct 27 2019, 2:56 PM
Nirmos claimed this task.Oct 27 2019, 2:58 PM
Nirmos removed a project: StructuredDataOnCommons.

I can take a look at this.

I am not sure if current Mediawiki software can do such things. Perhaps an extension or a gadget could be created to detect fair-use copyrignt templates. Other than that I do not see any way to detect fair-use files. This is not a Mediawiki issue, and I am not sure if phabricator is an appropriate place for requesting this type of feature.

Nirmos added a comment.EditedOct 27 2019, 4:52 PM

Done. @Jane023 You can add

mw.loader.load( 'https://sv.wikipedia.org/w/index.php?title=Anv%C3%A4ndare:Nirmos/MarkLocalImages.js&action=raw&ctype=text/javascript' );

to https://meta.wikimedia.org/wiki/Special:MyPage/global.js
This will add the HTML class gadget-marklocalimages to all images that are not from Wikimedia Commons, on every project. You can then style this class however you want on https://meta.wikimedia.org/wiki/Special:MyPage/global.css
Example:

.gadget-marklocalimages {
	border: 5px solid green !important;
}
Multichill added a subscriber: RexxS.

I am not sure if current Mediawiki software can do such things. Perhaps an extension or a gadget could be created to detect fair-use copyrignt templates. Other than that I do not see any way to detect fair-use files. This is not a Mediawiki issue, and I am not sure if phabricator is an appropriate place for requesting this type of feature.

This is a technical feature request so yes, Phabricator is a good venue to record that

Done. @Jane023 You can add

mw.loader.load( 'https://sv.wikipedia.org/w/index.php?title=Anv%C3%A4ndare:Nirmos/MarkLocalImages.js&action=raw&ctype=text/javascript' );

to https://meta.wikimedia.org/wiki/Special:MyPage/global.js
This will add the HTML class gadget-marklocalimages to all images that are not from Wikimedia Commons, on every project. You can then style this class however you want on https://meta.wikimedia.org/wiki/Special:MyPage/global.css
Example:

.gadget-marklocalimages {
	border: 5px solid green;
}

This will mark all local image, not just the fair use images.

An approach could be to add a bit of LUA to the infobox template. This piece of LUA would take the image location and if it's local, load the wikitext for the image location, look for a certain pattern (for example the template Non-free use rationale) and modify the output if it's found. Rexxs, would this be something you could have a look at?

Wow this is brilliant! Thanks so much!

@Jane023 You'll need the " !important" part too in the CSS part. I updated my comment above, but you probably copied from Multichill's quote of my comment.

FileImporter automatically detects fair-use and incompatible licenses/copyrignt tags. I think we can make it similar.

RexxS added a comment.Oct 29 2019, 3:28 PM

I could certainly look at a Lua solution, but I must say that my preference will always be for a solution that works at the user level. Anything running in Lua would normally impact every reader, whereas I think this request is for the benefit of a small number of editors. In these sort of cases, the combination of a small piece of user-loaded JavaScript plus user CSS fits the bill exactly. If @Nirmos's code does the job requested, it would seem to be a better solution than anything I could cook up in Lua.

@Nirmos: Are you still looking into this? Asking as you are set as assignee and this task has been silent for six months. :)

Nirmos closed this task as Resolved.Apr 2 2020, 1:01 PM

How is this resolved exactly? The provided script marks all local images, not only the fair use ones, but also the free ones.

Nirmos reopened this task as Open.Apr 3 2020, 4:28 AM
Nirmos removed Nirmos as the assignee of this task.
Nirmos removed a subscriber: Nirmos.
Tgr added a subscriber: Tgr.Apr 20 2020, 8:58 PM

A gadget could fetch the imageinfo API data for all images and change the DOM based on that. Easy but will probably be a bit slow for pages with lots of images.

Adding the functionality to MediaWiki itself does not seem super hard either. Check PageImages\Hooks\LinksUpdateHookHandler::isImageFree() for prior art.