SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Hacktoberfest 2020
Open Source for beginners
By
Saksham Arora
Open Source Executive Member
DSC-MAIT 20-21
PYTHON
Saksham Arora
About Me
I’m a 3rd year student in IT, MAIT. I’m a Python and Flutter
developer. I started programming in Python at the end of
my 2nd semester although I wrote my first “Hello World”
code in C++ back in class 11th. I recently finished my
Google Summer of Code 2020 program under Python
Software Foundation. I was a project mentor for a Flutter
project in GirlScript Summer of Code 2020.
My main interests are in the Artificial Intelligence field.
Introduction
Agenda
What is Hacktoberfest & Open Source?
Why is Open Source Software
important?
A brief intro to Git and GitHub
Creating a pull request!
Next steps to become an open source
contributor and what is GSoC?
Doubt session
What exactly is
Hacktoberfest?
Hacktoberfest is a month-long celebration of open
source software run by DigitalOcean in partnership
with GitHub and Twilio. Hacktoberfest is open to
everyone in our global community! In this event,
Five quality pull requests must be submitted to
public GitHub repositories - i.e. Open source
projects on GitHub.
Steps to register -
Step 1 - Create a GitHub account for free.
Step 2 - Register at Hacktoberfest official website
using your GitHub ID.
Now, What is Open Source?
There are two kinds of software. One is open source software and the other is
proprietary software or closed source software. As the source code of an open
source program can be modified by anyone, this is also free to download.
Open Source
Something people can modify and share because it is publicly accessible.
Open source encourages open collaboration between everyone around the world!
It is meant to be a collaborative effort, where programmers improve upon the source
code and share the changes within the community.
React is powered by Facebook and
Angular is maintained by Google.
On the other hand,
Vue was created by Evan You, and is maintained by
him and the rest of the active core team members
(just like a community).
All 3 are open source projects!
Did you know?
● It’s important due to the fact that “more
perspectives make better software”!
● It is important in building a sustainable
project as more people will equate to more
ideas, features and a better maintenance of
the project in the long run.
● Open Source Software make a great free
alternative to proprietary softwares for
which you need to pay to use their services.
Other pros:
1. Personal Benefits
2. Community Recognition
3. Self Advertising
4. Sense of value
5. Software quality, security
and customization
Why is Open Source Software(OSS) important?
- Philippe Kahn
Created the first camera phone, a pioneer for wearable
technology, and is the author of dozens of technology
patents.
“The power of Open Source is
the power of the people. The
people rule.”
Git and GitHub
What is Git?
What is a version control
system (VCS)?
Git is a free, open-source distributed version control
system. It keeps track of projects and files as they
change over time.
A system that records changes to a file or set of
files over time so that you can recall specific
versions later.
What is GitHub?
GitHub is a Git repository hosting service that
provides a web-based graphical interface.
Snapshots
How does Git and GitHub work?
This is how git keeps track of our code recording
how all your files look like at a given point of time.
Now with this, one can go back to any `snapshot`(or
version) of the project.
Important Terminology
Commits
Commits are how you save your snapshot or version
of files at a given point of time.
It contains 3 important things -
1. Information about how the files were changed
2. A reference to the previous commit
3. A hash code
Repository
This is basically your project!
It’s a collection of all your files along with their
history, i.e. all those commits you made will live
here.
So, where are these repositories stored?
Well, for the obvious one, in your system locally but
it can be stored somewhere else too!
GitHub!
Important Terminology
Branches
All commits in a git repository live on some branch.
The main branch of the repository is called the
‘master’ branch for now.
Starting from the month of October this branch will
be called the ‘main’ branch!
Cloning
Copying a git repository from a remote server like
GitHub to your local machine is known as cloning.
Pulling
Downloading commits from a repository hosted on a
remote server that don’t exist on your local
repository is known as pulling.
Pushing
Adding the local changes made in the project to the
repository on a remote server is known as pushing.
How does Git and GitHub work?
How does Git and GitHub work?
HEAD
HEAD is the reference to the most recent commit to
your repository.
Important Terminology
Branching off a branch ‘X’
Branching off a branch is creating a new branch
based on branch ‘X’. For example, creating a new
feature branch from the `master` branch.
Merging
Once done with creating changes regarding a new
feature on a new branch, one would want to merge
those changes to the main branch, this is known as
merging in version control.
Remote
Remotes are simply URLs to other copies of a
repository. When a repository is cloned, Git
automatically creates a remote named "origin" and
points to it.
For Linux:
Debian/Ubuntu - sudo apt-get install
git
Fedora - sudo yum install git
https://git-scm.com/download/linux
For Windows:
https://git-scm.com/download/win
For Mac:
https://git-scm.com/download/mac
Configuring git for committing:
git config --global user.name <YOUR NAME>
git config --global user.email <YOUR EMAIL>
Setting up Git and GitHub
Okay, I know the basics now, how do I implement them?
Basic git commands -
● To clone a repository to your local machine - git clone url/to/forked/repo.git
● Creating/Initializing a git repository - git init
● Process of making a commit -
○ Create a repo/clone a repo
○ Make some changes
○ Adding the changes - git add
■ Putting file(s) in the ‘staging’ environment
■ `git add` is done when a file is ready to be committed
■ To unstage - git reset
○ Finally committing the changes - git commit
● To update the hosted repository with the new commits - git push
● To create a new branch - git checkout -b BRANCH_NAME
○ And to delete a branch - git branch -d BRANCH_NAME
● To save changes for later - git stash / To use those changes - git stash pop
Creating a Pull Request
What is a Pull Request?
Pull requests let you tell others about changes
you've pushed to a GitHub repository. Once a pull
request is sent, people in-charge can review the
changes, discuss potential modifications, and
even push follow-up commits if necessary.
Steps to create a Pull Request
1. Fork the main original repository
2. Clone your forked repository - git clone https://github.com/myusername/repo
3. Link the main repo - git remote add upstream https://github.com/orignal/repo
4. Create a new git branch - git checkout -b new_branch
5. Create new files or modify existing files
6. Add and commit your changes - git add [filenames] & git commit
7. Push your changes - git push --set-upstream origin branch_name / git push
8. Open the main repository and click on Pull requests and then the New Pull
Request button
9. Click on compare across forks and select head repository as your own forked
repository and the new branch with changes
10. Click on Create pull request
IMPORTANT TIP
Always create a new branch to work on a new feature/changes when
collaborating on a repository. Avoid making changes directly to the
master branch as much as possible.
Next steps in becoming an active open
source contributor
The process of open source collaboration and
contribution is very intimidating for the
newcomers. Most people including me when I
first started have a lot of burning questions
regarding this topic! Like:
1. How do I find the project that suits me
and inclines with my interest?
2. What if I don’t know anything about the
project I want to contribute to and
something goes awry?
and many many more such questions!
Next steps in becoming an active open
source contributor
Don’t worry! Becoming an open source contributor is not only about writing meaningful code. There
are a lot of things besides code in a project that are mostly overlooked!
For example, one of the main things besides the code is the documentation! From fixing small
spelling mistakes in the documentation to writing the documentation for the parts of the project
that are undocumented. Not only does this help you in gaining confidence while contributing to
open source but also helps you understand parts of the project as you go along reading the
documentation.
Next steps in becoming an active open
source contributor
Don’t be afraid to ask questions if you don’t
understand a part of the project you want to
contribute to! The open source community
welcomes everyone with an open mind!
Each organisation/repository/project have their communities that
are mostly free for anyone to be a part of. Communicating with
the maintainers when you get stuck somewhere is a part of the
process. As long as you are not asking for a spoon-feeding,
everyone is happy to help you out and help you grow because
they themselves have either gone through this process or are
going through it!
The most important tip: Just do it!
Open Source Programs
Google Summer of Code (GSoC)
Google Season of Docs (GSoD)
Outreachy Internships
GirlScript Summer of Code (GSSoC)
and many more...
How does these programs work?
A lot of the students get confused on how these programs work!
Let’s take GSoC for example:
It is an annual program in which university students all around the globe contribute to open source
during their break from school in the summer(starting from April/May and ending in August). The
program consists of organizations which register themselves in the program around February with
the projects that are going to take part in the program. The interested students start discussing
project ideas with the organizations and apply to these projects with their proposals for those project
ideas, the accepted students then start to code throughout the summer. The program is incentivized
by Google by offering a stipend of 3000 US Dollars to the accepted students.
Important Resources for further learning
● https://hacktoberfest.digitalocean.com/
● https://docs.github.com/en/free-pro-
team@latest/github/getting-started-with-github
● https://git-scm.com/doc
● https://summerofcode.withgoogle.com/
● https://github.com/lauragift21/awesome-learning-resources
● https://github.com/sindresorhus/awesome
Doubt Session
Ask away your queries!
THANKS!
You can reach out to us on DSC MAIT Telegram group:
http://bit.ly/teldscmait
You can connect with me on:
https://www.linkedin.com/in/sakshamarora1
https://twitter.com/sakshamarora__
For basic GSoC related doubts, I have answered the most
common questions in this blog:
https://medium.com/@sakshamarora1001/my-gsoc-journey-
68e72303d242
CREDITS
● Template by Slidesgo
● Icons by Flaticon
● Infographics by Freepik
● Images created by Freepik

Weitere ähnliche Inhalte

Was ist angesagt?

Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash CourseNilay Binjola
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil AliAmilAli1
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewRueful Robin
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionAnwarul Islam
 
Version control system and Git
Version control system and GitVersion control system and Git
Version control system and Gitramubonkuri
 
Gitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for GitGitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for GitMaulik Shah
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 

Was ist angesagt? (20)

Presentacion git
Presentacion gitPresentacion git
Presentacion git
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
Git basic
Git basicGit basic
Git basic
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
 
Version control system and Git
Version control system and GitVersion control system and Git
Version control system and Git
 
Gitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for GitGitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for Git
 
Learning git
Learning gitLearning git
Learning git
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
Git l'essentiel
Git l'essentielGit l'essentiel
Git l'essentiel
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Git
GitGit
Git
 

Ähnlich wie Hacktoberfest 2020 - Open source for beginners

Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open SourcePrachitibhukan
 
concordia hacktoberfest.pptx
concordia hacktoberfest.pptxconcordia hacktoberfest.pptx
concordia hacktoberfest.pptxAnkurVerma95745
 
Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfGDSCKNUST
 
Getting started With GIT
Getting started With GITGetting started With GIT
Getting started With GITGhadiAlGhosh
 
Resources For Floss Projects
Resources For Floss ProjectsResources For Floss Projects
Resources For Floss ProjectsJon Spriggs
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubScott Graham
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedHoward Greenberg
 
Brush up on using github
Brush up on using githubBrush up on using github
Brush up on using githubSebin Benjamin
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...CloudNativeElSalvado
 
Basics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobileBasics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobileVui Nguyen
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfAmarnadh36
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfbadrfathallah2
 

Ähnlich wie Hacktoberfest 2020 - Open source for beginners (20)

Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
 
GITHUB
GITHUBGITHUB
GITHUB
 
concordia hacktoberfest.pptx
concordia hacktoberfest.pptxconcordia hacktoberfest.pptx
concordia hacktoberfest.pptx
 
Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdf
 
Hacktoberfest 2021
Hacktoberfest 2021Hacktoberfest 2021
Hacktoberfest 2021
 
What is github.
What is github.What is github.
What is github.
 
Getting started With GIT
Getting started With GITGetting started With GIT
Getting started With GIT
 
Resources For Floss Projects
Resources For Floss ProjectsResources For Floss Projects
Resources For Floss Projects
 
Succeeding with FOSS!
Succeeding with FOSS!Succeeding with FOSS!
Succeeding with FOSS!
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
 
BitBucket presentation
BitBucket presentationBitBucket presentation
BitBucket presentation
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
Brush up on using github
Brush up on using githubBrush up on using github
Brush up on using github
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...
 
Basics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobileBasics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobile
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdf
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdf
 
Gitting better
Gitting betterGitting better
Gitting better
 

Kürzlich hochgeladen

Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 

Kürzlich hochgeladen (20)

Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 

Hacktoberfest 2020 - Open source for beginners

  • 1. Hacktoberfest 2020 Open Source for beginners By Saksham Arora Open Source Executive Member DSC-MAIT 20-21 PYTHON
  • 2. Saksham Arora About Me I’m a 3rd year student in IT, MAIT. I’m a Python and Flutter developer. I started programming in Python at the end of my 2nd semester although I wrote my first “Hello World” code in C++ back in class 11th. I recently finished my Google Summer of Code 2020 program under Python Software Foundation. I was a project mentor for a Flutter project in GirlScript Summer of Code 2020. My main interests are in the Artificial Intelligence field. Introduction
  • 3. Agenda What is Hacktoberfest & Open Source? Why is Open Source Software important? A brief intro to Git and GitHub Creating a pull request! Next steps to become an open source contributor and what is GSoC? Doubt session
  • 4. What exactly is Hacktoberfest? Hacktoberfest is a month-long celebration of open source software run by DigitalOcean in partnership with GitHub and Twilio. Hacktoberfest is open to everyone in our global community! In this event, Five quality pull requests must be submitted to public GitHub repositories - i.e. Open source projects on GitHub. Steps to register - Step 1 - Create a GitHub account for free. Step 2 - Register at Hacktoberfest official website using your GitHub ID.
  • 5.
  • 6. Now, What is Open Source?
  • 7. There are two kinds of software. One is open source software and the other is proprietary software or closed source software. As the source code of an open source program can be modified by anyone, this is also free to download. Open Source Something people can modify and share because it is publicly accessible. Open source encourages open collaboration between everyone around the world! It is meant to be a collaborative effort, where programmers improve upon the source code and share the changes within the community.
  • 8. React is powered by Facebook and Angular is maintained by Google. On the other hand, Vue was created by Evan You, and is maintained by him and the rest of the active core team members (just like a community). All 3 are open source projects! Did you know?
  • 9. ● It’s important due to the fact that “more perspectives make better software”! ● It is important in building a sustainable project as more people will equate to more ideas, features and a better maintenance of the project in the long run. ● Open Source Software make a great free alternative to proprietary softwares for which you need to pay to use their services. Other pros: 1. Personal Benefits 2. Community Recognition 3. Self Advertising 4. Sense of value 5. Software quality, security and customization Why is Open Source Software(OSS) important?
  • 10. - Philippe Kahn Created the first camera phone, a pioneer for wearable technology, and is the author of dozens of technology patents. “The power of Open Source is the power of the people. The people rule.”
  • 11. Git and GitHub What is Git? What is a version control system (VCS)? Git is a free, open-source distributed version control system. It keeps track of projects and files as they change over time. A system that records changes to a file or set of files over time so that you can recall specific versions later. What is GitHub? GitHub is a Git repository hosting service that provides a web-based graphical interface.
  • 12. Snapshots How does Git and GitHub work? This is how git keeps track of our code recording how all your files look like at a given point of time. Now with this, one can go back to any `snapshot`(or version) of the project. Important Terminology Commits Commits are how you save your snapshot or version of files at a given point of time. It contains 3 important things - 1. Information about how the files were changed 2. A reference to the previous commit 3. A hash code
  • 13. Repository This is basically your project! It’s a collection of all your files along with their history, i.e. all those commits you made will live here. So, where are these repositories stored? Well, for the obvious one, in your system locally but it can be stored somewhere else too! GitHub! Important Terminology Branches All commits in a git repository live on some branch. The main branch of the repository is called the ‘master’ branch for now. Starting from the month of October this branch will be called the ‘main’ branch! Cloning Copying a git repository from a remote server like GitHub to your local machine is known as cloning. Pulling Downloading commits from a repository hosted on a remote server that don’t exist on your local repository is known as pulling. Pushing Adding the local changes made in the project to the repository on a remote server is known as pushing.
  • 14. How does Git and GitHub work?
  • 15. How does Git and GitHub work?
  • 16. HEAD HEAD is the reference to the most recent commit to your repository. Important Terminology Branching off a branch ‘X’ Branching off a branch is creating a new branch based on branch ‘X’. For example, creating a new feature branch from the `master` branch. Merging Once done with creating changes regarding a new feature on a new branch, one would want to merge those changes to the main branch, this is known as merging in version control. Remote Remotes are simply URLs to other copies of a repository. When a repository is cloned, Git automatically creates a remote named "origin" and points to it.
  • 17. For Linux: Debian/Ubuntu - sudo apt-get install git Fedora - sudo yum install git https://git-scm.com/download/linux For Windows: https://git-scm.com/download/win For Mac: https://git-scm.com/download/mac Configuring git for committing: git config --global user.name <YOUR NAME> git config --global user.email <YOUR EMAIL> Setting up Git and GitHub
  • 18. Okay, I know the basics now, how do I implement them? Basic git commands - ● To clone a repository to your local machine - git clone url/to/forked/repo.git ● Creating/Initializing a git repository - git init ● Process of making a commit - ○ Create a repo/clone a repo ○ Make some changes ○ Adding the changes - git add ■ Putting file(s) in the ‘staging’ environment ■ `git add` is done when a file is ready to be committed ■ To unstage - git reset ○ Finally committing the changes - git commit ● To update the hosted repository with the new commits - git push ● To create a new branch - git checkout -b BRANCH_NAME ○ And to delete a branch - git branch -d BRANCH_NAME ● To save changes for later - git stash / To use those changes - git stash pop
  • 19. Creating a Pull Request What is a Pull Request? Pull requests let you tell others about changes you've pushed to a GitHub repository. Once a pull request is sent, people in-charge can review the changes, discuss potential modifications, and even push follow-up commits if necessary.
  • 20. Steps to create a Pull Request 1. Fork the main original repository 2. Clone your forked repository - git clone https://github.com/myusername/repo 3. Link the main repo - git remote add upstream https://github.com/orignal/repo 4. Create a new git branch - git checkout -b new_branch 5. Create new files or modify existing files 6. Add and commit your changes - git add [filenames] & git commit 7. Push your changes - git push --set-upstream origin branch_name / git push 8. Open the main repository and click on Pull requests and then the New Pull Request button 9. Click on compare across forks and select head repository as your own forked repository and the new branch with changes 10. Click on Create pull request
  • 21. IMPORTANT TIP Always create a new branch to work on a new feature/changes when collaborating on a repository. Avoid making changes directly to the master branch as much as possible.
  • 22. Next steps in becoming an active open source contributor The process of open source collaboration and contribution is very intimidating for the newcomers. Most people including me when I first started have a lot of burning questions regarding this topic! Like: 1. How do I find the project that suits me and inclines with my interest? 2. What if I don’t know anything about the project I want to contribute to and something goes awry? and many many more such questions!
  • 23. Next steps in becoming an active open source contributor Don’t worry! Becoming an open source contributor is not only about writing meaningful code. There are a lot of things besides code in a project that are mostly overlooked! For example, one of the main things besides the code is the documentation! From fixing small spelling mistakes in the documentation to writing the documentation for the parts of the project that are undocumented. Not only does this help you in gaining confidence while contributing to open source but also helps you understand parts of the project as you go along reading the documentation.
  • 24. Next steps in becoming an active open source contributor Don’t be afraid to ask questions if you don’t understand a part of the project you want to contribute to! The open source community welcomes everyone with an open mind! Each organisation/repository/project have their communities that are mostly free for anyone to be a part of. Communicating with the maintainers when you get stuck somewhere is a part of the process. As long as you are not asking for a spoon-feeding, everyone is happy to help you out and help you grow because they themselves have either gone through this process or are going through it!
  • 25. The most important tip: Just do it!
  • 26. Open Source Programs Google Summer of Code (GSoC) Google Season of Docs (GSoD) Outreachy Internships GirlScript Summer of Code (GSSoC) and many more...
  • 27. How does these programs work? A lot of the students get confused on how these programs work! Let’s take GSoC for example: It is an annual program in which university students all around the globe contribute to open source during their break from school in the summer(starting from April/May and ending in August). The program consists of organizations which register themselves in the program around February with the projects that are going to take part in the program. The interested students start discussing project ideas with the organizations and apply to these projects with their proposals for those project ideas, the accepted students then start to code throughout the summer. The program is incentivized by Google by offering a stipend of 3000 US Dollars to the accepted students.
  • 28. Important Resources for further learning ● https://hacktoberfest.digitalocean.com/ ● https://docs.github.com/en/free-pro- team@latest/github/getting-started-with-github ● https://git-scm.com/doc ● https://summerofcode.withgoogle.com/ ● https://github.com/lauragift21/awesome-learning-resources ● https://github.com/sindresorhus/awesome
  • 29. Doubt Session Ask away your queries!
  • 30. THANKS! You can reach out to us on DSC MAIT Telegram group: http://bit.ly/teldscmait You can connect with me on: https://www.linkedin.com/in/sakshamarora1 https://twitter.com/sakshamarora__ For basic GSoC related doubts, I have answered the most common questions in this blog: https://medium.com/@sakshamarora1001/my-gsoc-journey- 68e72303d242
  • 31. CREDITS ● Template by Slidesgo ● Icons by Flaticon ● Infographics by Freepik ● Images created by Freepik

Hinweis der Redaktion

  1. Talk about DSC - Add notes
  2. Did GSoC in Intel’s Machine Learning based open source project DFFML where I worked on Computer Vision AI field - ML, Deep Learning, Computer Vision, Reinforcement Learning
  3. Let’s watch a special video message from the Yancey Spruill, CEO of Digital Ocean which runs the Hacktoberfest event.
  4. Now to define what really open source in a single line - Read the line. Now what I think it’s clear what I mean by publicly accessible. Anyone can view what the code is doing and how it is doing. Almost every big project that is open source have a community of programmers who work on that big project regularly to keep it updated. A lot of big tech companies make use of open source softwares in their products and some others even have developers create open source software!
  5. Many of you might have heard about different javascript frameworks. Almost all of them are open source! Out of them few of the popular ones are React, Angular and Vue.
  6. Personal Benefits - open source developers are driven by altruism and the desire to help others Community Recognition - When working on or running open source projects, you can get recognition from the developer community in a number of ways, such as creating a great GitHub-profile and participating in events like Hacktoberfest. Self Advertising - If you or your company actively participate in the open source community, you can earn a great reputation. This way, if you are an individual or self-employed developer, it will be easier for you to find a job as a freelancer or a full-time employee. Sense of value - Engaging in open source software development will make your work meaningful, and you will not grow to hate it as time passes. Software quality, security and customization - A piece of software created by a team of developers can be lower quality than that developed by thousands of developers from all over the world with experience in different technologies, industries, and projects.
  7. Now let’s get to business and what we all are here for! How to get started with open source! GitHub - It is the world’s largest coding community, and putting a code or a project out there brings increased, widespread exposure to your code.
  8. Now git can be complicated at first, but if one understands the key concepts of how version control softwares work. You will have no problem! Snapshots - Your snapshots even from later on will stay there if you want to jump back there!
  9. For a very simple(and silly!) example, consider your syllabus to be a project, you make a new notebook for each subject, those subjects correspond to branches in a git repository. Each branch contains different stuff just like how a maths notebook contains different theory and questions from a chemistry notebook!
  10. This diagram demonstrates how the git workflows function!
  11. arch linux, etc This is important because every Git commit uses this information, and it’s integrated into the commits you start creating
  12. Why? Well what if you are working on a new feature but weren’t able to completely implement it or maybe you found a better solution to the problem. Now you have redundant code and commits lying in your repo. So, if you worked on a different branch,then instead of going through the hassle of rewinding your work you can just switch back to master where those redundant changes don’t exist and delete that branch!
  13. But when you pull up that repo for the first time and check out the issues tab, it can be downright intimidating and anxiety-inducing. I probably read through issues with “good first issue” tags 20 times before I got the courage to add a comment stating, “I’d like to help with this Issue.” You can even become a tester, there are a lot of things. For example, you found a project that piques your interest. That softwares works without errors in linux but have issues while running on a mac or windows operating system and you are a mac user. You can then help this open source project as a mac user, which relates to what I discussed earlier! “more perspectives make better software”