Alex Hudson

Thoughts on Technology, Product, & Strategy

Date: September 22, 2008 (Page 1 of 6)

Economics of free software

For a long time, I’ve been wanted to do some serious research into the economics of free software: there is an awful lot of opinion about how you can and cannot make money out of free software, and not really much fact (or, at least, no-one has looked at the experiences of companies who’ve been in this industry for the last 10-15 years).

No-one has really gone through the history of all these businesses and tried to construct some picture of how businesses have done. There are examples of businesses that are pretty successful – Red Hat, Google, MySQL – are there are examples of those who haven’t been successful. Progeny are the most recent example, and are why I’m thinking of this right now – I just read the article on about their demise.

The case of Progeny is really quite interesting. It sounds like the advent of Canonical helped make up some people’s minds – Murdock in particular seems to imply that he realised the game was up. Given that Canonical don’t even plan to break even until 2008 (and I’d be somewhat surprised if they did by then), it’s obvious it would be difficult to compete against someone so well funded and with such a similar plan.

I found a comment at the article a bit off:

“Earth to Galvin: in services, your “IP” is what your employees know, not the secrets of your widgets.”

When two of your important employees have just walked out the door, your “IP” has just gone as well – to that extent, I agree with the comment. But I disagree with the rest of it – that kind of “IP” isn’t something you can invest in, unless you’re willing to invest in it on the basis that your investment could turn to nothing overnight.

I think in a way, that highlights a problem that free software companies face. If you don’t have something which sets you apart, there isn’t much reason for new customers to come to you, and if someone else starts doing what you do better, there isn’t much reason for old customers to stay with you. From the point of view of the customer, they obviously like the idea of competition, but from the point of view of the company, it’s not a great situation – in many ways, the free software market is very commoditised, and commodity markets are rather different to traditional IT.

My gut feeling is that free software is pretty difficult to fund per se: most of the success I see is free software almost as an industrial by-product, produced as an adjunct to some other process. But, it would be interesting to do an actual study.

Ubuntu: it has been a nice ride.

Recently, I became very annoyed at Ubuntu. The plan for the next version of Ubuntu, “feisty”, is to include the binary graphics drivers that we all know and hate by default. Ubuntu has done a great job of creating the impression of a community-driven grass-roots distribution, which has left me feeling somewhat sold out and while it’s not outside the wording of the Ubuntu licensing policy it feels like it’s outside the spirit.

Now, in general, I don’t have a huge issue with people needing firmware or binary drivers. There is a vast amount of hardware out there, specifically the current crop of video cards, which just won’t plain work with the free drivers. It sucks, but that’s life: I would prefer someone with an nVidia laptop to use a non-free driver and be able to use a free software OS, than for them not to be able to use the OS, particularly where the hardware cannot be replaced. (There are ways of changing this situation, but they mostly related to purchasing, I think).

But, there is a huge difference between giving someone enough information to make an informed decision about their system or automatically installing a non-free driver where you know the computer won’t operate without it (very few cases), and this new policy of defaulting to the binary drivers. That’s too much. Putting commercial application installers into the desktop was bad enough too, though.

Problem, though: where do I go? As I see it, I have these options:

  • Fedora. Similar level of polish to Ubuntu, better in some ways, worse in others. I strongly dislike rpm-based systems, having never had much good experience with them, but their “freeness” is pretty strong – modulo a few small pieces. This seems the obvious place to go.

  • Debian. Less polish than Ubuntu, but somewhat similar under the hood (less similar these days – different init, etc. – but still .deb based, which is good). Similar “freeness” to Fedora, they prefer not to have GNU documentation but that likely isn’t an issue for me. More of a problem is the lack of up-to-date software in the stable distribution. I run it on my servers, so I guess I should try it on the desktop.

  • gNewSense. The new Freedom-enhanced Ubuntu. This would be the obvious choice, but it’s very new and I’m not sure I trust it. It’s not a current version of Ubuntu, which means there would be little reason for me to run this compared to Debian, and I’m not totally convinced that technically they know what they’re doing (esp. since they’re rebuilding large parts of the archive). Reports of key pieces of software (for me) not working 🙁 I don’t really trust the security situation, either.

  • OpenSUSE. Eh. Same reservations as Fedora; doesn’t really seem to have the same commitment to free software. I could be wrong, though.

  • Other distros listed by GNU – two seem Fedora derivatives (with no removals), another is a Debian derivative. Doesn’t seem to be any good reason to look at these.

That’s all I could think of off the top of my head. None of them are necessarily hugely appealing alternatives, but I’m almost certainly not sticking with Ubuntu (even though I can remove/ignore all the crud they want to throw at me). I made a list the other day of all the stuff it does which annoys me:

  1. messing with the stock GNOME desktop – messing with the default Nautilus setup is an obvious example, but it’s not the only one;

  2. sticking commercial app installers in the Add/Remove Programs: no thanks;

  3. moving to an installer which you can’t use to upgrade machines – with a six month release cycle, this is nuts;

  4. Launchpad. Good grief that thing sucks – I’m sure if you use it on a daily basis it makes sense, but I’m apparently registered twice on that piece of shit and under both profiles it says “Alex Hudson does not use launchpad”. Great. It then asks me to guess which e-mail address it has for me, in order to claim my identity. I’ll just repeat that: it wants me to figure out which address it has for me, even though I’ve never used it. I mean, christ.

  5. Advertising for commercial support and “the official book” built right into the desktop. Can I remove it? Hmm, no.

I guess maybe Ubuntu has like til Christmas before it gets blown off my laptop, and that’s only because I’m busy.

Mozilla on the future of Thunderbird.

I sent this link around the Bongo people on Mugshot, and on IRC, but here it is again for the benefit of people watching our planet: the future of Thunderbird seems to be a bit cloudy, Mozilla Corp. seem to have realised that it doesn’t quite fit it.

Primarily, this disappoints me, because I always saw Tbird as a natural fit to the Bongo Project. We’re developing a kick-ass webmail, and that will appeal to a lot of people, but there are other people – like me – who simply don’t use webmail. The business I run uses Thunderbird, and (coupled with Lightning) we’re pretty happy with it, even though there are a lot of rough edges for a business. I had hopes for a Bongo add-on to Tbird which would automatically set it up for you, with your calendars and contacts and stuff, and work well with your server-side config. Ideally, you’d be able to edit your mail filing rules, get the server to mark mail as spam, and setup vacation response.

Plugging into Bongo would also tap Thunderbird into all the stuff we want to do: getting contacts from your social networks, being able to forward web links to your calendar to friends who use webmail, that kind of thing. It would open Thunderbird up.

It does seem, though, that the Thunderbird project is suffering a major identity crisis. Who would use Thunderbird? And, if it needs to stand on it’s own two feet, who’s going to pay for it? Personally, I refuse to cede the mail space to the likes of Gmail: yes, they’re very popular, but for heavens’ sake – email is a huge market, and there is a lot of money to be made there.

I worry that the discussion over the format of the corporation is really hiding the bigger question. It doesn’t matter whether it’s a non-profit or a business, or whether it’s related to Mozilla or not. The key question is, who is Thunderbird for? If it keeps trying to be an Outlook Express-level mailer which people use to access their ISP’s POP3 account or something, frankly, it has no future. That mail usage pattern is pretty simple, dying out, and people are not going to be willing to pay for it.

I further worry what this will do to an already-small Tbird community. How will the Lightning people respond to this? What is Penelope doing? Development has happened behind closed doors at the best of times, to an outsider like me, and I’ve never understood the roadmap. As a long-time Thunderbird user – basically since it was barely usable – I’d like to say it’s come on in leaps and bounds. But, it doesn’t feel like it has. And looking at the roadmap isn’t terribly inspiring: lots of talk about Gecko versions, not much talk about other stuff.

I commented on Mitchell’s blog that I think Thunderbird is too scared of competing with Outlook. Note, competing with doesn’t mean copying: lord knows, we don’t need another Outlook, but Tbird misses out on huge features simply because it won’t integrate with servers. E.g., if you want shared contacts on Tbird, you have to use something like Plaxo – which then ties you into a proprietary service. Tbird simply has to offer more integration: it cannot be it’s own little world on the desktop. Having your own anti-spam is great; not being able to integrate with the training on the server-side sucks. Ditto junk, conversation views, tags. Lightning needs to be a first-class component. Without offering these types of integrations, I don’t see how Tbird can generate revenue: if it needs to be a commercial product, and it sounds like it does, it needs to be something people will pay for.

Update on M3?

I was hoping we’d have an initial attempt at M3 by now – we’re so close, honestly, but just not quite there yet. Annoying, even for me, but good things come to those who wait.

I’m acutely aware of one problem: our up-front decision with this project was to lay out a road to 1.0 that we thought was achievable, and basically just do it in milestone steps. Between M2 and M3, this hasn’t really worked out in the way I would have wanted. From the outside, I assume that it looks like the project has slowed down a bit.

From the inside, I know that isn’t the case, but that’s not really proof 🙂 So, pictures being worth a thousand words, I fired up my and fed it some data from subversion. It’s a bit big to put inline, but click here to see what I’m talking about. Basically, it shows how the svn revision has changed over time: the steeper the line, the greater the activity.

There are a couple of things we can take away from this:

  • It might seem quiet on the outside – but the reality is, we’re much more active!
  • It’s sometimes surprising how much change is actually happening.
  • Lots of activity means lots of changes, which do take time to settle.

In the background, M3 is turning into something very different from what we initially planned. We didn’t want to replace MDB, but ended up having to bite the bullet – I think we’re much better placed for it. We’re going to have working caldav support, pluggable authentication, much more flexible mail aliasing, and a host of other features.

I’m really looking forward to M3. I see this as the “last peak” almost: the road to 1.0 ought to be relatively downhill from here. We have a bit of a bump in terms of the plans for Dragonfly, but I don’t feel those are quite the same kind of core change that our project has been through, and I hope that we’re now going to be much more about filling out features, polishing, documenting and debugging, which is exactly what we need to be doing for 1.0.

Bongo Events

We’re probably going to see 0.3 this week. I’m planning on releasing 0.2.94 today, at which point we’ll be back on SVN trunk, and then 0.3 sometime by the weekend. There are going to be a few known bugs not fixed, but it won’t be in terrible state by any means.

Want to see Bongo?

I’ve just realised that there’s going to be a lot of Bongo in the community over the next few months. We don’t have an events page on the wiki – someone needs to fix that! – but just to run-down through them:

  • 28 Jan – 2 Feb, Melbourne : Bongo BoF at Already a few non-Bongo people signed up, I hope to see more – sign up and/or talk to Alex Hixon.
  • 30 Jan, London : Bongo 0.3 Release Party! We don’t celebrate our releases enough, so a few of us are catching up for drinks in London. Anyone’s welcome to come along though – it’ll be somewhere central. Talk to me, Andrew Wafaa or Lance Haig.
  • 8 Feb – 10 Feb, Los Angeles : Bongo stand at Southern California Linux Expo. Stu Gott has kindly taken this on, as one of the few in the US, and it’d be nice to see some more locals get involved.
  • 23 Feb – 24 Feb, Brussels : Bongo at FOSDEM. I think we asked to do a Lightning Talk here, I don’t think it’s confirmed yet – at any rate, Andrew Wafaa will be “in the house” and maybe something ad-hoc will happen if nothing else!
  • 18 Mar, Manchester : Bongo presentation at Manchester Free Software. I’m going to be doing this, but haven’t announced it properly yet so I don’t know who else might come – but please, do come along if you’re around.

So, that’s five meetings across three different continents in the next three months: no excuses! I’m expecting photos and/or videos from each of these events 🙂

Why not Groupware?

So, someone asked me the first good question about the vision for Bongo. To paraphrase, why am I against using the word groupware?

The easy historical answer is that it was almost the rallying call for Hula, and the groupware bad essay by jwz expressed this quite neatly in some ways. But that’s not a very good ‘why’ answer.

For me, the difference is probably quite slight in some respects, but it comes down to who we design features for. Do we design them for people, or do we design them for groups / teams / organisations? In my opinion, the answer has to be that you design for individual people.

A good example of a feature which I don’t think is person-oriented is “Read receipts” on e-mails. For those who haven’t seen it – and I can’t believe there are many – the idea is that by setting a read receipt on an e-mail, the person you e-mail sends you a signal back when they’ve opened the mail. In some software, that signal goes back automatically, in others a dialog comes up, sometimes it’s a setting that controls the behaviour.

From having seen how some businesses operate with regards to receipts, I can’t think of another feature which induces complete communication avoidance in people: I know people who are actively afraid of opening their e-mail lest they accidentally read something and inadvertantly tell someone they’ve read it, implying that they’re “actioning” the e-mail. Total loss of control over their time. (You can make similar criticisms of Blackberries too, I believe)

The basic issue with giving too much visibility into someone else’s data is that you get that Big Brother mentality, which if it doesn’t actually exist will certainly exist in the minds of the more paranoid members of an organisation. It’s almost like having your boss stand over your shoulder watching you work.

Are there examples of features I think ought to be in Bongo, but might not appear in “groupware”? Possibly. It seems to me that the aim of groupware generally seems to be to suck people in online, whereas software which is about communication, time management, etc., is actually about getting people offline. Putting in work-flow which manages more of people’s work in a groupware system seems to me to be totally the wrong answer, particularly where you have to have “group acceptance” for things to work properly: “Oh, you changed the meeting online to 3pm? We agreed it would be 4pm at the last meeting…”. Bongo would never assume that everyone else is using Bongo in the way that Exchange divides people between “Users” and “Everyone else”.

There’s no really easy way of expressing this, and I don’t think that there is a bright-line test for this either. In many ways, Bongo will be groupware, or be usable in the same way, and it will have most of the same features. But I think the focus has to be on the individual, and providing tools for an individual to use, not attempting to mold a team into a specific set of processes.

Of course, that could all still be “groupware”. We’re just redefining what groupware means 🙂

More thoughts on Thunderbird.

A while ago, I wrote some thoughts on Thunderbird in the aftermath of the announcement of the new MailCo and the resignation from Mozilla of two key developers. I was disappointed at the time, but looking back at my post, I don’t think it was particularly negative – if anything, I was pointing out how vital I still thought (and think) it is that Tbird be a successful project.

Having exchanged pleasantaries with David Ascher over the past couple of days, and read what he has to say about Tbird, I’m much less disappointed and much more hopeful. Tbird is important to Bongo for a variety of reasons, particularly having a good standards-compliant client for Windows users is crucial. Over time, I’d like to see Tbird become an exemplar client: it should be possible to have mail, events and contacts all integrated, and take full advantage of server-side functionality so that the sum of bongo + tbird is greater than the sum of the parts. Implementing server/client standards, like mail, is a chicken and egg problem. Having both the chicken and the egg drive each other forward (is that stretching the metaphor too far ? 🙂 can only be a good thing.

It will be interesting to see the vision for Tbird develop over the coming months, and I hope that Bongo can play a role in that in some shape or form. At the very least, I’ve told David that I will keep a more active watch on Tbird, and hopefully Bongo can contribute much more than that.

As an aside, David is also collecting a list of interesting e-mail experiments – more grist to the mill, as it were. For what it’s worth, any links I come across like this I usually post on the Bongo mugshot group – I know I’m not the only member; other people should feel free to ping stuff on there too 🙂

Finally, a note on M3 – Pat has done some great work tracking down various bugs, Jonny’s CalDAV work has been merged in, and the list of blocking bugs isn’t too bad. Another release will probably happen this weekend after we’ve knocked a few more off the list, and the full release should probably happen at the end of the month. It’s starting to take real shape now after the madness that has been getting rid of MDB, and that’s very pleasing to see!

M3 test release 1

By the time M3 will come out finally, it will have been five months since the last proper release. Time flies when you’re having fun! In all seriousness, that’s far too long, and we did bite off a bit more than we could easily chew. Ho hum.

The first test release for M3 is out there, though. I was going to call these release candidates, but I decided against it – there’s no way the first few will be released, so they’re not really RCs.

It would be great if people can test this a good amount. I have a reasonable idea of what most of the worst bugs are, and I really want us to get to the stage where people can seriously use Bongo for everyday stuff, so that’s mostly what I’m aimed at. Read the unfinished release notes, and then grab the tarball.

I was thinking about naming the people who have helped contribute to this release, but honestly, there’s way too many – which is great. Our last release was around 300 revisions ago, and so much has changed then, and there’s still another branch to merge into this release. I do think we need to have a much better list of contributors on the web site though, because I think people should get recognition for the input they put in.

I’ll allow myself to be distracted by M4 a little bit: I really want a quick M4 release this time around, so although we want to re-work our web UI, M4 might not get it – maybe just the new Flasher UI and get Hawkeye into almost final shape. Our mail stuff should be much closer to being done, and the command line tools also. Maybe we should move to time-based releases already, to focus the mind?

Diversity in the community

It’s not often that I’m reading through some article online and come across someone using my own words in print (as it were), but that happened this morning!

It is a very strange feeling. I was reading Free, Open and Eating its Young – the premise of the article is that many free software communities have significant proportions of essentially anti-social contributors. Both Pat and I have blogged about this before – something that is important to me is that the climate of the Bongo community be extremely welcoming.

The quote of mine that was used is part of a longer, better phrased, comment I left on Jono Bacon’s blog. It’s pretty representative of my views, though – I don’t feel particularly misquoted, which is good.

Out of Office Message: Alex is away

From Friday until late Monday night, I will be on retreat and entirely away from the internet. No, Bongo hasn’t scared me off, I will be back 🙂 So, I figure that I’m going to try again my “pretty please” act to get people to look at some bugs: it worked great last time I tried it, and I can’t remember why I didn’t try again. Of course, many people won’t feel competent enough to look at some of these bugs, so there’s an extra-credit task at the end of this coming up in a further blog post 🙂

  • Thunderbird and IMAP: we have a bug which a number of people have seen, where large amounts of e-mail can’t be fetched even though Bongo appears to be running correctly. I’ve tried tracing what happens and can’t figure it out; my guess is that the connection is being dropped early or something similar. Pat said turning off anti-spam checking on incoming e-mail seemed to solve/mitigate the problem for him; does anyone else have any workarounds they know of? Does someone want to go through doing some testing with various clients and see if they all trigger this bug? You’d need to setup a new account, fill it with mail somehow with the imap client offline, and then see if it happens. I think around 300 mails is enough to trigger it – at least, it does here. Does it happen if you remove the IMAP account on the client and re-create it? Anyone solving this bug will win a couple of beers at least.
  • Bug #10790 is about building against an external libical. Anyone familiar with the build system want to have a go at this? Shouldn’t be too hard 🙂
  • Similarly, it’d be great if someone looked at the CLucene build test. At the moment, if you’re on x86_64, Bongo won’t let you compile against a system CLucene library because most of them are too broken for us to use. However, not all of them are. A better compile-time check would be to compile a small test program and see if CL_MAX_DIR is defined to be greater than twice CL_MAX_PATH – if so, we should fail then and only then.
  • I’d love someone to do a review of the various ISPs around – even just in one country, but preferably many – and look at what their SMTP requirements are. Some places do various things, like:
    1. preventing any kind of outgoing SMTP at all (Wanadoo/Orange; force people to use a mail relay);
    2. have an SMTP relay which requires SMTP AUTH (many);
    3. have an SMTP relay which requires TLS (?any);
    4. rewrite outgoing mail messages (e.g., Sky, altering From: to a address – true evil).

    It would be great to hear if other ISPs have discovered/implemented other kinds of SMTP evil. Bongo – as it stands – won’t work in any of the above scenarios (1. requires manual config change, 2. I don’t think we can do, 3. we have buggy code for which is disabled, 4. we can’t solve anyway). I’d really like to know what features we need to implement in Bongo for it to be usable for a wide range of ISP services.

I’ll likely drop back in on Monday night, but I won’t otherwise have internet from tomorrow onwards, so don’t expect me to be around (except that my irc client will probably stay logged in, but away). See you all then!

Page 1 of 6