Hey everyone!!! This is the Newcomer's Guide to get you Up To Speed on the exciting World of OpenSource.
NIT Kurukshetra Open Source Group, abbreviated as NITKOSG, is an initiative taken up by the students of NIT Kurukshetra who want to promote and create awareness about Open Source Contributions. Before contributing to open source projects, one needs to know what open source is...
Open Source refers to any program whose source code is openly available and free to use and modify as the user feels like or the developer seems fit. These programs usually depend on the Open Source Contributions for their further development.
Open Source Contributions are the contributions or developments that a developer does to these Open Source Programs in order to help advance the project, while learning and growing along the process.
Contributing to open source can be a rewarding way to learn, and build experience in just about any skill you can imagine. Why do people contribute to open source? Plenty of reasons!
- Whether it’s coding, user interface design, graphic design, writing, or organizing, if you’re looking for practice, you can always find some work in some open source project.
- Open source projects have warm and welcoming communities who keep you motivated. Many people form lifelong friendships through their participation in open source - whether it’s running into each other at a conference or late night online chats about burritos.
- Working with others on a shared project means you’ll have to explain how you do things, as well as ask other people for help. The acts of learning and teaching can be a fulfilling activity for everyone involved.
- By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.
- Open source offers opportunities to practice leadership and management skills, such as resolving conflicts, organizing teams of people, and prioritizing work.
- You don’t have to become a lifelong contributor to enjoy participating in open source. Have you ever seen a typo on a website, and wished someone would fix it? On an open source project, you can do just that. Open source helps people feel agency over their lives and how they experience the world, and that in itself is gratifying.
A common misconception about contributing to open source is that you need to contribute code.
In fact, it’s often the other parts of a project that are most neglected or overlooked.
Do you like planning events? Do you like to design? Do you like to write? Do you like organizing? Do you like to code? Do you like helping people? Do you like helping others code? Whatever you like doing do so. Just find a project and start contributing.
To help you with this very important step NITKOSG has come up with an idea of a project on which we have a dedicated core development team that has begun working on that. Once we have completed the initial version we will open it for Open Source Contribution to give all of a platform to enter this field. We will be coming up with various new projects as soon as possible and the links to those projects will be provided below.
Every Open Source Project or Community is different. Getting started with a new Open Source Project may seem a little tricky. This project may have a completely different vocabulary, norms and communication styles than the one you are accustomed to. So, to get the best start with the project, here is a checklist :
-
Trying to run the program yourself helps you to understand every feature of the application. This may also reveal some problems that might be the base of your first contribution. Related resources :
- README
-
People usually have this misconception that before contributing to a project, they need to be fully aware of what every piece of code does. This thought is very unrealistic as you cannot hope to understand the entire project within a month, which has taken years to develop. So what should you do? Well, keep this in your mind that you do not need to understand the entire code - try to understand only the part that you plan to work with.
-
Once you are completely aware with the part that you plan to work with, setup the environment for development. You can read the README or CONTRIBUTING file to figure out how to set up the environment.
-
The next step is to start changing the code as required for the improvements you want to implement.
-
Once the changes are complete and ready to be integrated, create a Pull Request and ask the Community to review the changes. Once the changes are accepted, your contribution is finally complete.