Loading…
Transcript

Network Effects

Open Source

Economic term for the effect where the value of something increases based on the network of participants (users/developers) that adopt it.

How it works

Developers publish their derivative software

System only works when people do more than publish

Explanatory Power

They need to contribute

Definition

GPL License

Open Source Software can be freely used, changed and shared by anyone

Guarantees freedom for downstream users to obtain source code

Legal framework

Network Effects

TV - relationship of advertisers and viewers

  • Format wars
  • Subsidies to one side of a market

  • Fanboy behavior

Other Licenses

  • BSD
  • Apache
  • MIT

Creates a community

Different Legal Terms

Types

Embedded

Convincing people to use your platform is a rational behavior -- even if irrational arguments are used

Phone network

Format Wars

  • VHS vs. Betamax
  • HD DVD vs Blu-ray

At the intersection of Open Source

and Embedded

We need a new base camp

here!

Dedicated function

Operating Systems

Open Source and Network Effects

  • Windows vs. Mac vs. Linux
  • Android vs. IOS

Other developers write software you use

Network Effects are Everywhere

More developers = more value

Thanks for your time

  • Router
  • TV
  • Digital camera
  • Set-top box
  • Robots

Ecosystem

All large companies understand and try to leverage network effects

Related services: Books, training, tools, jobs

Community size

Re-Specialization

  • Not a single community
  • Lots of sub-communities

Two-sided markets

Size matters

3rd parties increase your value!

Tension between generalization

and specialization

Some communities are very small

Cost to contribute

First mover advantage

People are in multiple communities simultaneously

Andrew Murray's talk on Boot Time

(2010 ELC Europe)

In 2014 -- still evolving our theories about multi-sided markets

vs

To build community, must create generalized software

Companies spend billions to win a format war

Generalized software costs more to write

Esoteric Stuff

Applies to anyone who publishes a platform, where other developers or users create value.

There's always something new with different characteristics

General Purpose Hardware

Persistent Memory

Asynchronous CPUs

History

Tradeoff in development time vs. hardware resources

Amulet

ST-MRAM

From custom to general-purpose OS

Modern SOCs have enormous complexity

CPU with 9 cores is same cost as one with 3 cores

Cheapest DRAM is 32M

  • Linux
  • VxWorks
  • Nucleus
  • pSOS
  • VRTX
  • LynxOS
  • ITRON
  • QNX

Cheaper, more capable hardware

Device Tree

Get used to wasting silicon!

Not a rant

OK - a little bit of a rant

DT Problems

DT and network effects

DT helps build network effects

  • No typing
  • Separation of data from code
  • Harder to write drivers
  • Language problems
  • Unfamiliarity
  • Multi-node dependencies not easy-to-express

Has encouraged restructuring platform code for re-use

Exposes IP blocks between platforms

DT is Hard to specialize

It's meant to support single image

Kernel parses tree at runtime

Can't do compile-time optimizations

Relate here my long sad story about Link-Time Optimization and how parsed data items are not optimizable by the compiler.

Internet of Things

IOT

Changes the equation

We want computers in our:

  • cars
  • appliances
  • furniture
  • light switches
  • clothing

Linux in IOT

Possibly in our bodies and our food!

Why Linux?

In our infrastructure - monitoring environment, water, energy, traffic

Do we actually need Linux here?

Hitachi rfid chip

Reuse

Fragmentation

What re-use are we striving for?

Problem with Linux in IOT

Want to run Linux on a 10-cent processor, that runs for years on a single charge

People want to leverage:

  • Network stack
  • File systems
  • USB
  • NFC

SOC support

Linux is too:

  • Big
  • Slow
  • Power-hungry
  • Insecure

Linux 0.11 system ran in 2MB

Streamlining Linux

More features since then

Good Fragmentation

What to do?

Modularity/Legos

Lose community

Bad Fragmentation

Lego Model of Software

If we slim down Linux, it's not Linux anymore

Subtractive Engineering

Franken-car

No network effects

Wifi-stack needs:

  • ICMP
  • crypto lib
  • O(1) Scheduler
  • ....

Ideal - molded plastic

Folly of subtractive engineering

As system scales up, it's harder to remove than build from scratch

Nobody wants to remove stuff they don't understand

Finally - Linux on a ceral box

What made the UNIX fragmentation so bad was that it was an "overlapped" fragmentation....

what will happen is that the "market" fragments, as opposed to the technology. Which is good and proper. You'll have different Linux companies going after different markets, and having different priorities.

Ask Linus response #1, Linux Mall - May, 2000

Linus Quote

"Fragmentation is the sort of bogeyman of Unix, but fragmentation is often good. Most of the things about fragmentation I like. You want to have a market where everybody gets to do their own thing and where one entity doesn't control it."

Good fragmentation, on the other hand, makes it possible for Linux to run in both supercomputers and refrigerators, Torvalds said. "The key is modularity. You don't solve every problem with one huge operating system"

(ZDNet Interview - February, 2000)

Linux Mall - Ask Linus, May 2000

Doesn't perform as well

Bigger

Slower

Fork!

ring

Just

inee

say

eng

tive

"NO"

to

trac

sub

Mobile phones

Chipidea, is that you?