Opened 9 years ago

Closed 4 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:

[mediagoblin]
enabled_licenses = http://creativecommons.org/licenses/by-sa/3.0/, http://creativecommons.org/licenses/by/3.0/, http://creativecommons.org/publicdomain/zero/1.0/

  • 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.

Subtickets

Change History (31)

comment:1 Changed 9 years ago by Christopher Allan Webber

Description: modified (diff)

comment:2 Changed 9 years ago by Christopher Allan Webber

Elrond has suggested that maybe we have enable_nolicense default to True. I could potentially just be very inspired by http://blog.thingiverse.com/2012/02/10/thingiverse-updates-terms-of-use-and-license-options/

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 Changed 9 years ago by Aleksej

Cc: deletesoftware@… added
Type: defectenhancement

comment:4 Changed 9 years ago by Luke

Owner: changed from somebody to Luke
Status: newaccepted

comment:5 Changed 8 years ago by Christopher Allan Webber

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 Changed 8 years ago by Christopher Allan Webber

Milestone: 0.3.00.3.1

comment:7 Changed 8 years ago by Christopher Allan Webber

Component: component1programming

comment:8 Changed 8 years ago by Will Kahn-Greene

Milestone: 0.3.1
Owner: Luke deleted
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 Changed 8 years ago by Aaron Williamson

Milestone: 0.3.2
Owner: set to Aaron Williamson

comment:10 Changed 8 years ago by Aaron Williamson

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 Changed 8 years ago by warp

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 (https://licensedb.org), 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 Changed 8 years ago by spaetz

I have implemented this as an optional plugin now: The branch is at:
https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/commits/395_custom_licenses

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

[[mediagoblin.plugins.licenses]]
license_1=Chicken Dance, Chicken Dance License v1.0, https://github.com/supertunaman/cdl
license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl

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 8 years ago by spaetz (previous) (diff)

comment:13 Changed 8 years ago by spaetz

Milestone: 0.3.20.3.3

comment:14 Changed 8 years ago by Christopher Allan Webber

I think marktraceur was is also doing similar work here:

https://gitorious.org/mediagoblin/mediagoblin/merge_requests/44

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

comment:15 Changed 8 years ago by Aaron Williamson

Owner: Aaron Williamson deleted

Getting out of the way.

comment:16 Changed 8 years ago by spaetz

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 Changed 8 years ago by Christopher Allan Webber

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

comment:18 Changed 8 years ago by pythonsnake

Owner: set to pythonsnake

comment:19 Changed 8 years ago by Christopher Allan Webber

Milestone: 0.3.30.3.4

Bumping to 0.3.4

comment:20 Changed 7 years ago by pythonsnake

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 Changed 7 years ago by Christopher Allan Webber

Hey pythonsnake: has the code been pushed somewhere?

comment:22 Changed 7 years ago by Christopher Allan Webber

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.

Thanks!

comment:23 Changed 7 years ago by Christopher Allan Webber

Milestone: 0.4.00.4.1

Moving to 0.4.1

comment:24 Changed 7 years ago by pythonsnake

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

comment:25 Changed 7 years ago by Christopher Allan Webber

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 Changed 7 years ago by Christopher Allan Webber

Milestone: 0.5.00.6.0

comment:27 Changed 7 years ago by Christopher Allan Webber

Milestone: 0.6.00.7.0

comment:28 Changed 6 years ago by Christopher Allan Webber

Milestone: 0.7.00.8.0

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 Changed 6 years ago by Christopher Allan Webber

Milestone: 0.8.0

comment:30 Changed 4 years ago by Ben Sturmfels

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 Changed 4 years ago by Ben Sturmfels

Owner: pythonsnake deleted
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.