I want to conclude this series of columns, in which I’ve written about marketing, pricing, and sales, with a discussion of what might be the most difficult aspect of running an open source business: getting paid.
It might seem unnecessary to talk about getting paid in the context of running a business, but the word "free" in the term "free and open source software" can create a sort of cognitive dissonance for some people. In addition to receiving code under a free license, more than a few people will also expect you to help them--for no cost--with any problems they may have, train them on the use of the software, write code for any features that they need, even buy them dinner and give them a place to crash for a few weeks.
I joke that a lot of what I know about business I learned from dating in high school. Like many geeks, I wasn't exactly smooth with the ladies. Rather than just come out and say I was interested in someone, I would often find excuses to spend time with her, get to know her better, and only then would I ask her out on a date. Quite frequently, all that effort would earn me the dreaded "let's just be friends" response.
My social prospects improved, however, when I was more direct. If I wanted to ask a girl out on a date, I made sure she understood that I was asking her out on a "date"--not just hanging out together, not "just friends" but a "date." While that didn't suddenly turn me into Justin Timberlake (or, back then, Rick Springfield), it did, at a minimum, save a lot of time.
How does this apply to an open source business? It is very important that--from the beginning--you make sure that your clients understand your relationship, that they understand you’re running an open source business, not an open source charity, and that you expect to be paid for your work.
This can be a bit difficult for those who follow The Open Source Way. After all, at the heart of open source is this idea of a gift economy, and so people are naturally inclined to give things away. But a business needs revenue to survive, and if you have a client who doesn't understand that, then you need to make them understand it. That, or stop having them as a client.
Even if you have a good relationship with your customers, you will still have to come to grips with payment terms. For many of us, a financial transaction is pretty straightforward: you go to the store, obtain an item, and pay for it on the spot.
In the business world, most payments are delayed. The most common payment terms are "Net 30"--the balance of any payments will be paid thirty days after the invoice is received. When you actually get paid can vary greatly, and quite frequently, "Net 30" means "we'll think about paying you in thirty days."
For example, let's say that a particular company pays invoices every Friday. You send them an invoice with Net 30 terms, and it turns out that the thirty days are up on a Saturday. Chances are that your invoice will not be processed until the following Friday, since it wasn't "due" in time for the weekly check run. The check will be mailed that Saturday, and you might not get it until Wednesday. You deposit it on Thursday, and then there’s often a three-business-day delay before you have access to those funds--that’s sixteen days after payment was due, and forty-six days after you sent the invoice.
Note that the example above is a relative best case scenario. A lot of things can go wrong--invoices can go missing, or there can be issues with getting an invoice approved--and, in the meantime, your business has to cover any costs associated with that work (e.g., salaries, cost of goods sold, expenses). This "cash flow"--the amount of money coming in versus the amount of money going out--is the lifeblood of any business. Healthy cash flow means a business can survive. Issues with cash flow can hobble, or even kill a company no matter how good its products.
The seed of this column was planted a few months ago, when I saw a video titled "(bleep) You, Pay Me." It is of Mike Monteiro, co-founder of Mule Design Studio, from a CreativeMornings talk that he gave in San Francisco.
Monteiro took his title from the gangster movie "Goodfellas," and while extreme, it does drive home the point that if you do the work, you should expect to be paid for it. While Mule Design is not an open source company, it is a services company (as are most open source businesses), and Monteiro offers some good advice. (Note that a certain expletive is used a number of times, so you might want to skip the video if you find profanity offensive.)
Open source software is professional software, even if it isn't proprietary. When someone hires my company to make a new feature, they have certain expectations about the quality of our work and when it will be completed. I have expectations about getting paid for that same work. The better those expectations are defined, the happier your client relationship will be.
The Open Source Way is still very much about sharing and a gift economy. I don't get paid to write these columns, but I do get a certain amount of satisfaction in sharing my experiences. If they help just one person start or maintain an open source business, then, in the future, I might get to use some cool software for free. If I can help someone today, then maybe they can help me tomorrow.
Sometimes it’s okay to just be friends.
At OpenNMS, our mission statement is "Help Customers. Have Fun. Make Money." Do the first two, and the money should come. But be upfront and don't be afraid to ask for it.