We give away sp_Blitz™, a totally free health check tool for Microsoft SQL Server. It looks for all kinds of common reliability and performance problems and gives you a prioritized to-do list.
The number one question I get about it – by far – is, “Why do you give it away for free? Why don’t you charge for it?”
Free Beer vs Free Speech
We need to start by considering the word free. In the software world, there’s two ways to look at it. The Wikipedia article on Gratis versus Libre sums it up well:
Gratis versus libre is the distinction between two meanings of the English adjective “free”; namely, “for zero price” (gratis) and “with little or no restriction” (libre). The ambiguity of “free” can cause issues where the distinction is important, as it often is in dealing with laws concerning the use of information, such as copyright and patents.
I can give you a free beer once, or perhaps many times. However, you may not get the recipe to my beer, and I may decide at any time that I no longer want to give it away.
sp_Blitz™ is Free Beer
We’ve copyrighted and trademarked sp_Blitz™ because we want to maintain ownership of it and protect the work we’ve put into it.
Nightmare scenario: a software tool vendor sees sp_Blitz™ and says, “Wow, this is awesome! We’re going to integrate this into our own tool so that it displays the sp_Blitz™ results, and we’ll say POWERED BY THE BLITZ on it so people will know it’s good. Except we’re going to change sp_Blitz™ a little – we’re going to take out some of the checks, and we’re going to add a few dubious ones, and we’re going to take out all of the references to BrentOzar.com.” Ouch. Not cool.
Gray area scenario: a blogger sees sp_Blitz™, likes it, and decides to put a copy of it on their site for free download for their readers. It starts getting search engine traffic, and next thing you know, people are clicking on that link, downloading their version, and not understanding that it’s really old. Maybe it’s got an ugly bug that causes problems. (Hey, who are we kidding – it’s mostly my code, so it very definitely has bugs.) We have no idea that someone else is hosting an old version, and it’s doing more harm than good.
This might sound far-fetched, but I know another blogger who’s experienced this exact problem. He wrote a web site with a lot of good educational content about SQL Server, and then he sold the web site. The buyer runs ads on the site, making money off it, but can’t be bothered to update the content. As a result, some of the advice on the site is now just plain wrong, and it’s spreading bad knowledge amongst new DBAs who don’t know about the site’s new ownership.
To protect ourselves – and by “ourselves” I mean those of us who work with SQL Server – we copyrighted and trademarked sp_Blitz™. We don’t allow other sites to distribute sp_Blitz™ because we don’t want to worry about a dozen different versions scattered all over the Intertubes. (This also explains the continuous ™ marks all over the place – the lawyers make me use that whenever I mention sp_Blitz™. Never thought I’d memorize the keyboard shortcut for that – on the Mac, it’s alt-2.)
But Why Give Away sp_Blitz™?
I don’t want to get paid to solve easy problems. I don’t want a client to schedule us in advance, get all excited, and then have us find out in the first five minutes that they’ve got auto_shrink turned on and it’s killing their performance. Sure, it feels good to get an easy win, but … that’s not really fair.
Nobody should have to suffer through poor performance just because somebody accidentally turned on a switch they didn’t understand. I want everyone to be able to run sp_Blitz™ and find out if their fly is unzipped without having to call a consultant. Heck, I wish SQL Server Management Studio ran sp_Blitz™ on a server every time it connected, and then showed big flashing red lights for dumb stuff like auto_shrink.
We give it away because we want people to find the easy problems on their own. We want them to look at the results, see our links to our site for friendly, helpful explanations of common problems. We want you to watch our free training videos explaining how to fix those common, easy pain points.
Then, down the road, when you run into a really challenging problem – something that really does require a Microsoft Certified Master or an MVP to solve – then you’ll call us. You’ll already know how we identify problems and give easy solutions, and you’ll trust us with your SQL Servers because you’re already relying on our scripts. You won’t email me today or tomorrow, or maybe not even this year, but this isn’t a short-term bet. I’m very bullish on the community for the long term.
And it works – you’d be surprised how often I hear, “We’re having performance problems, and we’ve fixed the obvious stuff from sp_Blitz™, but now we need something deeper.” Giving easy fixes away for free brings in consulting business. However, if I charged anything for sp_Blitz™ – even just $1 – it wouldn’t get word-of-mouth advertising.
It’s tempting to look at the download numbers (approaching 20k) and think, “If I just charged $5 per download, I’d have $100k, and I could buy that Porsche 911 I’ve always wanted.” Not so – by charging for it, I instantly change the game. People expect support for paid software. People rarely offer to contribute code for paid software. People complain about paid software. I don’t like complaints.
Besides, if I give it away for free, it doesn’t take a lot of consulting engagements to pay off $100k. I see sp_Blitz™ as kinda like a sponsored charity: companies pay me to improve sp_Blitz™ for the public. The more I improve it, the more companies pay me, and the more I can improve it again. It’s a wonderful cycle, and that’s also why I copyrighted and trademarked it: I have to protect that cycle. As long as I can nourish and grow sp_Blitz™ for the public, it’ll continue to pay for itself.
Could sp_Blitz™ Be Open Sourced?
To make that cycle work, companies have to contact me for consulting work once they’ve exhausted sp_Blitz™’s answers. To encourage that, sp_Blitz™ includes more-details links that point back to educational pages on BrentOzar.com. DBAs see those links, read the content, and say to themselves, “When we’re in trouble, I’m going to call these people first.”
To maximize my chances of making that work, I want to maintain control of the more-info links in sp_Blitz™. I prefer that they to point back to BrentOzar.com, not Books Online. We looked at putting it into Github so anybody could check in improvements, but then they could fork the repository and make their own version without giving us any credit. In a perfect world, I’d let anybody contribute to the project quickly and easily (while still protecting our rights). I’m not sure how to get there from here, but I keep looking to see if I can find a way.