From my perspective, I agree with most of, what is being answered, which is not source controlling modules. But you do need to source control customization done to this module.
For example, in Coveo for Sitecore, you can have custom configuration files that need to be in source control, so your customization are rolled to the various environments you have but you don't need to source control the content of the whole package.
This also makes a bit trickier, if changes are made to the module itself which break upgrade paths (we shouldn't change it right but it's not to say that this can't happen) and will cause you a lot of grief if you have to compare files from source control that shouldn't be changed at all.
From my perspective the only thing, I would suggest adding to source control other than customization are the Sitecore packages so you can share with the team which version you are using which is different from having the content of that same package referenced on the solution and add the files to source control.
This helps to keep track at least for new team members for example what packages are used on the build and where to get them from.