codersnotes

The Winter Of Our Dis-content September 13th, 2014

I'm going to have to be a little mean here. I try not to be. It's so easy to be mean and so hard to be constructive, and generally the world is a better place for everyone when people can be constructive.

But I'm afraid I need an example for this post, and so I'm going to have to pick on SourceForge.

SourceForge was basically the first company in the open-source hosting movement, and back in 1999 the novelty of simply having free hosting for a project was a good enough reason to use it.

But let's have a look the their website now:

Wow. Just wow. Well there's a lot of adverts, but let's ignore that. What's the real problem here?

Where's the content?

Presumably you arrived at a SourceForge website because perhaps you wanted to:

  1. Read about the project and what it's supposed to do.
  2. Poke around in the code and see how they do things.
  3. Contribute by reporting bugs or such.

This is the content. The project, the thing the creators have created. This needs to be the foremost thing on the website. And yet the lonely "Description" text gets cramped into a tiny text-box buried underneath a glacier of metadata.

Where's the code? I mean it's open-source, right? The clue is in the name, there should be some source here somewhere. That's the ONE THING the website does is to host source code.

Oh wait, there it is. In case you haven't spotted it yet, there's a tiny tiny little "Code" button hidden up on the top-right of the toolbar. OK, so SourceForge has terrible web design. But why does this anger me so much? There's other source-control websites out there people could be using, sure, but there's a fundamental problem here that is worth studying.

Our glorious benefactor Gabe

I want to divert briefly to talk about Valve. Over the past 10 years Valve have been one of the companies most famous for trying to innovate in the field of online economics. The release of Steam as a distribution platform, launching Team Fortress 2 as a free-to-play game, the Hat Based Economy, and more.

Their founder Gabe Newell has talked at length on many occasions about what Valve tries to do as a company, why they exist, and how they interact with their customers.

Gabe gave a fascinating talk last year at the Lyndon B. Johnson School, where he describes the process Valve use to empower their customers in creating new value.

That by itself is an unusual idea to some businesses. Often you'll hear a business talk about increasing "sales". What Valve have figured out is that sales are simply a subset of value, and that increasing "value" is what you need to be doing.

The first thing that comes across is that Valve really care about what's best for the customers:

http://www.youtube.com/watch?v=t8QEOBgLBQU (at 15:45)

Valve is not a publicly traded company. Being a publicly traded company adds a bunch of headaches, and it didn't really solve any problems for us. It means that control and decision making now involves third-parties.

So for a developer or somebody building something at Valve, it's like: there's the customer, and they're the person that you're trying to make happy. [...]

You don't go to board meetings where the board argues about what the third series of venture capitalists are worried about, dilution and hitting certain targets. There's no notion of a distribution channel who says "we're really looking for something that fits in this particular slot at this particular time".

The whole point of being a privately held company is to eliminate another source of noise in the signal between the consumers and producers of a good.

That last line is the key part. The easy interchange of content between the consumer and producer is the single most important thing any company should be worrying about.

http://www.youtube.com/watch?v=t8QEOBgLBQU (at 33:25)

We're also seeing this huge uptake in user-generated content.

To be really concrete, 10X as much content comes from the userbase of TF2 as comes from us. So we think that we're super productive and kinda bad-ass at making TF2 content, but even at this early stage, we cannot compete with our own customers in production of content for this environment.

So the only company we've ever met that kicks our ass is our customers. Right we'll go up against Bungie, or Blizzard, or or... anybody, but we won't try to compete with our own userbase, because we already know that we're going to lose.

Once we start to building the interfaces for users to start selling their content to each other, we start to see some surprising things.

An inquiry into value

Now let's apply some of this advice to SourceForge. In 2008 GitHub launched as another of the many open-source project hosting sites.

Let's look at a typical GitHub page:

Ignoring all the adverts, toolbars, whatever, there is exactly one critical difference between the two. GitHub has the user's content as the most important thing on the page. Right there, the first thing you see, is the source code. Directly underneath, the user places their documentation, laid out as if it were a website.

The link between the content creator and the content consumer is established directly. The trouble with SourceForge is that it's under the impression that the content's metadata is more important than the content.

Gabe mentioned how Steam actually acts as a bottleneck between content creators and consumers, something he's actively trying to change. This is what SourceForge is - a bottleneck. A bottleneck designed to slow you down and make it harder to get what you want. By removing the barrier between content creators and users, by placing the content centered boldly on the project's page, GitHub allows their both their customers and users to directly create value. GitHub's customers will do a better job of marketing the website than GitHub themselves could ever manage.

You are not your customer. Your advertisers and affiliates are not your customer. Your advertisers are there to fund the customer's needs. For every decision you make you have to stop and ask yourself: Is This Best For The Customer?

I don't know who SourceForge's intended customer is, but I'm fairly sure it isn't supposed to be the people trying to work with projects.

To paraphrase the classic "Zen and the Art of Motorcycle Maintenance", neither the producer nor the consumer have value by themselves. Value is what defines the producer and the consumer:

Value can't be independently related with either the creator or the consumer but could be found only in the relationship of the two with each other. It is the point at which the creator and consumer meet.

If your customers can't get at your content then your content can't get at your customers, and you have no customers.

Written by Richard Mitton,

software engineer and travelling wizard.

Follow me on twitter: http://twitter.com/grumpygiant