Demystifying Open Source – Joining the community for beginners

Table of contents

No heading

No headings in the article.

“Why did the directors end the movie this way? How can the world forget the hero of the movie itself? Peter Parker should return as Spiderman with his identity known. If I was allowed to direct the climax, I would’ve taken it to another level……”

Well if you don’t know what open source is, giving you the opportunity to get to work on a real-time project, like the movie in the above example, and suggest some changes or features to the project, making it a better one is the basic idea of open source.

That’s it…..end of blog? Definitely not. While it may seem to be simple, and it is actually simple, there are some prerequisites that a developer needs to be aware of to start contributing towards open source projects. As we know that there are thousands of developers trying to make changes and implement new things to a project, and there is a need for a common platform to enable proper access control, task management and version control. And that for beginners is, Github.

ABC’s of Github/GIT:

The “octopuss” (combination of octopus and pussycat) logoed software allows users to manage projects, with multiple branches of developmental codes. Complex to understand right…..let's break this down.

The project maintainer drops his project code into the platform. Anyone who wants to do any changes to the project, gets access to the project’s code and with a set of guidelines and rules, the developers will be able to merge their code to the available code. This also means that you have some contribution towards the improvement of the project. You are actually a contributor to the project.

Moving a bit deeper technically,

A repository is a basic folder of a particular project. The repository contains files, images, videos…..anything that is related to your project. Only the maintainer and the people with prior permissions have access to the main branch of a particular project.

Contributors have to create a copy of the repository, often called forking, and then make the changes so that even if there is a mistake or an error in the new code, it won’t affect the project.

After making changes to the forked repository the contributors will be opening up something called an “ISSUE” which specifies about the desired changes you want to make to the projects and the related things like the description, addons etc….

After the issues are reviewed, accepted and assigned to a particular person, the contributors can start working on the projects.

After the changes have been made to the forked repository, the contributor raises a pull request to merge his code to the main branch of the project so that his code is actually present in the project. That’s it, you’re done contributing to a project.

Choosing programming languages and projects:

The first thing that comes up to beginners, when I say about development, is UI/UX and front end. Yes, they are usually the starting of any development. The basics of WEB DEVELOPMENT include programming in HTML, CSS and JavaScript. Just by knowing 2-3 languages a person can contribute a lot towards open source.

But how can a person, just by knowing these programming languages to a basic level work on projects?

1. Look for basic front-end issues.

For example

1. Adding some cool logos to the website.

2. Enabling hyperlinks to images

3. Website redirection bugs.

4. Aligning the texts and images.

All the above issues can be solved just by knowing the basics of HTML alone.

2. Create issues which deal with the styling of the website. For this, a person is expected to know about CSS.

For example

1. Creating navbars.

2. Creating footers.

3. Enabling text animations for the heading.

4. Creating user-friendly buttons to move around the website.

5. Creating forms for user messages.

3. Adding user attracting features. This includes features which draw the attention of the viewers with animations, toggling and transitions. Javascript is widely used for this purpose.

The above issues may seem to be simple, but they add some great features to the websites. As a beginner to open source, these are some great issues which can make you familiarise yourself with the platform and coding. Many a mickle makes a muckle!

So now are you ready to film the climax of the movie….