Why donate to a non-profit with a hard-to-pronounce name?

Go to miraheze.org, and find the green “Donate!” button!
…or the purple “Donate Today!” button. Both work.

This could end up being more rambly than normal, so I’ll cut to the chase: there’s a few things I’d like you to do:

  1. Go to https://miraheze.org
  2. On the top right, you’ll see a green button with a gift icon labeled “Donate!” Click on it.
  3. Follow the instructions, and make a modest donation (e.g. $10 is truly appreciated; $20 will probably be appreciated more)

Since most folks that I know haven’t heard of Miraheze (and probably aren’t sure how to pronounce it), I’m not entirely going to blame you for not racing to donate. I might be quietly judging you, but I won’t be blaming you. 😉 Seriously, though, if you’re willing to trust me and donate to Miraheze, you don’t need to read the rest of this.

Why am I doing asking you to donate to Miraheze? Well, it’s a lo-o-o-n-n-ng story, full of tangents. That story goes back to 1994…

Continue reading “Why donate to a non-profit with a hard-to-pronounce name?”

New gig: Wikimedia Foundation

As of last week, I’m officially an employee of the Wikimedia Foundation. Here’s the the official announcement of WMF hiring me. I’ve been working there as a contractor for the past couple of months, and it’s been a great experience so far. I’m working with a lot of really smart people that I stand to learn a great deal from. I’m pretty used to being the “open source guy” at the companies I’ve worked at in the past, so it’s going to be an interesting twist to work somewhere where publishing the source code (and most everything else, for that matter) is just a given.

On Diaspora

diaspora flyer from 2010
The anti-Facebook

There’s been a lot of hubbub about Facebook’s ongoing tone-deafness regarding privacy. As a result, there has also been a lot of hubbub about the Diaspora project, with both wildly optimistic projections of their success, as well as more skeptical assessments.

I’m skeptical about Diaspora specifically, because it reminds me a lot of an effort to take RealNetworks down a peg more than a decade ago. In 1999, the Free Expression Project was started to “help people distribute their content to other people without being beholden to any corporation”. A laudable goal, and one that earned them a fawning writeup on CNet News, which claimed that Real was under siege by these folks. The project never seemed to make it much further than a website with a few diagrams, and nothing that came even close to challenging the streaming media hegemony we enjoyed at the time. (I was at Real from 1996-2005)

However, that’s not really the whole story. What the fawning press coverage indicated was that there were a lot of people who wanted Real to be taken down a peg or two. I imagine that the CNet reporter was as skeptical as anyone about the ability of the Free Expression Project to deliver, but he wrote the story anyway because he knew that people would eat it up. He knew that story would generate traffic because people would see his headline, think “Thank GOD!”, and click through to read the story. He was probably right.

It ultimately wasn’t a ragtag band of open source developers that toppled Real’s dominant position, but rather a one-two punch from Microsoft then Macromedia/Adobe. Still, their job was made a lot easier by the prevailing mood. When we tried to rally the open source community a few years later, despite our success in landing deals with hardware vendors (which it appears they are still successful with), we didn’t get a lot of organic contribution. By then, MPlayer, GStreamer, Xine, VLC and other efforts were already underway, and contributors to those projects had little incentive to join forces with us at that point. The developers on those projects thought: “we can do this better, and why would we want to help Real anyway?”

Facebook has a pretty solid network lock-in going for them, so its not as though we’re about to witness a sudden collapse of their market position. However, they’ve got a serious problem with their brand, and I wouldn’t be surprised if Zuckerberg is in complete denial about it, preferring to think about the privacy controversy as a storm that will blow over soon enough. It’d be easy for the Facebook crew to believe that no one is going to be able to pull together all of the elements needed for head-to-head competition. I’m betting that’s not how it plays out. My guess is that someone like Twitter or Google figures out how to add just enough functionality that many more people feel comfortable giving up on Facebook. Moreover, if I were going into competition with Facebook, I think I’d try to turn their strength into a weakness. For example, for many younger people, a network not overrun with parents, grandparents and extended relatives might just be a selling point.

I’m not deleting my Facebook account anytime soon, but I know I don’t need everything Facebook currently offers.

Doing the conferency talky thing

That's me giving a lecture to my daughter about the importance of proper modularization in large scale development

I didn’t do much in the way of public speaking last year, but I’m starting to make up for it this year. Here’s a few things I’ve got coming up:

Thoughts on dual licensing and contrib agreements

Two-headed Camel

Creative Commons License photo by kwc

There’s been a lot of chatter lately about dual licensing in open source and its much-maligned companion the contributor license agreement. Since my last two community management gigs involved dual licensing and CLAs, I have a few thoughts on the subject.

These tools certainly make it harder to build a community. As Brian Aker pointed out in Drizzle, Licensing, Having Honest Conversations with your Community:

How do you have an honest conversation with someone where you say “yes, I will need the work you did for free, to be assigned over to me, so that I can make money on it”?

It’s not hard to understand that argument. As anyone who has ever tried to build a community will tell you, contributors don’t grow on trees. It’s a lot of hard work getting a community excited and motivated to work on your project. Having a single-minded focus on the thought process of your contributor community is probably the only way to build a community of any size or consequence.
Continue reading “Thoughts on dual licensing and contrib agreements”

Easy form building for terminal windows: jsonwidget-python

I’ve been working on a project to make building forms really simple. My latest work is “jsonwidget-python” for terminal-based applications (like you would use via SSH or local terminal on Linux and Mac). It’s all very retro, but terminal windows are still very much in use for buzzword-compliant activities like configuring virtual machines for cloud computing, in addition to being the preferred user interface for a lot of people out there (*cough* nerds *cough*).

This new project builds on some earlier work that I’ve retroactively renamed “jsonwidget-javascript“. jsonwidget-javascript is AJAX-y generation of forms inside a browser based on a JSON schema. jsonwidget-python is intended for terminal users at first, but will extend to other contexts as well.

Here’s a simple screenshot to show what’s going on:

Simple Address Entry in jsonwidget-python
Simple Address Entry in jsonwidget-python

Continue reading “Easy form building for terminal windows: jsonwidget-python”

Sorry about the NASCAR-looking comment area

As you may have noticed if you visited blog.robla.net directly, the comment area is handled via Intense Debate. I did that to get myself out of the account management business while still maintaining a modicum of control over my site. Other than then weird blue flaming logo and the name “intense debate” on a blog that I don’t anticipate intense debate on, it’s rather nice.

One new feature that I just enabled is the ability to comment using Facebook or Twitter login. It appears as though if you use it via Facebook, you’ll get the “allow to automatically post to your wall”, which is something that I don’t intend to exploit. If anyone with Facebook Developer-fu knows how to tweak it so it doesn’t ask for that permission, I’d be grateful if you clued me in.

The downside, of course, is that now there is 15 different logos down in the comment area now, not counting the additional 9 or so that pop up when you hover over the little orange RSS icon. Who knows, given the lack of color in the plain-jane theme I’ve recently switched to, maybe that’s a feature.

Python’s simpleparse module


I’m working on a project that required a bit more from the JSON parser than the stock JSON parser with Python allowed for. After doing some hunting around, I came to the unfortunate conclusion that I’d probably need to write my own.

Thankfully, Python’s simpleparse module lived up to its billing (thanks in large part to JSON having such trivial syntax) Here’s the working BNF suitable for passing to simpleparse:
Continue reading “Python’s simpleparse module”

Moving on

I’ve decided to leave my current job at Linden Lab. Those of you interested in the ins-and-outs of Second Life may want to look at my post to “sldev” (our open source development mailing list). It was a tough decision to leave, and even tougher to make without having my next move totally nailed down, but so far it feels like the right decision. Ask me in a couple months how I feel 🙂

Without going into too much detail about what I’m working on, suffice it to say that it involves open source in a pretty big way. Even if this immediate opportunity doesn’t pan out, the scope of stuff I’ll be looking at is going to be pretty narrowly focused on facilitating the creation of open source software. I’ll write more here as things get clearer.

Brutal honesty in open source development

There’s a bit of a flamewar going on right now between the main PulseAudio developer, and another Linux desktop developer who grew frustrated by some very real problems caused directly and indirectly by it. PulseAudio is the latest of many savior technologies that promise to make audio on Linux not suck. I’m actually pretty optimistic that the fifth(?) time’s a charm here; there’s a lot of very sensible things about the design.

Anyway, Jeffrey Stedfast wrote a series of blog posts culminating in “PulseAudio: I told you so“. In these, he documents his frustration with being given the runaround when trying to point out PA problems that he ends up debugging to the point of finding and/or filing several bugs/patches in various bug trackers. PulseAudio creator Lennart Poettering had enough, and posted to his blog with a long rebuttal, claiming that Stedfast’s blog post “flamed my software and hence me”. It’s a pretty run of the mill developer flamewar, which only caught my eye because I’ve had a few frustrating problems with PA myself and was hoping to learn more.
Continue reading “Brutal honesty in open source development”