open source
DESCRIPTION
Open Source software grew out of the practice of freely and openly sharing source code across academia and industry from the early days of computer programming. It took off along with the rapid growth of the Internet. Nowadays, open source software runs most of the World Wide Web, as well as the majority of smartphones and supercomputers. Companies are increasing their use of open source, developers continue to adopt open source programming languages and techniques, and society as a whole is being transformed by the principles of open source collaboration at a number of levels, from education to government to popular culture.TRANSCRIPT
Open Source
Kartik SubbaraoConsultant
Twitter: @kartiksubbaraoLinkedIn: http://www.linkedin.com/in/kartiksubbarao
What is Open Source Software?
● The Open Source Initiative maintains a definition:http://opensource.org/osd
● Some key points:– Free Redistribution
– Source Code
– Derived Works
● Examples of open source licenses: FreeBSD, MIT, GPL
Examples of Open Source Software
Linux
VLC
How Open Source Projects Work
● Minimum requirements:– A way to publish source code
– A way to communicate with users/contributors
● Platforms for open source development– Examples: GitHub, SourceForge, Google Code– Version Control (e.g. Git, Subversion, Mercurial)
– Mailing Lists / Discussion Forums
– Issue Tracking
– Documentation
Version Control
● Manage changes to source code by multiple contributors over time
● Capabilities have evolved from single system, to client/server, to distributed version control
● Common tasks:– Pull/push code from/to a repository
– Show differences between two versions of a file
– Create snapshot releases of the entire project
Mailing Lists / Discussion Forums
● Open Source projects are commonly coordinated by email/web discussions
● Can have different mailing lists for developers, users and announcements
● The goals, progress and culture of a project are are shaped and conveyed by these discussions
Issue Tracking
● Track bugs/enhancements/issues● Prioritize items● Delegate to specific people● Discuss resolution in context
Why Does Open Source Work?
● Environmental Factors– Easy access to connectivity and knowledge
– Common Language
– Tools
– Network Effects
● Intrinsic Factors– Motivations: Individual; Altruistic; Abundance/Flow
– Collaboration
– Different motivations can work together
Companies Using Open Source
● Google, Amazon, Facebook, Twitter and others were built with open source
● 2010 Gartner Survey: 75% of Global 2000 companies uses open source software
● Benefits include zero licensing cost, choice, flexibility, access to source code
● file/print/web/app/database/cloud servers, monitoring, office, collaboration, others
● Commercial support is available from a range of companies, depending on the software
Companies Contributing toOpen Source
● Red Hat, Google, Facebook, Twitter and others are significant contributors to open source
● 2010 Accenture Survey: 29% of 300 large companies contribute to open source software
● Benefits include reduced maintenance overhead, development of industry standards, visibility, increased employee engagement
How to Contribute
● Open Source projects are ongoing experiments in network-enabled collaboration
● Enhancements● Bugfixes● Documentation● Answering Questions● Facilitation
Wikipedia
Education
● Open Courses– MIT Open CourseWare – http://ocw.mit.edu
– Berkeley Courses – http://webcast.berkeley.edu
– Open Yale Courses – http://oyc.yale.edu
– Stanford Class2Go -- http://class2go.stanford.edu/
– Others, including: http://www.openculture.com/freeonlinecourses
● Open Source Textbooks– Openstax College – http://openstaxcollege.org/
– College Open Textbooks – http://collegeopentextbooks.org/
Government
● data.gov – Government data and statistics● opensourceforamerica.org and
codeforamerica.org – Organizations promoting open source collaboration among government/citizens at all levels
Hardware
Other Areas
● Quantified Self● Genealogy● Genomics