Complete guide to using a Roland TD9 in Rock Band

Games, Music, Personal 3 Comments

td9_completeI’ve been branching out with my hobbies particularly in the last year or so, mostly because my back problems now prevent me from spending every waking hour hunched over a PC, coding. In a way that’s a shame – I lament the sudden drop-off in coding time and hence productivity – but it’s also good to broaden my horizons a bit. I’m 36 now after all, and spent the vast majority of my spare time in the last 8 years on Ogre, so maybe I deserve a break ;) After all, I get to work on Ogre a bit as part of my day job now anyway, if not as much as I’d like.

So, I recently bought a set of electronic drums, specifically the Roland TD-9KX. It took a while for everything to turn up, and quite a lot of time to tweak the setup until I was comfortable with it (and even now I’m still making small adjustments), but it’s been great so far. It’s amazingly expressive for an electric kit.

Now of course, I didn’t buy this kit as a Rock Band peripheral – that would be crazy, I’m learning to play drums properly in the first instance. But still, when you have this expensive kit in the room it feels silly to use the old plastic Rock Band drum kit when we play, so I sought to hook it up. I also wanted to map the inputs as realistically as possible, so for example I wanted to map the closed and open hi-hat separately (to yellow and blue respectively) so I could use the pedal for songs that had that charted (which is most of them).

The first thing I did was buy a MIDI interface – because the 360’s controller inputs are encrypted, you can’t just use a standard MIDI to USB converter so I bought a dedicated box to do it.  If you already have the GHWT drums you can just use the MIDI input on that too, but since I didn’t I decided to get this because it was compact.

The next thing was to configure the MIDI outputs on the TD-9 to properly map to the inputs in the game. Although there is information in many places on the Internet on how to do this, I didn’t find a single place that listed everything together, and I had some issues with the partial information that was out there, so I’m going to set out everything together here.

The first thing you need to know is the MIDI notes for each colour in Rock Band, and what they represent, which is available elsewhere but I’ll include for completeness:

Colour Kit Mapping MIDI Note
Red Snare* 38
Yellow Closed hi-hat*, high tom 46
Blue Open hi-hat, ride cymbal, mid tom 48
Green Crash cymbal, low tom 45
Orange Bass drum 36

*= in a small number of tracks, e.g. Everlong, the snare and closed hi-hat are reversed. You probably want to use a second kit definition to swap these over when playing these tracks

So, in one of  your kit definitions (typically you want to use kit 50, “User Kit” by default) you need to edit the MIDI out settings to reflect these settings:

  1. Press F2 (Func) then F3 (MIDI)
  2. In the ‘Pad’ tab:
    K 36 C *45
    S *38 C *45
    1 *46 R *48
    2 *48 B *48
    3 *45 A 27
    H *48

    The asterisks which appear in the display, which I’ve included, just mean the MIDI code is assigned to more than one pad, which is fine. Also important is that on dual-triggering pads there are actually 2 of these tables (see whether it says ‘HEAD’ or ‘RIM’ in the corner). To switch, just hit a pad in the appropriate place. Personally I set the rims of the main pads, and the edges of the cymbals to be the same as the main head/bow but that’s up to you. Triple-triggering ride cymbals show up as head/rim on this page, and the bell is the ‘B’ entry, of which there is only one.
    If you do set up your cymbal edges this way, be careful of dual triggering. I found the standard sensitivity settings to be fine but some people have dialed their pad sensitivity down to prevent it. Personally I didn’t want to change the feel of the kit for real playing so didn’t do this. I had originally increased my cymbal sensitivity a notch or two because I felt they weren’t loud enough, but now I’ve been using them a few days I’ve found I don’t need to do that anymore (I’m less shy about whacking them!). I was getting double-triggering when the sensitivity was up, but not now it’s back to standard.
    Some people have also adjusted their other triggering settings to avoid dual-triggering on the main pads and kick pedal for example, because the kit is so sensitive it sends a hit even if you only lightly hit it, or the kick pedal beater ‘bounces’. So far I haven’t changed this because again I want normal operation when playing for real, and I’ve adjusted my kick pedal beater angle to reduce the cases of unintentional ‘bounce’ (which is good to remove anyway) and try to be more accurate on the pads. I figure it’s better that way than to tune your kit specifically for Rock Band triggering.

  3. Press F2 to access the ‘Other’ tab:
    HH OPEN (BOW) *48
    HH CLOSED (BOW) *46
    HH OPEN (EDGE) *48
    HH CLOSED (EDGE) *46
    HH PEDAL 0
    X STICK 0
  4. That sets up the separate open/closed hi-hat settings which I wanted to use for yellow/blue respectively. Again note that the hi-hat is dual-triggering (bow and edge) but I’ve set them to the same thing.

That’s all you need to do for the kit-specific settings, now you need to alter some global MIDI settings. So exit out of the kit settings, to get back to the main screen, then:

  1. Press ‘Setup’ then F2 (MIDI)
  2. On the ‘Global’ tab you should leave everything as the default – for completeness:
    Tx/Rx CHANNEL CH10
    Tx PC ON
    Rx PC ON
    NOTE CHASE ON
    LOCAL CONTROL ON
    SOFT THRU OFF
  3. On the ‘CTRL’ tab (press F2) you should set the following:
    PEDAL CC OFF
    HH Compatibility EXTERNAL
    HH NOTE# Border 90

    These settings are very important if you want to use the hi-hat pedal properly. The “HH Compatibility” setting ensures that separate MIDI notes are sent for open and closed hi-hat, rather than just one note for the hi-hat and expecting the receiver system to remember the current state and use the ‘Pedal’ MIDI note to switch between them. The “PEDAL CC” option is also very important – I found that if I didn’t change this to ‘OFF’ then when the hi-hat pedal was depressed (to switch from blue to yellow), there was a delay in the next note which threw everything off – I presume that the HH pedal note was confusing the receiver (even though it’s set to 0 in the settings which should be an ignored note)

So there you go; a complete guide to using the TD-9 as a Rock Band controller – this took me some experimentation and collation of several very large forum posts to get completely right, so maybe someone else will find this useful.

Now I just have to train my brain to hit the note charts properly while still using the correct cymbals and hi-hat pedal as well, and not just falling back on the 4 basic pads as per the Rock Band controller. The hardest for me is the open hi-hat (learning to use my left foot too) and the ride / crash combinations since they’re backwards spatially (on a real standard kit the first crash cymbal is to the left of the ride cymbal). You really need to know the song so you know which specific part to play, but that’s the point – I’m hoping it’ll help me learn a few tracks to play stand-alone too.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

Bayonetta high-kicks onto my radar

Games, Personal 2 Comments

bayonettaI’ve basically ignored Bayonetta for the last 12 months, because it never struck me as something I’d be interested in – I was never that impressed by Devil May Cry and similar games which to me just felt like random button mashers, and Bayonetta seemed to be relying far too much on how much leg and cleavage its main protagonist could show in any given screenshot. I’d pretty much written it off as a cycnical attempt to recycle old ideas but to tap into the frustrated teenage male demographic with guns, kung-fu, the occult, blood and cleavage – clearly a winning formula in that market.

I was completely surprised, therefore, when I read Edge this month and they gave it a 10, citing its inventiveness and variety. I don’t buy Edge for the reviews particularly, but they’re always hard to please  and when they rave about something, it’s often worth taking notice. So, I downloaded the Bayonetta demo and had a go this weekend.

First impressions were a resounding ‘WTF?!!’ – confusion, chaos on-screen and ultimately, death. But, after retrying with the benefit of the tutorials, I started to get the hang of it. And surprised myself with the number of belly laughs it provoked and how much fun it was.

Because make no mistake – Bayonetta is utterly insane. It’s as if the designers have necked a whole ton of LSD and spent 3 sleepless days watching manga, playing Street Fighter and Contra, and doodling images of oversized fantasy anythings that can transform into anything else at a moments notice. Preferably while plummetting from orbit.

At first it seems confusing, but pretty quickly you get the visual and audio cues of when to dodge attacks and how to string together the ridiculous combos. Some of which seem to require the character to generate additional special powers by switching to ‘leotard mode’ (I have no idea), or to weave her hair into a vast slavering dragon. It’s completely and totally bonkers, and I didn’t want it to end because I just wanted to see what other crazy things they would come up with. There’s certainly a lot of button pounding going on, but it didn’t feel anywhere near as random as I expected – a bit like a speeded up & more forgiving version of Street Fighter, where you flit between doing things you intended to do, and doing other random moves that you didn’t intend necessarily but were roughly in the right direction and looked cool anyway, so you can totally tell yourself that you meant to do it, at least on a subconcious level. :)

There’s so much going on on screen, and even during the demo the ante keeps getting upped to the extent that you’re chuckling at the sheer ridiculousness of it all, that you would think it would get hard to play. At times it does get a bit busy, but they seem to have made the controls and camera angles appropriate such that most of the time it tends to work extremely well. It looks gorgeous the whole time, and the frame rate stays outrageously high given the amount of things going on (note: this was on 360 – allegedly the PS3 version isn’t quite as smooth, so you’ll have to grab it and judge for yourself there). Edge compared it to Super Mario Galaxy in terms of how well they managed to derive a camera angle appropriate for a given scenario, regardless of how outrageous, and I could see that from the demo to a degree.

In short, I never remotely expected to like Bayonetta, but despite myself I’m really keen on it now. That’ll teach me to judge a book by its cover, or rather a female protagonist by how much leather she’s wearing. With it being released on 8th January, next month seems to be the new Christmas.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

Confession – I like Twitter

Internet, OGRE, Personal 5 Comments

twitter_256x256It’s now almost a year since I decided to try using Twitter, specifically to post about Ogre development work I’m doing and other Ogre-related things (well, most of the time anyway). Seeing as I totally deride the concept that it’s a good thing to share the inconsequential, tedious minutae of your life with the internet and view it as the absolute pinnacle of sad, narcissistic behaviour, joining Twitter was a hard sell. After all, at least on a blog you have to write enough in a post to naturally filter out anything that’s not worth saying (in theory), while Twitter seemingly encouraged you to share whatever crossed your mind during the day. In the end my reason for joining was that there tended to be things large and small that happened in and around Ogre that many people might like to know about, and these things didn’t always warrant a blog post,  a news article on ogre3d.org or even a forum post. Provided I stuck to that raison d’etre, perhaps it could have value.

And in fact, it’s actually been very useful. I’ve almost stopped blogging about Ogre work unless there’s a significant event or something I feel needs greater analysis, because my Twitter feed is a better way to get the word out about things. It’s also been useful to get feedback on certain technical issues and to keep up to date with what other people are doing. Specifically, I tend to only follow people who post about things I’m interested in, rather than just because I know them.

And this tends to work well – I’ve found that Twitter users, or at least the ones I follow, in general tend to automatically filter their content to things that are actually interesting. This is in contrast to Facebook, which is so chock full of the utterly banal that I lose the will to live every time I try to catch up with the feed – there are usually some things in there I’d genuinely be interested in, but it’s so full of crap I can hardly face spending the time to find it. Much of that is due to its insistence that I’m somehow interested in the events of all the Facebook games people are playing, when in fact I couldn’t give a flying toss what new fish someone has just unlocked in some ridiculous mini-game. I’m close to just deleting my account and forgetting all about it – if you want to be social, grab a coffee / drink with me sometime or something – at least then you’re unlikely to keep interrupting to tell me what your level is in FarmVille.

Computer systems are tools, and can be used for good or ill. I’ve come across lots of people that use Twitter in a genuinely useful and non-intrusive way, and I try to do the same, and as such it’s made a firm place for itself in my day – something I would not have taken for granted when I started using it.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

Cheap, simple gadget satisfaction

Personal, Random, Tech No Comments

Like most members of the male species, and particularly the geekier types, I love gadgets. Complex ones are great, but sometimes the greatest satisfaction can come from simple things that just work really well. Here’s a couple of recent buys for me that fall into this category that I thought I’d share.

Joby Gorillapod

gorillapodWhen we’re on holiday I often spend time trying to find places to put the camera so we can do a timer shot with us both in the picture, and when you’re in forests and up mountains finding a level spot is tough. I’ve gotten quite good at it, squinting at rocky outcrops and tree stumps with an almost film director level of interest, but it’s still awkward and sometimes precarious; this year in the Canadian Rockies I placed the camera on a rocky slope and only realised when I had to charge down again how many rocks were between me and the ‘mark’ I had to be at within 10 seconds, and I almost came a cropper, much to the displeasure of my wife.

I’d seen the Gorillapod before but kept forgetting to buy one before we went on holiday, so this time I bought one as soon as I thought about it, even if it’ll be sitting around unused for a while. Basically it’s just a small tripod made from a series of ball joints, each one perfectly stiff under the weight of a camera but easy enough to move, and with rubber surrounds on every joint and on the ends for grip. It’s very bendy and yet very sturdy once it’s set, so you can use it as a regular mini-tripod (but can adjust for uneven surfaces really easily), or you can suspend it from tree branches and poles, secure it up on top of fences or bollards just by bracing it, and all kinds of things. It just clips on to a small tripod mount and folds up really small.

It’s just an incredibly useful little gadget that I wish I’d had for holidays ages ago, and I imagine regular photographers would find it invaluable too.

Bicycle iPod Mounts (for drum kits)

ipod_mountI don’t ride a bike anymore, but after setting up my drum kit I realised I needed somewhere to mount my iPod if I was going to hook it up for practice, rather than having it on the floor or using gaffer tape or something. Surprisingly there didn’t appear to be any standard accessories to do this (a bit of an oversight on Roland’s part I think since this must be a common requirement), so I was nosing around in the VDrums forum and discovered that most people were just using regular old bicycle mountings, and attaching them to one of the cymbal riser arms (since they’re about the same diameter as bicycle handlebars, compared to the main drum frame which is much thicker).

They were cheap so I gave it a try, and sure enough it works beautifully – you wouldn’t know that the mounting wasn’t made entirely for this specific purpose in fact. Score one for the community :)

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

Some CIOs don’t know what the hell they’re talking about

Business, Open Source 2 Comments

I picked this story up via Matt Asay and it pretty much summed up the frustrations I’ve had in the last 10 years when talking to certain people about open source – particularly when I was involved in business software. Peter Gyorgy, CIO of GE made this comment in a recent panel discussion:

“I think open source is great for own internal playground type of things but if it’s running vital mission critical applications – networks running on open source for example – then that is a huge, huge risk to the organisation,”

This would be incredibly funny if it wasn’t so damn indicative of so many CIOs, managers and other closed-minded, overly conservative IT people who have long since given up on trying to stay reliably informed and just believe what their vendors tell them. It’s especially amusing given that GE’s healthcare division runs its mission critical software on Linux, which their CIO seems oblivious of. And I would expect the New York Stock Exchange would be considered ‘mission critical’, and it runs on an open source platform (and interestingly the LSE is switching to Linux too) – so clearly not everyone thinks like this.

The one place where he does have a potential point, albeit skewed beyond all recognition is when he says:

“We are not here to be an IT shop, we are here to be the partner of a business and we shouldn’t put businesses operations into risk by running very low cost solutions,”

That’s a very valid point. However, it’s got nothing whatsoever to do with the choice between open source and anything else! This is such a common misconception. Open source has matured – if you need enterprise-level open source there are companies that are quite happy to take your money to remove the hassle and worry of system stability. They’re really no different from the Microsofts and Oracles of this world, except that the software they’re running your system for you on is open source rather than closed. That gives you an additional bit of leverage because if they suck, or if they try to pull a fast one on prices, you can actually get that enterprise management from someone else without having to change your software too. Try doing that when you switch from Oracle to Microsoft or vice versa for services.

You also have the advantage of not having to wait for a central vendor to hear your pleas for feature A or B, or a bugfix that might be low priority for most people but is absolutely critical for you. Instead of hacking workarounds and seething in the wings while you wait for your vendor to get around to addressing something they think isn’t a priority because it’s not affecting that many people, you can pay someone to fix it for you and submit it upstream, where it will undoubtedly get accepted far quicker than it would have got fixed if only a central vendor was looking after it.

You don’t have to be running an IT shop – although if you do, you have the option of trading your own time for monetary savings and greater agility – your support options are just different. Sure, they can be slightly more complicated if you let them be – particularly if you’re looking to save money or drive things in an optimal direction for your company such as tailoring the software – but if you want to have a simple 1-vendor setup using only standard versions you can do that with open source too. Delegating all support to a third party will cost you more but the option is there. It’s all about choice, flexibility, and empowerment – all things a CIO should welcome, not be afraid of (otherwise he/she’s probably in the wrong job).

I think too many IT managers / CIOs have a mental block which prevents them from being really committed to optimising their IT delivery, in terms of both spend, alignment with the business and agility for the future, because they’re locked inside a box of their own making.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

1000 song Rock Band marathon for Childs Play

Games, Internet, Music 3 Comments

I have to hand it to the guys at the Clan of the Gray Wolf, who are doing a 1,000 song Rock Band marathon for the charity Childs Play, all streamed live on the Internet. Presumably this is linked with the fact that Rock Band itself recently crested the 2009 target of having 1000 in-game tracks – and a month earlier than their deadline.

clanofgraywolf_rbmarathon.

At the time of writing they’re 46 hours in which given that they’ve tackled 615 songs so far, represents not quite two thirds of the way. Even though there’s 6 of them taking shifts (3 playing, one commenting), this is still an ambitious thing to be trying – we haven’t even tackled the 80-odd song Endless Setlist 2 in Rock Band 2 yet, and probably never will! I can’t imagine how bad their blisters are going to be after this, not to mention their vision – my guess is that the whole world is going to look like it’s scrolling upwards for them in the next week.

Anyway, much respect – I encourage you to donate if like me you respect this kind of crazy endeavour which is nevertheless brimming with geek cool.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

Muppet Bohemian Rhapsody

Comedy, Music 3 Comments

Something silly for the weekend :)

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

The evil of couriers

Music, Personal 3 Comments

I never seem to have very much luck with couriers. I remember the very first time I ever had to have something delivered by courier, it was in fact my very first PC from a company called Multiplex (long since deceased), in 1991 – the days when you really had no choice but to mail-order to get a PC. It was a searingly sexy 386 33Mhz with 14″ CRT VGA monitor (take that EGA / CGA losers!), 1MB video card (oooh), a massive 100MB hard drive, and dual Soundblaster (the original!) and Roland (for MIDI) sound cards. It cost me something like 2-3 months salary and clearly I was keen to see it arrive in one piece, having paid through the nose for shipping too. It took 2 weeks to arrive, and some of that was it sitting behind a door in a barely watertight hut at a local freight depo because they weren’t sure how to classify it for customs and decided they’d figure it out after a few more (days) cups of tea – without telling me of course. This was before internet tracking of parcels so they could get away with it – I was livid.

Since then I’ve had couriers who have just knocked off early and pretended that they called at the house and ‘carded it’ because no-one was home, despite the fact that I was at home all day and there was no card in the door anyway. I’ve had couriers that delayed a couple of days because they “couldn’t figure out where the house was”, because their clipboard was missing a couple of lines of address – this is despite a) the box itself having the full address perfectly clearly on it, and b) even their badly transcribed clipboard had a postcode and a house name, which even a trained monkey should be able to resolve to a location. Basically, all kinds of silly excuses. I’ve often wondered how couriers can get away with charging the fees they do when they often seem so much more incompetent than regular postal services. The only couriers I’ve found that are actually 100% reliable are FedEx, who are locally served by the post office – whenever I need to send something important for my business, I only ever use them.

It should therefore perhaps have been no surprise that my recent order of musical instruments went somewhat awry because of couriers – there were 5 packages in all, originating in Newcastle, 4 of which arrived on my doorstep on Tuesday, after a 4 working day transit (about average when crossing the Channel is involved). But, just for variety, the courier company decided to route the final package to Birmingham, Huddersfield, and then back to Newcastle over the course of the last week. Thankfully (?!) we do have internet tracking now so I can watch it doing its merry dance while I fume. Apparently there are some ‘paperwork issues’, but quite why it took a week-long circular journey around the country before they figured that out, and why the other 4 packages in the same consignment didn’t have this problem,  is anyone’s guess.

So, I have most of my drums, but I don’t have a kick pedal or stool so I can’t really use them properly yet, and probably won’t be able to until next week sometime. Sigh. At least they work, it’s just annoying not to be able to configure the setup properly yet and just play. The best thing is that my wife has her piano set up now, which was in 2 of the 4 boxes that made it through the transit minefield; it’s really good and she seems most pleased.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

hgsubversion – dropping old history during conversion (mod)

Development, OGRE, Open Source 4 Comments

mercurialI’ve already posted about my experiences with Git and Mercurial, the end result of which was a vastly increased respect for Git but a basically confirmed preference for Mercurial, based on ease of use, platform consistency and resilience.

Mercurial’s conversion tools are really quite good – the core tools worked fine but I was impressed by hgsubversion’s speed and that it seemed to just work, in both initial conversion and pulling subsequent updates. It was missing a couple of features that I wanted though – firstly the ability to reflect merge points between branches during the conversion, and secondly to be able to ’squash’ ancient history down to a simple snapshot to save space.

At OGRE, we’d carried forward all our history from CVS to Subversion and as such have almost 8 years of history, including a couple of file reorganisations. Mercurial’s storage efficiency falls down compared to Git when files are moved around, because a file stored in more than one place in the tree over the history of the project is physically stored multiple times too, whilst Git stores the content only once with pointers from the various locations / history points. Most of this overhead could be removed just by eliminating old history we didn’t need anymore – history that does no harm in Subversion since only the server holds it, but does cause unwanted overheads in a DVCS since every user gets the entire repository. Removal of history is something that Mercurial shuns – rightly so in the case of public repositories but in these rare cases it would be nice if there was a tool for removing old history; again Git allows this but it has to be used with care. In the absence of that, doing it at conversion seemed the best way.

I asked about these things in the hgsubversion community, but the tradition of open source is that if you really want something urgently, you know where the code is :) Mercurial is really nice when it comes to hacking because it’s all Python; so there’s a nice unified API in one place that you can refer to – that’s one of the reasons I like it over Git which is far more fragmented in technology terms. I’m not a Python guru by any means, but I managed to implement both these features – I did the “mergemap” support a little while ago and added the “skipto” option today – it’s called that because “skipto” was already referred to in the hgsubversion code but it had no implementation.

The result is that the OGRE Mercurial repository with only the last ~3 years of history (back to when the v1.4 branch was created) is now only 74MB, rather than the 206MB of the original, complete conversion (in comparison Git was 116MB for the whole thing). By dropping the history I’ve removed most of the instances of reorganisation which is where most of the space has gone. I  hope eventually that Mercurial adds a utility to deal with stripping ancient history (right now, you can only strip branches) but this solves my primary conversion issue. Since this new repo can be kept in sync in a very lightweight fashion with the existing Subversion repo, I’ll be periodically updating it and doing more tests to reassure myself that the content really is ok.

If you’d like to get my custom version of hgsubversion with these features, it’s here: http://bitbucket.org/sinbad/hgsubversion/. I make no promises that it’s error-free, use at your own risk. It currently assumes that you’re using the standard Subversion layout, are converting from the root of that and have the ’svn’ command on your path.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit

It’s all about the middle ground

Business, Open Source, Tech 1 Comment

I always find Matt Asay’s blog an interesting read – even if I don’t always agree with him, his posts on open source are always thought provoking. Today he was talking about how Wikipedia’s contribution rate is falling and how that has parallels in open source; that the community is no replacement for a centralised, focussed team.

He’s right on the core point – at the heart of every successful open source project there’s always a core team (or individual), and in the really influential ones, that team is usually funded – Mozilla is famously bankrolled almost entirely by Google, the Apache foundation has many, many sponsors including Google, Yahoo and Microsoft, Eclipse has IBM, and so on. Many of the big projects that don’t have more general sponsorship still have a core team funded by a dual-license or other premium software model: MySQL, RedHat/JBoss, Qt etc. Such guidance & direction at the core is crucial – at OGRE we have a core team too, except that we’re not directly funded by anyone in terms of developer time (we have several generous sponsors who cover the majority of our hosting needs); we guide it because we want to, and because we use OGRE ourselves too. My company is probably the closest thing to a core development sponsor, in that I’ll allocate “work time” to doing OGRE development that could otherwise be spent making commercial products or doing consultancy, but it’s by necessity small beer compared to the likes of Mozilla and Apache.

But I do think he underplays the changes that have taken place in the software development world. He asserts that because most headline software development is still focussed at big influential companies, we’ve mostly just rearranged the chairs a bit at the same banquet. I don’t agree with that at all – by nature it still makes most sense to concentrate much of the development in a small team for quality, consistency and organisational purposes, but the point is that where precisely this centre is determined primarily by merit, not by the boundaries of a company’s org chart. While the core team is doing a good job, and accepting reasonable patches and such, people are happy for the show to be run there. The community is still definitely involved in the development, and certainly adds considerably to the end result. Yes, proportionately the central team does more, but crucially, should anything go badly wrong – such as the core going in a direction a lot of people don’t like, or the product being sidelined, if there’s enough of a community a fork will emerge, with another core team to lead it. That’s a critical safety valve that keeps companies more “honest” than they had to be in the past, and is a vital insurance policy for anyone investing their own resources in a piece of software. Matt claims the ‘Command and Control’ setup of software vendors is still in place; I think his view is clouded by the fact that he’s solely focussed on enterprise software, and enterprise customers move at such a glacial pace that any change is largely imperceptible – to the extent that ‘community’ maybe does look a lot like the ‘customers / partners’ relationship of old. But that would be a bad call, completely ignoring the difference in the level of control that is ceded to a community versus the customers of old – sure, many enterprise customers may not wish to leverage that control, and would take a long time to move if someone else chose to do so, but that option is still always there. And not everyone in the world is an enterprise customer – the enterprise usually follows the grass roots eventually.

In practice, it’s really all about balance, the middle ground. Yes, we still need focii of development just to make sure things get done in a reasonable fashion – no-one likes chaos in their software. Yes, it makes most to have that focus funded, in a traditional company model, if that piece of software gets beyond a certain size / popularity. But that doesn’t for a second undermine the value of community participation; in fact the two are deeply interdependent – one without the other is just not sustainable in a sizeable project.

So, people certainly shouldn’t be deluded into thinking that random crowds of people on the internet will create great software without some organisation (the infinite monkeys creating Shakespeare fallacy), but they also shouldn’t think that community is disposable and that we’re in the same situation we were before but with a different label. Nothing could be further from the truth.

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • N4G
  • StumbleUpon
  • del.icio.us
  • Mixx
  • Google
  • blogmarks
  • Slashdot
  • Reddit