Alex Hudson

Thoughts on Technology, Product, & Strategy

Month: March 2010

Waiting for Goddard

Release time is coming again soon: Fedora 13 will be out in beta form in around a week, and it’s difficult not to get excited about this release. Fedora 12 went extremely well, at least in my opinion, and thus far my experience with 13 is that it will not be the unlucky-for-some release. For some reason, though, there tends not to be as much buzz around Fedora releases as they really deserve.

Before I start talking about what’s new, I will just say putting the Alpha on a USB key to test it went wrong in quite a big way for me. Eventually I used ‘dd’ to get it on there, but livecd-iso-to-disk is just totally busted for me – I had all sorts of problems. I have a horrible feeling that the “does not destroy data” feature has been totally broken by the current Linux kernel support for vfat long file names. By the by.

But look what’s coming. Nouveau support – already good – is getting better, with some optional 3D acceleration you can turn on. With a good wind blowing it seems that for many people this support will be pretty good. NetworkManager – already good – is getting better, with signal strength meters for 3G users such as myself and Bluetooth DUN support. Lots of little things like this make a difference.

It doesn’t stop with the small things, though. SSSD will be turned on by default. For some people, this will mean nothing. For enterprise users of Fedora like myself, it means we can setup our laptops to authenticate against LDAP when on our corporate network and it will continue to work when we’re off the network. It seems a decent new feature to me.

There’s also automatic printer driver installation for local printers, and the supremely awesome – slightly technical features I guess, but certainly making the lives of people installing and using Fedora much easier.

And, of course, Fedora 13 comes with GNOME 2.30 as standard: probably the last release before GNOME 3. It’s the usual bouquet of small touches, and combining the improvements to Evolution, the updated and the SSSD feature I think this is probably the first Fedora release you could truly call an enterprise desktop.

What’s your favourite Fedora 13 feature coming down the pipe?

On oData

Occasionally there are things that I read about on the web which happen to fit perfectly with some need I have at the time: and “Open Data Protocol”, or just oData, is one of them. I think I got hip to this by reading Miguel’s post on oData, but looking around it has been mentioned in a few other blogs I follow.

What is oData? Put simply, it’s a bit like being able to do SQL queries over the web – for non-technical people it’s deeply disinteresting, but what it effectively promotes is an ability for web-based services to open access to their databases in a pretty straightforward and standards-compliant method.

Now, there is some commentary that this is effectively trying to subvert another set of standards, RDF, OWL & SPARQL. I have to say up-front that I don’t see the comparison particularly: they’re similar in many ways, but also quite different, and I personally think they are more complimentary than competitive. However, the people who specified oData are Microsoft – so the “anti-competitive” label is one which sticks easily. It’s a lazy criticism in my opinion, but that’s up to the commentator.

More serious is the problem Miguel raises: while there are a number of free software oData consumer libraries available already, there are limited options for producing oData services. This is a major issue. As relatively light-weight as oData is, it’s still a pretty broad specification: your service needs to be able to produce both XML and JSON, and there are particular schemas and URL structures you have to follow. I’m tempted to start to write an oData producer for PHP, but it’s likely to be a lot of effort for not much immediate gain.

Another problem I’ve seen is that authentication and authorisation is basically not mentioned at all; the nearest we get is in section 8 of the overview:

“The Open Data Protocol does not define a new scheme for authentication or authorization. Instead, implementers of OData services may opt to use the authentication and authorization technologies that fit best with their target scenario.

“The use of authentication mechanisms to prevent the insertion or editing of resources exposed by an OData service by unknown or unauthorized clients is recommended but not required.”

This is a particular problem for me, because the immediate itch I have that this could scratch would need authentication. If one oData service uses HTTP basic auth, and another uses a cookie-based system, that’s an issue – it hinders interoperability. In a way, I understand why they did it – it’s a somewhat orthogonal issue, and once you start prescribing features like that there’s no logical reason to prescribe other HTTP features like if-modified-since, but it does seem to me to be a pretty key issue. Not all data wants to be public.

All that said, I’m planning on digging deeper into oData. It’s extremely interesting, and I think of large potential value in the future – and being honest, there is nothing else like it immediately available. The JSON format alone is of huge value, since it means that browsers can access all this data immediately. There’s just a fair amount of work for it to become useable…