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.
Adam Machanic’s sp_WhoIsActive License: Free as in Beer
The license is a little bigger, but it’s still small enough to fit in the header of sp_WhoIsActive.
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.
Brent Ozar Unlimited’s License: Free as in Beer
While Ola and Adam’s are purely community scripts – done for free and given away – things get a little trickier here. The Brent Ozar Unlimited EULA governs scripts given away for free, but with catches. I’ll boil down the main points:
Can I edit the scripts? No. Perfect example of why: 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, but you can’t distribute the scripts. That means you can’t deploy the scripts on servers you don’t own. Get the server owners to install them for you. (Hey, nobody really wants surprise software installed on their servers.) Consultants 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? No. The only place to get them is from BrentOzar.com’s download page.
How does Brent Ozar Unlimited® make money from these? It’s a long bet: 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.
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.