Sourceforge Community Choice Awards 2008 - hmm

Open Source 12 Comments

The main problem with democracy is that you give the vote to a large number of people who don’t have the slightest idea what they’re doing. They’ll believe hype, be swayed by style over substance, and vote for what’s fashionable, or blindly along party lines. As Churchill once said, democracy is the worst form of government … except for all the other ones.

I think the results of the latest Sourceforge Community Choice Awards underlines this from a somewhat less critical perspective. I didn’t promote Ogre for this years awards mostly because I felt some of the award categories had become a bit frivolous and made it seem a bit of a joke. Take “Most Likely to Get Users Sued”, and particularly “Most Likely to Be Accused of Patent Violation” - for one, all software companies are exposed to the blighting trend of suppressing innovation by patenting trivia, so I’d appreciate it if you didn’t encourage it, and for two, one of the sponsors of the awards this year is Microsoft, whose execs repeatedly bleat on about Linux violating their patents so it’s in pretty bad taste to have that category in there. Red rag / bull anyone? As it happens, we still ended up being a finalist in the “Best Project for Gamers” category, so thanks to the people that thought of us anyway, even if we didn’t prompt you.

Anyway, the winners were announced at OSCON:

  • Best Project: OpenOffice.org
  • Best Project for the Enterprise: OpenOffice.org
  • Best Project for Education: OpenOffice.org
  • Most Likely to Be the Next $1B Acquisition: phpMyAdmin
  • Best Project for Multimedia: VLC
  • Best Project for Gamers: XBMC
  • Most Likely to Change the World: Linux
  • Best New Project: Magento
  • Most Likely to Be Accused of Patent Violation: WINE
  • Most Likely to Get Users Sued: eMule
  • Best Tool or Utility for SysAdmins: phpMyAdmin
  • Best Tool or Utility for Developers: Notepad++

I think this illustrates that the majority tend to dilute good sense - many of these winners are entirely illogical. phpMyAdmin as the next $1B acquisition? Come on, what planet are you on? Do you seriously think any business could make back that kind of investment on phpMyAdmin? OpenOffice.org the best project for Enterprise? Only if they actually start using it more, and in my experience enterprises are extremely unlikely to stop using Microsoft Office any time soon (it is appropriate for the Best Project for Education though, and would be appropriate in a Home Office / Small Business category too, if there was one). Linux is most likely to change the world? It’s done it already, although not single handedly by any means (at the very least GNU had a big hand in it). Notepad++ is the best project for developers? Sure it’s good, but it’s a Windows-only text editor, I’m surprised there wasn’t a cross-platform tool in this slot, like Eclipse or Code::Blocks. The “Best Tool or Utility for SysAdmins” is phpMyAdmin? I don’t know any serious sysadmins who would consider that their most important open source tool - useful though it is, in production environments doing backups on demand via a web interface or tinkering with live data directly isn’t exactly a good thing to be doing on a regular basis, I’m sure there are many other open source projects that professional sysadmins would pick ahead of it, which makes me think the majority voting for it were people running small sites and not the sort of person you’d normally call a sysadmin.

I think this illustrates that popularity contests aren’t necessarily the best way to recognise achievement and potential. I appreciate the sentiments here - after all there are already other awards picked by ‘enlightened panels of experts’ so allowing the community to have their say is a good idea in principle (just like democracy ;)) - but I think in practice the results can be pretty meaningless in some cases, because those in the community who are experienced enough to vote rationally are drowned out by those who are not.

NB: Let’s just be clear - this post is not about me being bitter that Ogre is not in the winners list, honestly!

Upgrading a desktop to Ubuntu 8.04

Linux, Open Source 2 Comments

I’ve had an Ubuntu 7.1 ("Feisty Fawn" "Gutsy Gibbon" - doh) desktop install for a while for testing purposes, and as usual they moved to a new version within a few weeks of me getting it set up. I don’t have a lot of free time and I’m still not a convert to desktop Linux, so I wasn’t in a rush to upgrade to the spanking new Ubuntu 8.04 ("Hardy Heron"). I actually configured an Ubuntu 8.04 server machine recently for a client, but that was simple & easy as Debian-based, command-line only servers generally tend to be. However, someone raised an issue with the Ogre build with some of the memory allocator changes on 8.04, which only occurred with the updated version of gcc it comes with, so that forced my hand. This morning I had a spare couple of hours so I thought I’d give it a go.

Luckily, Ubuntu (like all Debian derivatives) comes with a semi-automated way to upgrade to a new major version so it wasn’t going to be a fresh install. Some people like to start from scratch, but I’m busy and besides, I deliberately wanted to do an upgrade rather than a clean install to see how well it worked, since I’ve never done it before. I figure this is what a ‘regular user’ would do, given that the automatic updates are constantly prodding you about upgrading, and I’m always interested in putting desktop Linux through it’s paces in the way I think an average non-technical user would, because I hold out hope that one day, it might not be such a pain in the ass and will become a more realistic option for the masses.

Firstly, I was very conscientious and uninstalled Envy, since it makes changes to your kernel and there are very strict warnings about removing it before doing a distribution upgrade. That gave me my first problem, in that after returning to the default setup my screen was horribly corrupted, as I’m woefully used to seeing with desktop Linux. A quick flip to a console, changing the resolution to a basic VESA mode and restarting gdm sorted that out at least. So then I was free to install the new version via the regular software update wizard. That went pretty smoothly, and after restart I had the new default ‘heron embossed’ backdrop, albeit still at my low resolution and software drivers. Rather than install the new version of Envy (NG) right away, I figured I’d give OOTB Ubuntu a chance and let it install the proprietary drivers itself.

That didn’t go so well. It installed the drivers, but on reboot I could only see the top-left quarter of what should have been the login screen, as if I had a virtual window. It was still running at the VESA resolution, so I figured maybe it’s just that it’s gotten confused about the hardware driver’s preferred resolution and the monitor resolution. So, after logging in I tried altering the resolution through the standard ‘Screen Resolution’ widget, which I could just about get to within my tiny ‘window’ on the desktop. That worked insofar as the resolution of the desktop changed, but bizarrely now, only the top-left of the monitor area was being rendered, the rest was either blank, or sometimes it would have the desktop background but nothing else (no windows, pointers etc) except in that top-left area. Even Compiz worked fine, but only in that area, I had to pan other areas into view to see them.

So, I tried installing EnvyNG instead. Same result. Suspecting some borked Xorg configuration setting, I initially tweaked the setting I’d changed to VESA manually back to the native resolution and restarted gdm, but that resulted in a hard crash on ALT-F7. Doing some reading indicated that 8.04 has changed the xorg.conf rather significantly, so I dropped back to a console, stopped gdm and use dpkg-reconfigure xserver-xorg to recreate my xorg.conf from scratch. Restarting gdm afterwards and switching to it with ALT-F7 just brought me a hard crash. Lovely.

Rebooting, I was presented with a complete login screen this time, albeit at default VESA resolution again. Logging in led to a completely white desktop though - I could spin it about as a cube with Compiz and I could see the Compiz logo on the top, but all the other sides of the cube were white. It was also slow as hell, indicating it was running on mesa, as expected, but I couldn’t explain why the desktops refused to render. Dropping back to a console again with CTRL-ALT-F1, I re-enabled EnvyNG and got it to reinstall the driver. Another reboot later and finally everything works again. I looked at my xorg.conf and indeed it’s completely different in structure to the one that had been in place after the upgrade.

The moral appears to be that if you’re upgrading 7.1 to 8.04, reconfiguring the xserver so that it rewrites the xorg.conf should be the first thing you do, before trying to install any custom drivers (via Envy or otherwise probably). For whatever reason the upgrade doesn’t seem to do that, and that caused me quite a bit of hassle. Seems that no matter what, Xorg is always a thorn in my side when I use desktop Linux. At least I can assume that a clean install of 8.04 wouldn’t have suffered from this (I think), but still, it still gives me little faith that a non-technical user can rely on Ubuntu long-term without technical backup to call on, since they would have been funnelled through the upgrade route and had the same problems I had; once again it’s ’so near, but so far’.

Unfortunately resolving this burned up all my time, and I also have to rebuild a bunch of Ogre dependencies which seem to have gone missing. I’ll have to look into the new gcc issues another time.

Ubuntu: Free as in Cola

Food, Open Source 10 Comments

I happened to be passing through one of our local Fair Trade shops today to pick up some more coffee beans, as is my habit - not only do they have more variety than most regular supermarkets, but their blends are almost universally better quality, thus slaking the taste buds of the discerning Java drinker as well as giving a warm fuzzy feeling that you’re doing something positive for farmers in developing countries, or at least helping them get screwed slightly less than they would otherwise be.

Anyway, the crux of this story is not coffee, because right there on the counter as I was paying I spotted a drinks can emblazoned with the name ‘Ubuntu Cola’, which made me suddenly smirk and chuckle involuntarily in a way that prompted the cashier to give me an unusual look. Of course, I could have spent the time explaining to him that Ubuntu was the name of a free software operating system, and thus to see it turning up on the side of a can of cola was pretty surprising, but we could have been there for a while, and he probably wouldn’t have thought me any less crazy by the end of it either - I suspect he would have just been a little more specific about it (i.e. a crazy geek). As such it was faster just to grab a can, add it to my tab and be on my way.

So what’s it like? Well, it’s a little darker than regular big-name cola and tastes quite a bit like Pepsi, although oddly it seems to remind me of the Pepsi of my youth, perhaps because the ingredient list seems a little simpler and it’s loaded with natural cane sugar rather than ‘high fructose corn syrup’ (whatever that is). Overall pretty good - I usually don’t choose to drink cola these days but it was worth the experiment, if only for the blogworthiness :)

As it turns out, there’s a whole Ubuntu Trading Company and it appears Ubuntu Cola might just be the first of many Ubuntu food products. I wonder what Mark Shuttleworth thinks of that?

LOW BATT

Games, OGRE, Open Source, Personal 8 Comments

The blog has suffered a little since I’ve had a very hectic week, with multiple clients to keep happy, a couple of social events and since most of last weekend was taken up with organising Ogre SVN conversion and various chores I seem to have had very little downtime - my only gaming all week was a couple of hours on Crackdown. My energy seemed to finally run out last night when I found myself dragging my half-comatose body to bed by 11pm - completely unheard of in our house. A little recharging required this weekend I think. I might even allow myself at least some time off during the bank holidays next week for a change.

Of note, I finally got around to trying the newly update Trackmania Nations Forever today, and it’s a lot of fun just like the previous iteration. This time we have dirt track sections and water which were previously reserved for the commercial Trackmania United, but otherwise it’s pretty much the same, which is no bad thing. Easily the best free game you’ll play, and I also really like their take on online play modes - short tracks which are easy to iterate & restart quickly if you screw up, everyone being ‘ghosts’ to everyone else means you’re fully in control the whole time and the random elements are removed - IMO it just makes the whole experience less frustrating than other competitive online games I’ve played, where the high skill level of a minority of players can easily damage the experience of more occasional players. TMN is one online game you can dip an and out of now and then and rely on having fun each time, which is a rare thing in my experience. Definitely a recommended download.

Everyone and their dog is playing GTAIV right now of course - I’m not, mostly because I have way too many games to play already, I might pick it up later on when I have more time. The uber-hype has put me off to some degree, I understand how ‘cool’ it is to be able to run around New York Liberty City doing whatever you want in some ways, but I do also wonder whether the absolutely teutonic effort that went into creating that is such a good thing on a grander scale. I mean, it’s clever for sure, and the anecdotes it will no doubt create for players for some time to come will be entertaining, but given that it cost $100m to create it, I can’t help thinking that the money could have been halved, and the remainder spent on creating 10 other ‘fresher’ game ideas like N+ and the like. How much money did it cost to make the world open enough to allow you to get drunk in bars, beat up random people and have realistic individual responses, watch TV, and the FOX-baiting practices involving ‘women of negotiable affections’? It appears that lots and lots of people want to have the freedom to engage in those sorts of activities in a game, but to me it seems rather pointless. If you like watching TV, or getting drunk and falling over in the street, feel free to go do that for real, you don’t need a game to do it (unless you’re a minor, who no doubt revel in that virtual ability) - I wouldn’t consider that to be a gaming experience I would particularly pursue myself, and in a way I consider it to be something of a waste of game creation talent and funding. I’m sure it rounds out the virtual world wonderfully, but it still seems rather frivalous - really, I don’t want to live in a game world, if I did I’d be playing WoW 16 hours a day, and thus the simulation of minutae seems to me, well, wasteful. I remember thinking the same thing about Shenmue all those years ago - sure I can use a vending machine to get little figures, and go do a day job in a highly realistic fashion, but this is a game for christ sakes, how much of a waste of effort is that? I guess I can’t judge until I play it but still, it makes me shake my head to think of how much money was spent making unnecessary things like the hooker animations (unless you’re 13, in which case you probably think they’re entirely necessary). The weird thing is that I can see the point if it’s a fictitious world - fantasy, far-future, post-apocalyptic, whatever - because then that world is something you can’t experience any other way. But all that effort recreatign New York - anyone can go walk around that right now if they want, or any similar city near them. Sure, they won’t be able to do the stuff that Niko gets away with, but all those everyday things that have so painstakingly been recreated can be experienced right now, for real. Is there really any merit to recreating them all in a game? I dunno, maybe I think about these things too much.

Finally, I’m also open-sourcing (MIT license) my wxWidgets-based MVC framework for Ogre that I built last year, as the foundation of an app I currently have in cold storage due to changing priorities. I figured other people might as well get the benefit out of the framework in the meantime, since plenty are always asking for a good basis for tools. It supports all the good stuff you’d expect like proper MVC separation, switchable tool-based controllers, generic property and event systems, 4-pane ‘cross’ layout, maximisable viewports, dockable windows, rubber-band selection implementations etc. It’ll be joining the other 50-odd projects living in Ogreaddons right now, hope you enjoy it if that’s your cup of tea.

OSDN network recovers

Development, OGRE, Open Source No Comments

For those on this side of the Atlantic and therefore not in bed, many of the OSDN sites were down all morning including Slashdot, Freshmeat and most importantly for me, Sourceforge. Sourceforge occasionally has some downtime, something that some people moan about, but since they provide a ton of bandwidth and facilities for free (except for the optional yearly subscription that I happily pay) I say we can’t complain. However this time, absolutely everything was offline, CVS and Subversion servers, their own cached site, everything. Yikes.

All seems back now at least. Sometimes you forget how much you depend on resources like this….

Innovation revisited

Business, Development, Open Source, Tech 4 Comments

A few weeks ago I posted a rant about how companies keep way more code to themselves than makes any rational sense, under the pretense of protecting their competitive advantage. I asserted that in a large number of cases, what they’re keeping to themselves is actually exactly what everyone else is also developing internally, and also keeping to themselves in the hope that it’s worth something. Result - a ton of duplicated effort that is worth very little. Open source of course frees people from developing the same thing over and over again via open collaboration, and allows them to concentrate on the 10-20% that really makes their application unique from their peers (assuming here that you have to sell a commercial product rather than being able to live off services, which despite the hype isn’t feasible in every sector).

I was therefore glad to see a Register article today quoting others that were saying basically exactly the same thing:

"The irony is that organizations increase their maintenance costs when they take open source code from projects like Mule in-house and add their own code. In all but a few areas companies are duplicating efforts made elsewhere, and wasting time and effort in repeating boring infrastructure programming, under the illusion they are adding competitive advantage. "There’s so much duplicate effort," Zorro said, echoing Red Hat’s Whitehurst, who claimed last month that "billions" of dollars are wasted each year in internal, non-commercial software development that re-invents the wheel."

Amen. I still think that the primary reason that so many businesses don’t ‘get’ this is that the decision making is too far removed from the people at the coalface who can see (and lament about) this wasted effort, and that the accepted wisdom that has been built up over the past couple of decades (fueled by the success of huge proprietary corporates like Microsoft) is that keeping everything to yourself is the only way to make money. Lawyers, vice presidents etc don’t generally have a clue how to differentiate between IP that’s genuinely valuable enough to invent yourself and protect like rabid wolf, and that which is a totally derivative reinvention of something that’s already out there and just a big waste of time and effort, both from the point of view of original creation and ongoing maintenance. Thus, if you have no way to measure one set of IP against another, just clutch all of it to your chest, knuckles white and teeth bared at anyone who would dare to want to look at it.

Such attitudes are woefully outdated and as open source continues to penetrate into corporate environments, such prehistoric attitudes are going to have to change. Ironically what these companies consider to be competitive advantage is in many cases precisely the opposite - all these largely worthless internal reimplementations of common functionality are in fact unnecessary baggage that’s slowing them down, and making them less competitive. Knowing how to separate the wheat from the chaff - the IP that is truly unique and differentiating you from others versus that which is common and functionary - is something that most experienced developers who know their field can do instinctively in very little time - if they are allowed to. More companies should allow their development leads to make this kind of call, in their own best interests.

Firefox 3 Beta 5 Test

Internet, Open Source 10 Comments

Firefox 3 is about to hit Release Candidate 1 any day now, and beta 5 is supposed to be pretty stable now, and since it can co-exist with Firefox 2 on Windows (not on OS X or Linux, mind) I thought I’d give it a try. And hey, it’s pretty damn cool.

Outwardly when static you won’t notice a great deal of difference - the back / forward buttons are a little more compact, the icons are a little flashier in places and you have quite cool things like one-click bookmarking on the location bar (the little star icon - it’s gold when you’re on a bookmarked page already, outlined when you’re not), but otherwise just feels like Firefox 2, which is no bad thing. Where you will notice the difference is in the speed - I found the new version to be a bit faster with general web browsing, and much faster when dealing with AJAX-heavy sites like GMail or Analytics. Given that’s the way things are going for most sites these days, I’m not surprised they’ve concentrated on streamlining that element of it.

Seems pretty stable to me, the only thing that stops me using it right now is that there is no updated version of Google Browser Sync for it yet, one of my 3 ‘essential’ plugins, the other two being FlashGot and Web Developer, which do work with the new version. Once that’s updated, which I guess will be fairly soon now that FF3 is emerging from beta, I’ll definitely be upgrading.

Choking down OOXML

Open Source, Political, Tech 12 Comments

They’re not announcing the results officially until tomorrow, but it appears that enough countries have changed their votes since September 2007 for OOXML to become an ISO standard. Some of the key ’switchers’ responsible include the UK, Ireland, Denmark, Norway, Japan (all from No to Yes) and France (from No to Abstain).

We need document standards to preserve business data over long periods and thus as a core principle it’s a good thing to have an ISO standard used by Microsoft Office, the dominant business office suite  - and for good reason, it’s been a great product over many years. Personally I find the features added to it since around 1997/2000 to be entirely optional in all practical real-world use, so I jumped off the upgrade treadmill some time ago and am quite content with Open Office now for both personal and business use, but that doesn’t detract from the fact that Office has always been good. Milked until it’s drier than the Goby desert maybe, but still good ;)

The problem that most (sane & rational) detractors have with OOXML is not that it’s from Microsoft (although that justifiably promotes extra scrutiny from the off, given their track record) - it’s that, as a standard, it’s borderline unimplementable. The whale-crushing 6,000 page spec has proved somewhat inpenetrable to most people outside Microsoft, even with the changes since September. Ambiguity, references to existing Office behaviour, patent concerns (remember, Microsoft’s open specification promise excludes all commercial implementations) all make OOXML something of an encumbered standard at present, and encumbered standards are potentially worse than no standard at all - because they can give an impression of openness without actually delivering on the benefits that it’s supposed to bring; i.e. a lack of vendor lock-in for your critical business data. There is exactly one implementation of OOXML right now - Office - and without a clear, unambiguous, no-nonsense spec there won’t be any others that you can trust either. Which the cynical among us would say is exactly the way Microsoft wants it.

I don’t have anything against OOXML in principle if it’s truly open and genuinely implementable by someone outside Microsoft. Sure the world doesn’t need 2 document standards, but if MS insists on having their own (what’s new, I think ‘Not Invented Here’ must be in their training manual), let them if that standard is truly open. A 6,000 page spec with 1,100 comments still largely unaddressed at the last reading doesn’t seem to fit the bill to me - maybe if more time had been spent hammering those things out I might have felt like it’s respecting the spirit of openness, but this just feels like a wave-through by vested interests to me. Let’s see what happens over the next year or so, but I’m not confident about OOXML doing anything but sowing confusion and doubt in the document interchange arena, all the while being spun by the PR machine as an interchangeable standard. Business as usual then.

This is a good write up of the process so far and why it’s been seriously lacking.

Open Season & remote working thoughts

Development, Open Source 3 Comments

Open Season is a podcast about open source issues, weighted towards the practical rather than the philosophical, and as such I tune into it regularly. Some are better than others, but I found the latest Episode 13 quite interesting for a number of reasons. They had an analyst from RedMonk on board this time, which was fascinating - RedMonk are (AFAIK) the only research firm that release their results openly rather than charging a few thousand for detailed papers, so they’re quire interesting. They talked a little about the practicalities of the Microsoft ‘we’re open, honest’ announcement of course, and largely reinforced my own thoughts on it - that while you have the ‘non-commercial’ clause in there it’s nice to have, but not really a practical shifting in the overall commercial landscape. The Zuckerberg interview came up too, as did how Grandmas really can use Ubuntu.

I also enjoyed their musings on remote working too - since I’m now working almost 100% remotely myself. The open source movement has been a standard-bearer for how remote working can work really well when done right, and I do think that with the right organisation, and the right people, it can work just as well for many tasks as cramming everyone into an office. You do lose a certain amount of social contact, which is an adjustment for sure, but I think communicating effectively and team-building across remote links can definitely still be done, it just requires a different approach and a little more effort. Open source communities that work well (and I’ll venture that Ogre’s qualifies) have built up expertise in the mechanisms for doing this, and the same approach is slowly becoming more common in commercial environments too. I don’t think you can run all projects long-term with no personal contact, but you can certainly run many of them for a long time that way, provided you find the right people, and the organisation can cope with the logistics.

The main project I’m involved in right now is almost 100% remotely developed, for example, our team members are in 6 different locations in 4 countries, and it’s actually working really well. I think it helps a lot that everyone on the lead team is a remote worker, even the project manager - so there’s no feeling of a 2-tier system. Time zones can be a positive and negative thing - on the minus side you’ve got the fact that you might only sync up for maybe 4 hours a day on IM, but on the plus side different team members can be working on something while the others are away from work, meaning you can get into work the next day and find you don’t have to wait for whatever it was they were working on - so staggered effort has its advantages too. What’s most important is that each team member has specific areas of responsibility and are mostly autonomous, so cross-dependencies are minimised. It really requires that each team member is an experienced developer & team worker already - it really wouldn’t work with junior staff who might need more assistance, training and so forth. What you lose on the social end, you gain on the ‘uninterrupted concentration’ end - something which anyone who’s had to work in an open-plan office at some point will understand. With today’s technology you’re not entirely disconnected either - IM can in some ways be more productive than over-the-desk crosstalk, in that it a) doesn’t bother anyone else, and b) can be deferred & caught up with later if you’re in the middle of something. It’ll never be as good as a chat over the coffee machine of course, but nevertheless the detachment is not as total as one might imagine.

The boundaries that this arrangement breaks down are not to be underestimated either. It can’t work for a lot of businesses that need a critical mass of people in one place, but for discrete project work, being able to cherry-pick any talent at all no matter where they’re located is a very powerful model - in the past it’s just been the logistics that have proven difficult. It tends to require a more experienced and flexible workforce (freelancers / contractors rather than salaried), and it requires absolute buy-in from the project management, but for many situations it’s ideal.

EC to MS: empty your pockets please

Open Source, Political, Tech 33 Comments

Holy cow, the EC has now fined Microsoft a cumulative figure of £1.27bn (~$2.6bn) for what they say is the worst case of non-compliance with antitrust / competition law in 50 years. Even when set against the quadzillion dollars Microsoft makes every waking second that’s a pretty robust kick in the knackers if I ever saw one. The latest round covers the period where MS finally opened up some specs about desktop interoperability, but charged competitors disproportionate royalties to use them - supposedly because APIs now represent ’significant innovation’ if you’re Microsoft, although in my opinion an API spec represents about as much innovation as my next shopping list. Weirdly I’m of the opinion that implementations are where the vast majority of development work goes, but what do I know?

With any luck, this latest fine will give MS pause if they try to use royalties as an alternative way to stifle competition following their latest ‘we’re open, honest’ touchy-feely announcement.