Ask a Techspert: What is open source?

When I started working at Google, a colleague mentioned that the group projects I worked on in college sounded a lot like some of the open source projects we do here at Google. I thought there had to be some misunderstanding since my projects all happened in-person with my classmates in the corner of some building in the engineering quad. 

To find out how a real life study group could be like a type of computer software, I went straight to Rebecca Stambler, one of Google’s many open source experts.

Explain your job to me like I’m a first-grader.

Well, to start, computer programs have to be written in a language that computers understand — not in English or any other spoken language. At Google we have our own language called Go. When we write in a language to tell a computer what to do, that’s called source code. Just like you can write an essay or a letter in a Google Doc, you have to write your code in an “editor.” I work on making these editors work well for people who write code in Google’s programming language, Go. 

What does it mean for software to be open source?

A piece of software is considered open source if its source code is made publicly available to anyone, meaning they can freely copy, modify and redistribute the code. Usually, companies want to keep the source code of their products secret, so people can’t copy and reproduce their products. But sometimes a company shares their code publicly so anyone can contribute. This makes software more accessible and builds a community around a project. Anyone can work on an open source project no matter who they are or where they are. 

Anyone can contribute? How do they do it?

Before you actually write open source code, a good first step would be thinking about what you’re interested in, whether that’s web development, systems or front end development. Then you can dive into that community by doing things like attending talks or joining online networks where you can often learn more about what open source projects are out there. Then, think about what topics you’re interested in — maybe it’s the environment, retail, banking or a specific type of web development. Some people write code just because they enjoy it; plenty of these people have contributed to code within Google open source projects. So if you’re looking to contribute,  make sure it’s something  you’re really interested in.