LWN.net Logo

Development

GUADEC: Banshee project reaches out for contributors

By Jake Edge
August 11, 2010

Lowering the barriers for contributors is something that a lot of projects are trying to do, but the Banshee media player project has gone further than many as Gabriel Burt reported in his talk at GUADEC. Essentially, Banshee has tried to make it as easy as possible for users—not necessarily programmers—to quickly and easily fix a small bug or add an extension. The project is clearly making an outreach effort to grow its community and some of the techniques being used might be helpful for other projects looking to do the same.

[Gabriel Burt]

Burt is one of the four maintainers of Banshee and he started his talk by remembering back to when he was struggling to figure out how to get involved. At that time, he watched the postings on various Planet aggregators and eventually got his start by looking at the GNOME Human Interface Guidelines (HIG), which led him to his first patch. He noticed that the string "Eject When Finished" didn't follow the HIG, so he grepped for that string and changed it to "Eject when finished".

That was a simple fix, but he also had to get the code and the dependencies, so that he could build Banshee. One of the things that has been addressed since then is that there is extensive help on the web site that describe how to get started, install the dependencies, and get the code. "If you run [Banshee], and find a bug, you can get started easily" to fix it, he said.

There are still things that need to be done to the Banshee interface for HIG compliance, and "you don't need to be a C# programmer" to fix them. But he also demonstrated how quickly one can add a new feature to Banshee with a little programming knowledge.

Live on the GUADEC stage, Burt modified the "deduplicate" feature—which detects artist or album names that are textually different, but refer to the same entity—to add genre deduplication. By making a few changes to the AlbumDuplicateSolver.cs file, mostly consisting of changing "Album" to "Genre", along with some minor Makefile modifications, he was able to add the new functionality. Some queries needed changing, which he said "might take ten minutes" to come up with, but the rest of the changes took just a few minutes. Adding a derivative feature like that is a "good way to get started contributing to Banshee".

Banshee also has an extension framework that allows easy addition of new functionality, but the project has taken it a step further. Executing ./create-extension Foo will set up everything needed for the extension, including doing a git add for the skeleton code and enabling the extension in Banshee. You can have a "working extension in two minutes", Burt said. Once that is done, editing the code in MonoDevelop gives access to all of the Banshee and .NET classes and methods via tab-completion, simplifying the development process as well.

Over the last two-and-a-half years of development, Banshee has averaged 32 commits, ten bugs fixed, and one new contributor every week. There are active IRC channels, forums, and mailing lists for the project. Burt noted that the timezone coverage of the four maintainers is quite good since they live in Sydney, Luxembourg, and both coasts of the US. In short, there are lots of opportunities for those who want to get involved to hook up with the team.

Because extensions are available via a Gitorius repository and there are lot of folks running Banshee development versions straight from the git repositories, contributions will be quickly picked up by others: "within days, lots of people will be using your work". Banshee has a one-month release cycle, so "within a month, thousands will be using it". He estimated that some 55,000 users picked up the monthly releases, and that within six months, "millions" would be using the code because Banshee is installed by default on several distributions and is available in the package repositories for many more.

At the end of the talk, Burt pointed out some of the more recent Banshee extensions that integrate with various services, including the Amazon MP3 store. It can be browsed in Banshee, as it uses WebKit for the browser functionality, and songs can be downloaded directly into your music library. Through the affiliate program, 10% of any purchases go to the project, which donates all of that money to the GNOME Foundation. He also mentioned Miro Guide and Internet Archive extensions as other useful ways to get audio and video content.

Obviously, Burt's talk was another part of the outreach effort for the project. "I hope you'll join in and help us having fun hacking on Banshee", he said. Though Mono and C# leave a bad taste in the mouths of some, Banshee is clearly trying to overcome that by making the project as accessible as possible for new users. But beyond that, there is a clear sense that Banshee is not about making any kind of political or social statement, it's about the enjoyment of hacking on a cutting-edge, multimedia application. Other projects could certainly follow its lead and potentially grow their communities as well.

Comments (1 posted)

Brief items

Development quotes of the week

I can only say that thousands of free software developers are alive today, and I don't think free software development is fatal for many of them.
-- Richard Stallman

Please, help me bring my boyfriend back from "Linux Land." His name is Zach. If you find him, you may have to shut off the computer you find him in front of to get him to speak in anything other than "C." Sometimes he will speak to you in French, but thats only because he has his phone in French. I don't speak French so this too has become a wedge in our relationship. This is a severe issue. Please fix this.
-- "Ilana" files a bug report

Comments (2 posted)

BackupPC 3.2.0

BackupPC 3.2.0 was released on July 31. "BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and MacOSX PCs and laptops to a server's disk. BackupPC is highly configurable and easy to install and maintain." The new release has several new features, including an FTP xfer method, more options for the server backup command, better error reporting in the web interface, and more. There are a "significant number" of bug fixes as well.

Comments (none posted)

CouchDB 1.0.0 data loss bug

If you are running CouchDB 1.0.0, you'll want to have a look at this notice in the near future. "Over the weekend of August 7th-8th, 2010 we discovered and fixed a nasty bug in CouchDB 1.0.0. The problem was subtle (cancelling a timer, without deleting the reference to it) but the ramifications are not: once the bad code path is triggered, subsequent writes to the database are never committed. This means there is potential data-loss for users of 1.0.0." There is an update available, but the right sequence of steps should be followed to minimize the chances of lost data in the update process.

Comments (2 posted)

GNOME 2.31.6 released

GNOME 2.31.6 development release is available for testing. "Ahah! This release is one day late, and I can already hear some people saying we're not good at respecting our schedule! I must admit that straight after GUADEC is not the best timing for a GNOME release ;-)"

Full Story (comments: 1)

KDE Releases Development Platform, Applications and Plasma Workspaces 4.5.0

KDE has announced the release of the Plasma Desktop and Netbook workspaces, the KDE Development Platform and a large number of applications available in their 4.5.0 versions. "In this release, the KDE team focused on stability and completeness of the Desktop experience. More than 16,000 bugs have been fixed, and many feature requests have been filled. The result for the user is a system that feels faster, takes less time to "think", and works more reliably."

Full Story (comments: 15)

Multitouch protocol specification v1

The first public draft of the multitouch protocol specification - the description of how the X Window System will work between multitouch input devices and applications - is available. Lots of low-level detail which will be of interest to developers who want to develop multitouch-aware applications. "If you can poke holes into the spec, come up with use-cases that are not covered or have general questions that aren't answered, please point them out. The sooner, the better."

Full Story (comments: none)

OpenOffice.org 3.3 Beta Release Available

The OpenOffice.org Community has announced the availability of a beta release of its upcoming 3.3 version. "This first preview is for everyone interested in the new features and enhancements of the final 3.3 release, expected later this year."

Full Story (comments: 41)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

Van de Ven: On the changing role of PowerTOP

On his blog, Arjan van de Ven reflects on the changes in how the PowerTOP utility is being used, with an eye toward restructuring it. "So it's now time to rethink some of the code and make things much more scalable for adding new checks and features. In addition, the output also needs to improve to be more useful as a diagnostics tool. I'm thinking about adding a 'generate a report' option, that basically gives a complete report card of the system. [...] This doesn't mean I want to leave the end user behind; not at all. But in terms of new features, with all the low hanging fruit taken care of, some of the things PowerTOP needs to do are just a lot more technical than what PowerTOP 1.0 offered."

Comments (22 posted)

Genode 10.08 Comes with Gallium3D, MadWifi, Qt4.6.3 (OSNews)

OSNews covers the release of the Genode OS Framework version 10.08. "Today, the Genode OS Framework has seen another feature-rich release, introducing support for hardware-accelerated graphics by the means of Gallium3D, wireless networking via the MadWifi communication stack, a new block-device infrastructure, and Qt4 version 4.6.3. Genode is a modular framework for building special-purpose operating systems, currently supporting 6 different kernels. With the new release, its device-driver coverage reaches a new level and brings the project one step closer towards the goal of shaping Genode to a general-purpose OS."

Comments (4 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds