Steem already attracts less developers than other Blockchain (EOS, Ethereum) despite having very low fees to run a service since access to (slow) public api nodes is free and so are transactions (if the account has enough RC). The ability to launch a dApp on a shoestring budget is a huge plus of Steem at the moment. Shutting down access to free nodes would shrink the amount of developers interested in building on Steem and therefore the value of Steem as a Blockchain. I agree with you that dApps that have grown successfully and then need more reliable and faster nodes can start their own as it is already happening, but even right now the public nodes available are barely enough to keep up with the demand, so I don't believe that shutting down Steemit Inc.'s public nodes without a free replacement would be a good solution.
I believe that we need public nodes, but a decentralised Blockchain should not be controlled by one entity such as Steemit Inc. so I believe that having public api nodes run by witnesses - some of who would outsource them to a company such as Privex - would be a good solution. Maybe we should think of a witness pay composed of a fixed value in Steem as well as a second dynamic part oriented on USD values which guarantees that the minimum costs of running a top 20 witness plus an api node are always covered - this would come out of the rewards pool, but if Steemit Inc. would consequently either develop features that increase the value of Steem or sell less of their stake what pushes down the price, the price of Steem and the reward pool would increase. Also, this could mean decreasing the amount witnesses get from the rewards pool when prices are high - I remember in January many were complaining about witnesses getting overpaid, now it's the other way around, so obviously witnesses receiving a fixed percentage of the rewards pool is not a good solution since they have costs in fiat to cover.
Then I suggest you volunteer to pay the $2 million/year. Perhaps that cost can be reduced, in fact I'm sure it can. But it could also increase if demand grows. Personally I'd much rather have Steemit spend that money on blockchain development (not to mention staying in business/survival), which they are at this point uniquely qualified to do. With sufficient funding (not a Steemit Inc strong suit at the moment), anyone (or at least many people with the right experience) can run nodes.
BTW, witness rewards are a tiny fraction of the rewards paid out by Steem (10% of total inflation vs. 75% for post rewards). If you think free nodes are a good use of reward funds, then I suggest making one or more daily/weekly/whatever posts requesting support for free public node service and if people agree with your philosophy they can vote for it. I don't rule out that this could be a good idea. But for something to replace Steemit nodes will still be very expensive (consume a significant portion of the reward pool), and the cost can easily grow with increased usage.
Again, I don't know what EOS does (simply not familiar with it) but neither Ethereum miners nor the Ethereum Foundation provide free nodes. People who need nodes run their own or pay for a service.
Exactly (so whatever plans you have along the lines discussed above, you better plan to not only replace the Steemit nodes but actually scale UP). That's because this model is unsustainable. Nobody even knows what those public nodes are being used for. It could be hugely wasteful/inefficient usage or they could even be deliberately overworked by competitors. The model is not viable.
A decentralized blockchain is strengthened by people running their own nodes. There will inevitably be nodes as a service, which hurts decentralization, but trying to fund and operate a free service that encourages (nearly) everyone to use them is actually sabotaging (by centralizing) the network. It is quite terrible that when Steemit's nodes go down, as they have on occasion, nearly the entire ecosystem crashes. This undermines not only the operation of the network at that time, but its ongoing reputation because it is clear that everything is centralized and its "'decentralized' apps" are a sham. Even before financial problems forced the question, I was against Steemit's free node service. People should run their own, and in practice, most won't if there is a free option.
For very low usage (people just wanting to use a wallet to access their funds, experiments by devs working on a new project, etc.) there can be low-capacity free nodes offered by the volunteers in the community. But there is simply no reason for a deployed and scaled-up application to expect to rely on a free service. Life would be wonderful if all sorts of nice things were free, but they mostly are not.
I don't want Steemit Inc to spend money on running public nodes either - but we still need them.
These $2 Million currently come from Steemit Inc.'s Steem stake being sold and as a result pushing down the price of Steem decreasing the rewards pool for everyone. What if we raised the witness rewards dynamically to over 10% while the price is low and decrease them when the price is high as suggested in my previous comment?
And still they have much more more developers creating exciting dApps than Steem does - that's why their market cap is much higher. Take the free nodes away from Steem and people like me (developer on a student budget) will start looking into alternatives.
What if we introduced a new model: Nodes are freemium and accessed with API keys. Each developer who wants to access the public nodes can apply for an api key (or something similar tied to account keys), usage is tracked and if it exceeds certain limits the developer can choose to pay for higher limits or run their own private node?
Then witnesses will be selling stake instead, pushing the price down.
Now you are talking. I suggested elsewhere the possibility of a free tier with low limits (like AWS has) and the owner of buildteam, which is one of the companies potentially interested in providing node service as a business (if Steemit stops undercutting them with unlimited service at the unsustainable price of zero), responded favorably. I'm pretty sure that we can come up with a solution (maybe 'free tier' maybe something else) for students and independent devs who want to experiment without needing to pay a lot for 'commercial grade' service. Nobody is against that.