Open Source Guide for Beginners
Tags: opensource, opensourceguide
Published: 2023-05-03 06:39:01

---
title: Open Source Guide for Beginners
published: true
date: 2023-01-19 14:42:23 UTC
tags: opensource, opensourceguide
canonical_url: https://shubhsharma19.hashnode.dev/open-source-for-beginners
---

## What is Open Source?

![open source image](https://cdn.hashnode.com/res/hashnode/image/upload/v1674136454894/4b1f579a-bb65-4310-91b6-460b7fa4bef4.png)

Open Source is a type of software where the code is freely available for anyone to use, modify, and distribute. It's a great way to get involved in the tech community and make a positive impact on the world.

The idea is that groups of individuals from all over the world, can come together and collaborate to create something that benefits everyone. It is proof that by working together, we can achieve great things.

Some of the best examples of Open Source are **VLC Media Player, Linux Operating System, Brave Browser, and last but not least Android Operating system**.

Yes!!! **Android** is Open Source while IOS is what's called **Closed Source Software.**

## What is Closed Source?

![piece of code with a stamp on it saying no access](https://cdn.hashnode.com/res/hashnode/image/upload/v1674136548306/c6b39d36-fbda-460f-8fff-ae923465e947.png)

Closed Source, on the other hand, also known as **proprietary software** , is software for which the source code is not publicly available.

This means that the source code is owned by a particular individual or organization and is not available for others to use, modify, or distribute.

Users are only able to access and use the software as it is provided to them, without the ability to make changes or see how it works under the hood. Examples of closed-source software include **Microsoft Office, Adobe Photoshop, IOS etc**.

## Can I contribute to Open Source?

![thinking emoji](https://cdn.hashnode.com/res/hashnode/image/upload/v1674136745257/c29edcca-1a9b-409b-8728-091ddec76bdf.png)

A typical google definition of **Contribution** means **"to be one of the causes or part of something"**

Just a single thought of being a part of something that can bring changes in the world makes me so excited. But, you may be thinking, " **I'm not a programmer, how can I get involved?**"

This question came to my mind as well when I heard about Open Source and my mind said: **"I am not that great at programming for now but at least I should try".**

But don't worry, there are plenty of ways to get started in Open Source even if you are not a programmer. **Yes, you read it right!**

In fact, many Open Source contributions are non-code and I will talk about these contributions now.

## Ways to get started in Open Source

Here are the different ways you can use to start contributing to the Open Source:

1. **Help in Documentation:** Documentation of a project is the heart of that project, without proper documentation understanding the project or the work would be impractical. Documentation is one of the most important but often overlooked aspects of open-source projects. If you have good writing skills, you can help by creating or editing documentation for projects. This can include user guides, FAQs, and troubleshooting guides. You can even collaborate on ideas and do so much more with Open Source.

2. **Help with the Designing** - Bill gates once said **"If you cant make it good, at least make it look good."** Open Source projects often need help with design, such as creating logos, icons, and user interface elements. If you are skilled in graphic design, you can help by creating these elements for projects. A good design is key to attracting users and also keeping users using that product because if the design is bad users might stop using it in the future. So a good design is as Important as Programming.

3. **Testing the Product** - You do not want your product to be launched without proper testing and checking if it's working properly. Do you?, Well, Open Source projects rely on users to test their software and report any bugs or issues. You can help by installing and using Open Source software, and then reporting any problems you find to the development team. This way you are actually helping them by saving a lot of the development teams' time.

4. **Community management** - It might not sound like something important to you but it's an important part of the Open Source Project as the project often needs help with community management, such as moderating forums or social media pages and answering questions from users about the product and the project. If you have good communication skills, you can help by being an active member of the community and helping to keep the conversation positive and productive. This way you are helping yourself by connecting with people and also building your credibility.

5. **Translation** - Yep, You can contribute to Open Source projects as they often need help with translation, so that users who speak different languages can use the software without any language barrier. If you are fluent in another language, you can help by translating the software and its documentation.

6. **By Fund Raising**  **or Sponsoring** - Open Source projects sometimes rely on donations and sponsorships to keep their work going. If you have good organizational and networking skills, you can help by organizing fund-raising events or reaching out to potential sponsors.

## We build great things when we work together

![people working together in an office](https://cdn.hashnode.com/res/hashnode/image/upload/v1674065446467/30b04683-b395-4a9b-87be-996fbbfd16e1.jpeg)

There have been several studies that have shown the benefits of working in groups.

One of the most notable studies is " **Group Performance and Interaction**" (1952) by **Herbert A. Simon** , which found that groups tend to be more productive than individuals working alone, due to the ability of group members to share knowledge and skills, as well as to divide and conquer tasks.

Another study is " **The Social Identity Theory of Intergroup Behavior**" (2007) by **Henri Tajfel and John C. Turner** , which showed that individuals tend to identify with groups and work together to achieve common goals, as well as to feel a sense of belonging and self-esteem.

A more recent study " **The Impact of Social Identity and Social Influence on Group Performance**" (2016) by **Jennifer M. George and others** , showed that group performance is enhanced by a common social identity and social influence.

People naturally gravitate towards working with others, as it allows them to leverage the unique strengths and skills of each member to achieve a common goal. This is particularly true in the field of software development, where Open Source projects rely on the contributions of many individuals to create a **high-quality product** that can be changed according to the user's needs and that keeps users' needs in mind, not the profit.

There are many ways to get involved in Open Source even if you are not a programmer.

You can help with documentation, design, testing, community management, translation, and fundraising. By getting involved in open source, you will be making a positive impact on the world and gaining valuable experience in the tech industry.

## Motivation to get started

![i can't do it cut into i can do it](https://cdn.hashnode.com/res/hashnode/image/upload/v1674137503179/196e9834-c5b1-4396-b6bf-827966684380.jpeg)

By participating in open-source projects, individuals can gain valuable skills and experience in software development, problem-solving, and collaboration. Open Source provides an opportunity to learn from experienced developers and to build a portfolio of work that can be used to showcase one's skills to potential employers.

One of the key benefits of open source is that it allows individuals to work on real-world projects with a diverse set of people.

Participating in Open Source projects can help people build a portfolio of work that demonstrates their skills and experience to potential employers. It provides the opportunity to network with other developers and professionals in the field.

## Let's start

![start gaming image](https://cdn.hashnode.com/res/hashnode/image/upload/v1674138269010/44391e23-8e3d-4b9d-9256-9b83cd2128bf.png)

Ok, Now that you are motivated, Let's begin the journey.

Here are the steps you will need to follow to get started:

1. Open your Computer

2. Open your favorite browser

3. Type in Github.com (Ah yes the place where it all starts)

4. Create an account and Setup the profile

5. Open a new tab in your browser and

6. Open this Documentation [https://linkfree.eddiehub.io/docs/quickstart](https://linkfree.eddiehub.io/docs/quickstart) and Follow whatever is written in the documentation. In this project, you are supposed to add your profile in the form of `.json` code in the data repository of the project and once your PR is merged it will create your profile on LinkFree.

7. Once you are finished with this Project, I am sure you will be familiar with how Github Pull Requests work.

8. What you need to know now is Familiarity with Git and Github.

9. Here is a simple tutorial to learn Git and Github. [https://www.youtube.com/watch?v=RGOj5yH7evk](https://www.youtube.com/watch?v=RGOj5yH7evk)

10. Now once you have finished learning Git and Github, I think you are ready to contribute more and more.

11. If you want to find more projects to contribute, you can go to [https://goodfirstissue.dev/](https://goodfirstissue.dev/)

12. If you want to learn more about Open Source and How Git and GitHub work you can check out this video - [https://www.youtube.com/watch?v=yzeVMecydCE&t=12s](https://www.youtube.com/watch?v=yzeVMecydCE&t=12s)

## Don't worry about the mistakes

In your journey of Open Source Contribution, you will make **mistakes** as well.

Don't get nervous or scared if you make mistakes, mistakes are a part of the learning process. I too made some mistakes in starting phase of my Open Source contribution but I learned from them and that is how you learn, **You learn from your mistakes**.

Don't hesitate to ask someone to help you. Folks in Open Source are always ready to help you out whenever you are stuck on something or need some help in some process you need to complete.

Feel free to message me on my Social accounts for any help.

My socials to connect -

[https://twitter.com/code\_shubh](https://twitter.com/code_shubh)

[https://www.linkedin.com/in/shubhsharma19](https://www.linkedin.com/in/shubhsharma19/)

[https://instagram.com/code.shubh](https://instagram.com/code.shubh)

## Conclusion

![a girl character waving to say bye](https://cdn.hashnode.com/res/hashnode/image/upload/v1674138827014/d1a8b2ec-34cc-4a3f-b6ce-bb60005f85d3.jpeg)

Alright, with that said we have covered all the basics you would need, to start off with your Open Source Contribution. I hope this article was helpful to you in your Open Source journey.

**Happy Learning :)**