Tools and resources to help you get started with open source
Create your first pull request here!
๐ git-in.to
Contents
The aim of this repo is to provide a roadmap, along with some helpful guides and resources to help anyone, of any level to get into open source.
Why? Because open source is awesome! It's the backbone for almost all modern software, and has enabled people from all over the world collaborate to build eipc stuff. It's a place where everyone has a chance to learn, contribute, and make an impact. The beauty of open source lies in its accessibility and inclusivity, with welcoming communities which are open to anyone.
If you're new here, and looking to make your first pull request, check out the Git in section below, where you can submit a PR and have your name included on the list!
- Why Open Source?
- Submit your first PR (UI)
- Full Local Git Setup
- Submit your first PR (CLI)
- Open Source for Businesses
- Simple Introduction to Git
- Open Source Guides from GitHub
- Good First Issue - Find beginner-friendly tickets
- First Contributions - Find projects to contribute to
- Code Triage - Find Projects to Contribute to
- Outreachy - Paid Open Source Internships for Beginners
- Learn Git - Comprehensive yet simple guide from BitBucket
- Git Immersion - Quick walk through of Git
- Git Tips & Tricks
- GitHub Cheatsheet and Hidden Features
- Git GUIs for Windows, Mac and Linux
- All about Git Hooks
- Effective branching patterns of larger teams
- Choose an open source license
- Git Command Explorer
The following roadmap covers all the core skills and areas you may want to research, if you're looking to become an open source master.
This idea was inspired by roadmap.sh - which you should definitely check out if you haven't already! They provide some awesome developer roadmaps and learning pathways for various tech stacks.
๐ฆฏ Click here if you cannot see the chart
This diagram is written using Mermaid- view the chart source here
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#d494ff',
'primaryTextColor': '#161618',
'primaryBorderColor': '#161618',
'lineColor': '#6befe0',
'secondaryColor': '#5F54D5',
'tertiaryColor': '#fff'
}
}
}%%
graph LR
style A fill:#759ad5;
style B fill:#9c86ee;
style C fill:#9c86ee;
style D fill:#9c86ee;
style E fill:#9c86ee;
style F fill:#9c86ee;
style G fill:#9c86ee;
style H fill:#9c86ee;
A(fa:fa-code-branch Open Source Developer Roadmap)
%% Stage 1
A ==> B(fa:fa-play Stage 1: Introduction)
B ==> B1(What is Open Source?)
B1 --> B1a(Philosophy & Principles)
B1 --> B1b(Benefits - Collaboration, Transparency, Community)
B1 --> B1c(Challenges - Licensing, Governance, Sustainability)
%% Stage 2
A ==> C(fa:fa-wrench Stage 2: Fundamental Tools)
C ==> C1(Version Control with Git)
C1 --> C1a(Basics - Init, Add, Commit, Push, Pull)
C1 --> C1b(Branching & Merging)
C1 --> C1c(Handling Conflicts)
C1 --> C1d(Best Practices)
C ==> C2(Using GitHub/GitLab/Bitbucket)
C2 --> C2a(Repositories, Issues & PRs)
C2 --> C2b(Forking vs Cloning)
C2 --> C2c(GitHub Actions - CI/CD Basics)
%% Stage 3
A ==> D(fa:fa-code Stage 3: Dive into Coding)
D --> D1(Pick a Language)
D1 --> D1a(Basics & Advanced Topics)
D1 --> D1b(Libraries & Frameworks)
D1 --> D1c(Community & Support)
D ==> D2(Project Structure & Design Patterns)
D2 --> D2a(Understanding Open Source Codebase)
D2 --> D2b(Common Architectural Patterns)
D2 --> D2c(Code Quality & Standards)
%% Stage 4
A ==> E(fa:fa-people-line Stage 4: Engaging with the Community)
E ==> E1(Finding the Right Project)
E1 --> E1a(Good First Issue & Beginner Friendly)
E1 --> E1b(Project's Vision, Goals, and Roadmap)
E ==> E2(Communication Skills)
E2 --> E2a(Engaging in Discussions)
E2 --> E2b(Reporting Bugs & Enhancements)
E2 --> E2c(Code Review Ethics & Best Practices)
%% Stage 5
A ==> F(fa:fa-hands-holding-child Stage 5: Make Contributions)
F ==> F1(Documentation & Testing)
F1 --> F1a(Writing Clear Documentation)
F1 --> F1b(Unit Testing & Test-Driven Development)
F ==> F2(Bug Fixes & Feature Enhancements)
F2 --> F2a(Debugging Strategies)
F2 --> F2b(Collaborating with Project Maintainers)
F ==> F3(Project Governance & Management)
F3 --> F3a(Understanding Project's Governance Model)
F3 --> F3b(Role of Maintainers, Contributors, and Users)
%% Stage 6
A ==> G(fa:fa-brain Stage 6: Advanced Topics)
G ==> G1(Open Source Licensing)
G1 --> G1a(Common Licenses - MIT, GPL, Apache)
G1 --> G1b(Choosing a License for Your Project)
G ==> G2(Sustainability & Monetization)
G2 --> G2a(Donations, Crowdfunding, Grants)
G2 --> G2b(Open Core, Dual Licensing, Paid Support Models)
%% Stage 7
A ==> H(fa:fa-rocket Stage 7: Your Own Project)
H ==> H1(Starting a New Project)
H1 --> H1a(Defining Vision & Scope)
H1 --> H1b(Community Building & Management)
H ==> H2(Continuous Integration & Deployment)
H2 --> H2a(CI/CD Pipelines for Open Source)
H2 --> H2b(Tools - Travis CI, CircleCI, GitHub Actions)
H ==> H3(Project Leadership & Mentoring)
H3 --> H3a(Nurturing New Contributors)
H3 --> H3b(Setting & Managing Expectations)
The following users have contributed to this repo, by sharing their thoughts and ideas about open source.
Join them by editing the git-in-here.yml
file, and following the instructions in CONTRIBUTING.md
to submit a PR.
User | Contribution |
---|---|
araguaci โญ ๐ซ 145 โ ๐ฃ 2057 โ ๐ 1031 ๐ artesdosul.com |
I want to get into open source because: Thank you for your contributions, your projects are very cool, a lot of difficulty in learning these new technologies alone, the courses are very expensive in BR. Their designs are beautiful and very creative. Your advice to start with a project that we are passionate about is perfect, I work mainly as a volunteer and taking these technologies to friends who know very little and don't even know how to use a computer, there are still people like that... I love your work, soon I will be sponsoring. ๐ซถ |
Sanchit Bajaj โญ ๐ซ 85 โ ๐ฃ 138 โ ๐ 92 ๐ sanchitbajaj02.github.io/... |
I've built or contributed to a project that I'd like to share here, which is: I am currently developing an open-source project called 'Palettegram.' The idea for this project originated a few months ago when I was working on a client's project. I had to design a website based on the client's unique needs, which sometimes didn't align with standard design practices. During that project, I felt the need for a platform where design professionals could review my work, and I could draw inspiration from other designers. I realized that such a platform would be immensely valuable. |
Ejaj Ahmed ๐ซ 3 โ ๐ฃ 1 โ ๐ 13 ๐ฆ @aeejazkhan |
The advice I would give to someone new to open source is: Start with projects you're passionate about and begin with small, well-documented contributions to ease your entry into the open source community. |
AKSHATH P โญ ๐ซ 10 โ ๐ฃ 6 โ ๐ 32 ๐ฆ @AkshathP2 |
I want to get into open source because: I am into open-source to explore and contrubute into real world examples of what i am learning . It gives me immense pleasure when i am able to bring changes/improvements into someone's application , be it small or big changes, using my little knowledge. I am mostly into web development and as i dive deep into repositories in Open Source , I am learning new stuffs everyday. |
denschiro โญ ๐ซ 1 โ ๐ฃ 4 โ ๐ 44 |
The tech (tools, languages, libraries, etc) I most use and love is: I love Python and am always amazed at how easy it is to solve projects with the almost countless libraries like Tensorflow, OpenCV and also the bandwidth like Micropython always impresses me. |
Kaustubh2904 โญ ๐ซ 2 โ ๐ฃ 9 โ ๐ 36 ๐ฆ @Kaustub15852947 |
The most rewarding thing I've experienced in my open-source journey is: In my open-source journey, I've gained new friendships, planted a tree through Hacktoberfest 2023 and learned extensively. This experience has broadened my network, made a positive environmental impact, and improved my technical skills, highlighting the significant value of open-source contributions. |
Euler-271 โญ |
The tech (tools, languages, libraries, etc) I most use and love is: I use python a lot! Its a great language for machine learning and data science.There are many machine learning libraries such as tensorflow, pytorch, OpenCV etc which i use on a daily basis for my projects. Machine Learning is a exciting field and everyone should try it! |
Miriam โญ ๐ซ 1 โ ๐ฃ 9 โ ๐ 25 ๐ datascienceportfol.io/mir... |
The tech (tools, languages, libraries, etc) I most use and love is: One tech tool I really love is the Jupyter Notebook. It so easy to use and navigate. As a noob in Data science and Machine Learning and this tool has definitely helped make my work fun and easy to handle. I most especially love how I get error messages and also a prompt as to where the error occured. I have always loved coding in python and one library I use a lot when working on projects is the Seaborn library. For me, it just gives a different feel to my visualizations. |
Aryan Saxena ๐ซ 6 โ ๐ฃ 5 โ ๐ 18 |
I want to get into open source because: I want to contribute to open source to gain hands-on experience, and work on substantial projects. It's a valuable opportunity to enhance my technical skills, collaborate with a global community, and give back to the software development world. Open source contributions serve as a portfolio, showcasing real-world experience and dedication to continuous learning, making it a win-win for personal and professional growth. |
Agrima Gupta ๐ซ 5 โ ๐ฃ 4 โ ๐ 25 |
The advice I would give to someone new to open source is: Trust me when I say that you get the true feels of a developer is not when you deploy your project but when you give back to the community and solve the issues of open source techstacks you actually used in your project. In the beginning all of it can seem a bit overwhelming but truly just trust the process, your are definitely onto something great. |
Sourav Chandra Dey โญ ๐ซ 20 โ ๐ฃ 15 โ ๐ 15 ๐ scd-02.github.io |
The most rewarding thing I've experienced in my open-source journey is: The most rewarding thing I have experienced is that open source helps me enhance my skills, and I can seek help from this diverse and large community anytime I am stuck. |
Milap Patel ๐ซ 1 โ ๐ฃ 4 โ ๐ 21 |
I want to get into open source because: I want to get started to open source contribution so that I can learn contributing to projects and get some hands-on experience in development. I also get to learn version control skills like Git, and hope to shine my coding skills and learn new language by contributing to projects. Open source contributions will also decorate my CV, and increase my chances of getting a remote job or better off-campus placements, and I'm also aiming for next year's GSoc, so this is a great way for me to practice. |
Addy |
The most rewarding thing I've experienced in my open-source journey is: For me, it has always been the people I get to meet, or the ideas that are shared while working on the open source projects. Seeing your code implemented is always a cherry on top |
Yash Kumar Shrivas โญ ๐ซ 23 โ ๐ฃ 14 โ ๐ 86 ๐ yashshrivastech.vercel.ap... |
The advice I would give to someone new to open source is: Hey Folks ๐๐ป๐ป, if don't know about open-source and how to contribute, don't worry you will get there just by learning, doing hands-on practice and sharing knowledge with others, I also want to say that learning in public plays a very significant role because it can create lots of opportunities for you. |
kiddjsh โญ ๐ซ 5 โ ๐ฃ 23 โ ๐ 46 |
I want to get into open source because: Open Source Projects will allow me to get involved within different communities giving me an opportunity to further develop skills, by contributing to source code in areas of development, documentation, bug fixes, and testing, that will be recognized by community members and hiring managers, which will help in advancing my software development career. |
Zaid Saheb ๐ซ 11 โ ๐ฃ 20 โ ๐ 23 |
The advice I would give to someone new to open source is: My advice for someone who wants to get into open source is to JUST START. Even if you don't know anything about anything, learning will be so much easier when you are doing hands on work. We often think that acquiring new skills or learning something new is going to take us a lot of time, which discourages us, but the thing is that timewill pass anyways. Keep at it and you will achieve something great! |
GettingWeirdKnowledge |
I want to get into open source because: I've always been fond of the way open-source indicates the strength of the masses. Making contributions together not only helps numerous people develop their skills but also ends up creating a beautiful end product and providing a sense of community and togetherness to programming. I couldn't manage to find time earlier but now that I have some, I'm excited and eager to play my part in providing contributions and sharing my knowledge. |
entrerbrianup |
I want to get into open source because: I want to get into open source to learn, contribute, and collaborate with others in the community and get good connection in the field of Computer science world. |
Anshika Verma โญ ๐ซ 1 โ ๐ฃ 6 โ ๐ 7 |
I want to get into open source because: Getting into the open source is an amazing opportunity to expand our skills,work on real-world projects and connect with the community of passionate individuals.It's a great chance to make a positive impact on the world-all while learning from experienced developers. |
lakshmana-git โญ |
I want to get into open source because: I believe open source is a way to unlock the power of collaboration. It helps people across the world to learn and solve problems together. There is a saying that goes like more eyes on the code make it harder for bugs to survive. Let's learn, share, and build ๐. |
Vivek Chatterjee ๐ซ 12 โ ๐ฃ 14 โ ๐ 43 ๐ vivek-portfolio-site.netl... |
I balance open source work alongside my day job by: I do it after coming home from work, in the evening. First of all, I make sure to not take office work home, I get them done in the office itself and then in the evening I look for issues on topics based on my interests and believe me, it feels awesome when the thing you have worked on gets merged on the main branch, but we should not work for the result but work to learn from the journey and from the mistakes and optimize ourselves each day. |
Aditya ๐ซ 20 โ ๐ฃ 6 โ ๐ 82 ๐ฆ @dev_adityag |
The advice I would give to someone new to open source is: As beginner some times we get exhuast with big code that we don't understand๐. But we don't have to worry about it๐. Just start with the small project, repos or code. So how to find good first issues or tasks that we can do as a beginner. Just go to - https://goodfirstissue.dev and thank me later...๐ You can also checkout https://www.firstissue.dev for level up the game. Hope this helps! |
Jagaadhep U K ๐ซ 1 โ ๐ฃ 3 โ ๐ 4 |
The tech (tools, languages, libraries, etc) I most use and love is: As a aspiring data scientist, Python is my most used and most loved programming language. I love to use Numpy, Pandas, Matplotlib, Seaborn and OpenCV libraries in python. I am yet to learn scikit learn and ntlk libraries but I am greatly fascinated by them. I mostly use google colab for executing my python program because I like its interface. |
Archita Bhattad ๐ซ 3 โ ๐ฃ 1 โ ๐ 48 ๐ linkedin.com/in/archita-b... |
The tech (tools, languages, libraries, etc) I most use and love is: I use Python and Django as backend technologies to develop applications and also have significant experience with AI/ML. I am also familier with cloud technologies like AWS, Jenkins, and Docker. |
DHIMAN NAYAK ๐ฆ @DhimanNayak03 |
My go-to resources for learning new things in open source are: Open Source is a great thing to do something for the community. For learning about open source YouTube is the best resource for me . |
gabrielmccallin-and โญ |
The tech (tools, languages, libraries, etc) I most use and love is: CSS 2.1 is the second wonder of the world, a more expressive language does not exist ๐ป |
Midhilesh Chinta ๐ซ 5 โ ๐ฃ 2 โ ๐ 35 ๐ midhilesh2003.github.io/P... |
The tech (tools, languages, libraries, etc) I most use and love is: The Tools I use mostly are HTML, CSS and JavaScript, I find Webdevlopment interesting. |
astin-47 |
I want to get into open source because: Getting into open source is like joining a vibrant and diverse community of tech enthusiasts. It's a chance to team up with talented people from around the world, learn new skills, and work on exciting projects that can truly make a difference. Plus, it's rewarding to know that your contributions are helping to create better software that's freely accessible to everyone. It's about growth, camaraderie, and being a part of something bigger than yourself. |
Aneesh Dighe ๐ซ 6 โ ๐ฃ 24 โ ๐ 40 |
I want to get into open source because: I was interested to contribute and understand the flow of git due to which contributing to open-source projects was a stepping stone to do the same.Open Source is the future as many companies are shifting to open-source due to which Open Source becomes an important skill in this era. |
Rishiraj_Singh_Rathore โญ ๐ซ 2 โ ๐ฃ 4 โ ๐ 23 |
I want to get into open source because: Open Source is the Future , In my view open source will be playing a major role while applying for any role or to showcase our work in coming few years and ya I started open source because I want to contribute while learning and open source is the perfect way to do this. |
Prashant โญ |
The tech (tools, languages, libraries, etc) I most use and love is: I have been a .NET MVC developer working on Enterprise applications for over 8 years. I recently started working with python modules and found it so cool what opensource community is doing for development in general. This is my first step towards Open Source. |
Ravneet Singh ๐ซ 5 โ ๐ฃ 3 โ ๐ 36 |
The tech (tools, languages, libraries, etc) I most use and love is: I have a great interest in Application Development. So my Main tech stack is Flutter and Firebase. Currently, I am getting into Java and Spring/SpringBoot. |
Amar ๐ซ 10 โ ๐ฃ 1 โ ๐ 83 |
The tech (tools, languages, libraries, etc) I most use and love is: Python serves as my primary coding tool for academic research endeavors. I have hands-on experience in machine learning, utilizing scikit-learn, TensorFlow, and PyTorch. Presently, I am actively incorporating PyTorch with Lightning to enhance and simplify my research workflows. |
Aryan Bhargav โญ ๐ซ 1 โ ๐ฃ 29 โ ๐ 13 ๐ฆ @AryanThinks8 |
I see open source going in the direction of: In the Future Open Source will have: Broad Adoption: Open source spans industries, cutting costs and sparking innovation. Innovation Hubs: AI, blockchain, and quantum computing flourish in open source centers. Digital Inclusion: Accessibility improvements bridge the digital divide. Security Priority: Open source projects prioritize enhanced security. Diversity & Inclusion: Emphasis on diversity enriches project ecosystems. Cross-Industry Collaboration: Open source fosters cross-industry innovation. Decentralization: Beyond blockchain, tech embraces decentralization. Sustainability: Supported projects thrive, ensuring long-term success. Evolving Licensing: Open source adapts to AI and data challenges. Education Vitality: Open source remains crucial for education and training. Global Collaboration: Diverse contributors strengthen global collaboration. AI-Driven Development: AI and automation enhance open-source workflows. |
Alefiya. โญ ๐ซ 3 โ ๐ฃ 2 โ ๐ 17 |
The advice I would give to someone new to open source is: Start by finding open source projects that genuinely interest you. Don't feel pressured to make substantial contributions right away. Begin with small tasks like fixing typos in documentation, suggesting improvements to README files, or helping with bug triage. Don't forget to celebrate your contributions, no matter how small they may seem. It's a significant accomplishment to contribute to open source. |
Kevin shah ๐ซ 3 โ ๐ฃ 3 โ ๐ 20 ๐ฆ @techochat |
The tech (tools, languages, libraries, etc) I most use and love is: The language that i use the most and love using is JavaScript But recently I came across Dart language and specific the Fluter Framework it is so much cool to work with it and the main benifit of using flutter framework is that we can create a cross platform app using a single code base(i.e. a single file ). Be it a Android application, IOS Application, Web Application, Desktop application, anything integration of theis code is done easily and also the managing of the software also becomes too easy. |
Sebastian ๐ซ 3 โ ๐ฃ 4 โ ๐ 13 |
I want to get into open source because: Because I appreciate being part of the larger conversation. Programmers can use their knowledge to build things that are beneficial or that have real-world impact. Or that are maybe just cool. :) I like the idea that I can be a small part of that. That is its own reward. |
Keshav Aneja ๐ซ 60 โ ๐ฃ 71 โ ๐ 54 ๐ฆ @Keshav__Aneja |
The advice I would give to someone new to open source is: For freshers stepping into the world of tech and exploring the realm of Open Source, I would sincerely advise them to focus on learning the basics first and strengthening that. After that, you can learn various frameworks or functional features on the go while understanding the project. This can help greatly in the long run when contributing to Open Source. |
Harsh Kumar ๐ซ 11 โ ๐ฃ 5 โ ๐ 23 ๐ deals.subhdeals.com |
The tech (tools, languages, libraries, etc) I most use and love is: I love using JavaScript and Python for coding, and I'm particularly fond of JavaScript frameworks like Next.js and Python frameworks like Django. These tools and frameworks enhance my development experience and allow me to build efficient and robust applications. |
Avineesh Sathyakumar โญ ๐ซ 15 โ ๐ฃ 13 โ ๐ 30 |
I see open source going in the direction of: As a beginner in open source, I see a bright future ahead. Open source communities will likely continue to grow, fostering collaboration and innovation. More projects will emerge, addressing diverse needs and encouraging skill development. Increased inclusivity and accessibility will draw in a broader range of contributors, making open source a melting pot of ideas and cultures. Tools for collaboration, like Git and platforms such as GitHub, will become even more user-friendly, attracting newcomers. With rising awareness about the benefits of open source, both in technology and beyond, its adoption will expand into new sectors, enhancing transparency and cooperation globally. |
Robin ๐ซ 2 โ ๐ฃ 4 โ ๐ 1 |
I want to get into open source because: I would like to work on open-source projects to learn new technologies and new ways to develop software. I also hope to expand my skills and think that it will help me in my professional life.. |
Summayya Hashmani ๐ซ 9 โ ๐ฃ 13 โ ๐ 44 |
The coolest open source project I've ever come across is: I recently found an interesting open-source repository called Hacker Scripts. It's a collection of clever and entertaining scripts created by a former employee of a company. These scripts automate various tasks, like sending a "hangover" email or scheduling coffee brewing. Check it out, and if you have cool scripts to share, join in and contribute to the creative mix! |
Arun Gopinath ๐ซ 6 โ ๐ฃ 16 โ ๐ 29 ๐ arungopinathan.com |
I've built or contributed to a project that I'd like to share here, which is: I have created a wedding landing page for my friend. You can checkout: Wedding Invitation. Another feel good project is web scrapping of weather data from IMD for kerala state (India). |
Robert Lent ๐ therobertlent.com |
The advice I would give to someone new to open source is: The best advice that I can give is to start small. Don't immediately feel like you have to try diving into fixing big bugs or implementing advanced features in order to contribute. Fixing typos or adding unit tests are a great way to begin contributing. And if you are starting your own open source project, the same thing applies: Start with a simple idea that can be expanded upon, rather than expecting to be able to plan out and implement a complex program in one go. |
Hitesh Bandhu ๐ซ 7 โ ๐ฃ 9 โ ๐ 9 ๐ hiteshbandhu.xyz |
The tech (tools, languages, libraries, etc) I most use and love is: My main tech stack involves using Python and Javascript as i have interest in fullstack development. I use Python in the backend for the app, while javascript for the frontend. Also, an avid AI fan, I have interest in making hobby AI projects and you know who's the boss for AI - Python, right ? |
Prashant Jagtap |
My go-to resources for learning new things in open source are: To learn about open source concepts, you can watch YouTube videos or read GitHub repositories. By following the steps in these repositories, you can get an idea of what open source is and start your learning journey. You can also use social media platforms to find and connect with open source projects and start contributing. |
Aditya Raj ๐ซ 12 โ ๐ฃ 16 โ ๐ 59 |
I want to get into open source because: i want to get into open source beacuse i want to learn how the big projects are built and maintained, i am also prepairing for Gsoc 24 and thats why i have started exploring open source and after completing my B.tech i want to get a remote job. |
Ananya Agrawal ๐ซ 6 โ ๐ฃ 10 โ ๐ 17 ๐ medium.com/@agrawalananya... |
The coolest open source project I've ever come across is: The coolest open source project I've ever come across is the Ultralytics Yolov8 project. Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility as a Deep Learning model for tasks like object detection, segmentation, classification. It also helped me ace my university project ;) |
Apratim Raha ๐ซ 1 โ ๐ฃ 3 โ ๐ 23 ๐ apratim-portfolio.netlify... |
I see open source going in the direction of: In the near future open source contribution will become more global to the students just like any other domain of technology. College students will use open source projects to know how working in community happens in real world. Also small to medium scale projects could be accomplished using open source projects where individuals will contribute to the project and company or the organization will provide stipends based on the work. |
Omkar Kirpan ๐ซ 48 โ ๐ฃ 231 โ ๐ 496 ๐ links.omkarkirpan.com |
I balance open source work alongside my day job by: Balancing open-source work with a day job can be quite challenging, but it's also incredibly rewarding. First and foremost, time management is key. I make sure to allocate specific blocks of time for open-source contributions, usually during evenings or weekends, so it doesn't interfere with my primary responsibilities at work. Prioritization is crucial too; I identify the most critical open-source projects or issues that align with my interests and expertise, focusing my efforts there. Communication is another vital aspectโI keep my colleagues and managers in the loop about my open-source commitments to ensure transparency and manage expectations. It's also crucial to set realistic goals and not overcommit, as burnout is a real concern. Ultimately, finding the right balance takes time and trial and error, but it's all about passion, dedication, and effective time management to make it work harmoniously. |
R A H U L ๐ซ 6 โ ๐ฃ 9 โ ๐ 156 ๐ฆ @RahulBRB |
I want to get into open source because: I want to get into open source for several reasons that align with my personal and professional goals with a passion for coding and a growing interest in GitHub. By contributing to such open source projects, I can enhance my programming skills, learn, and also gain valuable hands-on experience in real-world software development. It is also really good for collaboration, getting to know so many like minded people and also enhances the profile! |
Shishir ๐ซ 3 โ ๐ฃ 4 โ ๐ 33 |
I want to get into open source because: i want to get into open soource beacuse it have many benifits of getting remote jobs and im finding it very interesting to contribute from the last couple of days also i now want to be a part of GSOC24 n im gonna work hard from hacktoberfest with learnig new skills and getting more into open source. |
Aryan Kapoor ๐ซ 13 โ ๐ฃ 25 โ ๐ 13 ๐ kapooraryan.vercel.app |
The tech (tools, languages, libraries, etc) I most use and love is: I like to use Next.js as it provides certain additional features built upon React like routing, server-side rendering and authentication making it a powerful and efficient choice for building web applications and SEO-friendly websites. The community support provided makes it one of the top choices for web development projects. |
Yashwant Aditya ๐ซ 6 โ ๐ฃ 2 โ ๐ 46 |
The tech (tools, languages, libraries, etc) I most use and love is: In my work, I have a strong affinity for Python and its powerful libraries like NumPy, pandas, and scikit-learn. I also rely on tools such as Microsoft Power BI and Tableau for interactive data visualization. TensorFlow and scikit-learn are my go-to libraries for machine learning tasks. Additionally, I've explored deep learning with TensorFlow and PyTorch and have experience in text analysis using libraries like NLTK and spaCy. These tools and libraries have been instrumental in my data-driven journey. |
Sharanya Chakraborty โญ ๐ซ 6 โ ๐ฃ 9 โ ๐ 22 |
The tech (tools, languages, libraries, etc) I most use and love is: I love using Node.Js, Express and MongoDB for server-side programming, since I am a backend enthusiast! I wish to become a MERN developer, so I plan on learning REACT in the coming months. Apart from that, my university necessitates the use of C, and I am most comfortable in using it. Also I like using C++ for competitive programming and DSA. I have also learnt Java, and have used frameworks like SPRING along with RDBMS like MySQL/ PostgreSQL for backend related stuff. |
Arvind Srivastav ๐ซ 12 โ ๐ฃ 28 โ ๐ 54 |
The tech (tools, languages, libraries, etc) I most use and love is: My most preferred language is Python as it has the easiest syntax of all the major languages. Python is very versatile language as it can be used in Data Science ,Artificial Intelligence, Machine learning, Web Scraping and many more. Talking about frameworks I prefer Django for production level projects and Flask or FAST API for small projects. Threejs or Webgl for react is definitely a project that amazed me the most . I think it is cool if we can add renderers with few lines of code and it also with some tweaking offers ray tracing , with which we can design interactive websites and games too. |
Debashish Nath ๐ซ 22 โ ๐ฃ 17 โ ๐ 24 ๐ฆ @_deba26 |
The tech (tools, languages, libraries, etc) I most use and love is: The language that i use most and love is Javascript. My coding journey started with cpp(like most people) but soon i discovered javascript and immediately fell in love with it and since then it never let me down. I also found out that using js we could do anything for example Machine Learning (using Tenserflow.js), create apps (using react native), backend, frontend and many more things. I look forward to keep using it and make something cool with it in future. |
Avinesh Rathore |
The advice I would give to someone new to open source is: To begin, select an open source project that aligns with your interests and skills. Pay careful attention to the project's documentation, including the README, CONTRIBUTING, and CODE_OF_CONDUCT files, to understand its objectives and guidelines. |
MSaiKiran9 โญ |
The coolest open source project I've ever come across is: Threejs or Webgl for react is definitely a project that amazed me the most . I think it is cool if we can add renderers with few lines of code and it also with some tweaking offers ray tracing , with which we can design interactive websites and games too. |
vaibhav67979 |
The tech (tools, languages, libraries, etc) I most use and love is: Python stands out as my preferred programming language due to its remarkable versatility and extensive library ecosystem. Its dynamic capabilities enable me to tackle a wide range of tasks efficiently. In particular, I frequently harness libraries like TensorFlow, OpenCV, and Scikit-learn for machine learning endeavors, harnessing Python's power to achieve my goals. |
sanchitaa14 โญ |
The tech (tools, languages, libraries, etc) I most use and love is: I like to use three.js because it makes my websites look more eye-catching and also provides a 3D like experience to its users. Along with this I am an AI/ML enthusiast and love to learn new things. I am a MERN stack developer and love to work on making websites using react and express js. I like using java and am looking forward to learning springboot so as to gain experience in it. I have worked with javascript and absolutely consider as one of my most sought after languages. |
dharamveer-gupta |
The coolest open source project I've ever come across is: Jetpack Compose is the coolest open source project I've come across & used. It is a modern UI toolkit for Android that makes it easier and faster to build beautiful and responsive user interfaces. It's declarative (intuitive Kotlin APIs) and Compose takes care of rendering it on the screen. This makes it much easier to create complex and dynamic UIs, and it also makes your code more readable and maintainable. Compose is also very fast and efficient, and it's easy to learn and use. |
Kaniz-Fatma โญ |
My go-to resources for learning new things in open source are: The first go-to resource for learning open source concepts alongside contributing to it is 'GitHub' . GitHub provides us convenience for contributing , raising issues and more things. YouTube is also good for learning concepts. Going through documentation gives us a more clear and broad view. And lastly supportive friends from any social media platforms who encourages us to go forward. I find these resources really helpful. |
5hr1ganesh |
I want to get into open source because: I want to get into open source because I want to be a part of a community of developers who are passionate about building and improving software. I also want to be able to understand large codebases, and I believe that contributing to open source projects is the best way to achieve this. Additionally, I am interested in learning more about the ways in which open source helps developers. For example, I am curious to learn more about how open source projects can provide developers with access to new technologies, best practices, and feedback from other developers. In short, I want to get into open source because I want to learn, grow, and contribute to the development community. |
taemochi12 |
I want to get into open source because: I want to get into open source because it fascinates me a lot, how I can contribute in ohters' projects despite being a fresher. The best thing about open source, as its name suggests, is that it is open to all to see the source code, suggest chsnges to it and even make the projects better by their contributions. When project initiated by one mind gets the expertise and ideas of multiple minds, it always turns into something more fantastic and unique. |
pratikkumar399 |
The tech (tools, languages, libraries, etc) I most use and love is: I use React as a library for most of my projects.The tools that I use in most of my projects are VS Code, git and github. Javascript is my favourite language and I absolutely love it. It has infinite potential when it comes to developing web applications. |
AntObi |
The tech (tools, languages, libraries, etc) I most use and love is: I develop in Python for my academic research. I've had expereinces with machine learning using scikit-learn, tensorflow and pytorch. I'm trying to use pytorch with lightning at the moment to simplify a lot of my workflows. |
AkashRajpurohit |
The most rewarding thing I've experienced in my open-source journey is: The most rewarding aspect of my open-source journey has been witnessing my code being utilized and positively impacting the lives of countless developers and end users. |
ehtishamsajjad |
The tech (tools, languages, libraries, etc) I most use and love is: I use JavaScript for work and fun. I plan to contribute to open source when possible. |
liss-bot |
The most rewarding thing I've experienced in my open-source journey is: ๐ค Being forked 1,000 times and not feeling a thing! ๐ |
lissy93 |
The advice I would give to someone new to open source is: Don't be afraid to jump straight in, it's the best way to learn and great fun too! Find a project you're passionate about, or start your own, as contributing is far more fulfilling when you're working on something that you really care about :) |
โญ = Stargazer
๐ฃ = Following Count |
๐ซ = Followers Count |
๐ = Repository Count |
๐ฆ = X Profile |
๐ = Website
A common struggle for a lot of new developers, when getting started with open source, is just finding projects to contribute to. We've put together a guide to help you with this, see: Finding Projects to Contribute to, as well as a list of projects tagged as welcoming for first-time contributors git-in.to/find-projects.
The following hand-picked projects, may be a good place to start:
Have I missed any? Add yours to this list, by including it under the projects
section in resources.yml
and following the guidelines in CONTRIBUTING.md
to submit a PR.
Submitting contributions to any repository is easy!
The first step is to check out the projects contributing guidelines (here's ours). These will usually outline setup instructions, and give you pointers as to where and how you can contribute.
Next you'll need to either fork and clone the repo, or if it's a small change you can just edit it via the GitHub UI. Here is a step-by-step guide to help you get started with that.
Finally, you can submit the pull request! Head back to the source repo, and you should see a new button, saying "Create Pull Request". If the author has set a PR template, be sure it's filled in properly.
Contribution Flow
sequenceDiagram
participant Dev as Developer
participant Repo as Upstream Repository
participant Forked as Forked Repository
participant Reviewer
Dev->>+Repo: Explore projects
Note over Dev: Find a project of interest
Dev->>+Repo: Fork Project
Repo->>Forked: Create Fork for Developer
Note over Dev: Has personal copy now
Dev->>Forked: Clone forked repo locally
Note over Dev: Work on local machine
Dev->>Dev: Create new branch
Note over Dev: Best practice for feature/fix
loop Development Loop
Dev->>Dev: Add changes
Dev->>Dev: Commit changes
end
Dev->>Forked: Push changes to forked repo
Note over Dev: Ready to contribute back
Dev->>Repo: Submit Pull Request (PR)
Note over Dev, Repo: Awaiting Review
Reviewer->>Repo: Review PR
alt PR is good
Reviewer->>Dev: Approve PR
Repo->>Repo: Merge PR changes
else PR needs changes
Reviewer->>Dev: Request Changes
Dev->>Dev: Make requested changes
Note over Dev: Return to Development Loop
end
Note over Dev, Repo: PR is eventually merged or closed
We have a simple static site, to make browsing the guides and resources easier.
It's built with Astro, and the source is in the web/
directory.
A demo of the website is hosted at: git-into-open-source.as93.net
We have a non-GitHub mirror available at: codeberg.org/alicia/git-into-open-source
CODE_OF_CONDUCT
- Guidelines to ensure we are a welcoming and inclusive project for everyone.CONTRIBUTING
- Guidelines to help you get started with contributing to this project.GOVERNANCE
- Information on how the repository is governed and decisions are made.PRIVACY
- Our commitment to respecting and protecting your data and privacy.SECURITY
- Protocols for reporting vulnerabilities and our promise to keep the project secure.SUPPORT
- Where to find help, ask questions, or get support related to this project.
User-generated content is inserted automatically, using the Python scripts in the lib/
directory, and run using GitHub Actions.
- - Combines
guides/
with metadata inresources.yml
, to deploy site - - Builds and deploys the latest version of
web/
to GitHub Pages - - Inserts credits to helpful users, contributors and sponsors into the readme
- - Generates user-contributed content from
git-in-here.yml
- - Inserts each link listed in
resources.yml
into the readme - - Parses + inserts roadmap chart from the code in
guides/roadmap.mmd
- - Syncs the current state of the repository over to Codeberg
- - After changes merged into
main
branch, deploy site to Netlify - - Validates PRs where changes made to
git-in-here.yml
- - Adds Hacktoberfest-accepted tag to valid PRs opened during October
Third-Party Checks
This project would not be possible to keep running without the use of the following service providers and software authors:
- Source code is managed on GitHub, and mirrored to Codeberg
- The website is deployed to Netlify, with backups running on Vercel and GitHub Pages
- DNS, SSL, caching and DDoS protection is provided by Cloudflare
- The site it built using Astro, and based of accessible-astro-starter by @markteekman
Huge thanks to the following kind people, for their ongoing support in funding this, and other of my projects via GitHub Sponsors
Consider supporting this repo, and my other projects, by sponsoring me on GitHub ๐
Lissy93/git-into-open-source is licensed under MIT ยฉ Alicia Sykes 2023.
For information, see TLDR Legal > MIT
Expand License
The MIT License (MIT)
Copyright (c) Alicia Sykes <alicia@omg.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sub-license, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included install
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANT ABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
ยฉ Alicia Sykes 2023
Licensed under MIT
Thanks for visiting :)