Add COPYING file ---- ExtractorPluginManager::fetchExtractors seems odd to me. If it can't find any plugins it searches for all plugins that start the same prefix.
I assume it's designed so I can have a plugin with the mimetype audio/ that will still match the file mimetype audio/mp3 But this means that if I add a special new plugin with the mimetype audio/mp3 the original plugin will stop running? Given you're trying to build a list of all valid plugins, is that meant to happen? -- ExtractionResult: Having setInputUrl / setInputMimetype public in a way which can be set by the plugins seems wrong; personally I'd put the two in the constructor. -- We should document the list of names of properties that can be extracted. Some things are in lowerCamelCase i.e "wordCount" "author" except for the eviv plugin which is in the form: Exif.Image.Make and the odf extractor which is in the form "dc:title" to me it seems fairly random.