Extension:MediaUploader/Configuration/Licensing
Licensing? If you run a public wiki, in most jurisdictions you should worry about copyright, which applies to almost all published works. Media Uploader does not force you to obey these rules and it does not advise on how should you handle copyright. Rather, it gives you a tool to tackle this issue comprehensively.
After selecting the files to be uploaded, by default Media Uploader will show the user a selection of whether the work is their own or someone else's. Both options come with several licensing options indicating the terms (the license) under which the work can be used. Everything in this step can be customized.
Can I just disable all this?
editYes, you can! Although we advocate for the proper recognition of people's authorship rights, there are cases where you just don't care or don't have to care (such as: internal wikis). In this case, simply disable the licensing step entirely:
$wgMediaUploaderConfig['licensing']['enabled'] = false;
licensing
section
edit
This section configures what licensing options are visible to the user and how can they select them. There are two "major" options available: the work is authored by the uploader (ownWork
) or by someone else (thirdParty
).
enabled
edit
Whether to enable the licensing step. When false, the step is completely hidden and inaccessible.
- Default
$wgMediaUploaderConfig['licensing']['enabled'] = true;
defaultType
edit
Default licensing type. Possible values: ownWork
, thirdParty
, choice
(no preference).
- Default
$wgMediaUploaderConfig['licensing']['defaultType'] = 'choice';
showType
edit
Which licensing types should be available to the user. Array, possible values: ownWork
, thirdParty
.
- Default
$wgMediaUploaderConfig['licensing']['showType'] = [ 'ownWork', 'thirdParty' ];
ownWork
and thirdParty
edit
Both licensing sections are configured in the exact same way. They can be either a simple list of licenses (licenses
), or a list of grouped licenses (licenseGroups
). The latter is especially useful when you have many licenses available and they can be separated into, e.g., free, non-free, etc.
The examples below may be enlightening.
The sections have the following fields:
type
(required) – whether to use radio button-style selection (radio
) or checkboxes (checkbox
). The latter allows the user to select multiple licenses.defaults
– either a license key or an array of license keys that will be selected in this group by default.- An array of license keys is valid only for the
checkbox
type license selection.
- An array of license keys is valid only for the
licenseWikitext
– wikitext that wraps the wikitext of one license.$1
will be substituted for license's wikitext.- For example, if you want to wrap all licenses in the
ownWork
section in the{{own}}
template, you would set this field to{{own|$1}}
. - The default value is
$1
.
- For example, if you want to wrap all licenses in the
The following options can be used either on the entire licensing section (ownWork
or thirdParty
) when using a simple list of licenses or on a license group:
licenses
– license keys to be available to the user. The keys must correspond to valid licenses from the licenses section.- Note: although the
licensing
section may be changed in campaigns, thelicenses
one cannot. Thus, if your campaign uses a custom license, you must define it in the global config.
- Note: although the
licenseSeparator
– if the user selected multiple licenses, this string will be used for joining them.- This could be used for, for example, the pipe symbol in multi-argument templates.
- The default value is a single space character.
wrapper
– wikitext that wraps the entire list of licenses (after wrapping each inlicenseWrapper
and joining them withlicenseSeparator
).$1
will be substituted for the list of licenses. $2 is the number of licenses that are being wrapped.- The default value is
$1
.
- The default value is
The following options can only be used in a license group:
head
(required) – message for the heading of the license groupsubhead
– message for the subheading of the license group (gray text under the heading)- When using custom heads and subheads in campaigns, see also the additionalMessages section
special
– when set tocustom
, changes the group's behavior to include a text field for free-form license input. This can only be used on groups with one license (see example below).
- Default (ownWork) – simple list of licenses
$wgMediaUploaderConfig['licensing']['ownWork'] = [
'type' => 'radio',
'wrapper' => '{{subst:int:mediauploader-content-license-ownwork|$2}} $1',
'defaults' => 'cc-by-sa-4.0',
'licenses' => [
'cc-by-sa-4.0',
'cc-by-sa-3.0',
'cc-by-4.0',
'cc-by-3.0',
'cc-zero'
]
];
- Default (thirdParty) – license groups
$wgMediaUploaderConfig['licensing']['thirdParty'] = [
'type' => 'radio',
'defaults' => 'cc-by-sa-4.0',
'licenseGroups' => [
[
'head' => 'mediauploader-license-cc-head',
'licenses' => [
'cc-by-sa-4.0',
'cc-by-sa-3.0',
'cc-by-sa-2.5',
'cc-by-4.0',
'cc-by-3.0',
'cc-by-2.5',
'cc-zero'
]
],
[
'head' => 'mediauploader-license-custom-head',
'special' => 'custom',
'licenses' => [ 'custom' ],
],
[
'head' => 'mediauploader-license-none-head',
'licenses' => [ 'none' ]
],
]
];
licenses
edit
A list of licenses you could possibly use elsewhere, for instance in licensing['ownWork']
or licensing['thirdParty']
. It just describes what licenses go with what wikitext, and how to display them in a menu of license choices.
Each license in this list has a number of fields:
msg
(required) – system message with the name of the license to display in the license list. The message has two arguments:- number of works being licensed
- URL of the license (if set, see below)
icons
– an array of icon names to be added after the name of the license in the license list. See the license icons section below.wikitext
(required) – the wikitext this license will be transformed into when the upload is saved. By default, this is just the name of the license, but if you want, you can put templates here. See also the licensing section, it allows you to wrap this wikitext into more complex stuff.url
– license URL to be supplied in the license name message's second argument.languageCodePrefix
– when present, it is appended to the license's URL. After it, the user's ISO language code is appended. This can be used to direct users to a localized version of the license's legal code.explainMsg
– system message that appears when the user selects this license in the own work licensing section. The message takes one parameter:- number of works being licensed
- Default
$wgMediaUploaderConfig['licenses'] = [
// The full list of available licenses is too long to be included here.
// See the "Licenses available by default" section below.
// Example license:
'cc-zero' => [
'msg' => 'mediauploader-license-cc-zero',
'icons' => [ 'cc-zero' ],
'url' => '//creativecommons.org/publicdomain/zero/1.0/',
'languageCodePrefix' => 'deed.',
'explainMsg' => 'mediauploader-source-ownwork-cc-zero-explain',
'wikitext' => '{{subst:int:mediauploader-license-cc-zero||//creativecommons.org/publicdomain/zero/1.0/}}'
],
];
Licenses available by default
editFor the sake of convenience, Media Uploader comes with several built-in licenses that you can use or modify. Please note that Media Uploader is a piece of PHP code, and not a lawyer, so it is not wise to rely on these legal texts alone. Review the licenses carefully and make sure they make sense in your jurisdiction and for your wiki.
- Creative Commons – Media Uploader has all popular variations of CC licenses in versions: 2.0, 2.5, 3.0, 4.0. In the license keys below,
{version}
signifies any of these versions. So, for example,cc-by-2.5
is a license that you can use out of the box with Media Uploader.cc-zero
– CC0, releasing the work in the public domaincc-by-{version}
– Attributioncc-by-nc-{version}
– Attribution NonCommercialcc-by-nd-{version}
– Attribution NoDerivativescc-by-nc-nd-{version}
– Attribution NonCommercial NoDerivativescc-by-nc-sa-{version}
– Attribution NonCommercial ShareAlikecc-by-sa-{version}
– Attribution ShareAlike
- Other copyleft licenses
fal
– Free Art Licenseattribution
– may be used for any purpose, including commercially, if the copyright holder is properly attributedgfdl
– GNU Free Documentation Licensebeerware
– Beerware Licensewtfpl
– Do What The Fuck You Want To Public License
- Public domain
pd-old
– the copyright for this work has expiredpd-ineligible
– the work is too simple to be copyrighted
- Other
copyright
– all rights reservedgeneric
– generic statement that the work is acceptable under wiki's terms of usecustom
– custom, free-form input by the usernone
– the user doesn't know what is the license
License icons
editLicense icons (such as those used in Creative Commons licenses) can be a helpful visual aid for users to quickly locate what they are looking for. MediaUploader comes with several icons by default (not all are used in the licenses available by default):
Name | Icon |
---|---|
cc | |
cc-by | |
cc-nc | |
cc-nd | |
cc-pd | |
cc-sa | |
cc-zero | |
copydown[1] | |
copyleft | |
copyright | |
no-weapons[2] |
You can also add custom icons by defining a custom CSS class on your wiki:
.mediauploader-NAME-icon {
background-image: url( path/to/icon.svg );
}
Simply replace NAME with the name of your icon and add a meaningful path to the appropriate file.
additionalMessages
edit
An array of additional system messages to be loaded with MediaUploader. This is only useful if your campaigns define custom license groups. MediaUploader has no way of knowing about them when loading the global config, so you will have to list them manually in this setting.
- Default
$wgMediaUploaderConfig['additionalMessages'] = [];
- Example
$wgMediaUploaderConfig['additionalMessages'] = [
'message-key-1',
'another-message-key'
];