I think you need to clarify what you mean by "private". Are you referring to making methods private?
When you make a method public, you are making a promise to users that you won't make any breaking changes to that API without a major version upgrade. Once something is out there, you can't take it back. So if you have some functionality that isn't meant to be used by the outside world but is used to serve your API, then you wouldn't want to expose that and tie your hands in the future.
Another way of phrasing it is that a public interface is a kind of tight coupling. Also, private methods are typically contain highly factored code which may have little utility outside of the interface but which is factored for reasons of modularity.
Three posts about a large country constitutes a "shill account"? How does one even define "shill account"? Does the same standard apply to posts about USA or companies?
> Who is going to be able to afford the products if we all are replaced by robots in the workplace?
!=
> When robotic manufacturing eventually becomes cheaper and faster than manufacturing in China
That is a straw man argument. Manufacturing is one of the leading frontiers in automation. It's going to be cheaper to manufacture things outside of China due to automation long before a significant enough portion of the workforce is out of work due to automation and unable to afford the manufactured goods.
Ads we see can already be increasingly targeted to a very narrow group of people, which is spun as "making the adds more relevant to you". Is it different when it's a slightly larger group size than one?
You're speaking in generalities. This site is dealing with real people, such as a man who wants more sex from his girlfriend (apparently the most requested "ad") and so secretly signs his girlfriend's phone up for a system where she is shown ads designed to manipulate her into giving her boyfriend what she wants.
You don't see how there's an ethical difference, between that and a corporation advertising its products towards a general demographic?
I'm not clear here: are you using this as an argument in favor of spinner and their service or as an argument against targeted ads because they're basically just this spinner on a larger scale?
You sort of answered your own question. Yes, there are people who are smart but poor. But they are significantly outnumbered by those who are poor but don't have great financial/investment sense. Since there isn't really a good way to differentiate between the two, you have to choose between letting many people be scammed to enable the few to invest or prevent the few from investing to protect the majority.
In your argument, the sum of all wealth for the lower class is what's being optimized for here, which you claim is a good thing. We can prevent the most money loss by restricting movement of capital. I happen to disagree with this but's let's table that and look at an analogy.
Say you take that argument and apply it to education. Poor people are generally less educated. Does that mean we should optimize limited budgeting resources to only teach to the average denominator to maximize total knowledge among lower classes (increasing value among many, just as we did with your previous argument)? This means the needs of many outweigh the ability of a few to move up.
I don't think it makes sense to hold back a few ambitious people for the good of everyone, when those few are not adversely responsible for other people's losses.
I believe technology as a whole is light-years ahead of where it would be if companies treated all of their findings and system designs as closely-guarded secrets. I am relatively early in my career and I get to open-source a project that I have been working on for the first time and it feels great.
It would be difficult to allow people to actually do what makes them happiest vs doing what the can do to make themselves happy within the limitations of their life situations.
When you make a method public, you are making a promise to users that you won't make any breaking changes to that API without a major version upgrade. Once something is out there, you can't take it back. So if you have some functionality that isn't meant to be used by the outside world but is used to serve your API, then you wouldn't want to expose that and tie your hands in the future.