KEMBAR78
Open Source Fundamentals | PPTX
Open Source
Fundamentals
Guy Martin
Senior Open Source/Community Strategist
4/5/2016
Who Is This ‘Guy’?
• 21 years in software/technology
• 12 years in open source
• Leading strategy for Samsung Open
Source Group
• Built open source
consulting/communities for several
organizations
Question….
How many of you use, or have
used, open source?
OPEN SOURCE
IS
EVERYWHERE
THE INTERNET
MOBILE PHONES
WEATHER
STOCK EXCHANGES
AUTOMOBILES
AIRPLANES
HERE WE GO
What is open source, anyway?
What this process is, and where you can find it in your everyday life.
Where did it start?
A brief history of nerds changing the world.
How does it work?
The mechanics of freedom.
Why is it important?
Strategy and monetizing.
THE BASICS
HOW DEVELOPMENT WORKS
COMPILERS MAKE SOURCE INTO BINARIES
int main() {
printf(“Hello world.n”);
exit (0);
}
DEVELOPER
SOURCE CODE
$ ./hello-world
Hello world.
$
BINARY
10101011010101010101010101
01010100101010101110101010
10111101010101111010001001
01010101010011001010101101
USER
COMPILER
WE STARTED SHARING CODE...
int main() {
printf(“Hello world.n”);
exit (0);
}
DEVELOPER
COPY #1
USER #1
int main() {
printf(“Hello world.n”);
exit (0);
} COPY #2
USER #2
int main() {
printf(“Hello world.n”);
exit (0);
}
BINARY #1
$ ./hello-world
Hello world.
$
BINARY #2
$ ./hello-world
Hello world.
$
AND ANYONE COULD IMPROVE IT
COPY #1
USER #1
int main() {
printf(“What up.n”);
exit (0);
} COPY #2
USER #2
int main() {
printf(“Bonjour!n”);
exit (0);
}
BINARY #1
$ ./hello-world
What up.
$
BINARY #2
$ ./hello-world
Bonjour!
$
int main() {
printf(“Hello world.n”);
exit (0);
}
DEVELOPER
WE STARTED SELLING BINARIES
int main() {
printf(“Hello world.n”);
exit (0);
}
DEVELOPER
DEVELOPER’S BINARY
$ ./hello-world
Hello world.
$
DEVELOPER’S BINARY
USER #1
$ ./hello-world
Hello world.
$
USER #2
DEVELOPER’S BINARY
$ ./hello-world
Hello world.
$
WHICH CENTRALIZED CONTROL
int main() {
printf(“Hello world.n”);
exit (0);
}
DEVELOPER
DEVELOPER’S BINARY
$ ./hello-world
What up.
$
DEVELOPER’S BINARY
USER #1
$ ./hello-world
What up.
$
USER #2
DEVELOPER’S BINARY
$ ./hello-world
Hello world.
$
$
int main() {
printf(“What up.n”);
exit (0);
}
DEVELOPER’S BINARY
$ ./hello-world
Hello world.
$
OPEN SOURCE
int main() {
printf(“Hello world.n”);
exit (0);
}
COMMITTER
int main() {
printf(“What up.n”);
exit (0);
}
DEVELOPER’S CODE
USER #1
int main() {
printf(“Wassup.n”);
exit (0);
}
BINARY #1
$ ./hello-world
Wassup.
$
int main() {
printf(“Bonjour.n”);
exit (0);
}
DEVELOPER’S BINARY
$ ./hello-world
Hello world.
$
USER #2
RMS
FOUR FREEDOMS
http://fsf.org
Free to use.
Anyone can use it, however they like.
Free to copy.
Anyone can get a copy for the cost of media.
Free to modify.
If I don’t like how it works, I can change it.
Free to distribute.
I can share my changes.
GNU PUBLIC LICENSE
http://gnu.org
Implements the four freedoms.
Use, copy, modify, distribute.
Built on copyright.
The author provides additional rights for additional responsibilities.
In some cases, problematic.
But more on that later.
LINUX IS BORN
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
“I'm doing a (free) operating system (just a hobby, won't be
big and professional like gnu) for 386(486) AT clones. This
has been brewing since april, and is starting to get ready.
I'd like any feedback on things people like/dislike in minix...”
INNOVATION
IT’S MORE THAN PRODUCTS
SERVICES
PRODUCTS
HOBBIES
AMATEURS
24
"Springfield Model 1861"
http://en.wikipedia.org/wiki/Springfield_Model_1861
INNOVATION
“The Springfield Rifle cost $20
each at the Springfield Armory
where they were officially made.
Overwhelmed by the demand,
the armory opened its weapons
patterns up to twenty private
contractors. The most notable
producer of contract Model 1861
Springfields was Colt, who made
several minor design changes in
their version, the "Colt Special"
rifled musket. These changes
included redesigned barrel
bands, a new hammer, and a
redesigned bolster. Several of
these changes were eventually
adopted by the Ordnance
Department and incorporated
into the model 1863 rifled
musket."
More Ideas
Good ideas comes from lots of good ideas.
LONG TAILS MEAN INNOVATION
MORE PARTICIPANTS, MORE GOOD IDEAS
26
HIGHER QUALITY
MORE CODE, FEWER BUGS
Coverity has tracked the code quality of open source software since 2004.
Proprietary software, on average, has 20,000 to 30,000 defects per million
lines of code. This has been true since 1960.
2004 Linux has 985 defects in 5.7 MLOC, or 99.3% lower than a
proprietary system.
2005 Linux grew 4.7%, but defect density went down 2.3%.
2006 Funded by DHS, Coverity adds the LAMP stack and 32 OSS
projects, and defect density stayed the same.
2008 Now covers 250 projects, with 434 defects per MLOC. Worst
performer has 1237 defects per MLOC.
2009 Now covers 280 projects, with defect density down 16%.
272
7
What differentiates all of
these devices?
Software is where much of the value is created.
It’s not something you can always outsource, but it’s something
you need to collaborate on.
Open Source is Eating the
Software World
“If you are going to master software you must master
open source. It is hard to build something without open
source code.”
Jim Zemlin, Executive Director, The Linux Foundation
Collaboration Summit Keynote 2013
31
OPEN SOURCE ENABLEMENT

Open Source Fundamentals

  • 1.
    Open Source Fundamentals Guy Martin SeniorOpen Source/Community Strategist 4/5/2016
  • 2.
    Who Is This‘Guy’? • 21 years in software/technology • 12 years in open source • Leading strategy for Samsung Open Source Group • Built open source consulting/communities for several organizations
  • 3.
    Question…. How many ofyou use, or have used, open source?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    HERE WE GO Whatis open source, anyway? What this process is, and where you can find it in your everyday life. Where did it start? A brief history of nerds changing the world. How does it work? The mechanics of freedom. Why is it important? Strategy and monetizing.
  • 12.
  • 13.
    HOW DEVELOPMENT WORKS COMPILERSMAKE SOURCE INTO BINARIES int main() { printf(“Hello world.n”); exit (0); } DEVELOPER SOURCE CODE $ ./hello-world Hello world. $ BINARY 10101011010101010101010101 01010100101010101110101010 10111101010101111010001001 01010101010011001010101101 USER COMPILER
  • 14.
    WE STARTED SHARINGCODE... int main() { printf(“Hello world.n”); exit (0); } DEVELOPER COPY #1 USER #1 int main() { printf(“Hello world.n”); exit (0); } COPY #2 USER #2 int main() { printf(“Hello world.n”); exit (0); } BINARY #1 $ ./hello-world Hello world. $ BINARY #2 $ ./hello-world Hello world. $
  • 15.
    AND ANYONE COULDIMPROVE IT COPY #1 USER #1 int main() { printf(“What up.n”); exit (0); } COPY #2 USER #2 int main() { printf(“Bonjour!n”); exit (0); } BINARY #1 $ ./hello-world What up. $ BINARY #2 $ ./hello-world Bonjour! $ int main() { printf(“Hello world.n”); exit (0); } DEVELOPER
  • 16.
    WE STARTED SELLINGBINARIES int main() { printf(“Hello world.n”); exit (0); } DEVELOPER DEVELOPER’S BINARY $ ./hello-world Hello world. $ DEVELOPER’S BINARY USER #1 $ ./hello-world Hello world. $ USER #2 DEVELOPER’S BINARY $ ./hello-world Hello world. $
  • 17.
    WHICH CENTRALIZED CONTROL intmain() { printf(“Hello world.n”); exit (0); } DEVELOPER DEVELOPER’S BINARY $ ./hello-world What up. $ DEVELOPER’S BINARY USER #1 $ ./hello-world What up. $ USER #2 DEVELOPER’S BINARY $ ./hello-world Hello world. $ $ int main() { printf(“What up.n”); exit (0); } DEVELOPER’S BINARY $ ./hello-world Hello world. $
  • 18.
    OPEN SOURCE int main(){ printf(“Hello world.n”); exit (0); } COMMITTER int main() { printf(“What up.n”); exit (0); } DEVELOPER’S CODE USER #1 int main() { printf(“Wassup.n”); exit (0); } BINARY #1 $ ./hello-world Wassup. $ int main() { printf(“Bonjour.n”); exit (0); } DEVELOPER’S BINARY $ ./hello-world Hello world. $ USER #2
  • 19.
  • 20.
    FOUR FREEDOMS http://fsf.org Free touse. Anyone can use it, however they like. Free to copy. Anyone can get a copy for the cost of media. Free to modify. If I don’t like how it works, I can change it. Free to distribute. I can share my changes.
  • 21.
    GNU PUBLIC LICENSE http://gnu.org Implementsthe four freedoms. Use, copy, modify, distribute. Built on copyright. The author provides additional rights for additional responsibilities. In some cases, problematic. But more on that later.
  • 22.
    LINUX IS BORN From:torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki “I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix...”
  • 23.
    INNOVATION IT’S MORE THANPRODUCTS SERVICES PRODUCTS HOBBIES AMATEURS
  • 24.
    24 "Springfield Model 1861" http://en.wikipedia.org/wiki/Springfield_Model_1861 INNOVATION “TheSpringfield Rifle cost $20 each at the Springfield Armory where they were officially made. Overwhelmed by the demand, the armory opened its weapons patterns up to twenty private contractors. The most notable producer of contract Model 1861 Springfields was Colt, who made several minor design changes in their version, the "Colt Special" rifled musket. These changes included redesigned barrel bands, a new hammer, and a redesigned bolster. Several of these changes were eventually adopted by the Ordnance Department and incorporated into the model 1863 rifled musket."
  • 25.
    More Ideas Good ideascomes from lots of good ideas. LONG TAILS MEAN INNOVATION MORE PARTICIPANTS, MORE GOOD IDEAS
  • 26.
    26 HIGHER QUALITY MORE CODE,FEWER BUGS Coverity has tracked the code quality of open source software since 2004. Proprietary software, on average, has 20,000 to 30,000 defects per million lines of code. This has been true since 1960. 2004 Linux has 985 defects in 5.7 MLOC, or 99.3% lower than a proprietary system. 2005 Linux grew 4.7%, but defect density went down 2.3%. 2006 Funded by DHS, Coverity adds the LAMP stack and 32 OSS projects, and defect density stayed the same. 2008 Now covers 250 projects, with 434 defects per MLOC. Worst performer has 1237 defects per MLOC. 2009 Now covers 280 projects, with defect density down 16%.
  • 27.
  • 28.
    What differentiates allof these devices?
  • 29.
    Software is wheremuch of the value is created. It’s not something you can always outsource, but it’s something you need to collaborate on.
  • 30.
    Open Source isEating the Software World “If you are going to master software you must master open source. It is hard to build something without open source code.” Jim Zemlin, Executive Director, The Linux Foundation Collaboration Summit Keynote 2013
  • 31.

Editor's Notes

  • #25 Building for evolution On a technical note, the story of the hopeful FEC contributors illustrates another hallmark of the open source community: modularity. These developers didn't want to build a website. They wanted to build and share tools with the FEC. In part because of the economics of the collaborative process, and in part because of the way software works, developers tend to avoid writing large, monolithic chunks of software. Instead, they write smaller, more manageable pieces and tie them together. This makes it easier to collaborate, since it's easier for everyone to understand the smaller constituent problems. This also makes it easier to fail -- which is a good thing. The principle is interchangeable parts, which every student of history knows was one of the most important innovations of the Industrial Revolution. One of my favorite examples of this is the 1861 Springfield Rifle: Colt's improvements to the rifle were made simple by the fact that the rifle was composed of interchangeable parts. This allowed them to focus on specific, iterative improvements to the rifle's design. If one component isn't working properly, it can be replaced with another with a minimum of friction.
  • #28 It's easy to see where this process may be abused. A rogue project leader may make decisions that alienate contributors, or make decisions that serve the project leader but no longer serve the intended community at large. This happens often. Fortunately, other mechanisms balance to the absolute power exerted by the project leader. Since the source code for the project is freely available, it is always possible for a dissenting group to "take their toys and go home," and begin a competing project based on the original. In the community, this is referred to as a "fork" of the code. It's the nuclear option for dissent, since a fork means creating two redundant projects, neither of which benefit from the creative work of the developers interested in solving the problem. If you are dissatisfied with the direction of a project, you have to balance the utility of a "whole" collection of developers against your ability to tolerate compromise. In this way, the open source community's rough consensus keeps contributing developers and project leaders focused on serving as large a community as possible.
  • #29 best example to offer is looking at the latest phones... can you me which one is which. for most people they look like beautiful screen and industrial design but from a consumer perspective who want to get somethig done it to turn them on