GNOME Bugzilla – Bug 631008
Zeitgeist plugin
Last modified: 2010-10-19 05:04:45 UTC
Hi, as a follow-up to [1], I'd like to propose our Zeitgeist plugin for inclusion in Rhythmbox. The plugin sends events to Zeitgeist when a media file is played and stopped, and also tries to determine if the action was automatic or executed by the user which helps ZG determine relevancy of such event. The plugin can be found at [2], currently it's licensed under LGPL3+, but I'm sure we can change this if it's necessary. [1] http://mail.gnome.org/archives/rhythmbox-devel/2010-September/msg00070.html [2] http://bazaar.launchpad.net/~zeitgeist-dataproviders/zeitgeist-dataproviders/trunk/files/head%3A/rhythmbox/
According to the table here: http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility including LGPL3+ code would effectively force Rhythmbox to be GPL3 only, which I don't think we really want to do just yet. If you could relicense the plugin code to GPL+exception (same as rhythmbox itself), that would definitely help. Were you planning to do anything in the playing_changed and playing_source_changed signal handlers? If not, they should be removed. Maybe the plugin should fail more noisily if Zeitgeist isn't available? I think it'd be easier for users to get it working if they don't have to go looking for debug output. I'm a bit nervous about using the EOS signal from the player backend to detect manual track switches, but I think that's probably the best you can do for now. I have a plan for fixing this, but I don't know when I'll get around to implementing it.
After getting an ACK from the authors of the dataprovider we relicensed it under Rhythmbox's GPL2+exception license. I also removed the unused code and made it fail noisily, so it should be ready now.
OK, thanks. I fixed up a few things (mostly making the plugin disable cleanly) and pushed it as commit 061932f. If you (or any of the other Zeitgeist hackers) have a gnome git account, feel free to commit changes to the plugin. I'm also happy to review patches via bugzilla. As the plugin API changes, I'll try to make sure the plugin stays functional.