Funding the Next Round of Software at Puppet Labs
What Happened and Why
Today we announced our Series B funding round. As most of you know, I’ve been at this for a long time – I started Puppet and (then Reductive Labs) Puppet Labs in March of 2005. The plan was always to build a great infrastructure software company, and Puppet is one of the successful open source projects that’s always had commercial backing – this has been my full time job since that day in March. My goal back then was to bootstrap, growing our revenues enough to continue hiring developers and increasing our product portfolio. Over the years I’ve talked about products that I was really excited to build but never had the resources to, like Runnels (an infrastructure-focused message bus framework) and Nodify (recently released as the Dashboard).
Unfortunately, the reality I ran into is that it’s actually really hard to bootstrap a company like that, and over the last couple of years it became clear that fundraising was the best thing I could do to get the company moving faster. We’ve been able to grow really well since our round with True Ventures last summer, and we’re finally getting a handle on our current development load, but our goals are still more aggressive than we’ve been able to accomplish. We were on track to be profitable this year, but not to get all of the awesome things done that we want to work on.
This left us with either scaling back our ambitions, or scaling up our capital. Given how the buzz around the cloud is driving interest in infrastructure, and especially in automation, it didn’t make sense to step into the background – now is the time to double down, not pass and hope to bet again later. We don’t need a ton of money – we’re a lean company (good lessons learned from living deal to deal, where each new customer got me another quarter of being able to feed my family), and because we’re a software company our biggest expense is people, not servers or facilities.
As with the best investment deals, we’re almost as excited about the investors as we are about the money – Kleiner Perkins Caufield & Byers are just about the best there is out there, and Kevin Compton — who was already an investor (through his own firm, Radar Partners) but now will be joining the board — has a long and storied history of building and helping to build great companies. I’ve been working with Kevin over the last year, and I’m entirely thrilled to be able to work even more closely with him, and to begin trying to understand this whole actually-running-a-business thing.
How does the News Affect our Users and Community?
You’ll see me out in the wild talking about why we took this money, but it all boils down to one thing: Funding software development. Most of that software will be open source, but some of it will definitely be commercial. No, our investors aren’t making us do anything; this is our strategy and always has been, the investors are just helping us get it done. We want to build a great company producing great software, and to do that we need to make money. Turns out, selling software is actually a great way to make money.
I’ve never really thought of us as an open source software company, even though all of our software has been open source; I just think of us as a software company with a preference for open source. We’ll be opening everything we can, but we also need to find a way to make enough money to pay the developers that produce that software, and we need to be able to fund speculative efforts and projects that take a long time to pay off, both of which are very hard when relying entirely on the services model that 100% open source usually dictates.
Note that we won’t be following an open core model – our open source software, including Puppet, will always stand on its own and be completely sufficient for nearly everyone. There are, however, companies who have specialized needs, and we’ll be providing targeted applications at some of these companies. In general, though, you’ll see us putting products out and trying out revenue models, and just generally experimenting and innovating in both software and business. We think we have some great ideas, but we’re under no illusions that we know what we’re doing.
Get Involved
We hope everyone in the community will stick around for the next trip around the roller coaster, and we’ll be making sure we continue to spend some of our ill-gotten gains on increasing involvement and getting more user interaction. You can always email me directly at luke@puppetlabs.com – and heck, you can usually just call me at +1-503-575-9774, although maybe not this crazy week. :) And if you or someone you know is interested in moving out here to awesome Portland, OR and working with us to build the next generation data center stack, let us know. We’ve got a few jobs posted now, but we’ll be adding quite a few more in the near future.
2 Comments
Luke,
Attempting to describe “open source” vs. “commercial” software is a common mistake many people make. For starters, code that is “open” can certainly be sold commercially. In other words, the terms are not at odds with each other. By using this comparison when attempting to describe a piece of software, we end up implying that the only distinguishing quality of a particular group of bits is the final sticker price. As a brilliant programmer and long time sys-admin, you of all people know that this is the furthest thing from the truth. Also, by using words like “open” and “closed” to describe software, we essentially promote the agenda of the Open Source community which has all but abandoned the fundamental principles involving software freedoms 0-3 in favor of the pragmatic side-effects that usually can (and are) achieved as a result of those freedoms. In other words, it is foolish to value the functionality and/or perceived security of a piece of software over the freedoms to modify the software in order to improve either aspect. The former celebrates something static that is mostly based on perception while the latter celebrates endless potential.
A far better approach would be to just avoid all the market created terminology and simply stick to distinguishing software based on the freedoms provided by the license. The free software community achieves this by simply identifying software as either “free” or “non-free”. This of course, has nothing to do with the commercial feasibility of the software. The description simply calls attention to the most important qualities a particular piece of software offers to its user base; the freedom (or not) to use for any purpose, modify, and/or redistribute.
http://www.gnu.org/philosophy/open-source-misses-the-point.html
Many thanks ,
A puppet user who values Free Software and its community.
Hi,
I’m personally still struggling with how to describe the different ways of distributing what will eventually be a completely free version of Puppet and a non-free version, but the reality is that marketing has a real purpose, which is to help us describe what we’re doing in terms the audience understands. This often entails us being forced to use terms that we’re unhappy with (like CMDB) but that our audience knows and likes.
At this point the whole open source/free thing has gotten silly. I had Richard Stallman yell at me in an ice cream shop because I personally don’t care about this political fight so I used the term he doesn’t like, even though I was trying to say I supported his work.
I’m just trying to build a business producing great software, and the reality is that engineers are bloody expensive, and it’s tough to build a great business producing great software without somehow paying your engineers. I expect I’ll continue to make mistakes and struggle through what to do, what to call it, and how to make money until the heat death of the universe, or at least my own expiration.