A Beginner's Guide to Open Source
What is Open Source?
Open source means that something, such as software, which is open to the public. Specifically, open source software is software whose source code is freely available for anyone to use and modify. This type of software is usually created and updated by a group of people known as a "community."
The Hidden Benefits of Contributing to Open Source Projects
Skill-building: Contributing to open source projects can help you develop new technical skills and gain experience working on real-world projects.
For example - You don't know what is docker but you want to contribute to project which uses docker, now you'll ask in the community, learn it and make your contributions super faster while engaging with people.
Networking: Open source communities are often global and can connect you with like-minded individuals from all over the world. Building relationships with other contributors can lead to new opportunities, collaborations, and knowledge-sharing that can help you achieve your goals.
Reputation building: Contributing to open source projects can help you establish a positive reputation within the community. This can lead to recognition, respect, and credibility, which can open doors to new opportunities and help you achieve your goals.
Building Personal growth rapidly: While contributing to open source, you get to meet so many top minds from all over the world. Exchanging knowledge with them leads to personal growth and everyone in the community can see your good work, no one will ask for your resume or portfolio. For example - You are doing amazing contributions in the community, now you're leaving the proof of your work on GitHub (that's your contributions), on Twitter (that's your post - can be thread or posts) or at any of your platform where you're adding value to the people.
Overall, the benefits of contributing to open source projects are numerous and exciting. Whether you're looking to build your skills, establish a reputation, collaborate with others, or make a positive impact on the world, open source contributions can help you achieve your goals and provide you with a sense of fulfillment and purpose.
How to get involved in it?
The first step is to join the most inclusive Open Source community on the planet!
Yes, join Eddie Jaoude's community EddieHub. How to join?
Join the discord server to ask all your doubts about the open source within the org itself.
Now, you're already part of Open Source. It's time to make your first contribution
Start your first contribution to the most exciting and friendly project - LinkFree
LinkFree is the Open Source alternative to LinkTree. You can make your free profile over here with your first contribution. Here is an example of a LinkFree Profile https://linkfree.eddiehub.io/eddiejaoude
Step by step quickstart guide can be found in the full docs here https://linkfree.eddiehub.io/docs/quickstart
You can follow these steps too -
Visit the LinkFree repo
-
Click on fork
Accept the default fork creating a copy of the LinkFree project in your account - this will take you to the forked repo
Click add file and select "create new file"
In the file path at the top, add
data/
then with your GitHub username exactly as it appears, and append.json
(for exampledata/MadhuSini22.json
)For the file contents use the JSON structure below and you can add links to your social media and other content (for example: website) so they appear on your Profile:
{ "name": "Madhu Saini", "type": "personal", "bio": "**Open Source** Enthusiast | Full Stack Developer", "tags": ["Open Source", "JavaScript", "Full Stack", "MERN Stack", "Node.js"], "socials": [ { "icon": "FaTwitter", "url": "https://twitter.com/MadhuSaini22" }, { "icon": "FaGithub", "url": "https://github.com/MadhuSaini22.png" }, { "icon": "FaLinkedin", "url": "https://www.linkedin.com/in/madhu-saini/" }, { "icon": "SiHashnode", "url": "https://hashnode.com/@MadhuSaini22" }, { "icon": "FaLink", "url": "https://madhusaini.netlify.app/" } ], }
To add more links add another object inside the links collection. For example:
"links": [ { "name": "Follow me on GitHub", "url": "https://github.com/MadhuSaini22", "icon": "FaGithub" }, { "name": "Follow me on LinkedIn", "url": "https://www.linkedin.com/in/madhu-saini/", "icon": "FaLinkedin" }, ],
Scroll to the bottom and commit new file by adding the commit message that starts
data:
followed by your GitHub username (for exampledata: MadhuSaini22
)NOTE: Please use the online JSON Lint tool to check if your JSON file is error-free before committing your pull request.
Click
create new branch
and you can use the default name providedThen click
Propose new file
HIGHLY IMPORTANT Click
compare across forks
and you will see 4 drop downsThe first dropdown for the
base
repository (destination) should be set toEddieHubCommunity/LinkFree
not your usernameyour-username/LinkFree
.Click
Create pull request
The description will be filled with a template, please fill in the appropriate sections
Click
Create pull request
Now you need to wait to have your Pull Request (changes) reviewed, that's all
An approving review from one of LinkFree's maintainers will show a green check mark next to their id. You will receive a GitHub notification when you have a comment, review or your Pull Request has been merged
Once merged your profile will be available a few minutes later on your custom url (https://linkfree.eddiehub.io/MadhuSaini22)
Now, relax and give some time to the maintainers to review your PR
Now, you're having your first contribution with green square and free LinkFree profile🎉
It's completely normal to feel overwhelmed when making your first contribution! Contributing to something new can be intimidating, especially if you're not familiar with the environment or the tools involved.
Remember, making a contribution is a learning experience, and you'll get better with practice. So take it easy on yourself and keep learning!
Congratulations! You've reached the end of the blog, and I hope you found it insightful and informative. Did you learn something new today? If so, why not give it a thumbs up and show your appreciation? Also, if you're keen to stay updated on my latest articles, make sure you follow me on Hashnode. Thanks for sticking around, and I wish you a fantastic day ahead!
Subscribe to my newsletter
Read articles from Madhu Saini directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Madhu Saini
Madhu Saini
I’m Madhu Saini, an Open-Source Enthusiast, Full Stack Developer and a learner from India. I love helping people and promoting Open Source. I create content on JavaScript Web Development Public Speaking GitHub Open Source