I want to deploy a private eos network on which users don't have to stake or pay ram or network or cpu is that possible if yes how so ? do I have to tweak code in eosio.system contracts Also what are risks involved in doing so i mean would that be architecturally right.
Resources are managed by eosio.system contract, so if you don't deploy eosio.system to eosio account, there is no limitations on sending transactions.
For example, you can run single-node local testnet like this:
nodeos -e -p eosio --plugin eosio::chain_api_plugin
After launching single-node local testnet, create account by the next command:
cleos create account eosio YOUR_ACCOUNT_NAME
You can see all resources such as CPU, NET bandwidth and RAM are unlimited.
cleos get account YOUR_ACCOUNT_NAME
A limitation on resource makes blockchain secure. For example, in above single-node local testnet, user can send transactions infinitely (Unlimited CPU/NET), it can be a point of DOS (Denial-Of-Service) attack. Moreover, when network is congested, CPU and NET set priorities among transactions, so block producers can determine which transaction should be processed first.