Tools, or libraries? The distinction I'm making here is between code that gets distributed with the final product, and code that only runs on your machine or just internally in the corporate network.
I can understand a company not wanting to intermix GPL code with proprietary code that is shipped to customers, but not being able to use GPL software internally is a different matter and would be very strange.
PS Why don't you check which version of GCC is currently used in Brazil? It was years out of date when I was there for the reasons I described.
PPS I was wrong about Linux being licensed under GPLv3: it is GPLv2. I apologize for not checking that before I posted.
PS 'green' users can't downvote.
My sympathies. I've been able to use Emacs in every corporate setting I've worked in.
The GPL does not control use, it controls distribution. So, using Emacs and GCC as one’s toolchain does not require a company’s code being made open source.
However, using a GPL licensed library “taints” any and all code which touches it. With the complex mazes of dependencies modern NPM/Node, Java/Maven, Python/Pip, and what not have, there’s a non-zero chance that some dependency of a dependency of a dependency is GPL code without the company knowing about it, which puts the company at risk of being sued if they make the code depend on that GPL library, no matter how indirectly.
Anything a GPL library touches in a bundled executable taints the entire code, forcing it all to be open source.
This is a serious problems for companies selling software (including hardware that uses embedded software). There are commercial products which exist to make sure code is not GPL-tainted.
Many companies selling hardware that uses embedded software find it easier to simply comply with the GPL, thus protecting the users' rights to some extent. The cost of compliance is far smaller than the benefits available from drawing on the world of free software. If we can get more free-software developers to change the licenses of new versions of their software to the GPL, we can increase those benefits and influence more companies to choose GPL compliance instead of GPL avoidance. Even some companies that sell software choose GPL compliance.
Unfortunately, the GPLv2 is not strong enough to prevent "Tivoization", in which the users can obtain copies of the source code but cannot install modified versions on their own devices, even though theoretically they own those devices — in these cases the benefits of free software become impossible for the users to obtain in practice. This is a major reason why the GPLv3 was written.
>>> This is a serious problems for companies selling software
No. It is a serious problem for companies trying to make proprietary software. That's quite different. The monetary aspect of the question is independent of that. That is, you can perfectly sell GPL programs. What you can't do is prevent competitors and users of reusing it the way they want to.
GPL is a stance against proprietary software, not commercial software.
(now, I'll readily admit that this seriously undermines many commercial prospects, but that's just a consequence)