Category Archives: Open Source

Development OGRE Open Source Tech

Circular dependencies

The 3D Material tab with specular map at the right. Seed image by <a href=I can’t remember who made the assertion / joke that if you looked through an infinitely powerful telescope you’d end up seeing the back of of your own head, but I was reminded of that by a certain event today. In the last couple of years I’ve often Googled for a particular subject and ended up with the top hits pointing me back at one of my own posts in the OGRE Forum or on my blog, in a weird self-citing manner. In the worst cases, these posts answer or clarify my own current question, because a thought process I’d had a few years before, and then forgotten about, can often be useful. It’s like having a stack of your old notebooks in the cloud! Or an archived clone of yourself pointing out how age is making you stupid.

The other weird experience is when you download or otherwise get hold of a piece of software, and unexpectedly find that it uses your own code. I’m sure this is common in open source circles, because users of open source don’t have to tell you when they use your code, but nevertheless it’s still an odd experience. It’s especially nice when you like that piece of software – this happened to me today with PixPlant 2.

As I mentioned yesterday, I was reviewing tools for normal/displacement/specular map generation from reference sources, and I’d been evaluating CrazyBump and ShaderMap Pro. Evak in the OGRE Forums suggested I try PixPlant2 because he liked it. So I did, and I was impressed – the texture generation seemed as good as CrazyBump, but it’s cheaper ($175 rather than $299), and it also includes tools for creating tileable textures from original sources, detecting repeating patterns, straightening things, and blending the edges for you.

So, I was already leaning towards this purchasing PixPlant2, but then as I was browsing for textures, I noticed that the PixPlant2 application folder had some familiar files in it – such as OgreMain.dll, and rather familiar material files in the media folders! Checking the docs, sure enough OGRE was credited as a dependency. The application I ended up gravitating towards included software that I wrote! :)

To cap it all off, they’ve been very nice and offered me a free copy, so my normal map generation needs are entirely satisfied, for far less than I was expecting to pay. It’s not often things work out quite so well!

Games Open Source

It’s Aliiiive!

Ahem. Yeah, that means my 360 came back today, fixed and happy. MS tech support have put a smiley-faced band-aid over its owwies, and now it’s all better. I took a long coffee break to hook it up and test that it works, and whether my DLC still works or needs re-downloading (answer, it does, and it doesn’t, respectively). Muchos gracias, señor Microsoft.

Total turnaround time: 33 days, although it would have been 10 days less had it not been for the first support request disappearing down a virtual plughole while I was away for a week (and 2 bank holidays didn’t help). Could have been better, but also could have been worse – once it actually got rolling it was well organised, and most of the time spent was in transit with UPS, the console itself was fixed in about 2 days. And at least it cost me exactly zero pence -  I guess I’m now an active contributor to that $1bn repair bill allocation on Microsoft’s books.

So, obviously it sucks that the 360 is a tad flaky in the thermal management department, but at least the repairs seem pretty well organised. I’ve also noticed that my console now shows up as ‘In Warranty’ online rather than ‘Out of Standard Warranty’ as it did before (but still within the extended warranty for RRoD and E74). I wonder if that means I get another year’s warranty for other things?

Internet Open Source Tech Web

Google Wave – email finally RIP?

googlewaveMany people have declared email to be dead in the past, and they’ve all been wrong. The typical play has been from instant messenger advocates, and most recently from Facebook. But, while these options have been a valid all-encompassing solution for teenagers and students, I haven’t met a single serious modern IT user whose life isn’t still driven primarily by email. There’s a reason that Outlook and Exchange are such consistent cash cows for Microsoft, and so many business people own Blackberrys. IM, Facebook & Twitter may represent certain facets of your online existence, but if push really came to shove, and you were only allowed to use one electronic service, I bet you every gadget I own that almost everyone will opt to keep their email over anything else.

I certainly could not operate without my email, but after watching the demo of Google Wave, I saw for the first time something that could genuinely be better, without leaving me with a gaping functionality hole in the name of ‘progress’. In retrospect, the idea seems incredibly obvious, but I’m sure the implementation was tricky.

In essence, Google Wave is basically a fusion of email and IM functionality. You still compose emails, reply to them, and include people in the threads, but the whole functionality set can also operate basically in real-time, just like an IM client. Whether something is instantly transmitted interactively depends on whether the person you’re sending it to is online, and some preferences of your own. There were some nice geeky demo things like instant translation via a bot too, but the most important thing to me was how holistic it was. One of the major problems I have is connected with using a mixture of IM and email communication, particularly with clients but also friends. I might remember that I had a conversation with X about Y, and want to go refresh my memory about it, but I don’t remember whether we talked about it on email, or on IM (and whether it was Skype, GTalk, MSN, and which machine I was on at the time). Looking up this information is a pain, because my email is one island of information, and my IM conversations are many separate islands. Being able to search across the whole thing in one swoop, from any PC/device, and see all the conversations, both deferred email-like and instant, all in their original threaded contexts, would be absolutely fantastic. It would give me value in my working life, instantly, right now.

They could go even further, by supporting VOIP calls through it too, and have the option to use voice recognition to transcribe it (or record it as well), or even just to log that the conversation happened and allow me to add a few manual notes to it. I’d imagine this would be early on the list of extensions, by Google themselves or by external developers, since they’re encouraging people to use the API. And I can imagine that linking all this up with Google Maps, Google Calendar, Google Docs etc will have a multiplicative effect.

So I’m pretty excited about Wave. It’s the first collaboration tool I’ve seen that could genuinely replace my email (and IM), although I’d then have to tackle the very real question of whether I really want to give Google control of such critical parts of my electronic life.

Business Development Open Source

Qt / Nokia ramping up open source involvement

qtI reported a few months ago on how pleased I was that Qt was changing license to the LGPL, something I saw as a watershed for Qt adoption. I already had an awful lot of respect for Qt, but the previous GPL/commercial license did mean that adoption was in two quite widely separated camps – those who were already making GPL software, and those that could afford to license it for other cases. Great though Qt is, the price of the commercial license is really quite steep ($3,695 per-developer, per-platform), and that was hard to justify for a small developer.

So, the LGPL move is a big change and opens up a huge opportunity for Qt to be adopted in the ‘middle ground’. But beyond just adoption, Qt are clearly pushing for much higher levels of community participation going forward. A couple of weeks ago I got a call from someone in their strategy group, who is looking to reach out and build relationships with other open source groups & companies in related fields, to see how we might help each other in the future, and that sounded really promising. Today I received an email from the Qt mailing list outlining how they’re structuring their new public code repositories, and how they’ll be accepting external contributions. It all looks well thought out – they’re using Git to make patch submission easier on a large scale for example (something I’ve considered in the past, it’s only unfamiliarity and the lack of good Git UIs that puts me off doing it).

It’s great to see big companies making such solid moves into true open source participation like this, as opposed to some other companies which use open source licenses, but still operate a 100% ‘push’ model of development. Ultimately I’m sure it will pay huge dividends both for them and for the Qt user community. Obviously before the Nokia aquisition, Qt had to generate all its revenue from licensing so it had less scope or impetus to explore openness like this, but still I think there’s scope for many organisations to explore this approach with some aspects of their software products; specifically those parts that underpin the ‘premium’ side of its business or provide other infrastructural elements on which it builds its higher-margin offerings. As more companies explore these kinds of opportunities to blend open source and commerce, both as providers and consumers (and open source offers benefits on both ends of the relationship), I think we’ll see an acceleration of iterative innovation in the industry.

Linux Open Source Tech

Moblin looks really interesting

Not being the kind of person who would buy a netbook, I hadn’t really paid much attention to Moblin, Intel & Novell’s new netbook-targetted, Linux based operating system. However, Matt Asay posted about it today and that got me looking at it, and I have to say I’m very impressed.

I love that they’ve tried to rethink the operating system interface from the ground up rather than just follow in the footsteps of previous efforts. One of the reasons desktop Linux distros have never made much of an impression on me is that I often just feel like I’m using a slightly more technically-oriented facsimile of Windows, which is ok but tends to be more demanding of my time; in comparison the Mac gives me a usability boost and saves me time over using Windows, as well as having a solid back-end, and that’s why I like it. People need a reason to use alternatives to Windows, and just reproducing the user experience isn’t enough. I had assumed that Moblin would be another ‘typical’ desktop Linux in the usual vein, but they’ve done something much more interesting; a completely new interface designed around common usage patterns.

I’m not sure how it would be to use (I’d need to actually play with one, and I don’t intend to buy a netbook any time soon), but it certainly looks good, and I completely applaud their initiative. It’s about time more people experimented with usability like this rather than unquestioningly sticking to boring old operating system interface ‘standards’.

Business Development Open Source

Oracle – the devourer of open source databases

In a past working life, I used Oracle a fair amount – I used Oracle 7 through 10, and they were pretty decent products. The lineup was pretty simple back then – Oracle was the gruff, stoic mercenary who didn’t talk much and cost a fortune, but had it where it counted – if you could get him to do what you wanted; SQL Server was the approachable and gregarious rogue who was a jack of all trades and came fairly cheap, but had a habit of disappearing into the shadows or asking for more money at more sticky moments; and MySQL was the happy-go-lucky bard who was just along for the ride, happy to work for free so long as it was all just a jape and no-one asked him to do any real work.

How things have changed; SQL Server has got more mature (and more expensive), Oracle has bristled with ever more confusing add-on components while the core has got cheaper, MySQL has become a much more serious contender for many businesses and has already been swallowed once recently by Sun for an insane $1bn. However, that’s all going to change again now that Oracle is buying Sun, and thus with it, MySQL. So what does this mean for MySQL?

A lot of people are saying it’ll be curtains, but I’m not so sure. Oracle has already chowed down on several other open source vendors in this space, and perhaps surprisingly not much has changed. In 2005, they bought Innobase, a Finnish company that produced the transactional back-end for MySQL, InnoDB. So essentially from 2005 Oracle controlled the most important part of MySQL anyway, certainly from the perspective of increasing its business use. And yet, really not much happened, except for some rumblings in the community and some uncertainty around MySQL 5 (which was no doubt Oracle’s intention). Then in 2006, Oracle bought Sleepycat, which produced Berkeley DB, an open source embedded database. Again, this continued pretty much unchanged afterwards. So, what will they do with MySQL now?

I’m not even sure it matters. Because the reason that Oracle’s purchase of InnoDB and Berkley DB were effectively a non-event for users is that they were both open source. No matter what Oracle did, it couldn’t change that – if they try to change the license from future versions, a fork will just appear instead and people will move. The key people involved in the project would just leave and work for whoever ends up running the fork (probably a startup) – after all, most of the time these people were in the startups that created it. There is actually not that much ‘control’ at all that you gain from purchasing an open source project like this – you get the copyright, so that means you’re the only one who can change the license for future versions, but the open source license can never be revoked on existing versions. You might own the rights, but you don’t own the customers.

So really, it makes very little sense for Oracle to try to ‘kill off’ MySQL, or to cripple it somehow. With Inno, the one thing they had in their back pocket was the Hot Backup, which was a closed part of the code, but because it’s not the majority of the product there’s nothing to stop someone else developing an equivalent – most of the time the only reason people don’t is that while the company plays fair, there’s no need to. If it’s a higher-end add-on, people tend to accept that the originator company can sell a minority of their product as an add-on, it’s “fair” given all the code they’re giving away as open source. But, if the company acquiring them then tries to exploit that, say by making it prohibitively expensive or withdrawing it completely in order to try to make the core open source product less attractive (maybe in favour of their own proprietary product), then you can guarantee others will enter the space to resolve the issue.

It’s a perfect example of why open source is a hugely valuable insurance policy to anyone using it. Even if mergers and acquisitions change the priorities of those who control the code, the kinds of forced switching and upselling that typically occurs to customers in the proprietary space (I’ve had this happen to me several times) in the wake of such M&A activity just doesn’t generally happen so much with open source products – because if vendors inconvenience their customers, they really do have the viable option to go elsewhere. As it should be!

Open Source

Open source – globally representative

I enjoyed reading this post at l2admin, celebrating some of the big names in open source development. Of course, we can all argue about names which didn’t make this particular list (personally I think Larry Wall and Guido van Rossum are just two of the important omissions), but what strikes me most – well, except that Mark Shuttleworth is younger than me, which is slightly dispiriting – is how globally representative the list is.

Traditionally the commercial software industry has been mainly associated with the USA, and while of course all those corporations are bursting with international employees on H-1Bs, and have international offices scattered all over, nevertheless the impression that you still get is that the USA drives most of the industry, with a few exceptions. This is of course one of the reasons behind initiatives by other countries to promote their local industries instead, such as China’s Red Flag Linux and the European research funding programme – with mixed results. It’s nice, therefore, to see the range of nationalities called out in lists like this, which reflects the meritocratic and perhaps academic style of the open source field in general.

Of course, a large number of the successful open sourcers end up in the USA eventually anyway, because by and large that’s where the money is – which is what biases where most software originates in the commercial world too of course. :? Still, I take heart at the diversity in this list of luminaries, which definitely reflects the diversity I see in my own open source community. Believe it or not, great stuff does get done outside of the Valley sometimes :)

OGRE Open Source

OGRE on the BBC web site

animationdecathlonThis is cool – last weekend OGRE was one of the technologies behind an interactive public event called Animation Decathlon, inspired by London 2012, which involved kids in London playing a kind of version of Track and Field via Arduino-controlled custom ‘thumping pads’ :) The images were projected onto the side of Kensington and Chelsea town hall, and the BBC has a page about it.

If you think the characters look like they were drawn by children, that’s because they were :) The characters in the game were drawn by kids from the borough and animated by the creators, Quadratura.

I love this because a) it’s in the UK, and open source adoption is much lower in the UK than in the US or Europe, and b) because I just love public events / art like this. In recent years it seems OGRE has become increasingly popular for this sort of work, resulting in OGRE-based applications appearing in public spaces all over the world, such as the Science Museum in London, the Calgary Stampede, the Australian Museum in Sydney, and the history museum in Nantes, among others.

As well as being happy to see OGRE in unique set-ups like this which are always interesting, it’s also gratifying because by nature systems of this sort need to be robust – they’re sitting there all day being tinkered with by loads of (untrained) people, so they require a certain level of resilience and stability :) Therefore I treat the fact that people are trusting OGRE to run them as a very positive thing. We’ll keep trying to be worthy of this trust!

Development OGRE Open Source

Google Summer of Code 2009

GoogleCodeAs I just announced on the OGRE site, I was really pleased to find out today that we’ll be participating in Google Summer of Code 2009. This will be the 4th year running for us, and it wasn’t at all a given that we’d be accepted again this year – even though I think we’ve been a good mentoring organisation for the past 3 years, there are always new organisations wanting to get onboard and there are a finite number of places, so I wouldn’t have gotten my panties in a bunch if we’d been passed over in favour of letting someone else have a go this year. As it happens though, we’re stepping up to the plate again, and everyone is really looking forward to it.

We have a bunch of great mentors lined up again this year- multi-year veteran Paul ‘tuan kuranes’ Cheyrou-Lagreze, core team member, 2008 mentor and 2007 student Brian ‘Praetor’ Johnstone, core team member and 2008 mentor Assaf Raman, new mentor Benjamin Chauviere from commercial OGRE users WestImages, and, well, me. :) Yes, I’m back mentoring again this year – I took a break in 2008 due to my workload and was just a backup mentor and organiser, but if 2008 taught me anything (with my back problems), it’s that work has to come second to the things you care about. I love the Summer of Code, I think it’s such a unique programme that I can hardly believe it’s running for a 5th year now (we missed the first year) – who would have thought that a company would pay students to work for open source organisations in their summer holidays, regardless of whether the subject matter was directly relevant to their own business?. So I’m glad to be reprising my role as a mentor again, as well as being the overall organisational shepherd :)

There’s a great vibe to the programme, a real enthusiasm that’s infectious. I’m sure that in years to come, all of us, mentors and students from all the organisations that took part, and the Google staff (particularly Leslie) who go well beyond the call of duty, will look back on this period of our lives and think “Hey, you know what? That was pretty darn cool what we did there.”. You can’t ask much more than that of life.

Business Open Source Personal

Reflecting on how far open source has come

It seems that more and more these days I find articles cropping up in publications like the Economist or WSJ about open source projects, and it occurred to me how ‘normal’ it had now become for such business-oriented publications to recognise what a driver open source has become in the modern world. It’s expected now, but it made me think back to my personal journey with open source, and how much resistance I’ve encountered to it over the years.

I’ve been a fan of open source from before I even knew what it was. Ever since I got my first modem and hooked my computer up to the world in the early 90′s, firstly to access BBS‘s & FidoNet and soon after the ‘Internet’ (telnet, ftp and gopher FTW), the main thing I did with it was consume and publish source code. I remember thinking that if only I’d had access to these sorts of systems earlier in life, I would have been a better programmer much quicker, rather than having to hunt out obscure paper references all the time. These youngsters don’t know how good they’ve got it! :)

Initially, my main ports of call were coding-oriented university FTP sites like oulu.fi and sunet.se, where members of the ever-active European demo scene used to hang out and share code and technical information. As I learned, I began to publish my own code back onto these same sites – at the time under a public domain license. The main reason I did this was that I felt a responsibility to do so – after all, I’d learned from downloading other people’s work, so it made perfect sense that once I produced something, I should contribute it back to the community too, renewing the cycle. These principles are of course at the heart of open source development, even though at the time I didn’t know there was a developing concept and set of formal licenses that neatly wrapped up what I considered to be ‘right’.

I really became aware of open source near the end of the decade, but really only started to understand it when I started my own first open source project (which has lasted much longer than I could have imagined at the time). As I saw it develop, I began to sincerely believe that this model represented the future of modern software development; not necessarily in isolation, since real innovation on the upper end of the ideas curve would still be commercially viable, but as a really major part of the underpinnings of software landscape – the ‘underwater’ part of the iceberg so to speak. It just made so much sense on so many levels:

Developers (good ones anyway!) Software Companies (except incumbents) Software Consumers (savvy ones)
- Like to share knowledge & learn
- Like proven solutions they can reuse
- Like refining / refactoring / improving
- Understand collaboration is key to sw dev
- Don’t like to burn research money on old problems
- Like anything that helps them compete
- Like to retain dev staff through motivation
- Don’t like being beholden to larger companies
- Like value
- Like their software to be widely used & supported
- Don’t like being forced to upgrade when they don’t need to
- Like to feel in control of their own destiny

Open source ticks all of these boxes – what’s not to like? And yet, over the years I’ve encountered a lot of resistance to the idea of using open source, and I’m sure lots of other people with a less conservative mindset suffered the same frustrations with those wedded to the traditional. I lost track of the number of times I was told by bosses that Linux would never be viable as a server OS for ‘serious’ business (the NYSE might disagree with that, among many others), and that non-proprietary software would never underpin anything other than hackish, thrown-together systems some university student might play with. No, for ‘real’ systems you had to expect to pay a proprietary vendor for every element of it, otherwise it wasn’t serious. No amount of arguing about how much money was wasted re-inventing technology that was well understood, just because a proprietary vendor wanted to control it (the tech you’ll find in databases, operating systems and email systems is mostly decades old, yet some people still happily pay for it even if they’re simple mid-range users) seemed to make a dent in the conviction of these people that open source was a silly distraction.

Luckily, they were wrong. In the end, what typically happened is that open source sneaked in under the radar – when budgets were constrained, developers and other savvy techs would start using open source to deliver what they needed without having to request more funding. Unbeknownst to customers, software & hardware that they purchased ended up having significant open source components present, introducing some to it surreptitiously – and often they discovered that the standardised nature of it meant they could do more with it than they might have realised. Slowly, inexorably, the grass roots realised (at varying speeds) that open source had something genuine to offer them, that their proprietary vendors were not delivering. Most proprietary vendors went through the standard ‘transition curve’ on open source (and some haven’t come out the other end yet):

  1. Denial – refute that open source can be useful for anything, that it’s too risky
  2. Anger – threaten legal action, wave patents, accuse of anti-commercialism or socialism
  3. Bargaining – a softer version of the above, try to convince people your approach is better
  4. Depression – realise everyone’s ignoring you and doing it anyway, dither over how exactly to deal with that
  5. Acceptance – realise that open source and proprietary models can co-exist, and everyone can benefit. The extent to which you can control and exploit your customers is forever reduced, but you’ll get over it.

I’ll leave you to make your own judgements on where a selection of vendors are on this curve right now ;) Most customers have been, or are going through the same experience – and typically the stage they’re at reflects how tightly they were bound to particular proprietary vendors, and how conservative or innovative they are. But these days, I don’t think there’s any organisation that can say they’re not using any open source, or that they expect to use less of it in the future. Even Gartner, the research company that has traditionally been ridiculously slow to pick up on these things, to the extent that their analyses on the subject were becoming remarkably detached from reality (I think they only talked to Microsoft and Oracle partners), has finally admitted the trend.

So, in summary, I can look back at the last 10 years since I became aware of open source, and I can feel very happy about how things have turned out. A great idea has flourished in spite of the scorn poured on it by those with vested interests, simply because of all of us. We could see that it worked, and carried on regardless of how many so-called industry experts told us it wouldn’t. It’s essentially like democracy – sure you can have a ‘ruling party’ that tries to tell you the way things should be, but if enough people think for themselves and go their own way, change is as inexorable as the tide. And change is a wonderful thing.