More than half of the problem of income inequality is opportunity inequality. A rich person's assets are not only what he has, but what he knows and who he knows.

Opportunity inequality happens when people cannot have access to the same level of education that rich people have. Poor people don't get the same high level counselling that rich people have. I have been personally misled about what subject combinations to study (education in some countries work like that, there must be subject combinations at secondary school level to get access to higher education ) along with my friends by an educator who discriminated against me because of my African origin.

More than money, people need information repositories on how to acquire knowledge, create products, marketing strategies, how to protect Intellectual Property, business and entrepreneurship networks, even life hacks and DIY hydroponics, aquaculture and permaculture stuff.

Right now, good information is either too far apart or kept obscure by those who control it. People need simple explanations, complete information and easy to understand and modify examples to make the most of shared knowledge. Also, computer science papers need to be published with syntax-sugar-free code or relevant pseudocode, not obscure mathematical formulae that do nothing to inform people.

As for what can be done, platforms like So.cl or the more helpful parts of reddit are a start, as is Khan academy but knowledge sharing has to be free of obstacles like user registration if it's not absolutely necessary. Websites have to be optimized for low-bandwidth too, 4K, 60 FPS video is not absolutely necessary for people to be informed properly. Cut down on the megabytes of javascript that are transferred with every web page.

<In software engineering >

The computer programmers and "engineers/architecture astronauts" of today must remember that computers are supposed to simplify things for people. No more layers of abstractions piled on top of each other. No more half-baked tools. Documentation must be accessible at the pres of a button. Programming languages must be readable enough so that the person reading it can understand scoping at a glance and not have to hunt for closing curly brackets to understand how a program works.

Some may think that it's too hard to write closing statements like endif or endwhile but those can be written automatically at the press of a button in a good IDE. Again, programming languages must be readable enough so that the person reading it can understand scoping at a glance and not have to hunt for closing curly brackets to understand how a program works.

Semicolons and curly braces must be abandoned. Computer programming should be made more accessible, powerful and ubiquitous. Electronic devices should ship with programming languages again.

Not everything should be done in the browser or in Javascript or a derivative of C.

Computer programming must be made simple and powerful so that more people are empowered.

<end of software engineering section>

Knowledge is power and with great power comes great responsibility. The people with knowledge and power have a responsibility to make knowledge easily accessible and actionable for others who are less fortunate.