RFC #17: Experiments and the Economics of Open Source

RFC #17: Experiments and the Economics of Open Source. I joined Nadia and Mikeal to discuss my work on WP-CLI, the economics, origins, staying productive as a maintainer, fund raising, and the state of WP-CLI "today" (aka last May when this was recorded).

Update: I forgot I said this: "[The GPL] is used often as a blunt instrument for enforcing certain economic dynamics around everyone's businesses." Pretty good!

How Fusion does agile

As a part of NYU Studio 20’s project with Storyful, I did an interview on how Fusion applies agile in its product development methodologies. For lack of a better word, this is the funnest thing I’ve written in a while — it encapsulates my current thinking on distributed teams, open source, and many topics in-between. It was originally published on Fusion Next.

What do you do in your role at Fusion?

As interim Director of Engineering, I consider my primarily responsibility to be very similar to a janitor — keep the lights on, clean up messes, and make sure things are happening in an orderly manner. And, when they aren’t, I jump in to get things back on track.

For instance, over the past week, I’ve:

  • Helped with on-boarding two new full-time employees.
  • Reviewed and provided feedback on code written by potential hires on trial.
  • Edited job descriptions to go with the positions we’re hiring for.
  • Reviewed and deployed code from Fusion’s engineering team.
  • Worked with editorial to figure out the best way to do X, Y, or Z
  • Stayed up late to build a new feature for editorial, the night before the story ran.
  • Wrote code for a variety of bug fixes, feature tweaks, etc.
  • Wrote Github issues for problems we want to solve over the next few months, and need product definition and UX for.

Really, it’s anything that needs to be done to keep the team on track and working on the right things.

How does Fusion use agile in its development processes?

Before we make too many assumptions, let me frame the conversation. I think Agile™, as a formal process with right and wrong procedures, is bullshit. To me, agile means the minimum process needed to ship code that exceeds product goals. What that process specifically is depends on the composition of the team and what we’re working on.

Many digital news organizations publish an article when it’s good enough to go, and then revise from there. This is in contrast to print publications, where you can’t edit a story after it’s been printed. In a similar vein, the proper way to ship web software is to deploy your Minimum Viable Product and iterate, fixing bugs and tweaking features. Your development process should foster this process — just like it shouldn’t take 15 minutes for an article edit to appear on your website, it shouldn’t take two hours for your bug fix to make it to production.

Fusion is still experimenting radically with it’s “agile” process. Our two leading tools right now are Slack and Github.

We have two Slack organizations: Fusion Product for technology and product, and Fusion Digital for editorial. Given how easy it is to simply strike up a conversation with anyone, I cannot imagine being in an office of the same number of people, having to go over to someone’s desk, see that they’re not there, etc. etc.

However, Slack comes with costs too. It can be very easy to become overwhelmed by the number of conversations happening that you’re inadvertently following along. Also, text is a low-bandwidth form of communication, where subtlety is lost.

For the technology team, because our work is so closely tied to the products we’re building, Github issues are the best place to have conversations. Currently, we have repos for each product we’re responsible for, as well as a “Fusion for the Future” repo for discussing future projects, and a “Let’s UX This Puppy Up” repo for UX / design requests and our style guide. To add a light project management layer to our repos (e.g. determining which state each issue is in), we are using Huboard.

The goal for our Github repos is that no one should ever have to wonder what’s next to work on. Backlogs should be chock-full of well-scoped issues and features to pick from.

One of Storyful’s biggest problems is communication between departments. How do you overcome this obstacle?

I love this question! It’s right up my alley.

One of my favorite phrases from my days at Automattic is “communication is the oxygen of a distributed company.” Meaning, the success of a company is directly correlated to its ability to communicate. And, if a company is struggling, it’s probably because communication is breaking down in some way.

Given this assumption about the importance of communication, it begs the question: how do you communicate well? For me, it boils down to these things:

  1. Use the appropriate medium.
  2. Be deliberate in how you speak.
  3. Meetings and emails aren’t communication.

Open, archived text should be the default medium for conversation. It’s helpful to have everyone in the company in a communal, synchronous chat application for quick one to one exchanges. If the conversation doesn’t need to be real-time, then there should be an open, archived space for asynchronous communication. Fusion uses O2, the successor to P2, for this. It’s a blog with threaded commenting where anyone can post or easily review past conversations. See Sara Rosso’s presentation for how it’s changed Automattic. Lastly, if the conversation needs to be higher-bandwidth than text, go to audio or video. But a team that communicates well can conduct 90% of its conversations via text.

As an aside, it’s funny to me that Slack is now worth billions of dollars, and has taken over companies like wildfire, because IRC has been around for years. But, I guess that’s what happens when you get the UX right. Many people I’ve seen hesitant with IRC love Slack.

When you do communicate primarily through text, you need to be very deliberate in how you speak — it can be much easier to miscommunicate, because you’re lacking the subtlety you normally get in face to face conversation. Emojis can help with nuance. Screenshots are often worth a thousand words. Taking a pause to edit can greatly increase impact.

I love Michael Pollan’s “food-like substance” phrase because it can be re-used in so many ways. Meetings and emails are “communication-like activities”.

Meetings, because of their coordination costs, should be used sparingly. Just think — six people in a one-hour meeting represents six hours of lost productivity. If you do need the communication bandwidth that comes from meetings, a meeting shouldn’t be allowed to begin until it has an agenda with specific discussion points and a note-taker. These notes should then be archived to your open, archived asynchronous communication space.

Granted, face-to-face interaction is still important for keeping your team human. Fusion’s technology team has twice-weekly standups of 15 minutes or less, and Hangouts as needed. Because we’re a distributed team (currently NYC, Miami, Portland, Philly, and India), we plan to have a couple in-person meetups in 2015 too.

Similarly, emails are blackholes for the information a team needs to be productive. The context and details associated with an important discussion between person A and B is totally lost when person C joins the team. Do you really want to forward your entire email archive when person C joins the team? Or lose institutional knowledge when person A leaves the team? The types of conversations that happen in email can easily be done in Slack, O2, Github issues, or whichever open tool a team chooses to use. Archives are worth their weight in gold.

Scott Berkun wrote a book, “A Year Without Pants”, about his time with Automattic’s distributed culture that many people find a useful introduction.

How should other news organizations implement agile?

Once your communication is like oxygen, agile goes best with a heavy dose of open source software. Let me give you a real-world example.

Last night (Wednesday, December 3rd), Alexis Madrigal pinged me in Slack asking whether Fusion had a native way to embed a PDF in an article. DocumentCloud and Scribd are great, but also subject to DMCA requests. Alexis and Kevin Roose were working on story about the Sony Pictures hack, and wanted to embed a PDF version of a budget at the end of article.

“Give me 30 minutes,” I said. It ended up taking an hour and a half, but I was able to cobble together a solution using Mozilla’s PDF.js and putting the PDF in an Amazon S3 bucket Fusion controls. Thus, any DMCA requests will have to go through Fusion legal. Problem solved, powered by flat, effective communication.

Open source doesn’t just mean using open source software though. It means being a responsible member of the open source communities you’re a part of. And if you use any open source software, you’re a member of its community. Your product is dependent on that software — you want it to be healthy and thrive.

Just like being a good neighbor means picking up trash when you see it, being a good member of an open source community means taking the extra effort to open bug reports or create pull requests. Open source is a tremendous catalyst for software development — aka idea to production in a couple of hours — but it’s an informed, deliberate, and strategic activity.

Obama’s Way

This time he covered a lot more ground and was willing to talk about the mundane details of presidential existence. “You have to exercise,” he said, for instance. “Or at some point you’ll just break down.” You also need to remove from your life the day-to-day problems that absorb most people for meaningful parts of their day. “You’ll see I wear only gray or blue suits,” he said. “I’m trying to pare down decisions. I don’t want to make decisions about what I’m eating or wearing. Because I have too many other decisions to make.” He mentioned research that shows the simple act of making decisions degrades one’s ability to make further decisions. It’s why shopping is so exhausting. “You need to focus your decision-making energy. You need to routinize yourself. You can’t be going through the day distracted by trivia.” The self-discipline he believes is required to do the job well comes at a high price. “You can’t wander around,” he said. “It’s much harder to be surprised. You don’t have those moments of serendipity. You don’t bump into a friend in a restaurant you haven’t seen in years. The loss of anonymity and the loss of surprise is an unnatural state. You adapt to it, but you don’t get used to it—at least I don’t.”

Michael Lewis — Obama’s Way

Postmodern Tourism: An Interview with Pico Iyer

One archetype that hits me very forcefully, as it does many people, is that when I’m wandering around the Himalayas, for example, most of the people that I see are Westerners from Germany, California, or the Netherlands, who are wearing sandals, Indian smocks, and are in search of enlightenment, antiquity, peace, and all the things they can’t get in the west. Most of the people they meet are Nepali villagers in Lee jeans, Reeboks, and Madonna T-shirts who are looking for the paradise that they associate with Los Angeles — a paradise of material prosperity and abundance.


Los Angeles famously in its school district now teaches 82 different languages. It is the second biggest Thai, Salvadoran, and Korean city in the world. I was just spending a lot of time in Los Angeles Airport and there you really see the future landing with a bump all around us and not really knowing what to make of it.

What is also interesting about Los Angeles is that more and more of the world is made up of these generic cities. So it’s not just the global village, but it’s also a global metropolis. When you fly to Toronto to London to Singapore to Sydney to Los Angeles, say, you really feel as if you are just going along five different suburbs of the same city because they all have the same constituency. When you are flying from here to Toronto, most of the people on the plane will be Chinese and most of the people that are waiting to greet you at Toronto airport are Indian. The same pattern is repeated in London and Hong Kong and whatever. So more and more cities are just becoming part of a global culture.

Postmodern Tourism: An Interview with Pico Iyer

The Man Who Makes the Future: Wired Icon Marc Andreessen

Andreessen: Airbnb makes its money in real estate. But everything inside of how Airbnb runs has much more in common with Facebook or Google or Microsoft or Oracle than with any real estate company. What makes Airbnb function is its software engine, which matches customers to properties, sets prices, flags potential problems. It’s a tech company—a company where, if the developers all quit tomorrow, you’d have to shut the company down. To us, that’s a good thing.

Anderson: I’m probably a little bit elitist in this, but I think a “primary technology” would need to involve, you know, some fundamental new insight in code, some proprietary set of algorithms.

Andreessen: Oh, I agree. I think Airbnb is building a software technology that is equivalent in complexity, power, and importance to an operating system. It’s just applied to a sector of the economy instead. This is the basic insight: Software is eating the world. The Internet has now spread to the size and scope where it has become economically viable to build huge companies in single domains, where their basic, world-changing innovation is entirely in the code. We’ve especially seen it in retail—with companies like Groupon, Zappos, Fab.

“Amazon is a force for human progress and culture and economics in a way that Borders never was.”

The Man Who Makes the Future: Wired Icon Marc Andreessen

How Zach Seward gets his news

Chiefly, though, I make sure I don’t rely on other people to find stuff for me to read. I mean, I do, of course; everything I’ve described so far is powered by other people. But I feel strongly about also hunting for material on my own, which is why RSS remains a huge part of my life. I subscribe to 881 feeds, although recently, in a moment of sanity, I decided to focus on about 200 of them that I find most valuable. (To pick those choice feeds, I mostly followed the advice of Marco Arment: “RSS is best for following a large number of infrequently updated sites.”)


RSS is frequently said to be a dead technology, which is silly on a lot of levels, but I don’t begrudge the many people who say that, for them, Twitter has replaced RSS. It’s just that I place a premium on reading stuff that others aren’t and don’t find that my Twitter stream reliably reaches into the bowels of the Web.

Zach Seward — Getting the News

The Setup: An Interview with Amber Case

I sometimes run a very old version of The Sims to optimize living conditions for two people with busy lives who want to achieve maximum happiness and self actualization. I run simulations of floor-plans and then try to find places that are similar to those floorplans. It took two years to find my current place of residence, and not only is it cheap, but I can run Sims whenever something seems odd in the house. Turns out that an errant chair or a table configuration might cause undue friction and, over time, decrease joy and happiness. It’s difficult to step outside of life and watch it from an isomorphic architecture view in 30x speed, but the Sims allows you to do that. It’s kind of my version of debugging life, and it’s another reason why I have a PC lying around. I don’t play the game unless I’m trying to figure out a more optimal living condition. I don’t use this religiously by any means, but as more of thought experiment.

Amber Case — The Setup