At the last eLiberatica, I was talking to some of the speakers, and several of us reflected that while we really enjoyed giving the standard, “speak up and monopolize everyone’s attention for 20 minutes, then take 5 minutes of questions”, given the energy in the crowd, we’d be really keen, in general, to have less cathedral and more bazaar at open source conferences as a rule.

OSCON is coming up, and of the mainstream conferences it’s been quite friendly to the less commercial “unconferences”, while still being a very worthwhile event in its own, conferency way. A few points to note:

  • Dan Mosedale and I will be giving a talk about Thunderbird, and we expect you all to be there, and to walk away with confidence in the future of Thunderbird, because you will also walk away with some action items!
  • I’m on the program committee for OSCON, so I get to share this 15% off discount code on my blog. How cool is that? os08pgm is the word of the day.
  • Zak Greant is leading an unconference at OSCON on the topic of how do we transfer knowledge about community building and open source, just before we turn senile. I’ve told him I’d help lead a discussion, but I’m not sure what topic to cover. Anyway, it’s free, it’ll be fun, and you’ll get a chance to ask a bunch of experienced people

What’s Mozilla’s scope? What should it be?

A couple of canadians (!) have recently put up interesting posts about the Mozilla Foundation: David Eaves, with whom I had a great breakfast a few weeks ago, and Marc Surman, with whom I had a great long-distance phone chat. Both posts are worth reading, and digesting.

For what it’s worth, I agree with both.

I agree with David that the people involved in the open web (and that includes all wikipedia authors, youtube uploaders, and consumers of the same) are part of a social movement, whether they self-identify or not. I’m really interested to learn from him and people like him what the history of social movements can tell us about how to take what has traditionally been a very geeky concept (open standards, open source, etc.), and make it politically and socially not just relevant but critical and much more powerful than it is today. The “opposition” is much more astute at manipulating both courts and markets to their advantage, but that will shift if we’re ambitious enough.

I also agree w/ Marc that the Mozilla Foundation can do a lot more than what it does today, in shaping, energizing, and facilitating that movement. Especially when I’m outside of North America, it’s the Foundation that has credibility, and that credibility is currently languishing, unleveraged. We could and should do more.

It’s nice to see that the Mozilla galaxy is growing up enough that there can be simultaneous energy towards one thing, and very different but also important energy towards this complementary set of thought processes.

Oh, for the record: when I say open web these days, I mean something much broader and richer than just “the WWW using open standards”, although that’s the definition that I first used. Thunderbird’s goals, for example, are in scope, even if it doesn’t have much to do with traditional web protocols yet. Things like data portability, identity 2.0, net neutrality, data privacy, etc., are all in scope. Trying to pin down exactly what I mean with that word is something I’m trying to figure out — as David mentions, we need to do a better job of defining what we’re agreeing on.

I look forward to the conversations.

eLiberatica 2008

I’m back from Romania, where I had the pleasure of participating in the second annual eLiberatica conference, on open source, organized by Lucian Savluc, a fellow Vancouverite, with organizational support from ROSI, and with Zak’s assistance.

It was a lot of fun, as well as a highly energizing event (which is hard when the base condition is one of severe jetlag compounded by not enough sleep).

My slides are now available, although you don’t get to appreciate all of the fancy animations that Keynote does (note to the folks: make the animations really sexy, and I’ll switch. I’m a sucker for pizzazz.).

I have a bunch of thoughts that I want to blog as a result of my trip, but as usual, finding the time to organize them into a coherent post is the challenging bit.

Executive summary:

  • eLiberatica was great, look forward to seeing how it evolves
  • Traveling to foreign lands with hosts such as Lucian and his friends is definitely the way to travel
  • Travel and the subsequent impact on relationships is incredibly important to the long term success of open source, and of Mozilla. We have to make it easier, more decentralized, and less guilt-inducing
  • I want to travel more. I want to travel less.
  • Romania is changing incredibly fast. There are lots of opportunities, and decisions which will have significant impact are being made there every day
  • Zak’s network includes really interesting, thoughtful folks.
  • The world is incredibly small, and yet very big
  • If they’ll honest about it, everyone likes dancing to hits of the eighties.

Open source networked interactive whiteboards?

If you’ve never seen Johnny Lee’s videos explaining how he uses cheap Wii remotes to do amazing things, check out the TED video, or his home page.

Now after watching that video, I snuck into the ActiveState game room, and poked around with the wiimotes & projector there. I’ll definitely be keeping an eye on the wiimote project.

Now someone needs to hook that project up with some of the open source screen-sharing software, and all kinds of cool things could happen.

Speaking of which — any recommendations for inexpensive projectors (for presentations, not home theater stuff)?

Romania ahead

I’ll be heading out to Romania next week, to talk in Bucharest at eLiberatica about Mozilla and open source, and to learn about everything from open source in eastern Europe to food (always). I’ll also be visiting my grandfather’s hometown (Bra┼čov) for a bit of personal root-digging. Should be fun, especially if I get rid of this grogging (new word!) cold I’ve just picked up.

As a side note: it’s interesting to see that an open source conference is now sponsored by everyone from the FSF Europe to Microsoft. What is the world coming to?

Prize money for a good Thunderbird/ project

Something else I’ve had on my blogging queue for a while:

Last month, when we had the Calendar meeting in Hamburg, we met with some of the and Sun engineers. One idea that came up that I intended to mention here is that has a Community Innovation Program, funded by Sun Microsystems, which includes cash prizes for cool projects. A project which somehow made Thunderbird and work better together would be eligible, as much as I understand the rules. So put your thinking cap on and apply!

Possible ideas:

  • An ODF reader for Thunderbird?
  • Some sort of mail merge feature?

Other ideas?

University of Toronto Student Projects

What feels like years ago, my friend Greg Wilson, a book author CS prof at the University of Toronto with a deep understanding of both the practical realities of software engineering and open source, roped me into being a “client” for a class he teaches on software engineering, where he matches students with open source projects, and gets the projects to act as if they were typical clients. I have to say, I behaved like a typical bad client. Fuzzy requirements, lousy documentation on our system, erratic email, never around to meet in person, etc.

Still, the two students assigned to me, Mike Wu and Ronald Fung, did a great job. Ronald Fung led a messy part of the project, which was about teaching Thunderbird how to detect RSS/Atom feeds in pages that mention feeds but aren’t feeds themselves, work which will likely make its way into Thunderbird 3 at some point. Thanks!

Mike Wu led the development of a Remember The Milk provider to Lightning, the calendaring add-on to Thunderbird. RTM is a popular website for tracking TODOs, so it seemed a good alternative storage mechanism for Lightning users (alternatively, Lightning seemed like a good front end for RTM users). That add-on is now on Nice job!

Thunderbird team needs help from Python/Perl build engineer

If you’re a Thunderbird fan but not interested in fixing some of the nasty C++ problems we tackle in the product, you could still be very, very helpful if you can help us with a little Python/Perl build problems.

Specifically, Mozilla has a great system called “try servers” where one can submit patches against the tree, and the build system runs builds on Linux, Mac and Windows, using those patches, then serves those builds for testing. This is really helpful to figure out if proposed patches solve specific problems, especially when the developers aren’t able to reproduce the bugs, but testers can. It works great for Firefox development right now.

The only problem is that there’s a little bit of patching needed to the try server code itself to make it able to work with other targets besides Firefox, as described in bug 431375. Ben Hearsum, a build guy from Mozilla, is happy to help someone figure out those patches, but he doesn’t have time to make it happen right now.

From what i can tell, required skills include comfort with CVS and Linux, Python, Perl, and some build engineering common sense.

Thanks in advance!

Hamburg: Thunderbird, Calendar, Accessibility, CouchDB?

In day 3 of a Calendar meeting face-to-face, we had a few deviations from the core of the main topics (Lightning, Sunbird, Thunderbird integration), with two cool side-trips.

First, Marco Zehe came to talk about the state of accessibility in Thunderbird and Calendar. The take-away message to me was that accessibility for “trunk” (Thunderbird 3, etc.) is pretty good, thanks to all the work done at the platform level. There are some outstanding issues, which we agreed to consider as blocking Thunderbird 3, but it’s one of those areas where the next version of Thunderbird will be significantly better than the current one for a subset of users.

Second, at my instigation, Jan Lenhardt gave a talk about CouchDB, which was nicely off topic but thought-provoking. The coolest bit is that about an hour after the end of Jan’s talk, Philipp Kewisch, Calendar hacker extraordinaire, and author of the GData add-on for Calendar, had whipped up a proof-of-concept CouchDB provider for Lightning, meaning that calendar data (events, etc.) can be stored in a couchdb repository.

Kudos to the CouchDB and Calendar teams for building systems that clearly are easy to extend, and to HTTP/REST and JSON for providing great building blocks.

Accepting Nominations for Thunderbird 3.0a1/3.0 blockers

Mozilla project planning, for those not in the know, happens primarily through bugzilla entries, which include bugs, feature requests, work items, everything. It may not be the best way to organize things that aren’t really software defects, but it’s what we have, and somehow it works out ok.

As a case in point, the way releases get planned (what should be in which release) is through flags — bugs can be nominated for a release (by anyone), and then a group of people with a good overall perspective on the release (called “release drivers”) either accept a nomination or reject it — or redirect it to another release. Furthermore there are bugs that are considered blocking, while others are considered wanted. The former are the bugs that we’d delay a release in order to get them fixed, while the latter are nice-to-haves, but they wouldn’t block a release.

It’s a remarkably distributed process, with discussions about which bugs should be addressed and why distributed across the bugs. We then use bugzilla queries to get a holistic picture of the release, which gets particularly important close to the end-game. Over time, I think we can build better mechanisms, but the bird in the hand…

Importantly, release planning starts with people nominating bugs for either ‘wanted’ or ‘blocking’ status. We currently have flags in place for two releases: Thunderbird 3.0a1, and Thunderbird 3. The former is imminent, the latter not so much.

For 3.0a1, our release goal is first and foremost to actually do a release, which will exercise a bunch of muscles and mechanisms which have not been exercised in a while. Nominations for 3.0a1 should focus on bugs which significantly impact the ability of alpha users to give feedback on the product. Common crashers, bugs causing data loss, and significant usability problems are the most obvious candidates. We’re not being feature-driven for this early alpha, so don’t bother nominating new features for this release.

For 3.0, we’re definitely willing to consider all kinds of bugs. These will help us scope the extent of work needed, but also help us get a broader, “crowd-sourced” picture of the state of the product — what, among the thousands of contributed ideas and bug reports, impacts the most people. The easiest way to express “support” for a bug is simply to vote on it. Don’t add comments to the bug if you’re not contributing new information beyond your support — that makes the bugs harder to read, hence harder to fix. Instead, vote on your favorites. (I know voting on bugs is far from ideal — but it’s better than any other current alternative)

To nominate a bug, you need to be logged in to bugzilla, and you should set the appropriate flag (under the CC area) to ?. Only drivers are allowed to set + or – flags, so please don’t.

For more information, see the wiki.