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

Open source projects: what is it and why you should be 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 be 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 take on open source projects?

First of all, this is a free programming practice. You can also fill up your resume with such projects, and, believe me, if you can explain your contribution to the common cause, it will be much easier to get the position of "joon" than in the case of "just finished the courses."

Open source project on fingers

Do you like walking in the park? Maybe not now, because it's already November, as they say "winter is coming!". I am sure that in good weather you are happy to wander among the trees along well-groomed alleys. But what if your favorite park was abandoned by municipal services? There would be chaos very quickly. Everywhere there would be rubbish mixed with the waste of the life of dogs in the agonizing expectation that someone would 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 be part of the open source community - 2
Now imagine a happier picture: A group of volunteers have taken charge of maintaining their favorite park. She regularly allocates funds to turn something unkempt and abandoned into something very beautiful and useful to other people. And he does this not only for personal pleasure, but also to the delight 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 software with open source code (open source) is an application 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 acquaintances. This is so because such programs are distributed under free licenses, such as the MIT license.
While any software is, in essence, designed for the end user, as a developer you can contribute to an open source project and thereby 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 oversees it and try to establish interaction with these people. I do not mean to torture them half to death with questions and expect comprehensive patronage while working. You are an adult independent person (even if you are not yet an adult, then being independent is a great idea!). I hope you no longer need to lead by the hand and paint every step. In this I am no help to you. However, I can give you some good advice that will help you when you try to make your first contribution and potentially include your piece of code in an open source project.

Project search

If you're looking for an open source project to get involved with, find one that you're really interested in. It is desirable that it has many tasks from which you can choose. Don't settle for the first project you come across. In this case, you will be more interested and will be able to take tasks seriously.

Where to look for open source projects

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

Finding a good first task

Finding a good first assignment is the key to success. Don't take on more than you can handle. Do not try to immediately show all your knowledge: look for the simplest possible task. This is the best way to understand how the interaction between you and the project sponsors goes. In some projects, tasks are marked with special tags indicating the level of difficulty, if the curators consider them suitable for novice developers. Look for something similar when you look at the tasks of the selected project.
Open source projects: what is it and why you should be part of the open source community - 3
When you find a suitable issue, write a comment to the project sponsors that you would like to work on it. Most often you will be given the go-ahead, but perhaps for some reason they will be asked to choose another option. Don't think you can't start until the answer comes, but be flexible if you are asked to stop and do something else. For my first assignment, I chose the one where it was necessary to slightly tweak the css. It seemed to me that I could realize it and it did not depress me.

Getting Started and Introduction

Getting started on a project can seem deceptively easy, but it comes with a lot of pitfalls. Once you have selected a task to solve, you need to deploy the project to your machine. Most likely, the project sources will be "heavy" (although this depends on the project). You may need to install a lot of dependencies just to get the project up and running.
Open source projects: what is it and why you should be part of the open source community - 4
In the project I got 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 a Gemfile with a list of Gems to install. It didn't seem like much of a requirement, but I ran into a big problem finding the specific version of Ruby needed to develop the project and running on my machine. Finally, I used RVM to switch versions: that's another thing I've learned just to get a project up and running on a 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

Search for other tasks

You may not need it right now, and you may not even need it in the near future, but I ran into it almost immediately. Great luck to immediately notice that something is not working in the project. If you find such a bug, go to the working site and see if it's there. Do not rush to write to support, perhaps everything is working. Usually curators control the situation and there should be no critical errors. But if you still find something that needs attention, find and check among the tasks that already exist. Most likely, the problematic task has already been recorded and most likely you do not need to do anything. Though it might be worth solving it yourself when you've finished what you're working on.
Open source projects: what is it and why you should be 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 show what you are trying to say and make it as easy as possible for an outsider to understand the issue, who will look at the site and see the problem described. In my case, I ended up adding two additional tasks besides the one assigned to me. I couldn't even make a pull request (due to security restrictions). It seemed to me that I took two steps back for the project, but in fact, the description and design of tasks still moves the project forward. Create a pull request (PR)
Pull request (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 (branch), and it is advisable to make changes to the main code (master) only after the pool requests are confirmed by the project curators.
You have completed the task assigned to you. Before writing a progress report, show the solution to someone who can evaluate it. Previewing is always a great idea, but it's essential for your first contribution to an open source project . You do not want to blush because of an unfinished or incorrectly working piece of code, do you? For the same reason, the project curators will offer you to pass all the necessary tests before the 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 you stick to the names or styles that are accepted by the curators of the project. You can find information in the CONTRIBUTING.md file, it is in most projects. Also there you can specify in what form you should create a commit message, how the description of your pull request should look like and how to issue a new task.

Leave task

Sometimes you realize that you are not coping with the task you have taken. Or it seemed to you that you had time for a project, but in fact it didn’t turn out to be, urgent work fell on your head and you need to do it. This is the norm. Most importantly, unsubscribe from the task and leave a message to the curators so that they know that you will not be able to continue with the project. But in no case do not leave the task without informing the curators and without unsubscribing from it.
Open source projects: what is it and why you should be part of the open source community - 6

Conclusion

I believe that participation in the development of an open source project is one continuous benefit. You practice and at the same time do something useful for other people. On the other hand, this project can become another item on your resume and give additional advantages in the fight for the desired position. Just last Friday I was chatting with a programmer who got a job (very cool and interesting, one that can change the world for the better, and I really am not kidding) precisely because of his work on open source projects.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION