Why do people spend so much time searching for, and hacking around with, “free” toolsets when superior pay ones are available? [closed]

StackOverflow https://stackoverflow.com/questions/3451451

  •  27-09-2019
  •  | 
  •  

Question

Clarification: I'm referring to companies that pay developers, professionally. I understand why a "hobby" or "for fun" developer wouldn't want to (or couldn't afford) a fully-features pay tool, and may prefer to tinker. I'm talking about situations where a deadline is bearing down on a developer/company and development time is diverted away from the goal in pursuit of a "Free" tool to accomplish what a pay one is available to do.


I've noticed a number of Stack Overflow questions recently (they're not new, I've just recently taken notice) where people are searching for free alternatives to popular development tools for things like ALM, database comparison, and other functions for which there's a trivially costly pay alternative. The "Free" tag on Stack Overflow has 350 questions, and it doesn't take long to see dozens of examples of "Is there a FREE tool to do X?" followed by discussions that must have taken the asker hours to research and participate in.

It's not just about paying less - I'm often amazed at the hoops that some developers (or, perhaps more accurately, their companies) will go through to avoid paying for something - in some cases, a pay solution will be avoided in favor of a poorly documented, buggy, feature-incomplete open-source solution that results in dozens of hours of work that could have been avoided.

I understand the most obvious reasons:

  • Company is short on cash
  • Don't pay for something when a (functionally-comparable) free alternative is available
  • "Hobby" developers don't have the cash to spare, and since they're just learning, it doesn't make sense to pay for a toolset they're only tinkering with

However, I think the "short on cash" reasoning is completely bogus - as a developer not long out of college, I made about $50K annually, or $200/day (meaning my company probably paid close to $300/day to have me in my chair, all considered). When you compare that price to a $300 tool, the obvious answer is "if it's going to waste more than a day of your time, you should buy it instead and get back to work". However, that's not what I observe - people seem willing to kill dozens of hours to avoid paying for something that only costs $50.

Help me understand - as a developer myself of tools I'd like to one day sell, I want to understand the mentality. Have I been spoiled by working at a company that's not afraid to spend? Is there an ingrained reason developers (or their companies) don't want to spend money? Can people not accurately estimate the costs of "Free" tools in terms of lost productivity?


I'm not referring to instances where a great free alternative is available. For example, any of these tools is a great example of something you shouldn't pay for. However, let's say one of those lacks a key feature you need, and which a pay version of the same library provides - people seem to lean towards hacking around with the free version to add the needed functionality (or scaffold in the needed functionality) instead of ditching the free tool in favor of the pay (and feature-complete) version. I'm not saying that's the wrong choice, but it's just a choice I want to understand the reasoning to. The important point is that I'd like to - my intent is not to be argumentative.

Was it helpful?

Solution

What you're not considering are Dependencies and Partnerships.

It's great when companies announce "Partnerships", their marketing and legal teams spend ages wording contracts and press briefings that basically announce "We're now joined at the hip!".

What you may not realise, is that every time you choose to use a 3rd party tool you are tying yourself to that company, unlike a partnership the dependancy only goes one way (like the Marketing and Legal blurb).
What happens if they decide to cancel the product?
Or they change how it works, and suddenly it's not compatible with how you are using it?
Or they double their yearly developer licence?

Here we use lots of open source tools, while there is only "community level support" and the ramp up time may be longer than for an off the shelf tool, we consider that worth the price we're paying.

We are part of that community. If a version is released that breaks our software, we have choices, we can continue with the version we're using, and choose to maintain that version our selves. Or we can participate in the project and patch the code so it will continue to work for us.

If the open source project falls by the way side, we're still left with access to the source code, so we can continue to build and maintain that too if we wish.

We believe going open source gives us far more freedom than tying ourselves to other companies, who can (and do) change their pricing policies.

Cost-per-developer next year could be twice what it is this year. Changing to a different product could equally cost as much or more.

My two cents.

OTHER TIPS

Where I work I can download the free opensource tool the minute I find it. I don't even have to tell my boss that I'm using it.

If I find a non-free tool I might be able to download a free trial, without telling the boss, but if I want to buy the full version of the tool I'll definitely gonna have to talk to my boss and he's not just gonna give it to me. I'm gonna have to motivate why I need it. He is definitely gonna ask if there are any free alternatives and "I don't know." is not a good enough answer. So if I want the non-free tool I'm gonna have to evaluate all the free tools first.

If I convince my boss that I need the tool, he's gonna send a request to another department that's in charge of this kind of purchases and he's gonna have to convince that department that our department needs the tool. Usually not a problem, but sometimes it is.

Anyway, when we tell our boss that we need something it can take weeks before we get it. Therefore it's often much quicker to just use a free opensource tool and not bother going through that process.

I imagine that other work places might have a similar situation.

Two points to consider:

  • You're a professional software engineer. Not everyone interested in software development is. For some people, this is a hobby... and paying a few hundred bucks for a profiler (or whatever) just isn't worth it.
  • You're in the US, and assuming US-style income. That's far from universal.

First off, not everyone asking may be funded by a company.

Second, despite the time savings, ideally the salary for an employee is a sunk cost, it's already been budgeted and allocated. There very well may be "no more money".

When you look at licensing, that $300 thing is $300 for Tom, but then he can't let Joe, Frank, and Bob use it. All of a sudden, if the tool is popular, now it's even more costly. It's not like buying a stapler. And then you get back to what was ostensibly a petty cash purchase now becomes a capital purchase.

A free tool can be downloaded and used instantly (usually). Buying even a $50 tool can take a week getting the check from accounting, THEN it can be downloaded.

Finally, many times folks are looking for some little specific piece of a tool, not the entire suite. Yet they're forced to purchase the entire thing. The Whiz Bang Ka-Blammo Enterprise Tool Set when they're only interesting in the 17th bullet point off the feature list.

I'm never afraid to go to my boss at work and ask him to pay for some tools that will help to make me more productive. However, the work that I do for myself, and much of it is as complex as what I get paid for, has to be done with free or nearly-free tools. I have paid for some things where the cost-to-value ratio is really compelling, like Wing IDE for Python development. Visual Studio, on the other hand, is so expensive that I just can't rationalize the cash outlay no matter how great it is.

I certainly appreciate the rationale behind this question. If you are thinking about being a professional tools developer, you have to wonder if it is going to be possible to make any money at it. I would say that you have to very carefully consider what you charge for your products. While you can charge enterprise-class customers hundreds of dollars for a tool, and they won't blink at it, making the sale in the first place is an enormous challenge. With my startup company, we found that it took about a year to go from first handshake to getting a signature on a check. That's a long, long time when you are starving and living off of your savings.

On the other hand, if you can charge less and make it a compelling purchase for an individual developer who is reaching into his or her own wallet for a personal credit card, you can achieve the kind of decision-maker mind share that can greatly short circuit the year-long enterprise sales cycle.

A developer is paid, and generally motivated, to develop stuff.

Picking up a free library takes a bit of research, but then you can pull it in, try it, and keep doing that until you find one that fits. The process of selecting the appropriate free library/tool fits well into the developer's skill set.

In a business, you're right that it's possible to buy good tools. However, to do this you need to make a business case for the cost, and persuade your manager (and probably further up the chain too) that it's worth paying. This requires an entirely different skill set, and one which would take many developers outside their comfort zone. Most of the time, I think developers just can't motivate themselves to start down this route.

Even if "the company" might want to spend money on tools if it's cost-effective to do so, the average developer is not correctly motivated to support this company goal.

Going back to your original question, you were interested in how to sell development tools in this climate, when developers have this tendency to pick the free ones. Based on the above I see two options:

  • Make it compelling to the developer, so they think it's worth the politicking time to get their hands on it. Time-limited trial versions etc can help here: once the dev has learnt the tool and seen what it can do, they'll not only be happier to ask their boss to spend the money, they'll be better prepared to justify the spending in terms of time already saved.
  • Make it compelling to the manager, either so the developer knows they'll have an easy sell if they ask, or to skip the individual developer level altogether and sell directly to management. Anything with "enterprise" in the name is taking this approach.

I think there's a mental block against paying for something when you can develop it for "free". I think often developer time is seen as a base cost, something you're paying for anyway, so the additional time spent developing a tool isn't seen as an additional cost, it's something you're already paying for.

The complete opposite exists too. Some developers will blindly buy the first thing they bump into. But I think a lot of developers have various unhappy experiences with paid-for software. Community support can suck. Paid support can suck. Some people get disillusioned with the whole closed-source thing and prefer something open source just because it's open source.

As you're focussing on trying to eventually sell something, here are a few tips to convince people to stop hopping once they've found your wonder product:

  • State the features. I've too often found a site talking about a widget that just bombards me with latest news, changelogs, prices, yada yada... But doesn't tell me what it actually does! The first paragraph should concisely explain what it does.

  • Provide lots of example code, sample projects, documentation. Tons of it. The more use-cases the better. Now of course you also need to provide a navigation system so the user can find things but the more examples, samples and docs you provide, the quicker the user can test your whatsit.

  • Trials make the world go round. If you can, make sure I can test it before handing you any money. If I can't, I, personally, won't be buying it. Money back guarantees come in a close second but as I say, if I can't test it out, however good it looks, you're not getting my money.

Companies I've worked for look for free alternatives (and usually I mean really free, not just free of charge) because "pay ones" often have (or get over time) restrictive licenses on redistribution. I don't want to base my whole product around a for-pay library only to find out that I now have to pay them $1000 per copy I sell.

As a matter of fact, I earned a bunch of money last year porting a product that had been written using a third party web crawler/indexer over to use Nutch instead because the person who'd paid for the product to get written in the first place didn't realize that the third party web crawler/indexer was going to cost her more per license than she was planning to charge for the whole product, and because she also didn't realize that the third party product was built for intranet rather than internet crawling and so ignored robots.txt.

Some times the "management" does not want to buy anything for the "developer" thinking that the latter is getting paid to develop the software. I've been in situations like that and it was really hard to convince the mangement to buy a set of UI controls we needed for a web application.

I personally prefer free tools, because learning how to use a tool is not 5 minutes. to really master the tool you need to spend a lot of time using it. Id rather not waste time in learning something that is not universal and cant be used always. learn once, use anywhere.

Many of those payed software is not that amazing for me to fight with my boss for it. Total Commander is the only tool that is worth the fight, however from time to time I look for free alternatives and I even consider writing one myself.

When was the last time you read your GNU manifesto. Has the concept of copy left been forgotten? Maybe you've forgotten your roots. The world of software development started from the sweat of the "hobby" or "for fun" developer. Remember those two developers in their garage who later made and sold those operating systems? It is not only a part of our heritage to hack out our own solutions but it's in our blood as well.

Also, companies of the pay-to-use solutions are trying to make money. While a good business model will include helping the customer achieve their goals, making money is their first priority and has a good chance of getting in the way of development progress. The free to use community on the other hand, from what I understand, is purely altruistic and has only the utility of the software thing in mind. The community of free-to-use, copyleft, open-source is very strong.

Ideas/concepts were meant to be shared (freely) to advance us as a people.

Sometimes you need free tools if you are not sure will the result bring you enough money. For example you established startup that works on creating app (or site). They don't want to spend money on third-party tools because they can't be sure will it bring money or not.

Another case, i once worked for big company and their budget approval process took too long, i have to find free stuff at least on initial stage.

Have you noticed that most free tools come without warranty (see GNU Public License, v.2) or support? I use tons of 'free' software every day, because as a hobby, I like to develop too. And a good application always gets bought, but back to the why's.

  • The FOSS community is a large one, most applications are free. Hence, it wouldn't be a strange question to ask for a free or an open source alternative, because well, there are a lot.
  • A free ride is always better than a paid one. Depends on the attraction, though. Some paid ones are better or far worse. (Babes, Photoshop, Dreamweaver, Vim) comment: "Babes" is not a program.
  • Some commercial applications require you to pay by creditcard payment. I hate online payments, and I double hate creditcards. I triple hate how companies store my personal information.
  • Not everyone is a software engineer. Some of us, do this just for fun :D (Linus Torvalds, Matz, Guido, Larry...go on, go on....)

Another line of thought here is how well are those superior pay ones known to everyone? For example, how am I supposed to know every kind of add-in that Visual Studio has? While some may say, "Well, you aren't," then this is another reason for some to not find those great tools out there. Some may be easy to discover and others may require one to know some jargon phrase in order to use some Google Fu to find it.

Another point is what some companies may or may not realize about how they are spending their money. For example, some developers may have some pretty sizeable hoops to go through to get the company to buy licenses for some tools, especially if every developer would have to have a license and some aren't that cheap to get. How well the managers know what their developers are actually doing and what kinds of changes could be made for the better with a little money could shock some people while in other cases the learning curve on using the tool may also be seen as a barrier in some ways as well as another thing to keep track since some tools are available on a subscription-like model rather than an outright buy it once model.

Seemingly since that time when programming and development came into existence there has been an ebb and flow between the commercial and the non-commercial -- these days more accurately described as 'corporate America' and the 'open source community', respectively. I personally chalk all of that up the existence of middle men and profiteers.

On the subject of freeware, I feel as '01' above -- a free tool allows evaluation at my own pace, potentially preventing the waste of valuable funding, which is an important consideration in this current economy.

Shareware is a fine balance, but I personally find most software doesn't provide adequate time for evaluation. Most tools I download are 'once-a-month' endeavors at their highest frequency so plunking down $30-$60 (U.S.) seems unjustified until I know the tool lives up to my desires.

And regarding professional tools, we all know the goals of business. I find the terms and conditions of Scooter Software to be most logical and accommodating. I've used their Beyond Compare tool for years and years -- as a developer invaluable I've found it both valuable and unequaled.

As to your personal dilemma, make your tools good enough, offer good shareware evaluation terms, and charge a reasonable price for it. Choosing popular (and multiple) platforms also doesn't hurt... consider the number of folks who've made a mint selling iPhone applications, regardless of those applications actual utility.

I'm talking about situations where a deadline is bearing down on a developer/company and development time is diverted away from the goal in pursuit of a "Free" tool to accomplish what a pay one is available to do.

This is exactly the situation when you can't use a paid for tool because petty cash/expenses won't cover the cost and getting budgetary approval takes weeks to come through.

Number three from 9 Ways Marketing Weasels Will Try to Manipulate You. It's "Free"! People make irrational decisions about free stuff.

I think that it makes a lot of sence for companies to try to use free/open source products for the following reasons:

  1. Reduce the price of the deliverable product. Why would you expect a customer to buy something that works with a proprietary database when the company can bundle MySQL for example for free? So the company can lower the price and be more competitive.
  2. Usually when buying software/tools, there are proprietary issues.
  3. Usually when buying software/tools, there are dependencies to other also non-free modules. There are other reasons also, like that IMHO it is considered "trendy", but the most improntant is that the use of free software can cut down the final prices, helping the company gain customers.

It is also important to support the free tools by adding to the momentum of it, sometimes by the simple fact of starting to use it. By finding/reporting bugs, or more importantly, fixing them and giving patches back, you improve them in a symbiotic relationship that benefits both your company and the tools you decide to use (and hence everybody else who also use them).

One good reason to look for free tools is to get a complete overview of the available options. I'd say that's a reasonable thing to do before you buy a product. Commercial software vendors have advertisements, so you'll probably find those, but there might be a great free alternative that you never heard of. It makes perfect sense to check that, even if you are willing to spend money on software tools.

Plain and simple some companies like IQPC.com will not spend even $10 on software and it's even hard in places like this to find a pen or pad to take notes.

I shed a tear for those who have to live like this, it's not easy.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top