You may have heard the term Open Source/Free Software and you want to become a part of a project and participate in it, but your programming experience is still little or you are not a programmer or technician at all, but the free software movement attracts your attention and interest, do not worry You don’t have to be a professional programmer to be able to participate! In this article, we will discuss the most important skills required to participate in open source projects on Github.
The importance of open source projects and software is reflected in the free sharing of the ideas they contain, and therefore they push technology forward and provide new ideas that are not protected and available to the public to modify and use in their commercial project and sell the product.
Since open source projects are shared by several people from different backgrounds and experiences and their goal is to improve the project, the end product is often really unique, and free projects are constantly updated and renewed. All problems that the project faces at one stage are covered and fixed in the next version Quickly, free projects also provide transparency and clarity in the way they work for everyone, whether they are developers or users of the project, which means that anyone can diagnose and find a security problem, which increases the security level of the software.
The option of open source projects is also an economical option, for companies, instead of buying the basic Microsoft Office package license, the company can adopt the free and open source Libre Office package and save up to thousands of dollars.
Caution: There is a confusion between the term free software and free software. The former means that the software is free, but this does not mean that its source code is available, while the latter means that the source code is available to the public.
Well, you’ve decided that you want to participate in the free software movement, but you don’t know which of your experiences can benefit projects, now we’ll mention some of them!
Translation
The fact that the English language is not your mother tongue adds to the opportunity for you to participate and contribute in translating the project into your mother tongue (Arabic). There are many projects that need translation, especially into the Arabic language. Of course, the acceptance process will not be easy. You must show evidence of your experience and knowledge in this field, Find the project organizers and their details and try to contact them.
The design
Usually open source projects in their infancy lack a beautiful and friendly user interface. There is a clear lack of designers’ posts, whether in the user interface and user experience (UI & UX) or in terms of web (Front-end Development) if you are a specialized designer Your skills are very valuable!
Legal aspect
The project is open source that does not contain a license, it is not open source technically and does not enjoy the trust of people and contributors, so bringing contributors to the project is difficult under these circumstances. Or the technician can help these projects get started and take off. You can learn about the licenses of open source projects through this site.
Organizing and planning
If you are not specialized in any of the previous fields, but you know a simple thing about each of them, perhaps one of the appropriate options available to you is planning and organizing the work among the shareholders. This organization may be in a specific field by managing a small team of translators or designers, for example, or by managing the entire project and setting goals short and long term.
In addition to setting and defining the conditions for contributing to the project and the laws regulating it (Code Of Conduct), amending the project documentation and adding to it after each change and update, in addition to avoiding problems between shareholders and resolving them if they do occur (problems will occur at some stage).
Experimentation and error detection
After the completion of the first stages of the project, the project will be placed in the beta stage, meaning that the software will not be stable and may contain many errors. Here comes your role as a Beta Tester, where you run the program and take a look at it and experience all its advantages, and report the errors that I found it and the possible improvements you see would add something good to the project.
Be an active contributor to the project
The participation of project contributors is not limited to their direct work on the computer, but extends to more than that, for example, discuss the project with your peers and friends, tell them about the features, and try to add them to the work team if they have the appropriate skills, and share the progress of the project on social networks.
And most importantly, help others interested in the project to join, explain the purpose of the project and provide adequate answers to any questions related to the project, or write an article about the project on one of the websites!