How Capitalism Saves Ruby From Corporatism

Jul 15th, 2009

Or, Owning the Means of Production

This talk was given at FutureRuby in Toronto, Canada in the summer of 2009.

I. Armed Quarterbacks

As I’m sure many of you are, I’m an amateur student of all things political, fiscal and ideological. I love to hear other’s views, read about new ideas, and spend time musing with friends over a beer about where this thing we call civilization has come from, where it currently is, and where it might be going. It’s armchair quarterbacking that – unlike normal quarterbacking – is on a subject that really matters. (Sorry sports fans – you can tackle me at the break.)

Perhaps the reason we engage in this constant debate and search for understanding is that it matters at a fundamental level. There’s a hard edge to the bantering, because we’re talking about national and global matters that when we boil them down affect the ultra-local: what happens to our own skin. Our livelihoods, freedom, and perhaps our very lives are at stake, and not only our own, but those of everyone else with whom we share this big blue marble.

So it was with interest and felt need that I dug into the topics of capitalism, corporatism, and just about every other -ism you can think of in preparation for this talk. I’m just an amateur politico-socio-philosopher and I’m probably the least educated in the room when it comes to a lot of this stuff. But a wildfire is touched off by a little spark, and since my goal is to start a revolution, I need just a little bit of knowledge to be very, very dangerous.

And speaking of danger, this talk is about a danger to Ruby so sinister, so dark, that many of you would embrace it wholeheartedly even as it gobbled up your passion. So let me spin the tale of Ruby’s future, and the tale of our future, and see if we can’t figure out how to keep them both safe while also weaving them together.

II. Frying Pan, Fire

I got started with Ruby back in 2001. If you hunt through the ruby-talk archives you can read all my posts from ages gone by, many of them probably somewhat embarrassing – it’s sort of like when Mom pulls out the photo album. I jumped into Ruby with both feet because it was exactly what I was looking for: a dynamically typed, interpreted language that wasn’t Python and wasn’t a toy. At least, I didn’t think it was a toy – I had a lot of trouble convincing those I was working with that I’d actually get paid to use it someday.

In the early days of Ruby the challenges were simple, and the first one was to scrape together enough people for a conference so we could fly Matz to the states and get to meet him. We managed that in 2001, and I have the t-shirt to prove it. But at that first RubyConf we ran into the next problem: here was this great language we loved using, but only one person in the room was getting paid to code in it. Unless and until we could start getting paid to do Ruby, it was threatened with the monster that eats cool programming languages for breakfast with barely an afterthought: obscurity.

Over the next few years Ruby usage crept up and a few of us, myself included, managed to sneak it in under the radar and get paid to write the occasional app. But it wasn’t until RubyConf 2004, when this guy from Denmark gave a talk on a web application framework he’d made, that the demon of obscurity was banished for good and (while we didn’t know it yet) we hit the big-time. That was Rails, and I was there, and it was cool then, but none of us knew just how popular it was going to end up being.

But with the banishment of obscurity, another specter arose: the giant sucking sound of the corporate vacuum. I call it a vacuum because most large modern-day corporations are ownership machines – they seek to own and control anything and everything they can. And with the ascendency of Rails those corporations, in the natural course of things, turned their sights on Ruby.

And so we saw the litany of “Ruby’s not enterprise” and “Ruby needs to have X to be taken seriously” and “You can’t use Ruby for that!” If that doesn’t sound like an attempt at ownership you just haven’t learned that the first step to assimilation is to cut your target down to size. This is important for two reasons: first, it lowers acquisitions costs, and second, if you fail to assimilate you can always marginalize.

Now, I know some of you are about ready to jump out of your chair and berate me for implying that a corporation (or a group of corporations) could “own” Ruby. It’s open source, right? Great point – they can’t actually own Ruby. I tricked you – that’s not really the threat, and never has been. The real threat is that they’ll own us – or already do.

III. A Sad State

By way of making my point, back in the 1800’s a philosopher named Karl Marx – maybe you’ve heard of him? – formulated a set of ideas about the forces governing the course of history. I’ll tell you up-front that I’m not a big fan of Marx, as I believe his view of history and his theories are fatally flawed and his conclusions are ridiculous. But of course, I’m just an amateur, and the Communists can pummel me after the sports fans are done.

That said, two of Marx’s basic tenets ring true to me: that all material profit derives from labor, and that the ownership of the means of production matters. Trace profit back to its source, and you’ll find someone hard at work, building something useful, using their time to take something of value N and make it worth N+1. And in most cases a tool is required to add that value, so if you do not own and cannot make the tool, you cannot ply your trade without relying on someone who does or can.

To tie this all together I’ll ask a simple question: how many of you own the assets created by your labor? Now, I’m not talking about a paycheck or payment on an invoice, I’m talking about the actual thing that you create that can be sold and earns income for the owner when bought. I’d guess very few of you, though perhaps a slightly larger percentage than the general populace.

That’s where corporations come in: they hire employees to create value that the corporation then owns – the employees are paid an hourly wage or a salary, and the amount doesn’t vary much if at all with the actual profit generated by their activities. In the software world we are often creating products that will generate revenue on an ongoing basis with very limited or even no ongoing labor, but we get only the initial payment for our work, none of the ongoing gain.

Why does this matter to the future of Ruby? Very simply, whoever owns the asset also dictates the tools. Or, put another way, if you own no assets, you’re at the mercy of whatever tools the corporation provides to you. So while no corporation can “own” an open source tool like Ruby, they can de facto own the usage of it by dictating to their employees (and even other corporation’s employees) whether they can use it and what they can and can’t do with it. And since we’ve established that most folks don’t own what they create, we can by extension posit that corporations have de facto control over not just Ruby but anything else we might want to use.

Of course, we could go back to the days of happily using Ruby as a hobbyist language squeezed in between work hours, but that’s just not enough for me, nor should it be for you. You’ll spend almost half your waking hours laboring over the course of your life – why do it using inferior tools, working on projects you’re not passionate about? More importantly, why spend it building profit for someone else?

IV. Laying Blame

In my discussion of corporations so far I’ve engaged in a bit of a reification fallacy, in that I’ve attributed to corporations the human traits of intent and even of malice. But it’s exactly that: a fallacy, and it’s time to set the record straight. Corporations are just collections of people, and the majority of those people are smart and acting with good intentions. And that goes right to the top: maybe it’s easier for some folks to hate them if they believe that the CEO’s and other executives at corporations are evil or stupid, but I just don’t buy it in general. Although… Steve Ballmer I might make an exception for. (Microsoft folks, please wait until the break to beat me with your copy of Windows Vista Ultra Home Premium Corporate Professional Accordian Edition.)

But if corporations are just people and those people are in general smart and have good intentions, why do corporations make evil and stupid decisions? Logical fallacies have been written down because we humans have a tendency towards them, and reification is no different. The reason we see corporations, especially large corporations, making stupid and evil decisions is due to a crisis of identity: the participants in the corporation have begun (or long ago completed) the process of seeing the corporation as an entity unto itself for which they do not have direct responsibility.

How many of you have seen the United Song? Definitely look it up after the talk and give it a view – it’s hilarious and very, very sad. Here’s the gist: the artist is sitting with his band on a plane and the lady in front of him says, “They’re throwing guitars!” Sure enough, instruments are flying by on the tarmac, and he later finds that his $3000 Taylor guitar has been smashed in transit. A broken guitar is sad, but what’s really sad is that no one at United would take responsibility for what had been done: not the ground crew when they were originally loading luggage, not the flight attendants when he flagged them down on the flight, and not the customer service people he talked to afterwards. And why should they? They were just doing a job, they couldn’t authorize anything, their corporate rules didn’t require and/or allow them to make it right, etc.

What’s to blame for this? Is it the government, for chartering corporations in the first place? Making them a legal “person” doesn’t help, but there are plenty of charted corporations that are still humane in their dealings – Southwest Airlines would be the counterpoint to United. A company like Southwest also puts the lie to size being the instigator – while size seems to have a heavy correlation with the identity problem, size can’t be the root factor since there are large companies that are also humane. Does the blame lie at the feet of the executives? Partially, yes, but I don’t think most executives make de-humanizing decisions on purpose. Quite the opposite is true: most would adamantly and honestly assert that they’re doing all they can to make their corporations more humane.

The identity crisis of a corporation begins when the decision-makers become separated from the decision executors. When customer service decisions are made by those who don’t have to service customers, when cost cutting decisions are made by those whose costs aren’t being cut, when review processes are put in place by those who do not themselves have to be reviewed or at least deal with those so reviewed (iPhone App Store anyone?), and when tool specifications are made by people who don’t have to use the tools.

This is the threat to Ruby: that we will allow others to make decisions for us about what tools we will or won’t use – people who do not themselves use the tools. Even if they let us use Ruby for awhile, or perhaps worse if they mandate the use of Ruby in all cases, what happens when the spiritual successor to Ruby comes along? What happens when Erlang is a better fit for the problem at hand? What if a BSD server is a better alternative than Linux, or (heaven forbid!) a Windows Server is the best solution for current needs?

But where does the blame really lie? Is it with those who make these decisions, separated from the effects that flow from them? No, because this is not power that is grabbed or coerced, it is power that is abdicated. And it is we who abdicate it.

V. Ulterior Motives

I said my goal was to start a rebellion, and here it is: I want each of you to rebel against your natural tendency to abdicate responsibility. You don’t depend on a factory or massive capital expenditures to earn your livelihood, and you have no excuse not to own the tools of production and the assets created by them. But to own the assets you must also own the responsibility: you must stop abdicating your choices to a “manager” or placing all culpability for the results on the “corporation”.

Time to put all my cards on the table. I’ve always had a strong entrepreneurial streak, and back in 2005 I made the jump: I was fed up with bad decisions, and decided to stop abdicating and start owning responsibility and the profits (and losses) that came with it. I started Terralien – a Ruby on Rails custom design and development shop focused on young businesses – and began a journey of being actively involved in both the decisions and the effects of those decisions. Using Ruby as our primary tool was one of those choices, and the results have been fantastic.

Then, in 2007 I hit a roadblock with a very corporate entity: PayPal. After sinking weeks and eventually months into subscription billing for a client, I knew there had to be a better way, so I grabbed three smart co-founders and Spreedly was born. Since then we’ve been building a business that helps others build businesses, and we couldn’t be happier about it.

In the meantime, I’ve become a big fan of the libertarian family of ideas – the idea that a responsible civilization grows out of responsible individuals, not out of coercive force applied by a monopolistic state. The Libertarian Manifesto, “For a New Liberty”, is my primary travel reading on this trip. The conservatives and liberals in the audience – I’m sure you’ll both find some of my beliefs repugnant – can have what’s left of me once the sports fans, communists, and Microsofties are done with me.

What this means is that I have a triple-decker of ulterior motives underlying this talk. First, I want to grow the number of small businesses there are, since Terralien stands to gain from that: our services are focused on the new, the young, and the intentionally small. Second, I want every one of you to start a subscription business, since I know you’ll quickly discover the pain of subscription and relationship billing – financial institutions are definitely corporations! – and hop on the Spreedly bandwagon. And finally, I want to do everything in my power to encourage personal responsibility in all things. If you’re busy building a business, you won’t have time to support the coercive state, and will start to find yourself on the wrong side of it on a regular basis, just as all entrepreneurs do.

VI. Revolutionary Perspective

The hero of my tale is the stereotypical entrepreneur, and the villain is the stereotypical employee. Does that mean that all entrepreneurs are doing it right and all employees are doing it wrong? Not at all. In Terralien I work with a bevy of sub-contractors who are trading their labor to me for money. As we grow Spreedly, my goal is to hire contractors and employees (depending on which tax structure works best) to help move it forward. So I’m not saying you’re dumb to work for a company, nor to sometimes trade your labor for wages.

Let me give you three things you should do, and let the concrete explain the abstract. First, you should be creating an asset – maybe with a co-founder or two – for yourself on your own time. You have a computer, you have free tools for writing software, you have available time, and you have zero excuses for not using that power to make something of value for yourself and for those who will pay for it. Cut it out with the delays and get started on it today!

Second, change your perspective on employment. Our parent’s generation saw being an employee as part of their identity and as an end unto itself – that’s ridiculous imperialist thinking. You should see your time at a company as an opportunity to learn while helping those who own the asset create value for their customers – i.e. a jumping off place for your next venture. Good business is cooperative, and you can cooperatively help other businesses even while plotting your own. And when you are taking a wage, don’t ever let yourself start reifying the entity you’re working for, and detach yourself from the results of your work. You write software for nuclear weapons? You own it when they’re used.

Third, we must explore new models of ownership and find ways to keep those doing the work directly connected to the results of that work – the profits, the decisions, and the pain. At Terralien I’m already doing everything in my power to encourage my sub-contractors to create their own businesses, and that keeps them very close to the clients they’re servicing, since it makes them both entrepreneurs. For Spreedly we also have a cool plan: pay everyone to spend their Friday building a business of their own that sits on top of Spreedly. Our thought is that we don’t want any “lifers” at Spreedly – we want people who are growing out of employment even while they’re helping us build the platform.

If we implement these things, the vibrant, passionate future of Ruby will be assured. The people in this room will be making the decisions about what tools to use, and Ruby will be among them. Even better, the people in this room will be making the decisions about what’s worthwhile to spend time on and what’s not, and we’ll have projects, like Rails, Rubinius, Chef, etc., blossom as businesses work cooperatively towards the shared goal of creating value for their customers.

VII. Hacking Business

Of course there’s one really big hurdle standing in your way if you’re interested in joining the revolution. Most of you, like myself, have no earthly idea how to market, sell, or otherwise run a business. And it is challenging: I’ve been working at it for a few years and I still feel like a total novice. But I look around me and I see other folks who have done it and I know it’s achievable and I keep plugging away.

One of my favorite aspects of hacker culture is that it’s not cool to just sit around and gripe – we do some of that, sure, but true street cred goes to those who fix problems, not those who simply identify them. There’s a shared tendency towards do-it-yourself and personal responsibility. So I’m confident that this lack of business skills can and will be overcome. I’m also confident that most programmer’s will make better businesspeople than most MBA’s.

I’d love to discuss with any and all of you – if I can still talk after everyone I’ve offended is done with me – about how to succeed at this thing we call business. If this talk does nothing more than ensure that I get to have interesting discussions all weekend, then I have succeeded in some small part. But I’ll know I’ve really succeeded when I start hearing about successful businesses that got their start in July of 2009, right after FutureRuby. And then I’ll know that the future of Ruby is confidently assured.

If you know how to make something of value – and everyone here does – then you have no excuses. Grab your laptop, Ruby, a few friends, and join the revolution. It’s a wild ride, but the best ones always are.