For "Free" (in-plan) Calls:
You need a carrier that has a friends and family type option like Verizon.
You need to add TWO numbers to your friends and family list.
NUMBER 1 - Your GV number itself for "inbound" calls (calls made to you) and "outbound" calls made through the browser interface.
NUMBER 2 - GV dials another local number (you will see it pop up) when making "outbound" calls (calls you initiate) using the GV app on the handset.
I have been checking my online bill and Number 2 does not seem to change. I will continue to do so to make sure I don't get any surprises. Suggest you do the same.
For SMS
I don't believe Friends and Family works for SMS messages which is an issue. If I have this correctly:
You can send SMS messages for free to anyone using the GV browser interface.
You can receive SMS messages for free PROVIDED you notify by email only. IF you have GV relay to the cell, that counts as a text.
The problem is, when you respond, you need to respond from the browser interface in order for the other caller to see the GV number as the number that sent the text. If you respond from the handset, it counts as a text and it is confusing because your cell number will show as the sender, defeating the purpose of GV.
I hope I am missing something with that but from what I see, that is how texting works.