Integrated Computing
Using an integrated combination of free and open source and proprietary software is the best strategy. Build your foundation on Linux or BSD. Learn how to use Zsh and Vim to edit the files on your computer. Learn how to program your computer using AWK, C and C++.
Get yourself an account with Windows or Apple and use that proprietary software platform. Learn how to use C# and .NET to program your Windows machines.