Click here to monitor SSC

Tony Davis is an Editor with Red Gate Software, based in Cambridge (UK), specializing in databases, and especially SQL Server. He edits articles and writes editorials for both the Simple-talk.com and SQLServerCentral.com websites and newsletters, with a combined audience of over 1.5 million subscribers. You can sample his short-form writing at either his Simple-Talk.com blog or his SQLServerCentral.com author page. As the editor behind most of the SQL Server books published by Red Gate, he spends much of his time helping others express what they know about SQL Server. He is also the lead author of the book, SQL Server Transaction Log Management. In his spare time, he enjoys running, football, contemporary fiction and real ale.

Why use a hammer when you already have a rock?

Published 15 March 2013 12:34 pm

Is it ethically “sound” to invite people to pay money for a tool when there is a documented, validated and free alternative? This debate came up on Red Gate’s private forums this week after one of the developers wrote, in a state of high enthusiasm,

“How awesome is SQL Index Manager! It’s reduced my DB from 60 GB to 30 GB just by rebuilding the fragmented indexes. Why is this not our best-selling tool?”

The obvious answer is that any cursory search will reveal free T-SQL (or PowerShell) scripts to defragment indexes, and plenty of good advice on how to use them. Typically, such scripts will interrogate Dynamic Management Views to retrieve the necessary metadata for each index in the database, and then rebuild them if they exceed a specific threshold value for the degree of fragmentation. One can then create an agent job to run the script regularly.

SQL Index Manager is simple tool. It doesn’t do anything especially “clever” under the covers, but it does offer a nice graphical depiction of your indexes, their sizes and their fragmentation state, recommendations on the required action (rebuild or reorganize) and a very easy push-button way to do it. Most production DBAs would not need it, because it merely provides a nice GUI to encapsulate existing “domain knowledge”. However, there seem to be plenty of others who like a tool like this simply because it saves time and hassle. If you cost out your time as an accountant would, then an hour or so spent learning how to use a free script is the expensive option.

The forum debate progressed, however, to the question of whether it was even right to sell a product that a user might not otherwise buy if “fully informed” of free alternatives that were at least as capable. Surely there is the worry that a customer might resent it later when, more experienced and surer of their abilities, they feel the vendor was reticent about the possible, free alternatives. This can only be bad for ‘customer retention’.

It is a good point, and Red Gate has, via its various books and websites, done its best to build a reputation for publishing information about free ways of performing SQL Server tasks such as index maintenance, monitoring, deploying databases or taking backups, alongside information about what our tools can do to solve these problems. We also like to support free solutions, such as Ola Hallengren’s scripts. If you choose to buy software tools, it is much better that it is an informed choice, based on the extra value of the tool.

Perhaps we’re being too geeky. After all, most office tools are merely a convenience, and the technology is always there to do it for free. Hence one of the best unintentionally funny lines from Hollywood:

“This is in real time?”

“I’ll create a GUI interface using Visual Basic to see if I can track down the killer’s IP address.” (CSI)

16 Responses to “Why use a hammer when you already have a rock?”

  1. Sergio E. says:

    All factors must be well balanced, so when I’m called to recommend solutions (internally for my company or externally for a customer), the first step is to define the real need, the final user and if possible the max budget allowed.

    The second step is the investigation of the solution and as usual, everyone wish to have the best solution al $0, but if the best solution is a priced one, that will be my first option (unless it exceeds the max budget), if there are two or more options and they are at the same level, then the free is the one I will choose.

    In the specific case of your tool, the price isn’t too high (your competitor costs 10 times more), but as you point in your article, there are so many scripts on the web that do the same job that for small companies can feel it a little pricy due the databases that they use usually aren’t so big that can’t be managed with the free scripts.

    My final thinking is:
    1.- Develop software has a cost, (in time and money), so don’t dismiss a tool only because it isn’t free.
    2.- My thanks for all developers whom donate these cost making a great tool free
    3.- My thanks for all developers whom put an affordable price for their great tools, doing it affordable even for individuals or small companies
    4.- My best wishes to all companies that want to recover all the development costs with a very few clients

    Greetings from Mexico,
    Sergio E.

  2. pcousins says:

    Although I already use Ola Hallengren’s scripts, I thought this would be a useful addition to my toolset. Looked at the details of SQL Index Manager, and yes it looks it might come in handy. Great, I’ll download it as it will be covered by my Redgate SQL Toolbelt subscription…..oh hang on, it’s not!! Crestfallen :(

  3. BuggyFunBunny says:

    There is a perverse meme growing in organizations: we won’t spend money on anything staff IT-ish (even if IT is our core competency, e.g. financial services), yet never recognize that we’ve lost all control over our destiny. All business comes to look like retail: little value add to a legion of bought in widgets. What a way to run a railroad.

  4. Lee Dise says:

    Tony, you pose an ethics question here, and that presents us with the proverbial can of crawling things. Got the can-opener right here… ;)

    The ancient Greeks, or certain of them, believed in some form of Absolute Good, though in their discussions it always assumed an abstract form; Judeo-Christian tradition personalizes it as the unchanging, eternal will of the Lord God.

    But there are many who disbelieve in transcendent power or any reality that cannot be observed in a test tube, but that does not stop them from invoking ethical truisms — they argue from a different direction, that our ethical sentiments could simply be our animal instinct to survive, refined to a high degree based on our social nature. It should be clear, however, that they are talking about something essentially different: Absolute ethics demand that we serve the Good, whereas the ethics of biology are here to serve us. (Absolutists would argue that by serving the Good, it also serves us, but the question is which comes first.)

    There is yet a third take on the subject, that (to borrow a phrase from my brothers across the pond) all talk of ethics is a bunch of bollocks. We call these folks Harvard MBAs and Georgetown lawyers. Just kidding.

    What strikes me is that all three camps will speak ethics with the same passion whenever it concerns them. I like the yarn about the young lawyer arguing his case for a substantial raise in his salary with his boss. It goes like this: “I deserve a raise because I get all the tough cases and win them all. When you have a drunk driver’s case, I get the scoundrel off scot-free. Embezzlers? I always find a loophole. Murderers and rapists? I always find a procedural error committed by the police. Frauds? I get the jury so confused they have no choice but to acquit. I deserve a raise.”

    And the punch line: “I only want what’s fair.”

    But one thing unites the two positive views of ethics, both Absolute and subordinate: all ethics are based on relationships. (In a universe of One, could there be any morality?) That which fosters trusting relationships generally work out better for all. A vendor who sells stuff that can easily be obtained for free may sell a few odds and ends to an unsophisticated buyer; problem is, unsophisticated buyers become sophisticated in short order and may grow to resent being taken for a sucker. I think a wise vendor will at least take the trouble to add some value, e.g., a better interface, better documentation, continued support.

    Capitalism shows us how to channel human greed into productive behavior: man does for man out of concern for himself. For the unethical man, that’s the best we can hope for. But we aren’t required to keep our sensibilities focused on this ethical “least common denominator” — entrepreneurs can embrace doing for others as a positive thing, whether justified by naturalistic-ethical reciprocity, Buddhist karma, or Judeo-Christian casting bread on the water. Do unto others as you would have others do unto you.

  5. Keith Rowley says:

    Caveat emptor ~ Buyer Beware. The seller should try not to cheat people by just re-packaging something they could otherwise get for free or selling a product that will not really help them, but in the end it is the buyer who needs to research options when buying something.

  6. cfischer says:

    I have no problem with selling value-add tools. There are commandline people and there are GUI people. SQL Index Manager does enough more than the stock tool to warrant its existence. No ethical dilemma for me.

  7. Ron Dameron says:

    Tony,

    I can think of a few DBAs where SQL Index Manager would be of use. I could use SQL Index Manager to prove to my DBA teams that Ola’s script really do work. #facepalm

    On another note, the IP address for the world’s most dangerous hacker according to the show “NCIS”. LOL.
    http://i.imgur.com/lkq1hns.jpg

  8. jerryhung says:

    Linux is free and Windows is not but we don’t always use Linux because of the convenience and value-added by Windows (yes, I said it, for Windows 7 at least)

    Anyone buying software should research & due diligence anyway. SQL Prompt has some free competitors but I still love SQL Prompt the best

    SSMS Tools Pack & Ola’s scripts are the 2 BEST SQL tools I have seen thus far, and hope they stay that way (SSMS starts charging for SQL 2012)

    Red Gate’s tools are awesome, but often they are not price friendly for multiple servers (like 50+)

  9. Solomon Rutzky says:

    I think it is great that people are concerned how their actions affect others and whether or not they are taking advantage of people, even if there is profit in it. If an action is a simple one-line command and you know that and build a tool that makes it appear more complicated and sell it for $1000, that would be unethical. However, I don’t really see this specific situation as being an ethical question; it is more of an economic one. If the functionality is that easy to accomplish without the tool (i.e. there is no real value in the tool) then even if a good number of people do not know that in the beginning, word gets around in forums, etc and the potential customer base will shrink most likely below what would make it profitable to develop and market the tool. And you would likely also hurt your reputation / brand.

    Whether or not there is value in the product will be determined by whether or not people continue to purchase / use the product. It is presumptuous for someone to assume that there is no value in a product based merely on their own experience, even if it simplifies an already moderately easy task. There are many factors that go into why someone might find value in this specific product. Some people simply comprehend information better when it is visualized rather than being a set of numbers. Some people might want the time-savings of not having to run several commands or scripts in order to find a problem and fix it, even if they have an automated process for index maintenance.

    And what does “fully informed” really mean? While it should be relatively easy for any SQL Server professional to learn how to do index maintenance, there is a cost associated in learning it (and or anything else). There are so many aspects to SQL Server, not to mention Reporting Services, Analysis Services, Service Broker, Replication, Clustering, etc, etc, but only so much time in the day, everyone has to pick and choose their battles as there will never be enough time to learn it all. Everyone has to prioritize what they have time to learn and do. For some people, maybe the time it takes (even if not all that much) to learn about this topic and write scripts or find a good set to download and put into place might not be worth that amount of time being taken away from a more important task.

    This debate / discussion sounds very similar to the UNIX vs Windows debate. One of the “issues” with Windows was that you could accomplish most of the GUI actions via command-line in UNIX. Sure, just read the man page for ls to find the switches you need but it’s all there and quite powerful. Although configuring a printer (at least back in the 90s) might take a CS degree ;-) . And what about Windows vs Mac? Doing X in Windows is only a few clicks so if it is just 1 click on a Mac does that justify the higher cost of a Mac? Yes, I know I am over-simplifying a bit here as there are hardware and other differences, but some people do see Mac as being a convenience and are willing to pay for it. And this is not an issue of a non-computer person not having the time or desire to get fully-informed (unlike the SQL Server professional who maybe should know how to do index maintenance); I know at least a few .Net developers who prefer Mac for certain conveniences and are yet fully capable of accomplishing what they need to on Windows.

    What about the Oracle (or DB2 or ??) DBA is told they need to now work with SQL Server because their company just: a) merged with another that has SQL Server, and/or b) purchased a 3rd-party tool that requires SQL Server? This happens quite often, I suspect. And what about the system admin who works in a small company with no DBA but they have SQL Server for something and this person is handed the task of making it work, just like so many sys admins were in charge of creating web-sites in the early days of the web because nobody knew anything about it and this person was unlucky enough to have just installed the web server software.

    If not enough people purchase the tool then maybe it should not have been done (or maybe marketed better, but still), otherwise it fits a need even if some people would never need it.

    I can’t think of too many cases where it is an ethical question of whether or not to sell a particular software. There are, of course, some tools that do things that probably should not be done and only someone who is well-enough informed would know. But whether or not the vendor knew that it should not be done is uncertain and it could be more a case of ignorance than impropriety.

    Take care,
    Solomon…

  10. BuggyFunBunny says:

    Well, it isn’t always that consumers opt for Windows over linux (or BSD or …) due to preference. MS killed off linux powered netbooks (remember them), which were what they were designed to be, by extorting Intel/AMD. They’re attempting, and may well get away with it, to kill off linux finally with UEFI. The best product, price immaterial, doesn’t always win, because the market isn’t really free.

    And linux isn’t really free, either. IBM, among others, supports developers/maintainers on staff. It isn’t the product of a bunch of non-bathing teenagers in drafty garrets.

    Much of what runs on linux machines, Oracle for one, is fully closed. And PostgreSQL, a near equivalent to Oracle and open source (free, one might say), does too.

  11. paschott says:

    I don’t really see the problem here. For shops without a DBA or with “accidental” DBA’s, tools that show what’s going on and walk them through something are worth the money. That saves them time ramping up on understanding what’s going on and avoids the risk of running a script someone put out there on the internet (what could possibly go wrong?). As someone mentioned above, it’s up to the buyer to do a little research before settling on a tool, but if they buy a tool and like it because it works for them, that’s great. Ideally, these people will grow over time to realize what’s good or bad about the tool.

    Of course, I remember a fun time trying to get some PGP software. I couldn’t use GnuPG because it was open source (?) and after finally finding a command line PGP app, I then had to get bids from 2 competitors (none existed). After several months of going back and forth trying to explain that this over-priced software was the only commercial app available at the time, the person stating that we had to use commercial software found GnuPG. :) It worked out well for us.

  12. Nick McDermaid says:

    If you don’t know that you can reproduce a tools functionality with your own custom app, then clearly the app is of value because you are a very long way from building it yourself.

  13. DoingWhatEyeDo says:

    It’s perfectly ok to charge for it. Maybe when they are more experienced they will regret paying for it but the point is right now they aren’t more experienced. They are on the road to getting that experience and anything that makes something easier and sometimes is just quick and gets the job done and I’ll never mess with it again, is ok in my book.

  14. ASdanz says:

    As they say, “Time is Money!”. I always have to evaluate the cost-benefit of buy vs. build. The nature of business is to provide a product or service that solves a problem for the customer at a lower cost, or in a shorter amount of time than could be done with what is currently available. I don’t see it as an ethical dilemma. Caveat Emptor!

  15. Timothy A Wiseman says:

    There can be great value in even small improvements. I think it would be nice for a vendor to highlight free alternatives, but I am always open to them then telling me why their option is better and worth the money, and ease of use is certainly a big factor.

    I recently wrote an about using open source solutions to protect SQL Server backups, but even in the article I highlight that there are properiety solutions as well. The proprietary solutions, like SQL Backup Pro, to the same problem which have some advantages over the open source answers. I have used both the proprietary and open source solutions at different times, depending on the exact needs, including budget, of the project.

    Similarly, I am a huge advocate for Python which is free, and use it extensively. But I also make use of Visual Studio Professional, which is not free, for other projects. While I love Python, VS is better for some projects and well worth the moeny.

    I have no problem at all paying for something even when there is a free alternative available as long as the paid-for version is worth it.

  16. slaphead99 says:

    My answer- yes, it is completely ethical. What people actually pay for is *support*. ;)

    No prizes for guessing where I work :)

Leave a Reply