Let’s look at a few community-oriented tools and how they’re licensed.
Ola Hallengren’s License: Free as in Speech
Ola’s license is short and to the point: the code is free as in speech.
Can I edit the scripts? Yes, but according to the copyright, you have to include Ola’s copyright in your copies. That’s a tough one to enforce, but what Ola’s getting at is just giving him proper credit.
Who can use the scripts? Anyone.
Can I give away or sell the scripts? Yes. For example, I know third party application vendors that bundle a modified version of Ola’s scripts in with their software, and they don’t have to pay him a cent.
How does Ola make money from these? He doesn’t directly, but the scripts could further his reputation and get him hired for services. For example, some of my ISV clients have offered to pay Ola to implement improvements to his scripts. He also has some banner ads along the side of his site, but these won’t pay the rent – he still has to have a day job.
Brent Ozar Unlimited’s License: Free as in Speech
Like Ola, we license our stuff with the MIT license, which means:
Can I edit the scripts? Yes. That does come with some risks for us. For example, a consulting company took sp_Blitz®, removed all the references to Brent Ozar Unlimited®, and passed the script off as their own to their clients. Another story: a DBA made a bunch of tweaks, deployed it to all their servers, moved on to another company, and then guess who got emails screaming about how buggy the scripts were?
Who can use the scripts? Anyone. Consultants and software vendor staff tell me all the time about how sp_Blitz®, sp_BlitzCache®, sp_BlitzIndex®, and all that stuff make their life way easier, and that’s totally awesome.
Can I give away or sell the scripts? Yep.
How does Brent Ozar Unlimited® make money from these? From using them ourselves in our own consulting work. These tools weren’t out there, so we had to build ’em anyway – might as well open source ’em. Plus, there’s a long bet in marketing: by distributing free tools to make SQL Server administration easier, people start thinking of Brent Ozar Unlimited® when they run into a problem they can’t figure out how to solve with quick, free tools.
Adam Machanic’s sp_WhoIsActive License: Free as in Beer
This isn’t a standard license, but it’s short:
Who is Active? is free to download and use for personal, educational, and internal corporate purposes, provided that this header is preserved. Redistribution or sale of Who is Active?, in whole or in part, is prohibited without the author’s express written consent.
Can I edit the scripts? That’s not clear in the license.
Who can use the scripts? Anyone for their own “personal, educational, and internal corporate purposes.” If you’re a consultant or software provider, and you distribute this script to others, you’re violating the license. This means you aren’t supposed to be installing it on other people’s servers.
Can I give away or sell the scripts? No, that is clearly prohibited in the license.
How does Adam make money from these? He doesn’t directly, but like Ola, this script could be used to build his reputation for training or consulting purposes. He could also sell training classes on how to use sp_WhoIsActive, because this thing has a ton of documentation and cool uses.
Glenn Berry’s Diagnostic Scripts License: Free as in Beer
This is also a non-standard license, but easy enough to decipher:
–* Copyright (C) 2018 Glenn Berry, SQLskills.com
–* All rights reserved.
–* For more scripts and sample code, check out
–* You may alter this code for your own *non-commercial* purposes. You may
–* republish altered code as long as you include this copyright and give due credit.
–* THIS CODE AND INFORMATION ARE PROVIDED “AS IS” WITHOUT WARRANTY OF
–* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
–* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
–* PARTICULAR PURPOSE.
Can I edit the scripts? Yes, but only for non-commercial purposes. That’s rather interesting because it means if you’re a consultant or contractor, you can use the scripts, but you can’t edit them. One could argue that if you’re using them at a company, you’re using them commercially, but that’s clearly not Glenn’s intent. (This is the catch with writing your own license when you’re not a lawyer.)
Who can use the scripts? Anyone.
Can I give away or sell the scripts? Yes, but only if you alter the code, and you’re not doing it commercially (whatever that means.) Strangely, the license doesn’t grant permissions to publish the original code – only altered code. Glenn would rather people not share it directly.
How does Glenn make money from these? Like the Brent Ozar Unlimited approach, he uses these scripts in his consulting and training, so they make money both actively plus long term as a marketing bet.
Each of these licenses makes sense in its own way.
If you’re not trying to make any money at all, you can give away everything, no strings attached.
If you’re trying to make money off a brand, you can give things away, but you have to put limits on them to make sure that other people don’t abuse them.
If you’re trying to make money off the software itself, then you can’t give anything away, and you can put a lot of restrictions on how the software is used. (That’s more along the lines of how traditional paid software works.)
It’s your job as a consumer to understand the licenses of the tools you’re trying to use. It’s painful, I know – and it gets even worse when you’re a consultant. You have to be careful about modifying and distributing the code of others onto your clients’ machines, let alone putting it into any kind of downloadable product.
Good words out there.. I use your/ Ola’s and Adams script in our enterprise environment and trust me haven’t changed a code except variables:). you guys rock.
Informative post. Where would you draw the line on “create any derivative works or other works that are based on or derived from the Software in whole or in part?” Say someone wants to implement sp_BlitzRS differently, perhaps by making the SSRS database name a custom parameter (this is just an example off the top of my head, not something I’d be terribly interested in personally). Because the license obviously doesn’t permit editing the stored procedure, they decide to rewrite it from scratch. Although independently written, there will inevitably there will be some similarity between both implementations, since the objectives are similar. Would you say this violates the letter or spirit of the EULA?
James – I’d totally leave that to the legal professionals, but I’ll explain how things work for most software vendors. When you work for companies like Dell, Idera, SQL Sentry, etc, you’re generally forbidden by company policies from downloading and examining your competitors’ software. This keeps you from getting into trouble if someone says your code is eerily similar to someone else’s.
Thanks Brent. It’s not a simple question, I know. It’s good to get insight into the sorts of concerns someone in your position has.
Has this changed with the posting of your code on Github?
@rsterbal – yeah, great question! The code is now licensed under the MIT License, so it’s free as in speech AND beer. Yay, free speech about beer!