Brief Introduction to Open Source

Table of contents

What is really open source?

This blog summarizes what I learned during my Diploma in Software Engineering with AltSchool Africa on Open Source Contribution.

According to Wikipedia: “ An open-source software is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative public manner.”

This codebase is released to the public under some copyright for the right to use, change and distribute the software.

We can say Open-source is a flourishing and beneficial ecosystem that publicly solves problems in communities and industries using software through a decentralized model and community contributions. Open-source allows one to use a particular source code for their personal need. Open-source is all about collaboration. Open source projects can be free and might not be free. So we have free open source projects and non-free open source projects.

Version control is the core backbone of open source. Version Control is the process of tracking and managing changes to software code or a set of files over time. A version control software tracks every modification to a codebase in a special kind of database.

Fields in Open Source and Methods of contributing to Open source include:

Software Engineering

  • Writing code
  • Writing tests for code
  • Reviewing code
  • Beta testing

Data Engineering

  • Writing code
  • Data collection and cleaning
  • Data analysis
  • Data visualization

Writing

  • Writing documentation
  • Writing tutorials
  • Writing translations
  • Writing newsletters
  • Creating or editing content

Design

  • Designing designs
  • UX surveys and research
  • Creating styles guides
  • Producing brand materials
  • Marketing
  • Promoting projects
  • Engaging users on the internet
  • Converting new users through certain means
  • Developing marketing strategies

Project Management

  • Managing the development phases of the project
  • Managing the allocation of resources and funds
  • Tasks and issues organization
  • Tooling and automation
  • Community Management
  • Managing people and contributors
  • Organizing events
  • Organizing programs

Examples of Open Source projects include OpenCV, Numpy, Linux etc Open Source is all about contribution and collaboration.

Benefits of Open Source include

  • Flexibility
  • Cost-effectiveness
  • Scalability
  • Building technical work experience
  • Gain experience with collaborating with people
  • Building communication and soft skills
  • Gain domain-specific industry knowledge
  • Earn some or more living
  • Access to mentorship and network opportunities
  • Access to opportunities
  • Career growth
3
Subscribe to my newsletter

Read articles from Adedayo Adebesin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Adedayo Adebesin
Adedayo Adebesin