|
GUADEC: Banshee project reaches out for contributors
ByJake 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.
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.
(Log in to post comments)
|
|