Technology is moving faster than the amount of people with the skills necessary to build it. We hear this all the time. There is a great demand for people with a computer science background. Code.org has predicted that there will be about one million more computing jobs than people who can fill them by 2020.

Why is there such a huge gap? Has our past and history impacted people’s ability to get involved in the industry? Anil Dash, CEO of the software developer community Glitch, raised some key questions at O’Reilly Velocity in New York City this week. He asked “Who is creating software?” But more importantly, “Who is allowed to create software?”

When the Internet first became publicly available, it experienced a Wild West period where everyone had the power and ability to create solutions. Whether you were technical or not, you could easily publish your own website with platforms like GeoCities. But somewhere along the way we started limiting people’s ability to create software. Of course, we had to limit people from doing bad things with software. Then, with the issue of data breaches, we had to reduce risk. “Our desire to reduce risk started to exclude people that could participate before,” said Dash.

As we started to reduce risk, we enabled more performant, secure, stable, predictable and under control systems, but we started to constrain people’s ability to free create. Dash explained we developed a process and tools to enable safer systems, and the number of people capable of participating went down.

Today there is unease in society when it comes to the technology. Despites its advancements, and its ability to do good, people are worried that technology is just causing more problems. “A lot of people feel like technology and the technology industry is turning a lot of things out in the world into a dumpster fire,” said Dash.

Dash wants to get back to a place where the Internet and technology is a place where people can be included, communicate and contribute.

He hopes if we put the right boundaries in place, we can change the software industry to provide more innovation and empower people to put things out there comfortably. The barriers should be around good intentions, not good outcomes, according to Dash. Dash envisions a future where a programmer can easily make a change or fix without having to go through a number of steps. It’s all about trust and experimentation, he explained. “I don’t think you are going to do your banking system this way, but there are a lot of things you can create this way,” he said. “There is potential for us to challenge ourselves and push ourselves.”

Jessica McKellar, founder and CTO of Pilot, a professional community, reminded the Velocity audience of what it means to be someone who can build software. “Programming changes the way you think about and debug and interact with the world,” she said. “When you learn how to program, and those things happen to you — that is a pretty profound thing.”

The problem sometimes becomes that people learn rules, are fluent in those rules and forget they not only have to work with other people to break down and solve problems, but they also have the ability to change the rules.

McKellar reminded listeners about the tenets of free software: The freedom to run the program as you wish. The freedom to study the source code and make changes. The freedom to redistribute if you wish. And the freedom to distribute copies of your modified versions to others. She explained people sometimes get lost because no one is giving them the power to change the rules, they have to take the power themselves and empower other people to do the same.

“Sometimes we take for granted what a power collective mindset this is,” she said. “Programming has rules, but you can change the rules.”