Somebody has to pay for the development of the smart contract and then for the deployment and use of gas.
Smart contracts are just a collection of functions which need a decentralized app / Dapp to call them.
The developer of the Dapp may decide to pay for the gas when calling the contract so that the user of the Dapp does not pay for the use of the Dapp.