Opened 12 years ago

Closed 8 years ago

#395 closed enhancement (duplicate)

Make license options customizable and drop non-FaiF options by default

Reported by: Christopher Allan Webber Owned by:
Priority: major Milestone:
Component: programming Keywords: license, cc, re
Cc: deletesoftware@… Parent Tickets:

Description (last modified by Christopher Allan Webber)

Several things to this:

  • Add an option to mediagoblin.ini that's like:

enabled_licenses =,,

  • Add an option for "enable_nolicense = false" (false by default) which allows for all rights reserved
  • Make CC BY-SA, CC BY, CC0 the default licenses, "disable by default" *-NC *-ND, all rights reserved (which is what the described config above shows)
  • Provide a "default license" option. Should default to BY-SA?
  • Allow users to select their default license option

And obviously, add appropriate logic to support this!

We just want to "filter out" what license options are permitted. It's okay for things in the database which have a license not in this list to be marked as something else.

Change History (31)

comment:1 by Christopher Allan Webber, 12 years ago

Description: modified (diff)

comment:2 by Christopher Allan Webber, 12 years ago

Elrond has suggested that maybe we have enable_nolicense default to True. I could potentially just be very inspired by

we also don't want people mis-marking things as CC that aren't! But... I'd also really prefer to encourage more commons than not :)

comment:3 by Aleksej, 12 years ago

Cc: deletesoftware@… added
Type: defectenhancement

comment:4 by Luke, 12 years ago

Owner: changed from somebody to Luke
Status: newaccepted

comment:5 by Christopher Allan Webber, 12 years ago

Okay, I think a few comments:

  • We should indeed make enable_nolicense True by default.
  • #400 is pretty related, and maybe could be done at approx the same time as this? I'm hesitant to combine the tickets though because they're already a bit too complex.

Reality, I know it's been a while since this ticket was updated (my bad for dropping the ball on it, kinda). Are you still interested?

comment:6 by Christopher Allan Webber, 12 years ago


comment:7 by Christopher Allan Webber, 12 years ago

Component: component1programming

comment:8 by Will Kahn-Greene, 12 years ago

Milestone: 0.3.1
Owner: Luke removed
Status: acceptedassigned

No response from Reality in several months, so I'm unassigning it from him/her and dropping it from the 0.3.1 milestone because that milestone has passed.

If someone is interested in working on this bug for 0.3.2 and plans to work on it in the next few weeks, then please assign yourself to the bug and put it in the 0.3.2 milestone.

comment:9 by Aaron Williamson, 12 years ago

Milestone: 0.3.2
Owner: set to Aaron Williamson

comment:10 by Aaron Williamson, 12 years ago

I'm taking on this and #400. The plan for this one is to:

  • Create a new model for Licenses. Fields: name, abbreviation, URL, description, enabled.
  • Add an admin page for adding/editing/enabling/removing licenses.
  • Revise the submit pages to default to a system/individual default license (individual default will be last license chosen) with the option to slide down a radio-select list of other options

comment:11 by warp, 12 years ago

To make it easy to add licenses, I think it makes sense for the free software / open source community to maintain a database with metadata about licenses. A user could then simply use a string like "CC-BY-SA-3.0-nl" or "AGPL-3" to add a license and have any remaining info (name, url, description, etc..) pulled from this metadata database.

A few months ago I made a start at creating such a database (, if there is interest from the mediagoblin community in this then I'll be happy discuss how I can make this more useful for mediagoblin, and commit to some slices of time every week improve the database or service.

comment:12 by spaetz, 12 years ago

I have implemented this as an optional plugin now: The branch is at:

Implement the custom license plugin. Enable and configure e.g. by
putting this into mediagoblin_local.ini:

license_1=Chicken Dance, Chicken Dance License v1.0,
license_2=WTFPL, Do What the Fuck Public License v2.0,

TODO: Are there tests we should be running?
TODO: The licenses should be translateable somewhere, but not sure where

This is the easiest possible solution, and it does not require Database Tables, or anything complex. It is also totally optional in that you can distribute the plugin separately to MG, and turn it on and off at will anytime.

Last edited 12 years ago by spaetz (previous) (diff)

comment:13 by spaetz, 12 years ago


comment:14 by Christopher Allan Webber, 12 years ago

I think marktraceur was is also doing similar work here:

Should review both during the 0.3.3 approach and figure out what's going on.

comment:15 by Aaron Williamson, 12 years ago

Owner: Aaron Williamson removed

Getting out of the way.

comment:16 by spaetz, 11 years ago

Keywords: re added

mmh, we need to decide whether the plugin should be bundled part of core (but disabled by default) or be an external plugin (in which case we can close this bug).

comment:17 by Christopher Allan Webber, 11 years ago

I'd like an enabled plugin by default bundled with MediaGoblin, actually.

comment:18 by pythonsnake, 11 years ago

Owner: set to pythonsnake

comment:19 by Christopher Allan Webber, 11 years ago


Bumping to 0.3.4

comment:20 by pythonsnake, 11 years ago

Update: this is done, but I need to update it to work with a recent MediaGoblin version (my hacking instance is a bit out-of-date).

comment:21 by Christopher Allan Webber, 11 years ago

Hey pythonsnake: has the code been pushed somewhere?

comment:22 by Christopher Allan Webber, 11 years ago

Status: assignedin_progress

Hi! I'm moving this ticket from "assigned" to in_progress per our new workflow. Please update the ticket and let us know if you're still working on this. If you are, super great! If not, we'll remove the claim and move it back to "accepted" in a couple of weeks.


comment:23 by Christopher Allan Webber, 11 years ago


Moving to 0.4.1

comment:24 by pythonsnake, 11 years ago

I see that this is partly done. So what is left to be worked on are the three first points, right?

comment:25 by Christopher Allan Webber, 11 years ago

pythonsnake: it's hard to know for me what the state of it is... did you push your code for it somewhere? Could you provide a link to it?

Also, would you consider yourself in-progress on this ticket? If not, please unclaim.

comment:26 by Christopher Allan Webber, 11 years ago


comment:27 by Christopher Allan Webber, 10 years ago


comment:28 by Christopher Allan Webber, 10 years ago


I'm bumping this to 0.8.0, but if it doesn't really make it in 0.8.0, the milestone should be removed so as to avoid milestone-bump spam.

comment:29 by Christopher Allan Webber, 9 years ago

Milestone: 0.8.0

comment:30 by Ben Sturmfels, 8 years ago

Just reviewing this stuck ticket. It looks to me as though #563 "Create License Table" is the right way forward here because:

  • it would allow for site owner to customize the licences available
  • licenses can be more than a URL (and no hard-coded description)

If there are no objections within the next few months, I'll close this one as a "duplicate" of #563.

This ticket also sounds like it's suggesting to not have "all rights reserved" enabled by default. I think this should be enabled and be the default. We should encourage free culture licenses, but we don't want someone to upload something and accidentally license it CC-BY-SA when they may not have intended to.

Noting also that the "profile default license" feature has already been released.

comment:31 by Ben Sturmfels, 8 years ago

Owner: pythonsnake removed
Resolution: duplicate
Status: in_progressclosed

As mentioned above, closing as a duplicate of #563. Please feel free to re-open if there are any objections.

Note: See TracTickets for help on using tickets.