Brief Introduction to Open Source

Photo by Andrew Neel on Unsplash

Brief Introduction to Open Source

Table of contents

No heading

No headings in the article.

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