SlideShare una empresa de Scribd logo
1 de 13
Sharing the Code we Make
aka OSS, Git, MIT & GPL2
Rod Walsh, November 2015
Some Important Goals
1. A quick working proto in 2 days
2. Maximise the chance of further development
after 2 days by any of the HALE team
3. Maximise the impact of the 2 days by allowing
others to build on our achievements
4. Minimise uncertainty in code sharing and access
So we need to think license & dissemination from
the very start
Licensing is kind of easy
• Proprietary/closed work is poor for HALE
teams and useless for others
• So some form of open source software OSS is
appropriate
It wasn’t always as simple as this…
http://choosealicense.com/
A dual license MIT & GPL2 will maximise the
developer base willing to use the code.
Dissemination: What we need
• Internet-based
– Ready to use right now
– Multiple contributors at the same time
– Persisting into the future
• Backup with access to earlier versions
• Code divergence
– To experiment
– To make variants based on the same platform
• i.e. We need Software Version Control (aka SVC,
SCM, Source Code Management)
Version Control – Beyond Dropbox
• Handle synchronisation
• Manage conflicts
Code
base
Updated
code
base
User 1
does
update
User 2
does
update
pull push
Git: The popular choice
Images from the excellent tutorials at:
https://www.atlassian.com/git/tutorials/
Git: Core Use During Hackathon
Same remote repository
Code
base
Updated
code
base
User 1
work
User 2
work
clone
pull
branch
push
merge
Git Operations
• git clone: clones a complete repository to a local
machine (with full history and versions)
• git branch: create a branch which could later be
merged into the master branch (trunk in svn
terminology)
• git merge: merges a branch into the master
• git push: pushes all your changes to the remote
repository
• git pull: pulls all the changes in a remote repository
(also init, checkout, add, commit, …)
Git Installation on PC
Command line tools…
Linux, e.g., sudo apt-get install git
Windows, download from https://git-scm.com/
Graphical Apps for Windows and Mac…
GitHub Desktop: https://desktop.github.com/
Source Tree: https://www.sourcetreeapp.com/
Help: https://help.github.com/categories/bootcamp/
Practice command line: https://try.github.io/
Reference: http://gitref.org/
Github Accounts
2. Sign up for an account
1. Head to github.com
Github Projects
3. Decide on a repository
name for your project
4. Create a list of
contributors
We’ll create a
repository
under
haleleicester
& add
contributors
https://github.com/haleleicester/example
Github Repositories
Browse or add your own
repositories
Find repositories
Summary
• Share code efficiently during the hackathon
• Make code available beyond the hackathon
• Use git and github
• Dual license MIT & GPL2
Have a look at:
https://github.com/haleleicester/example

Más contenido relacionado

La actualidad más candente

Git for IBM Notes Designer
Git for IBM Notes DesignerGit for IBM Notes Designer
Git for IBM Notes DesignerSlobodan Lohja
 
Git,Github,How to host using Github
Git,Github,How to host using GithubGit,Github,How to host using Github
Git,Github,How to host using GithubSujata Regoti
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productiveKarsten Dambekalns
 
Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHubMichael Redlich
 
An introduction to Git and GitFlow
An introduction to Git and GitFlowAn introduction to Git and GitFlow
An introduction to Git and GitFlowMark Everard
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Per Henrik Lausten
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011thkoch
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersNoam Kfir
 
Atlassian Bamboo Feature Overview
Atlassian Bamboo Feature OverviewAtlassian Bamboo Feature Overview
Atlassian Bamboo Feature OverviewJim Bethancourt
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and GithubWycliff1
 
Introduction to github slideshare
Introduction to github slideshareIntroduction to github slideshare
Introduction to github slideshareRakesh Sukumar
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynIntegrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynSascha Scholz
 
Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23msohn
 
Git in Continuous Deployment
Git in Continuous DeploymentGit in Continuous Deployment
Git in Continuous DeploymentBrett Child
 
Presentation on GIT at Eminence
Presentation on GIT at EminencePresentation on GIT at Eminence
Presentation on GIT at EminenceFarhan Ar Rafi
 

La actualidad más candente (20)

Git for IBM Notes Designer
Git for IBM Notes DesignerGit for IBM Notes Designer
Git for IBM Notes Designer
 
Git,Github,How to host using Github
Git,Github,How to host using GithubGit,Github,How to host using Github
Git,Github,How to host using Github
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHub
 
An introduction to Git and GitFlow
An introduction to Git and GitFlowAn introduction to Git and GitFlow
An introduction to Git and GitFlow
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Migrating To GitHub
Migrating To GitHub  Migrating To GitHub
Migrating To GitHub
 
Atlassian Bamboo Feature Overview
Atlassian Bamboo Feature OverviewAtlassian Bamboo Feature Overview
Atlassian Bamboo Feature Overview
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Introduction to github slideshare
Introduction to github slideshareIntroduction to github slideshare
Introduction to github slideshare
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynIntegrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
 
Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23
 
Git in Continuous Deployment
Git in Continuous DeploymentGit in Continuous Deployment
Git in Continuous Deployment
 
What is git
What is gitWhat is git
What is git
 
GitHub
GitHubGitHub
GitHub
 
Presentation on GIT at Eminence
Presentation on GIT at EminencePresentation on GIT at Eminence
Presentation on GIT at Eminence
 

Destacado

Pd mcmm 2011_12_006
Pd mcmm 2011_12_006Pd mcmm 2011_12_006
Pd mcmm 2011_12_006Luis Pedro
 
ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN COMPLEXITY, LINEARITY AND DESIG...
ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN  COMPLEXITY, LINEARITY AND DESIG...ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN  COMPLEXITY, LINEARITY AND DESIG...
ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN COMPLEXITY, LINEARITY AND DESIG...Sagui Lab
 
Introduction to Google Drive API
Introduction to Google Drive APIIntroduction to Google Drive API
Introduction to Google Drive APIJomar Tigcal
 
Msc Product Service System Design Thesis final presentation
Msc Product Service System Design Thesis final presentationMsc Product Service System Design Thesis final presentation
Msc Product Service System Design Thesis final presentationChiara Cacciani
 
From Hackaton to Clickaton, why the API web needs a GUI
From Hackaton to Clickaton, why the API web needs a GUIFrom Hackaton to Clickaton, why the API web needs a GUI
From Hackaton to Clickaton, why the API web needs a GUIKristof Van Tomme
 

Destacado (6)

Pd mcmm 2011_12_006
Pd mcmm 2011_12_006Pd mcmm 2011_12_006
Pd mcmm 2011_12_006
 
ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN COMPLEXITY, LINEARITY AND DESIG...
ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN  COMPLEXITY, LINEARITY AND DESIG...ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN  COMPLEXITY, LINEARITY AND DESIG...
ApresentacCOMPLEXIDADE, LINEARIDADE E DESIGN COMPLEXITY, LINEARITY AND DESIG...
 
Introduction to Google Drive API
Introduction to Google Drive APIIntroduction to Google Drive API
Introduction to Google Drive API
 
Msc Product Service System Design Thesis final presentation
Msc Product Service System Design Thesis final presentationMsc Product Service System Design Thesis final presentation
Msc Product Service System Design Thesis final presentation
 
From Hackaton to Clickaton, why the API web needs a GUI
From Hackaton to Clickaton, why the API web needs a GUIFrom Hackaton to Clickaton, why the API web needs a GUI
From Hackaton to Clickaton, why the API web needs a GUI
 
Hackaton
HackatonHackaton
Hackaton
 

Similar a Sharing Code with Git and GitHub for Open Source Projects

CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITPouriaQashqai1
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Derek Jacoby
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2Derek Jacoby
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01Rafael Camacho Dejay
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxAbelPhilipJoseph
 
The Power of Git
The Power of GitThe Power of Git
The Power of GitHaggen So
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...dmgerman
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlGiuseppe Masetti
 
Rc094 010d-git 2 - desconocido
Rc094 010d-git 2 - desconocidoRc094 010d-git 2 - desconocido
Rc094 010d-git 2 - desconocidoLuis Bertel
 
Whether you should migrate to git
Whether you should migrate to gitWhether you should migrate to git
Whether you should migrate to gitAmit Anand
 
You can git
You can gitYou can git
You can gitYu GUAN
 
Session: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow WorkflowSession: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow WorkflowMidhun Mohanan
 

Similar a Sharing Code with Git and GitHub for Open Source Projects (20)

CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GIT
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01
 
git github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptxgit github PPT_GDSCIIITK.pptx
git github PPT_GDSCIIITK.pptx
 
The Power of Git
The Power of GitThe Power of Git
The Power of Git
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
 
Git and GitHub.pptx
Git and GitHub.pptxGit and GitHub.pptx
Git and GitHub.pptx
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version Control
 
Rc094 010d-git 2 - desconocido
Rc094 010d-git 2 - desconocidoRc094 010d-git 2 - desconocido
Rc094 010d-git 2 - desconocido
 
Git Training
Git TrainingGit Training
Git Training
 
Whether you should migrate to git
Whether you should migrate to gitWhether you should migrate to git
Whether you should migrate to git
 
You can git
You can gitYou can git
You can git
 
Monkey space 2013
Monkey space 2013Monkey space 2013
Monkey space 2013
 
Session: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow WorkflowSession: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow Workflow
 

Último

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 

Último (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 

Sharing Code with Git and GitHub for Open Source Projects

  • 1. Sharing the Code we Make aka OSS, Git, MIT & GPL2 Rod Walsh, November 2015
  • 2. Some Important Goals 1. A quick working proto in 2 days 2. Maximise the chance of further development after 2 days by any of the HALE team 3. Maximise the impact of the 2 days by allowing others to build on our achievements 4. Minimise uncertainty in code sharing and access So we need to think license & dissemination from the very start
  • 3. Licensing is kind of easy • Proprietary/closed work is poor for HALE teams and useless for others • So some form of open source software OSS is appropriate It wasn’t always as simple as this… http://choosealicense.com/ A dual license MIT & GPL2 will maximise the developer base willing to use the code.
  • 4. Dissemination: What we need • Internet-based – Ready to use right now – Multiple contributors at the same time – Persisting into the future • Backup with access to earlier versions • Code divergence – To experiment – To make variants based on the same platform • i.e. We need Software Version Control (aka SVC, SCM, Source Code Management)
  • 5. Version Control – Beyond Dropbox • Handle synchronisation • Manage conflicts Code base Updated code base User 1 does update User 2 does update pull push
  • 6. Git: The popular choice Images from the excellent tutorials at: https://www.atlassian.com/git/tutorials/
  • 7. Git: Core Use During Hackathon Same remote repository Code base Updated code base User 1 work User 2 work clone pull branch push merge
  • 8. Git Operations • git clone: clones a complete repository to a local machine (with full history and versions) • git branch: create a branch which could later be merged into the master branch (trunk in svn terminology) • git merge: merges a branch into the master • git push: pushes all your changes to the remote repository • git pull: pulls all the changes in a remote repository (also init, checkout, add, commit, …)
  • 9. Git Installation on PC Command line tools… Linux, e.g., sudo apt-get install git Windows, download from https://git-scm.com/ Graphical Apps for Windows and Mac… GitHub Desktop: https://desktop.github.com/ Source Tree: https://www.sourcetreeapp.com/ Help: https://help.github.com/categories/bootcamp/ Practice command line: https://try.github.io/ Reference: http://gitref.org/
  • 10. Github Accounts 2. Sign up for an account 1. Head to github.com
  • 11. Github Projects 3. Decide on a repository name for your project 4. Create a list of contributors We’ll create a repository under haleleicester & add contributors https://github.com/haleleicester/example
  • 12. Github Repositories Browse or add your own repositories Find repositories
  • 13. Summary • Share code efficiently during the hackathon • Make code available beyond the hackathon • Use git and github • Dual license MIT & GPL2 Have a look at: https://github.com/haleleicester/example