Tracking an attribution tree, including across sites, has been something we’ve been playing around with for a few years now on ccMixter.
The biggest problem with attribution is that it takes work, even when you want to “do the right thing,” knowing what to say and where crosses a line that most people don’t want to: it involves thought.
Molly Kleinman is now becoming famous for spelling out in human terms what this means to bloggers and other content consumers. No doubt she is providing an invaluable service (seriously). Just this morning the PlayTheWeb group is hashing out the implications of nested attribution with Lucas chiming in explaining how the XSPF playlist format handles derivation.
Maybe because my background in software is in development tools and call me Abraham Maslow but this problems looks very much like a nail to me.
Attribution, on both ends, has to be brain dead simple. We’ve simplified it as much as we could at ccM (given my limited imagination for such things) with a search function during the content submission process. (In fact, the ‘Submit’ button is inactive until the artist posting the remix has attributed somebody ;))
We’ve been using a simple api called the Sample Pool to communicate with other sites (freesound, magnatune, etc.) so that when a remixer is using a sample from one of those sites they select that name from known Pools that are searchable instead of ccMixter. The search results are offered as checkboxes. Again, that’s as simple as I could think of. When I say the api is “simple” I mean we invented no markup. We have a URL calling convention and all return values are RSS 2 feeds.
In order to be a Sample Pool, you need the following:
1. an RSS feed with a *.license element per entry
2. a way to search the feeds
It turns out that WordPress can be tweaked to do (1) with a few lines of code and already does (2). Just this morning I’ve confirmed we’ve successfully managed to convert a WordPress music blog called Audio Cookbook into a Sample Pool with 3 lines of mod_rewrite. (I’ll be publishing exactly how we did it on the CC Wiki in the next few days.)
To be a Sample Pool “client” you need to be able:
1. Construct an url
2. Ping a website
3. Parse an RSS feed
There is an implementation buried in the ccHost code but I’ll be the first to admit, I’m probably the only (non-masochistic) human who could easily extract it. Now that the WP-Sample Pool bridge has been crossed outbound, I’m definitely inspired to do this and then wrap it as an WP plugin so that when you are doing a post of content, you can search for the content you derived from and the proper attribution will be automatically embedded into your post.
My overall walkaway point is that attribution, in the real world, won’t happen until it is at least this easy for content creators and consumers alike.
BTW, the api does not track attribution further than one generation. We handle this on ccMixter by having users follow links. I have found, after nearly four years at ccMixter that there are only two classes of people that care about attribution further than one generation: commercial entities looking to clear samples and geeks. The second category includes the people I work for and other curious types. The artists don’t care about the larger attribution tree and the amount of UI flooding a typical song page is already crowded enough, thank you very much.
The first class, people who make a living clearing samples or looking to distribute royalties should have an easy way to expand the attribution tree and that might be necessary on my next job, but for this one, a non-profit remix hosting site, it just wasn’t called for. To accomplish this I would claim that no more spec’ing need to be done, just use the Dublin Core “source” element and follow each of those down.