Summer of Code 2013

From Creative Commons
Revision as of 04:34, 2 April 2013 by Dan Mills (talk | contribs)
Jump to: navigation, search

Creative Commons is participates in Google's Summer of Code as a mentoring organization. Student submissions for SoC 2013 will take place April-May; see the GSoC 2013 homepage for more details.

This year Creative Commons is planning to launch new products and tools to help authors and consumers use, share, and remix content. Here are some ideas to get you started.

Project: Media Widget

Brief explanation
The CC media widget will allow content from a user's CC homepage (a product we're working on) to be embedded into other sites, like Tumblr, WordPress, etc. Our main interest is in specialized widgets that excel at displaying particular media types, not a generic "file list" widget. For example, a great image widget probably looks and feels different from an academic paper widget.
Expected results
A widget that is able to take CC licensed files and their metadata and visualize it in neat ways that users find compelling. The widget must also include the licensing metadata/attribution information: which license it's released under, the author's name/handle, and so on. Clever ways of displaying this information in a way that is accessible but not annoying will be a plus.
Knowledge Prerequisite
JavaScript, node.js
Skill level
medium to low.
Mentor
Dan Mills or other CC tech staff member

Project: Media Fingerprinting Library

Brief explanation
CC would prefer that all content on the Web include correct licensing metadata. Alas, that is not the case. So we're interested in code that will allow us to identify a given item across the Web, even if there's no metadata alongside it. The tricky part is: people often crop or resize images, clip videos, re-encode content, or quote only pieces of text. So a simple hash is not sufficient: we need more intelligent fuzzy matching. That's what this project is about.
Expected results
A library that provides two methods: 1) Given a media file, output a fingerprint, and 2) Given a file and a fingerprint, return the likelihood of the file matching the original file. You can focus your efforts on only one or two media types, or you can do more if it's possible.
The library can be in a low-level language (C/C++) or you can use a higher-level language (JavaScript) if it's feasible. Speed is not a major concern at this point.
Bonus: An additional API/method to detect content inside other files (e.g., a PowerPoint file that includes a CC licensed image, or a still image inside a video).
Knowledge Prerequisite
Media formats/encodings, JavaScript, C/C++.
Skill level
high.
Mentor
Dan Mills or other CC tech staff member

Project: JS Attribution Helper

  • Code to dynamically detect CC content on Web pages and add CC buttons/notices.

Project: Metadata Embedding Library

  • Code to embed licensing metadata inside various file formats (e.g., .png).

Project: Donation Widget

  • Systems that enable donations to content authors.