The technical savvy and inventive energy of young programmers is alive and well.
This was clear from the diligent work that I witnessed while participating in this year’s PennApps, the nation’s largest college hackathon. Over the course of 48 hours, my high school- and college-age peers created projects ranging from a blink-based communication device for shut-in patients to a burrito maker with IoT connectivity. The spirit of open source was tangible throughout the event, as diverse groups bonded over a mutual desire to build, the free flow of ideas and tech know-how, fearless experimentation and rapid prototyping, and an overwhelming eagerness to participate.
Why then, I wondered, wasn’t open source a hot topic among my tech geek peers?
To learn more about what college students think when they hear "open source," I surveyed several college students who are members of the same professional computer science organization I belong to. All members of this community must apply during high school or college and are selected based on their computer science-specific achievements and leadership—whether that means leading a school robotics team, founding a nonprofit to bring coding into insufficiently funded classrooms, or some other worthy endeavor. Given these individuals’ accomplishments in computer science, I thought that their perspectives would help in understanding what young programmers find appealing (or unappealing) about open source projects.
The online survey I prepared and disseminated included the following questions:
- Do you like to code personal projects? Have you ever contributed to an open source project?
- Do you feel like it’s more beneficial to you to start your own programming projects, or to contribute to existing open source efforts?
- How would you compare the prestige associated with coding for an organization that produces open source software versus proprietary software?
Though the overwhelming majority said that they at least occasionally enjoyed coding personal projects in their spare time, most had never contributed to an open source project. When I further explored this trend, a few common preconceptions about open source projects and organizations came to light. To persuade my peers that open source projects are worth their time, and to provide educators and open source organizations insight on their students, I'll address the three top preconceptions.
Preconception #1: Creating personal projects from scratch is better experience than contributing to an existing open source project.
Of the college-age programmers I surveyed, 24 out of 26 asserted that starting their own personal projects felt potentially more beneficial than building on open source ones.
As a bright-eyed freshman in computer science, I believed this too. I had often heard from older peers that personal projects would make me more appealing to intern recruiters. No one ever mentioned the possibility of contributing to open source projects—so in my mind, it wasn’t relevant.
I now realize that open source projects offer powerful preparation for the real world. Contributing to open source projects cultivates an awareness of how tools and languages piece together in a way that even individual projects cannot. Moreover, open source is an exercise in coordination and collaboration, building students’ professional skills in communication, teamwork, and problem-solving.
Preconception #2: My coding skills just won't cut it.
A few respondents said they were intimidated by open source projects, unsure of where to contribute, or fearful of stunting project progress. Unfortunately, feelings of inferiority, which too often especially affect female programmers, do not stop at the open source community. In fact, "Imposter Syndrome" may even be magnified, as open source advocates typically reject bureaucracy—and as difficult as bureaucracy makes internal mobility, it helps newcomers know their place in an organization.
I remember how intimidated I felt by contribution guidelines while looking through open source projects on GitHub for the first time. However, guidelines are not intended to encourage exclusivity, but to provide a guiding hand. To that end, I think of guidelines as a way of establishing expectations without relying on a hierarchical structure.
Several open source projects actively carve a place for new project contributors. TEAMMATES, an educational feedback management tool, is one of the many open source projects that marks issues “up for grabs” for first-timers. In the comments, programmers of all skill levels iron out implementation details, demonstrating that open source is a place for eager new programmers and seasoned software veterans alike. For young programmers who are still hesitant, a few open source projects have been thoughtful enough to adopt an Imposter Syndrome disclaimer.
Preconception #3: Proprietary software firms do better work than open source software organizations.
Only five of the 26 respondents I surveyed thought that open and proprietary software organizations were considered equal in prestige. This is likely due to the misperception that “open” means “profitless,” and thus low-quality (see Doesn’t ‘open source’ just mean something is free of charge?).
However, open source software and profitable software are not mutually exclusive. In fact, small and large businesses alike often pay for free open source software to receive technical support services. As Red Hat CEO Jim Whitehurst explains, “We have engineering teams that track every single change—a bug fix, security enhancement, or whatever—made to Linux, and ensure our customers’ mission-critical systems remain up-to-date and stable.”
Moreover, the nature of openness facilitates rather than hinders quality by enabling more people to examine source code. Igor Faletski, CEO of Mobify, writes that Mobify’s team of “25 software developers and quality assurance professionals” is “no match for the all the software developers in the world who might make use of [Mobify’s open source] platform. Each of them is a potential tester of, or contributor to, the project.”
Another problem may be that young programmers are not aware of the open source software they interact with every day. I used many tools—including MySQL, Eclipse, Atom, Audacity, and WordPress—for months or even years without realizing they were open source. College students, who often rush to download syllabus-specified software to complete class assignments, may be unaware of which software is open source. This makes open source seem more foreign than it is.
Educators, remind your students of the open source community’s history of successful innovation, and lead them toward open source projects outside the classroom. You will help develop sharper, better-prepared, and more confident students.