3. 3
Git?
• History
– Linus – Linux creator, 2005
– Git
• Reliable
• Fast
• Distributed
• Content Manager
• Suitable for large scale development
https://www.youtube.com/watch?v=4XpnKHJAok8
4. 4
Tech Talk: Linus Torvalds on git
https://www.youtube.com/watch?v=4XpnKHJAok8
5. 5
Linux
• Commits 491K+
• Contributors 12K+
• Lines of code 16M+
• License GPL v2
• http://www.ohloh.net/p/linux
3/24/2014
• Requirements from Linux
– Performance and distributed nature
– Security and trust issues
6. 6
Why is distributed VCS better?
• Distributed vs. Centralized
– Offline/Local
• Fast
– Isolation
• Experimental work
• No committer right
– Reliable: trust and security
• Not a single point of failure/natural
replication of data
• Checksum everything (SHA-1 160bit)
7. 7
Art of Git
• Make separate commits for
logically separate changes.
• Describe your changes well.
• Use imperative mood
• E.g., Fix bug-1234
https://github.com/git/git/blob/master/Documentation/
SubmittingPatches
8. 8
Art of Git
• Work flow
– GitHub Flow
• http://guides.github.com/overviews/
flow/
– Create branch
– Add commits
– Open a pull request
– Discuss and review the code
– Merge and deploy
12. 12
Github and Social Coding
• Fork and Pull Request
– You don’t need a write access
privilege.
• Collaboration model
13. 13
Most of github hosted projects did
not have any license.
http://www.blackducksoftware.com/resources/infographics/deep-license-data
14. 14
Why do we need OSS license?
• Collaboration model
• Ban Free riders
– The Tragedy of the Commons
15. 15
Open source and Bazaar
• Open source software (OSS)
– software license
• Bazaar
– Software development model
– global distributed collaborative work
17. 17
OSS Community
• Typical OSS community
– Charisma, top programmers (e.g., Matsumoto san
(Ruby), Linus Torvalds (Linux))
– Committers (top notch programmers who have the right
to add/modify the OSS)
– Contributors (programmers who submit bug fixes, new
proposals, patches)
– Casual users (report bugs, ask questions, etc)
committers
charisma
contributors
casual users
Matz
Yugui
Linus
Greg K Hartman
http://commons.wikimedia.org/
wiki/File%3AGreg_Kroah-
Hartman_lks08.jpg
18. 18
Hacker Ethics
• Sharing
• Openness
• Decentraization
• Free access to computers
• World improvement
• Levy, Steven. (1984, 2001). Hackers:
Heroes of the Computer Revolution
(updated edition). Penguin.
http://www.gutenberg.org/ebooks/729
19. 19
The Hacker Way (Facebook)
IPO 2012
• Code wins arguments
• Continuous Improvement and
Iteration
• Open and Meritocratic
• Hackathon
• Bootcamp
• http://www.wired.com/business/
2012/02/zuck-letter/