In a word: Depends. Microsoft for instance nailed it perfectly. For many years billions of devices ran cracked Windows copies and truthfully that didn't bother individual users in most countries. While illegal, realistically no one was going to bother with 15 year old Jimmy somewhere in the countryside. But they kept insisting on it. Until they figured out that locking and blocking was never going to work. So they adopted the WinRAR approach: "Hey you are running an unregistered version past your trial. This may have legal consequences."<p>But the thing is that while Windows has many alternatives (I'm saying this as someone who's been using Linux full time since the age of 11), for most people that really isn't an option: while you can get things like Photoshop to run on Linux, the experience is anything but optimal. I don't use Photoshop at all(or any graphics programs). But say my mum who's an artist - she practically has to use Windows. So in that sense, Microsoft has no benefit in open-sourcing anything, even though they have been doing that in recent years. I remember seeing a huge discussion on Twitter last year and several people said that at some point Microsoft will become a completely open-source company. Personally I doubt it, but who knows...<p>Now let's look at another example - Google, and Chrome in particular. As a browser, Chrome has a million and one alternatives, many of which are very good. So having an open source alternative is in their best interest - think of how many browsers [1] use and contribute to the chromium engine - it's a win-win situation for everyone: Big community, a thousand eyes looking into it's internals(and undeniably catching security flaws).<p>Then again, this isn't always applicable. Even more so with javascript and npm in particular, which has turned everything into an endless rabbit hole of packages, dependencies and before-after install scripts.<p>[1] <a href="https://en.wikipedia.org/wiki/Chromium_(web_browser)#Active" rel="nofollow">https://en.wikipedia.org/wiki/Chromium_(web_browser)#Active</a>