Well, I will follow your advice and use a free tool when learning STM32 that I think ST provide (based on eclipse I guess). However, when companies hire embedded engineers, will they consider someone who hasn't used Keil/IAR and kept using free tools. How about their compilers?
Not that my company is very "standard", but you'd get extra points for knowing the free tools, as that's what we're using for development and production.
gcc + gdb + openocd are the tools for us, and each developer gets to choose how they (or don't) wrap them with IDEs and whatnot.
SCM/RCS is done in git, since we're living in 2016 these days.
And anyone that says that you'll save time by using Keil or IAR are straight up misinformed.
Actual example, shipping product, wearables segment:
Full rebuild time in IAR: 20 minutes
Full rebuild time with GCC in Linux: ~35 seconds
How many times a day are your developers compiling their code? Multiply that with the speedup you'd get by switching to something like gcc in Linux, and you'll come up with some pretty interesting figures...
And, if that doesn't convince you.
We're currently developing products based on the following MCUs:
Nordic nRF51822, STM32F103, TI CC3300
Guess what? We didn't have to change a thing in our environment when developers switch between projects. Same compiler, same debugger, same jtag software+hardware.. The time saved in getting a developer started is staggering.