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.
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.
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:
- April 13 – Lighting talk at the Seattle Django Users Group – this will be about jsonwidget, which is shaping up nicely. I’m toying with the idea of making a Django interface for jsonwidget which will be the main point of the discussion.
- April 24 or 25 (tbd) LinuxFest Northwest (Bellingham) – Using urwid and Python for console applications – I’ve had a pretty good experience working with Urwid over the past couple of months or so, and I’m planning to share what I’ve learned.
- July 21-22 – Two talks at O’Reilly’s Open Source Convention in Portland:
- July 21 – Financial Incentives in Open Source
– this is a panel I’ll be moderating, with a lot of really interesting people with a pretty broad range of experience. Stormy Peters has given a lot of really good talks on the subject already. Leslie Hawthorn has been the community manager for the Google Summer of Code program for the past several years. Mike Milinkovich is executive director at Eclipse Foundation, which among many things, is host to the Eclipse Community Awards. Last but not least, Todd Crowe is an independent web developer who has a lot of experience working with freelance sites like Elance. Additionally, Todd has done a lot of work for Love Machine, Inc., a startup that’s taking a pretty innovative approach to organizing their work.
- July 22 – Great User Interfaces in the Terminal Window – This will be similar to my April talk about Urwid at LFNW, but will be a broader overview of the various approaches. When I was hunting for Urwid, I evaluated some of the alternatives, so the idea behind this talk is to step through the advantages/disadvantages of the various approaches.
- July 21 – Financial Incentives in Open Source
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”
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*).
Here’s a simple screenshot to show what’s going on:
Continue reading “Easy form building for terminal windows: jsonwidget-python”
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.
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”