open source fundamentals

Post on 14-Apr-2017

170 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

05/03/2023

Open Source Fundamentals

Guy MartinSenior Open Source/Community

Strategist

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 SOURCEIS

EVERYWHERE

THE INTERNET

MOBILE PHONES

WEATHER

STOCK EXCHANGES

AUTOMOBILES

AIRPLANES

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.

THE BASICS

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

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

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

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

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

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

RMS

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.

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.

LINUX IS BORN

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)Newsgroups: comp.os.minixSubject: What would you like to see most in minix?Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>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...”

INNOVATIONIT’S MORE THAN PRODUCTS

SERVICES

PRODUCTS

HOBBIES

AMATEURS

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

More IdeasGood ideas comes from lots of good ideas.

LONG TAILS MEAN INNOVATIONMORE PARTICIPANTS, MORE GOOD IDEAS

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

2727

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

31

OPEN SOURCE ENABLEMENT

top related