TL / DR: There are no rules. However projects open source -> presence of pull requests and patches -> minor commits trend, which can be easily reviewed by other developers. Commercial projects -> Trend of commits implementing all aspects of certain Feature (even if the developer locally does several commits). Again, there are no rules, but I could observe this difference in behavior in practice between the two types of projects.
While there are no defined rules, projects mature open source with several employees usually work with a finer granularity of commits. This is due to the very nature of the project. In projects open source several external developers do pull requests and/or submit small patches to fix small bugs or add small features to the project. The idea here is that the commits are not only representative, more self-contained and easily reviewed by a project developer. Commits are faster to review and give less headache to those who will integrate their code to the main repository (possibly long after you submitted the patch).
Even the "central" team of a project, with permission to do push in the main repository, usually works with a finer granularity of commits. Large work units are generally well subdivided among the various modules, and later subdivided into smaller tasks. The result is that there are more tasks, each one more "punctual"; soon more are done commits, each with less code.
In commercial projects it is equally common for a developer to do several small projects commits local (say, in a branch of Feature), but before the push to the main repository, it is common practice to make a squash of those commits, giving the impression of a single great commit that solved certain task / problem. The main point here is that the granularity of tasks is greater, and there is an effort to make the repository more "clean".
Every strategy had its advantages. Commits frequent and small represent better the actual development flow, however, coarser granularity and rewriting of history make the tree of commit more "clean". There are good arguments from the school "Do commit quick, do commit always, never rewrite the history", as well as the school "Keep your central repository clean". The choice is entirely yours.
Several good questions generate some degree of opinion based on the experience of experts, but the answers to this question will tend to be almost completely based on opinions and not on specific facts, references or experience.
– Silvio Andorinha