How to begin with open-sourcing?
Tags: hacktoberfest, hacktoberfest2020
Published: 2020-10-19 20:00:51

## What I Learned From Hacktoberfest

<!-- What did you learn that can help others contribute to the project you worked on? What did you learn that can help the users of that project?! -->

Open-sourcing is not always about finding open source projects online and starting to contributing to them. Often we lack confidence and skill to contribute to some high-level open-source project which actually adds value to our resume.

But open-sourcing is a great way to learn to contribute and how to work in a team. plus it also helps others around the globe to improve their open-source projects.

### How do we begin open-sourcing? 
The First Open Source project can be your own project, for example, you are learning some technology and making a project for practice. You can build that project as an open-source project and let your friends know or people on social media and ask them to help you improvise the project.

### How to get started with Open Source Project?
To begin with open-sourcing, you need to understand some terms regarding contributing to a project, you don't always need to change or upgrade the project. You can also contribute by raising an issue which is you test the application and report some bug you found out. Or you can go to the issues section in the Github repository and find a bug and try to remove that. 
Now some files you need to look for in a repository or if you're opening your own project you need to add so people can effectively contribute.

1. CONTRIBUTING.md - This file contains the contribution guidelines. How you contribute to the existing project. It's always advised to work on your own branch and not master/main branch. While making changes you need to consider clean code practices and the naming conventions. Some examples can be found here. [React | How to contribute ](https://reactjs.org/docs/how-to-contribute.html), [Github Example](https://gist.github.com/PurpleBooth/b24679402957c63ec426)

2. LICENSE.md - This file tells under which License the rights for the repository are reserved. An open-source license can be of many types, you may have seen MIT license on many repositories For more detailed information on types of licenses you can read here [Open Source Licenses Explained](https://resources.whitesourcesoftware.com/blog-whitesource/open-source-licenses-explained). 

3. Pull Request - When you make changes to some project in your local environment and want those changes to be merged on a remote repository you submit in the form of a pull request which is later reviewed and approved by the owner/maintainers before it is actually merged or implemented on the main version of the project.

There are more Terminologies/Files but that depends on the project maintainers completely. like AUTHORS.md that contains all the author's name and email, I observed that in react repository. There is also a CHANGELOG.md which contains the major/minor changes across various versions of the project.


In the end, you need to try open-sourcing at least once as it gives you a lot of exposure and experience of How people write code across the world and you can also help someone make their software/website/project better. For instance, you love some library but there is no update, go and see if you can try something. Or some new website or product is launched you report their issues and see if you find an opportunity to resolve them. So go out there and try contributing.