Open Source Software

Presentation

The content below provides a written narrative to expand upon the key points from this presentation.

What is Open Source?

Access to Code

Open source software features source code that is freely available for anyone to view, modify, and distribute.

Culture of Collaboration

This access fosters a culture of transparency, collaboration, and innovation, enabling community-driven improvement and adaptation of software.

Open Source Software benefits the world. Image Source.

Why Open Source?

Contributing to open source projects can help individuals demonstrate their credibility and skills to potential employers, increase visibility into their work, build professional networks, and connect with like-minded individuals.

Demonstrate Credibility

In the world of open source, your work speaks for itself. Every pull request, issue comment, or code review becomes a part of your public track record — tangible proof of what you can build, how you collaborate, and how you solve problems.

Unlike a private resume or a job interview, open source allows you to show, not tell. You’re not just claiming to know how to write clean code or debug a tricky issue — you’re demonstrating it in front of peers, contributors, and potential employers. It’s a portfolio that evolves in real time, built on transparency and action.

Better still, your contributions are visible to a global audience. A single thoughtful comment on a GitHub issue or a well-documented fix to an obscure bug can spark conversations, earn respect, and open doors. For developers from nontraditional backgrounds, open source can be a powerful equalizer — where credibility is earned not through credentials, but through code.

Increase Visibility

Open source projects gain significantly greater visibility than private projects. Publishing code openly helps projects reach wider audiences, build credibility, and create new opportunities for collaboration.

One key example is in research: open source software often leads to more citations. When researchers share their tools and datasets openly, it becomes easier for others to use, validate, and build upon their work, which naturally increases academic recognition.

A simple but powerful way to support this is by including a “CITATION.cff” file in your repository. This file provides a standardized way for others to cite your project properly. Platforms like GitHub automatically recognize the “CITATION.cff” file and offer users an easy-to-copy citation, making it effortless to give credit where it’s due.

Encouraging citations using a “CITATION.cff” file (image source).

Whether you’re aiming for academic impact, broader adoption, or professional recognition, treating visibility as a core goal of your open source efforts can significantly amplify your project’s reach and success.

Portability

One major advantage of open source is the portability it offers. When your code is publicly available, it isn’t tied to any single organization’s infrastructure, permissions, or policies. If you move to a new company, institution, or team, you won’t lose access to your work — it’s still available to you and the broader community.

This freedom protects your contributions from being locked away behind proprietary systems or lost to organizational changes. It also ensures that important tools, libraries, and research outputs remain accessible and usable over time, regardless of where your career takes you.

Open sourcing your work (when permitted to do so) helps ensure that your efforts are lasting, portable, and truly your own.

Vignette: Losing Access to Work Product

A few years ago, Alex designed a website with a beautiful, intuitive user login flow — everything about the flow felt polished and crisp. It wasn’t just a one-off design; Alex had carefully solved common usability problems and created a flexible pattern for generic login screens that could be adapted to many different projects.

But time passed. Alex moved on to a new company, and with that move, he lost access to the internal repositories and proprietary systems where the work lived. One day, when he wanted to make a similar flow for a new site, he tried to recall exactly how he had approached it back then, but without the original code or documentation, Alex had to start from scratch.

In hindsight, if Alex had taken general notes and maybe even shared open source examples (without violating any employment agreements), he would have preserved that knowledge — not just for himself, but for others too.

By investing a little time into open documentation and open source side projects, Alex could have enhanced his own productivity, preserved his expertise, and saved himself the painful process of reinventing what he had already done in the past.

Make Friends

One of the most rewarding parts of contributing to open source isn’t just the code — it’s the people. When you show up to a project with curiosity and care, you’ll often find others who share your interests in your technical passions.

Open source brings together folks from all over the world, across time zones and cultures, united by a shared desire to build something meaningful.

Whether it’s pairing on a tricky bug, chatting in a project’s Discord server, or celebrating a merged pull request, open source is full of small moments that spark connection. Over time, collaborators become colleagues, and colleagues become friends — people you learn from, laugh with, and maybe even meet in real life at a conference someday.

It’s not just about networking. It’s about belonging. Open source gives you a space where you can be seen and valued for what you contribute — not just where you went to school or who you know. And that’s a powerful way to find your people.

Drive Humanity Forward

By adopting and promoting open source software, individuals and organizations alike can actively participate in shaping the future of technology and innovation for generations to come.

Vignette: A World Without Open Source

Imagine a city filled with bridges — elegant, essential, and everywhere. You cross them daily, but you’re never allowed to look underneath. If one creaks, you report it. If one breaks, you wait. If you dream of a better bridge, you’re told, “That’s not your job”.

Now picture a different city. One where every bridge’s blueprints are shared openly. Anyone can study them, repair them, or improve them. People from different backgrounds come together to build safer, more efficient, more beautiful bridges — not because they were told to, but because they care, they’re curious, or they simply want to help. A crack isn’t a dead end — it’s a call to collaborate. New ideas aren’t gatekept — they’re welcomed.

That’s the spirit of open source software. It turns us from passive users into active creators. It invites us not just to use the tools of the future — but to help build them.

Open source isn’t just about code. It’s about access, community, and agency. It’s the difference between being a consumer of technology and being a participant in it.

How to Open Source?

Version Control

Open source software and version control go hand-in-hand. Version control tools are the “instruments” that enable development of open source software.

The World’s Largest Jam Session

Imagine walking into a park where musicians from all over the world are jamming together. Some are pros, others are just learning, but the melody is constantly evolving — new riffs, unexpected harmonies, shared rhythms.

That’s open source software. It’s a space where someone’s starter code becomes someone else’s masterpiece. Where ideas remix and evolve out in the open. Where the act of contributing, no matter how small, helps shape the music that powers the digital world.

You don’t need to be a rockstar to join. Just pick up your instrument and start playing.

Choose a License

Within an open source coding project, it is important to choose an appropriate open source license, to define how the software can be used, modified, and shared.

For more information about licensing, see this in-depth Open Source Licensing Tutorial.

Maintaining a Repository

Opening up a coding repository to the world is only the first step. To truly support an open source project, maintainers play a key role in shaping the community around it. Being a good maintainer is about more than just managing code — it’s about creating an environment that feels professional, welcoming, and worth contributing to.

One of the most important first steps is to write a clear and helpful “README.md” file. The README acts as the front door to your project: it tells visitors what the project is, what it does, how to get started, and how to get involved. A well-written README shows that the project is cared for and accessible, which can make all the difference in whether someone decides to contribute.

As your project grows, it may also be helpful to set clear expectations for how people can participate. Adding a “CONTRIBUTING.md” file allows you to explain things like how to report bugs, how to submit pull requests, and any coding conventions you’d like contributors to follow. This lowers the barrier for newcomers and makes collaboration smoother for everyone.

Another key document is a Code of Conduct. Including a “CODE_OF_CONDUCT.md” file sends a strong signal that your project is committed to being a safe, inclusive space for all contributors. It helps set the tone early and can prevent many potential conflicts down the road.

Not every project needs the same level of structure, and it’s important to match your approach to your project’s maturity. If you’re just starting out with a small personal project, a good README and friendly issue responses might be all you need. As your project grows and attracts more contributors, it becomes worth investing more time in contribution guidelines, issue templates, and more thoughtful community management.

When to Open Source?

Default to Open

When starting a new project, it’s often easiest, and most impactful, to default to open. Unless there’s a clear reason your code needs to remain private (such as proprietary data, sensitive credentials, or early-stage experimentation you’re not ready to share), consider making the repository public from the start. Open projects invite collaboration, feedback, and visibility, even in their earliest stages.

Save Work in Progress

One of the biggest misconceptions about open source is that your code has to be perfect before you share it — but that couldn’t be further from the truth. Software development is, by nature, an iterative process. Posting your work early, even if it’s messy or incomplete, is not only acceptable — it’s encouraged. It invites feedback, sparks collaboration, and helps others see how a project grows over time. You don’t need to feel embarrassed about TODOs, rough drafts, or unfinished features. Everyone starts somewhere, and by working in the open, you’re showing that you value progress over perfection. In fact, many contributors are more inspired to help when they can see that a project is still evolving and open to new ideas.

Version control provides a clear history of your work, so you can revisit previous ideas, experiments, or fixes without fear of overwriting or losing anything important.

Hosting your code in a public version-controlled repository gives you a reliable, cloud-based backup. No more lost files because your laptop crashed or your hard drive failed — your progress is safe, recoverable, and always accessible, even from multiple devices.

Publish Finished Work

When a project reaches a stable point — whether it’s a tool you built, a library you refined, or a script you’ve polished — it’s worth publishing. Sharing your finished work in the open turns it into something more than a personal achievement: it becomes a resource others can learn from, build on, or even improve. Open sourcing completed projects not only boosts your portfolio, but also creates real value for the community. Even if your solution seems small or specific, chances are someone else has faced a similar problem and will benefit from your work. Finished doesn’t mean flawless — it means usable, valuable, and worth sharing.

This principle extends powerfully into scholarly work as well. If you’re publishing a research paper that involves code — data analysis, simulations, visualizations — it’s essential to provide that code alongside your article. Open sourcing your research code ensures transparency, reproducibility, and reusability, all of which are foundational to credible science. Too many papers remain black boxes: impressive results, but no way to inspect the machinery behind them. If you’re a researcher, consider posting your pre-prints on Arxiv, and publish your work in open access journals that support open science, such as PLOS One. Open publishing ensures that your work isn’t locked behind a paywall, maximizing both reach and impact.

Finished work, when made open, can go far beyond your personal use case. It becomes part of the collective knowledge and infrastructure that others rely on. It becomes part of something bigger.

Leverage the Crowd

One of the most powerful advantages of open source is the ability to tap into the collective intelligence of the global developer community. When you open your code to the world, you’re not working alone — you’re inviting testers, contributors, and experts to help you spot bugs, suggest features, improve documentation, and solve problems you might not have even considered.

Open source allows both individuals and organizations alike to scale their impact beyond the limits of their own time and expertise. Whether it’s a one-line fix from a stranger or a major feature from a regular contributor, the crowd can transform your project in ways that would be nearly impossible in isolation.

Case Study: Facebook and the React Revolution

In 2013, Facebook made a bold move: it open sourced React, the internal JavaScript library it had developed to build fast, dynamic user interfaces. At the time, it was an unconventional choice. Why give away something that gave them a competitive edge?

The answer became clear in the years that followed. By open sourcing React, Facebook tapped into a global community of developers who quickly embraced the framework, contributed improvements, built complementary tools, and spread its adoption across industries. React didn’t just grow — it became the dominant UI library in web development.

This community involvement accelerated React’s evolution far beyond what Facebook could have achieved alone. And while Facebook gave the core technology away, they retained significant strategic advantage:

  • They shaped industry standards.
  • They attracted top developer talent.
  • They benefited from constant real-world testing and feedback.

Open sourcing React turned a company-specific tool into a global infrastructure project built, improved, and maintained by thousands.

The takeaway? Open source doesn’t mean giving up your edge. It means scaling your innovation through community, creating lasting impact, and earning trust from the developer ecosystem that shapes the future of tech.