open source fundamentals

31
Open Source Fundamentals Guy Martin Senior Open Source/Community Strategist 07/05/2022

Upload: guy-martin

Post on 14-Apr-2017

167 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Open Source Fundamentals

05/03/2023

Open Source Fundamentals

Guy MartinSenior Open Source/Community

Strategist

Page 2: Open Source Fundamentals

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

Page 3: Open Source Fundamentals

Question….

How many of you use, or have used, open source?

Page 4: Open Source Fundamentals

OPEN SOURCEIS

EVERYWHERE

Page 5: Open Source Fundamentals

THE INTERNET

Page 6: Open Source Fundamentals

MOBILE PHONES

Page 7: Open Source Fundamentals

WEATHER

Page 8: Open Source Fundamentals

STOCK EXCHANGES

Page 9: Open Source Fundamentals

AUTOMOBILES

Page 10: Open Source Fundamentals

AIRPLANES

Page 11: Open Source Fundamentals

HERE WE GOWhat 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.

Page 12: Open Source Fundamentals

THE BASICS

Page 13: Open Source Fundamentals

HOW DEVELOPMENT WORKS

COMPILERS MAKE SOURCE INTO

BINARIESint main() { printf(“Hello world.\n”); exit (0);}

DEVELOPER

SOURCE CODE

$ ./hello-worldHello world.$

BINARY

10101011010101010101010101010101001010101011101010101011110101010111101000100101010101010011001010101101

USER

COMPILER

Page 14: Open Source Fundamentals

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-worldHello world.$

BINARY #2

$ ./hello-worldHello world.$

Page 15: Open Source Fundamentals

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-worldWhat up.$

BINARY #2

$ ./hello-worldBonjour!$

int main() { printf(“Hello world.\n”); exit (0);}

DEVELOPER

Page 16: Open Source Fundamentals

WE STARTED SELLING BINARIES

int main() { printf(“Hello world.\n”); exit (0);}

DEVELOPER

DEVELOPER’S BINARY

$ ./hello-worldHello world.$

DEVELOPER’S BINARY

USER #1

$ ./hello-worldHello world.$

USER #2

DEVELOPER’S BINARY

$ ./hello-worldHello world.$

Page 17: Open Source Fundamentals

WHICH CENTRALIZED CONTROL

int main() { printf(“Hello world.\n”); exit (0);}

DEVELOPER

DEVELOPER’S BINARY

$ ./hello-worldWhat up.$

DEVELOPER’S BINARY

USER #1

$ ./hello-worldWhat up.$

USER #2

DEVELOPER’S BINARY

$ ./hello-worldHello world.$

$

int main() { printf(“What up.\n”); exit (0);}

DEVELOPER’S BINARY

$ ./hello-worldHello world.$

Page 18: Open Source Fundamentals

OPEN SOURCEint 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-worldWassup.$

int main() { printf(“Bonjour.\n”); exit (0);}

DEVELOPER’S BINARY

$ ./hello-worldHello world.$

USER #2

Page 19: Open Source Fundamentals

RMS

Page 20: Open Source Fundamentals

FOUR FREEDOMShttp://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.

Page 21: Open Source Fundamentals

GNU PUBLIC LICENSEhttp://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.

Page 22: Open Source Fundamentals

LINUX IS BORN

From: [email protected] (Linus Benedict Torvalds)Newsgroups: comp.os.minixSubject: What would you like to see most in minix?Message-ID: <[email protected]>Date: 25 Aug 91 20:57:08 GMTOrganization: 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...”

Page 23: Open Source Fundamentals

INNOVATIONIT’S MORE THAN PRODUCTS

SERVICES

PRODUCTS

HOBBIES

AMATEURS

Page 24: Open Source Fundamentals

24

"Springfield Model 1861"http://en.wikipedia.org/wiki/Springfield_Model_1861

MODULARITY DRIVES 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."

Page 25: Open Source Fundamentals

More IdeasGood ideas comes from lots of good ideas.

LONG TAILS MEAN INNOVATIONMORE PARTICIPANTS, MORE GOOD IDEAS

Page 26: Open Source Fundamentals

26

HIGHER QUALITYMORE 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%.

Page 27: Open Source Fundamentals

2727

Page 28: Open Source Fundamentals

What differentiates all of these devices?

Page 29: Open Source Fundamentals

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.

Page 30: Open Source Fundamentals

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 FoundationCollaboration Summit Keynote 2013

Page 31: Open Source Fundamentals

31

OPEN SOURCE ENABLEMENT