In part 1 I set the groundwork for how we arrived at our current situation of me being overloaded, and in part 2 I would like to start looking at long term solutions to issues from part 1. Part 3 will look at more short term solutions.
I know there are a number of people who do not like the fact that MusicBrainz is a business. But we have to realize that MusicBrainz and its legal parent the MetaBrainz Foundation is a non-profit business and that it would not really be possible to grow such a project without it being a business. (Before we started the non-profit everything was owned by myself, which IMHO is a much less desirable way of doing this.) We are still an open source project. We’re also an open data project.
Something is working: We have users, editors, peer reviewers and loads of traffic. We even have $$$ money flowing into the non-profit. The community is constantly asking for more features to expand the database and to improve the service.
However, something is not working: We’re dreadfully short on server developers. The number of people who have made serious contributions to the mb_server project can be counted on one hand (or pretty close to that). In order to work on mb_server you need to have a linux box, with free disk space, a fair amount of RAM and you have to have the skills to deal with the long INSTALL process. Some people simply do not own a machine that is capable of doing this!
And even those people who can deal with technical requirements are not necessarily up for the social issues that come with the job. The community can be very demanding and quite harsh at times — no one wants to work long hours for free only to have their work insulted. Compared to ordinary open source projects, mb_server is quite challenging to work on. No doubt about it, its a tough and harsh job that people have been doing for free.
Going forward I will be working very hard to raise funds in order to hire a full time mb_server developer. We’ve passed the point where we can handle all of the mb_server development tasks with volunteer labor. Programming a project towards self-sustainabilty is quite different from programming to scratch an itch. We still have many itches that I hope volunteers will take on, but managing and coding towards sustainability will soon need to be handled by a full time paid developer.
How do we accomplish such a thing? Ever since the last summit where we hammered out the Next Generation Schema I’ve been talking to potential sponsors about donating money towards the development of this next version of MusicBrainz. Finally we have a concrete task to focus on, rather than just trying to make the basics work. Various companies have been receptive to this idea and I will continue to look for sponsors for this task.
My goal is to raise $100k – $200k in hopes of being able to secure a salary for an engineer for one year. The hope is to sell enough data licenses in the course of that year to keep the developer on and pay for this person’s salary. Once this engineer is on staff, I would expect to see 2-4 releases over the this year to prepare for and roll out the Next Generation Schema.
I expect that my time will continue to be taken by running the business development aspects of Musicbrainz and interacting with the community and partners. However, please don’t take this as me no longer participating in the development process. I will still be involved — certainly to manage the process and also to hack out my personal itches. I just don’t think its viable for me to be the official maintainer of any major pieces of code.
Please keep in mind that this is long term planning. I have no schedule for when this will happen. Please don’t mail me in two weeks asking to be hired or to have Next Generation Schema working.