All HashiCorp have done is made their own future contributions subject to BSL, not relicensed any previous contribution, nor do they have the ability to do that without copyright assignment of each and every contribution, which they do not have (specifically I have never signed a copyright assignment, and nor has at least one other of the top ten contributors of all time).
Nothing about MPLv2 prevents inclusion in a commercial product provided the attribution and file-based copyleft provisions are followed.
There's are only 2 .go files left in the hashicorp/terraform repo on GitHub which still have MPL-2.0 in their license headers, so either there are virtually no such contributions left in Terraform or they have in fact attempted to relicense code.
This looks like relicensing to me: https://github.com/hashicorp/terraform/commit/53c34ff49cfbc1...
Btw, no .go file that you still show up in `git blame` for has an MPL notice header.
A bunch of commercial software right now (cough I'm writing this on MacOS) uses BSD-licensed foundations.
Indeed it’s something of a spiritual successor to CDDL which was designed precisely for that purpose (although reliable sources also say it was designed to be GPL-incompatible, so that is literally a he-said/she-said case).
In the official repo I can still check out an older commit with the MPL on it, which means they are still distributing code under that license, but it wouldn't matter if that were the case or not under the law.
edit: In fact, software as a business ( and many other professions ) would not exist if license terms could be changed or revoked after distribution. License changes for new software to be distributed can change, sure. But short of a breach of contract as outlined in the license itself you cannot change a license you have granted.
Unless they have approval from each contributor for a given file (or the contributor signed a CTA or CLA), they cannot re-license that particular file.
It's still MPL and only once all contributors approve or the MPL code is removed can it be re-licensed to an incompatible license.
Of course if they had wanted to move to a compatible license, for a lot of FOSS licenses that is an option. Regardless of whether that is an option for the MPL, they are moving to an incompatible license and could not do this.
----
So their only options for files that they can't convert to the BUSL from the MPL are:
1. Keep contributions to those files under the MPL but require contributors to sign a CTA or CLA guaranteeing those contributions can later be relicensed.
2. Move BUSL contributions out of the file and only keep the MPL contributions in that file until they've all been replaced.
Doing otherwise is violating the MPL.
To my knowledge they have not done that so anybody whose code is being used without permission could fight them on copyright infringement.
And worth noting is that they don't have a particularly small number of contributors. Terraform has over 1700 contributors and many of the other repos have over 1000 contributors or close to 1000 contributors (unsure of the overlap).
If they only started requiring a CLA or CTA later into their development, they probably haven't gotten permission from all the rights holders.