Starting With Open Source

Majd Al Mnayer - Sep 2 - - Dev Community

Introduction

My name is Majd Al Mnayer, and I am a fourth-year Honours Bachelor of Technology – Software Development student at Seneca Polytechnic. I've always been a fan of technology and software development, and I really enjoy the fact that there is always something new to learn every day!

I am taking the Topics in Open Source course because I have always been fascinated by the fact that some of the world's most widely used tools and codebases are open source. Many of these projects have hundreds, if not thousands, of contributors, and I would love to be one of them! Additionally, open source projects often provide alternatives to certain non-open source solutions.

For example, one might choose to use an open-source project and host it themselves rather than signing up for a commercial product and paying monthly. Open source offers complete freedom, sometimes better solutions to specific problems, and greater flexibility!

Expectations For This Course

The primary goal for taking this course is my desire to become an open source contributor and to connect and network with all the amazing developers in the open source community. In addition to learning how to leverage the power of open source projects when needed!

As for which projects I might work on, I do not have a specific preference. I am just looking for something that piques my interest—something unique, fun to engage in, and exciting to contribute to! Ideally, I would like to explore technologies, approaches, or domains that I am not yet experienced in. I enjoy spending a lot of time understanding the code, the goals, and the approach before I start working on a solution. This is also part of why I love being a software developer; you work with unique challenges all the time, and it never gets boring!

My Choice For A Trending GitHub Repo

To begin with, we were tasked with choosing a trending GitHub repository to research, examine, and test!

I decided to look for a trending GitHub repository written in C++, my favorite programming language. I came across a very intriguing repository called cppcheck. Why did it catch my attention? Well, we all know about ESLint and Prettier, but a linter for C++? Now, that is something I just had to explore!

After reading through the manual and documentation, I set up cppcheck on my system and installed its add-in, which integrates directly into Visual Studio! Not only that, but it can also be configured to run after every file save!

It even appears in the context menu when you right-click a file:
Image description

But enough suspense, let's dive in. How good is it, really? To find out, I created a test file, main.cpp, and declared an array on the stack with a capacity for just two elements. Then, I attempted to set the value of the 11th element to 4, which, of course, doesn't exist. Here's the code:

int main()
{
    int arr[2];

    arr[10] = 4;
}
Enter fullscreen mode Exit fullscreen mode

Then, I have configured cppcheck to run when I save my source code, I saved my file, then this happened:

Image description

This is absolutely incredible. Not only does cppcheck catch logical errors, but it also identifies style issues, ensuring cleaner and more efficient code!

I'm thrilled that I chose this tool as my trending GitHub repository to explore because I know I will use it in all my future projects and confidently recommend it to my colleagues at work!

Conclusion

Technically, this semester hasn't even started, and I am already gaining exactly what I hoped to from this course! I'm excited to dive into more projects, learn from different communities, and truly become an active open source contributor. The possibilities are endless, and I can't wait to see where this journey takes me!

. . . . . . . . . . . .
Terabox Video Player