sp_whoisactive: The License

Home ... Documentation ... Downloads
Prior: Design Philosophy .... Next: Installing sp_whoisactive

IMPORTANT NOTE: As of July 28, 2019, the information in this page is no longer valid. sp_whoisactive now uses GPLv3. You can find the new license here.

I regularly get questions from people about the Who is Active license. The bottom line is that Who is Active is free for most users. But it’s important to clarify which users are not entitled to use it.

Here’s the license text, taken directly from the header of the stored procedure:

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.

The goal of the license is to enable pretty much anyone to download and use the stored procedure, unless you’re using it to make money. This is not the same as using the stored procedure as part of the job for which you’re paid. So if you’re a DBA supporting your company’s database servers, download and enjoy. If you’re a developer working on a database-backed application—either for your company or even for resale—and you want to monitor the database using Who is Active, download and enjoy. If you’re interested in learning about SQL Server’s internal behaviors at home or at school, download and enjoy. Even if you’re a third-party consultant helping a customer, download and enjoy (and please, tell your customer that you’ve installed in on their system, so that they can use it going forward).

What you’re not allowed to do is send or deploy the stored procedure to anyone else outside of your company (client, if you're a consultant), school, or home. Obviously (I hope) the goal here is not to stop you from forwarding the procedure to your friend working as a DBA for some other company. It's not my intention to stop that from happening, and even if it were my goal it's not like I could enforce things on such a granular level. But in that case it would probably be better to link your friend to the download page instead, so that she can be sure to download the most recent version.

There are two groups in particular that were on my mind as I wrote the license: remote DBA services companies, and companies that create monitoring tools.

Let’s start with monitoring tools companies. If you’re writing a monitoring tool, and the tool will use Who is Active to collect data, you’re going to have to distribute the procedure with your tool in some fashion. This is explicitly disallowed without my consent. So far I’ve authorized two outside parties, both for creation of free tools only, to leverage Who is Active as part of their work. Neither has the right to distribute it.

Next let’s consider remote DBA companies. Having worked for one of these, I know firsthand that part of the equation is selling the great monitoring that your company provides. As a matter of fact, remote DBA companies are probably a complete subset of monitoring tools companies—all of the good ones create and use their own tools. And the same rules apply: if you’re using Who is Active as part of your remote monitoring solution, you must be distributing it to your customers, and this means that you’re in violation of the license. I have currently not authorized any remote DBA companies to use Who is Active as part of their solution.

The reasoning behind these rules is quite simple: Who is Active is my creation and I have put several hundred hours of work into it. If it’s being used in a tool that you're distributing I need to understand who you are, what you’re doing, and why. And if you’re leveraging my work to make money, I think it's only fair that I get a cut.

I hope that this clarifies any questions about the license going forward. If I’ve missed something, or if you’re aware of some violation of the license, please drop me a line—my e-mail address is in the header of the stored procedure along with the license text.


Prior: Design Philosophy .... Next: Installing sp_whoisactive
(C) 2017 Adam Machanic