Table of contents
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