Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
(online) The Paradox of Open Source and Embedded
Transcript of (online) The Paradox of Open Source and Embedded
Open Source Software can be freely used, changed and shared by anyone
Guarantees freedom for downstream users to obtain source code
How it works
They need to contribute
Creates a community
Lego Model of Software
Developers publish their derivative software
System only works when people do more than publish
Internet of Things
Economic term for the effect where the value of something increases based on the network of participants (users/developers) that adopt it.
Windows vs. Mac vs. Linux
Android vs. IOS
VHS vs. Betamax
HD DVD vs Blu-ray
Network Effects are Everywhere
All large companies understand and try to leverage network effects
Companies spend billions to win a format war
Subsidies to one side of a market
Convincing people to use your platform is a rational behavior -- even if irrational arguments are used
TV - relationship of advertisers and viewers
Open Source and Network Effects
Other developers write software you use
More developers = more value
Related services: Books, training, tools, jobs
People are in multiple communities simultaneously
Some communities are very small
Cost to contribute
To build community, must create generalized software
Generalized software costs more to write
Tension between generalization
Ideal - molded plastic
From custom to general-purpose OS
Cheaper, more capable hardware
Tradeoff in development time vs. hardware resources
Cheapest DRAM is 32M
There's always something new with different characteristics
CPU with 9 cores is same cost as one with 3 cores
Get used to wasting silicon!
Andrew Murray's talk on Boot Time
(2010 ELC Europe)
Changes the equation
Possibly in our bodies and our food!
In our infrastructure - monitoring environment, water, energy, traffic
Want to run Linux on a 10-cent processor, that runs for years on a single charge
Finally - Linux on a ceral box
Linux in IOT
Do we actually need Linux here?
Hitachi rfid chip
What re-use are we striving for?
Linux is too:
Linux 0.11 system ran in 2MB
More features since then
Problem with Linux in IOT
If we slim down Linux, it's not Linux anymore
No network effects
People want to leverage:
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
DT and network effects
DT helps build network effects
What to do?
"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)
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
Linux Mall - Ask Linus, May 2000
3rd parties increase your value!
First mover advantage
Applies to anyone who publishes a platform, where other developers or users create value.
OK - a little bit of a rant
Not a rant
Has encouraged restructuring platform code for re-use
Exposes IP blocks between platforms
Relate here my long sad story about Link-Time Optimization and how parsed data items are not optimizable by the compiler.
Can't do compile-time optimizations
Kernel parses tree at runtime
It's meant to support single image
DT is Hard to specialize
Chipidea, is that you?
Different Legal Terms
Not a single community
Lots of sub-communities
Doesn't perform as well
General Purpose Hardware
Modern SOCs have enormous complexity
We need a new base camp
At the intersection of Open Source
In 2014 -- still evolving our theories about multi-sided markets
Separation of data from code
Harder to write drivers
Multi-node dependencies not easy-to-express
Thanks for your time