JavaRush /Java Blog /Random EN /Open source projects: what is it and why you should becom...

Open source projects: what is it and why you should become part of the open source community

Published in the Random EN group
We bring to your attention an adaptation of an article by Jonathan Beckman , a developer from the USA, who described his personal experience of participating in an open source project. Open source projects: what is it and why you should become part of the open source community - 1From this material you will learn:
  • what are open source projects;
  • how you can contribute;
  • where to look for projects and tasks.

Why is it worth taking on open source projects?

First of all, this is a free programming practice. You can also add such projects to your resume, and, believe me, if you can explain your contribution to the common cause, getting the position of “junior” will be much easier than in the case of “just finishing courses.”

Open source project on your fingers

Do you like to walk in the park? Perhaps not now, because it’s already November, as they say “winter is coming!” I am sure that in good weather you will enjoy wandering among the trees along the well-groomed alleys. But what if your favorite park was abandoned by municipal services? It would quickly become a mess. Garbage would be scattered everywhere, mixed with dog waste, waiting anxiously for someone to finally step into them. It is unlikely that you would continue to go there for walks.
Open source projects: what is it and why you should become part of the open source community - 2
Now imagine a happier picture: a group of volunteers took responsibility for maintaining their favorite park. She regularly allocates funds to transform something unkempt and neglected into something very beautiful and useful to other people. And he does this not only for personal pleasure, but also for the joy of the public. Most likely, your favorite park is supported by our taxes, but in general the above situation describes how open source projects work.
Free and open source software are applications whose code is available to everyone. They can be downloaded and/or used on any number of devices. You are free to take the program code and do whatever you want with it, and then distribute it among your friends. This is so because such programs are distributed under free licenses, such as the MIT license.
While all software is essentially designed for the end user, as a developer you can contribute to an open source project and make the world a better place with new software available. If you want to take part in an open source project, you need to understand who is in charge of it and try to establish interaction with these people. I don't mean torment them half to death with questions and expect comprehensive supervision during work. You are an independent adult (even if you are not yet an adult, being independent is a great idea!). I hope you no longer need to lead by the hand and describe every step. I'm no help to you with this. But I can give you some good advice that will help you as you try to make your first contribution and potentially include your piece of code in an open source project.

Search for a project

If you're looking for an open source project to get involved in, find one that really interests you. It is desirable that there are many tasks from which you can choose. Don't settle for the first project you come across. This way, you will be more motivated and able to take the tasks seriously.

Where to look for Open Source projects

They can be found in public GitHub repositories. Actually, that's where everyone is looking for them. There are a lot of interesting things there .

Finding a Good First Problem

Finding a good first assignment is the key to success. Don't take on more than you can handle. Don't try to show all your knowledge at once: look for the simplest possible problem. This is the best way to understand how the interaction between you and the project curators works. In some projects, tasks are marked with special labels indicating the level of difficulty if the curators consider them suitable for novice developers. Look for something like this when you look at the objectives of your chosen project.
Open source projects: what is it and why you should become part of the open source community - 3
When you find a suitable task, write a comment to the project curators saying that you would like to work on it. Most often they will give you the go-ahead, but perhaps for some reason they will ask you to choose another option. Don't feel like you can't start before the answer comes, but be flexible if you are asked to stop and do something else. For my first assignment, I chose something where it was necessary to tweak the css a little. It seemed to me that I could implement it and it didn’t depress me.

Start and introduction

Getting started on a project can seem deceptively easy, but there are many pitfalls. Once you have selected a problem to solve, you need to deploy the project on your machine. Most likely, the project's sources will be “heavy” (although this depends on the project). You may have to install a large number of dependencies just to get the project running.
Open source projects: what is it and why you should become part of the open source community - 4
In the project I was involved in, there were few such moments, but this does not mean that it was easy. For example, we had to install specific versions of Ruby and specific versions of Rails, PostgreSQL, Phantom JS and Gemfile with a list of Gems for installation. This didn't seem like much of a requirement, but I had a big problem finding the specific version of Ruby needed to develop the project that would work on my computer. Finally, I used RVM to switch versions: this is another thing I learned, just to install the project and get it working on the computer. When I launched the project, I saw that it was written in Angular and Coffee Script, using Active Record to interact with data coming from the back-end. These were new things for us, and we had to figure them out on our own before starting work on the project.

Search for other tasks

You may not need this right now, or even need it in the near future, but I ran into it almost immediately. It’s great luck to immediately notice that something is not working correctly in the project. If you find such a bug, go to the working site and see if it is there. Don’t rush to write to support, maybe everything is working. Usually curators control the situation and there should be no critical errors. But if you do find something that requires attention, find and check among the tasks that already exist. Most likely, the problematic task has already been written down and most likely you do not need to do anything. Although it might be worth solving it yourself once you've finished what you're working on.
Open source projects: what is it and why you should become part of the open source community - 5
When you design and write down a new task, make sure you describe it in as much detail as possible. Use screenshots to clearly illustrate what you're trying to say and make it as easy as possible for anyone looking at your site to understand the problem you're describing. In my case, I ended up adding two additional tasks beyond the one I was assigned. I couldn't even make a pull request (this was due to security restrictions). It felt like I had taken two steps back for the project, but in reality, describing and organizing tasks still moves the project forward. Creating a pull request (PR)
Pull request - a proposal to change the code in the repository (project code repository). If you are working on an open project, you should always create your own branch, and it is advisable to make changes to the main code (master) only after pull requests have been approved by the project curators.
You have solved the problem assigned to you. Before writing a progress report, show the solution to someone who can evaluate it. Previewing is always a great idea, but for your first contribution to an open source project, it's a must . You don't want to blush because of an unfinished or incorrectly working piece of code? For the same reason, the project curators will ask you to pass all the necessary tests before submitting a pull request. Therefore, check yourself ahead of time to be confident in your work and correct it if necessary before receiving confirmation from the curators. Make sure that you adhere to the names or style that are accepted by the project curators. You can find information in the CONTRIBUTING.md file , most projects have it. Also there you can clarify in what form you should create a commit message, what the description of your pull request should look like and how to create a new task.

Leave task

Sometimes you realize that you are not up to the task. Or you thought you had time for a project, but in reality you didn’t, urgent work came your way and you need to get on with it. This is normal. The main thing is to unsubscribe from the task and leave a message to the curators so that they know that you will not be able to continue working on the project. But under no circumstances abandon a task without informing the curators and unsubscribing from it.
Open source projects: what is it and why you should become part of the open source community - 6

Conclusion

I believe that participating in the development of an open source project is a huge benefit. You are practicing and at the same time doing something useful for other people. On the other hand, this project can become another point on your resume and provide additional advantages when fighting for the desired position. Just last Friday I spoke with a programmer who got his job (a very cool and interesting one, one that could change the world for the better, and I’m really not kidding) thanks to his work on open source projects.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION