SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
FreeBSD: Looking forward
to another next 10 years
Jordan Hubbard	

EuroBSDCon 2014
So, let’s look back at where we came from
first…
Prediction: I can’t win this either way…
FreeBSD 1.0
From jkh@whisker.lotus.ie Tue Nov 2 14:51:38 1993!
Path: sran230!sranhd!sranha!wnoc-tyo-news!nec-tyo!nec-gw!sgiblab!
spool.mu.edu!agate!agate!usenet!
From: jkh@whisker.lotus.ie (Jordan K. Hubbard)!
Newsgroups: comp.os.386bsd.announce!
Subject: FreeBSD 1.0 RELEASE now available!
Followup-To: poster!
Date: 1 Nov 1993 16:12:20 -0800!
Organization: Lotus Development Ireland!
Lines: 61!
Sender: cgd@agate.berkeley.edu!
Approved: 386bsd-announce-request@agate.berkeley.edu!
Message-ID: <JKH.93Oct31223943@whisker.lotus.ie>!
NNTP-Posting-Host: agate.berkeley.edu!
!
The first "official" release of FreeBSD 1.0 is now available, no more!
greek letters - this is the "production" release ...
Happy 20th Anniversary!
FreeBSD is now almost 21 years old	

(in two months, it can drink legally in the USA)
Our first distribution media
(OK, I’m lying)
FreeBSD 1.0
Our actual distribution media
1.2 MB
FreeBSD 1.0
Some of the consequences...
The 1.0 ports collection
My first FreeBSD dream build machine...
I paid $1600 for my first 1Gb hard drive to do builds...
My first FreeBSD dream laptop
That is	

<= Warner!
First conference (1999)
Commercial interests	

20 years ago
• Internet Service Providers (large and small)	

• SOHO web servers / routers (very DIY)	

• Major services likeYahoo!, Hotmail, etc.	

• Basic developer desktop machines	

• Majority of FreeBSD machines were physical PCs
that ran off of AC power
Key take-away: FreeBSD’s role was fairly overt
20 years later...
New install media: 64GB USB thumb drive. Holy crap!
20 years later...
RB-Pi: SBC Far more powerful than my first FreeBSD
machine. Cost: Under $50 (with storage card)
20 years later...
My dream laptop has evolved (and has BSD included)
20 years later...
• FreeBSD release version is up to 10.0	

• Over 24000 ports (vs 70!)	

• Hundreds of committers, from both academia and
commercial backgrounds	

• Sources of long-term funding (Foundation, other
sponsors)	

• … But the commercial interests and overall market
have changed significantly
Hey BSD: Let’s see that license again!
The GPLv3: Scaring the crap out of lawyers since 2007
The GPL experience
Commercial interests	

Today
• FreeBSD is the underlying OS technology for routers,
load balancers, security monitors, file servers, etc.	

• Basis for “software appliances” like pfSense, FreeNAS
and quite a few others	

• Even the base OS for a very popular gaming console	

• “Embedded” market is morphing and exploding
Key take-away: FreeBSD’s role, and even its name, is now fairly covert
Some hyperbole (which does actually makes a point)
Unix OS deployments today
(waaaa?)
And in the Enterprise…
• “BYOD” movement has killed desktop growth
while giving IT departments severe heartburn	

• “Cloud” software / storage / computational
resource consolidation have all but killed the DIY
datacenter	

• Much better automation choices (*stack, chef,
puppet) gives rise to the “2 guys with their laptops
in a coffee shop” social media / enterprise startup
How we see ourselves
OS Designers
How the world sees us
OS Designers
Closer to the truth
OS Designers
The rise of virtualization
• vmware, Xenserver, Hyper-v, even bhyve are all
acceptable hypervisors now. Majority of OS
deployments (and devices) are no longer physical. 	

• Automation tools work hardest to erase the notion
of machine personality by pushing OS installation and
config metadata to external sources	

• Being virtual and/or automated means the entire
environment is far more dynamic; individual OS
instances not installed/configured by mere humans
The rise of mobile
• More Unix machines are running on batteries than
are plugged into AC by several orders of magnitude	

• Talking to one or more radios has replaced physical
cables	

• The obvious: Power consumption and dynamic
interface / connection management is important	

• Less obvious: High-level debugging and telemetry
technology become critical to success
What does this all mean?
• We need to be open to fundamentally new
approaches and ruthlessly cull what is no longer
demonstrably useful to the 99%	

• We need to be willing to shamelessly steal^H^H^H^H
adopt things that are working elsewhere	

• We need to take on some big-picture challenges that
will appeal to the next generation of hackers (where’s
the next mountain?)
One Project Idea	

All OS / App configuration data
• We need a lingua franca format yesterday!	

• Whether it be XML,YAML or JSON, we also
need a single API to read / write / abstract away
the details of finding config data.	

• Existing tools /services need to convert their
legacy formats into this one and use the same
API or the tower of babel will persist
Working Example
• All OS and app configuration data in OS X and iOS are XML
plist files, even GNU emacs and X11.org’s preferences!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/
PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SULastCheckTime</key>
<date>2014-02-09T02:45:56Z</date>
<key>cache_fonts</key>
<true/>
<key>done_xinit_check</key>
<true/>
<key>no_auth</key>
<false/>
<key>nolisten_tcp</key>
<true/>
</dict>
</plist>
One Project Idea	

A centralized event notification system
• You just can’t deal with:	

• Radios powering up and down at odd times	

• Network configuration changing rapidly	

• A node changing its identity almost entirely on the fly	

• Critical system caches needing invalidation
… without a centralized way of being able to know about
these sorts of events!
• notify(3) APIs in OS X / iOS and corresponding notifyd daemon
• Send it a SIGUSR1 on OS X and you will see a huge number of notification names
and their subscribers in /var/run/notifyd_pid.status - it has become insanely useful!
"com.apple.system.lowdiskspace.system" uid=0 gid=0 333
17 32 port
!
"com.apple.system.timezone" uid=0 gid=0 333 slot 7 = 1
1018 1 memory
1011 10 port
1011 8 memory
1011 6 port
!
"com.apple.system.powermanagement.SystemLoadAdvisory" uid=0 gid=0 333 slot 13 = 19
406 44 port
944 12 port
406 35 memory
!
"com.apple.system.config.network_change" uid=0 gid=0 333 slot 39 = 129
190 17 memory
845 28 memory
845 26 memory
!
"ids-device-nearby-0FC85E3A-7779-4EAA-AD02-70292707A33C" uid=0 gid=0 333
229 30 port
402 19 port
257 30 port
242 23 port
Working Example
One Project Idea	

Service startup and wrangling
• /etc/rc.d is quite sophisticated for what it does,
but the paint on /etc/rc is obvious	

• Too many things need to know explicitly about
dependencies (when can I start? What has to
start before me?)	

• Power wrangling and automation depend on being
able to start and stop services easily and at will
Working Example
!
• I’m trying really hard not to suggest launchd here (so I won’t)	

• The idea of registering everything up-front with a broker and
then letting IPC / timers / HW events start things from there (in
cascade fashion) is still the right architecture	

• Even the linux die-hards have essentially grasped the necessity
of systemd (even though they’re going to hate on it for awhile
longer)
One Project Idea	

Telemetry & Remote Debugging
• We really need a centralized way of being able
to collect data from appliances / mobile devices	

• The NSA don’t need our help (they already do
this upstream) but FreeBSD downstream end-
users DO	

• Debugging the software stack on mobile devices
is hard. It’s time for remote debugging support
One Project Idea	

Reference phone / tablet ports
• Running on SBCs is excellent for bootstrapping,
but there’s no “real world” hardware to support
(displays, radios, accelerometers, etc)	

• Running on hardware you can actually use and
carry around validates power / telemetry work	

• Real Hardware forces you to think about the
entire software stack
In summary
• We need to become more lego-like (and toss those
legos we don’t need out of the box) in our
architecture	

• The hardware platforms we choose need to be
genuinely relevant in terms of mass appeal	

• We need to be more willing to learn from those
who have gone before us in these emerging markets
(BSD has a bit of a “rep” there)
FreeBSD 20th Anniversary Party
FreeBSD:The future is ours if we want it!

Contenu connexe

En vedette

Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014
Clueda AG
 
Predictive Maintenance with R
Predictive Maintenance with RPredictive Maintenance with R
Predictive Maintenance with R
eoda GmbH
 

En vedette (20)

Cap xii codigo alimentario arg
Cap xii codigo alimentario argCap xii codigo alimentario arg
Cap xii codigo alimentario arg
 
Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015
Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015
Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015
 
Business Intelligence Engineer 2
Business Intelligence Engineer 2Business Intelligence Engineer 2
Business Intelligence Engineer 2
 
eoda R-Akademie 2014
eoda R-Akademie 2014 eoda R-Akademie 2014
eoda R-Akademie 2014
 
material en proceso de evaluación
material en proceso de evaluación material en proceso de evaluación
material en proceso de evaluación
 
Business Intelligence (BI) Kompakt
Business Intelligence (BI) KompaktBusiness Intelligence (BI) Kompakt
Business Intelligence (BI) Kompakt
 
Implementierung von R im Mittelstand
Implementierung von R im MittelstandImplementierung von R im Mittelstand
Implementierung von R im Mittelstand
 
SpagoBI 5 Demo Day and Workshop : Business Applications and Uses
SpagoBI 5 Demo Day and Workshop : Business Applications and UsesSpagoBI 5 Demo Day and Workshop : Business Applications and Uses
SpagoBI 5 Demo Day and Workshop : Business Applications and Uses
 
eoda R-Akademie 2016
eoda R-Akademie 2016eoda R-Akademie 2016
eoda R-Akademie 2016
 
eoda | R-Support
eoda | R-Support eoda | R-Support
eoda | R-Support
 
eoda R-Akademie 2015_Kursprogramm
eoda R-Akademie 2015_Kursprogrammeoda R-Akademie 2015_Kursprogramm
eoda R-Akademie 2015_Kursprogramm
 
Implementing R in the old economy
Implementing R in the old economyImplementing R in the old economy
Implementing R in the old economy
 
SpagoBI 5 official presentation in Paris
SpagoBI 5 official presentation in ParisSpagoBI 5 official presentation in Paris
SpagoBI 5 official presentation in Paris
 
In Memory Computing for Agile Business Intelligence
In Memory Computing for Agile Business IntelligenceIn Memory Computing for Agile Business Intelligence
In Memory Computing for Agile Business Intelligence
 
Facebook Gewinnspiel-Richtlinien
Facebook Gewinnspiel-RichtlinienFacebook Gewinnspiel-Richtlinien
Facebook Gewinnspiel-Richtlinien
 
Best PowerPoint Presentation Ever
Best PowerPoint Presentation EverBest PowerPoint Presentation Ever
Best PowerPoint Presentation Ever
 
Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014
 
Predictive Maintenance with R
Predictive Maintenance with RPredictive Maintenance with R
Predictive Maintenance with R
 
IBM SPSS Fruehwarnsystem der ergebnis- und wirkungsorientierten Steuerung im...
IBM SPSS Fruehwarnsystem der ergebnis-  und wirkungsorientierten Steuerung im...IBM SPSS Fruehwarnsystem der ergebnis-  und wirkungsorientierten Steuerung im...
IBM SPSS Fruehwarnsystem der ergebnis- und wirkungsorientierten Steuerung im...
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)
 

Similaire à FreeBSD: Looking forward to another 10 years by Jordan Hubbard

Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013
Dorian Hernandez
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCentury
Kostas Mavridis
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
op205
 
Bit_Bucket_x31_Final
Bit_Bucket_x31_FinalBit_Bucket_x31_Final
Bit_Bucket_x31_Final
Sam Knutson
 
Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
Aymeric Weinbach
 

Similaire à FreeBSD: Looking forward to another 10 years by Jordan Hubbard (20)

Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud Security
 
Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Michael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEEMichael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEE
 
How to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALABHow to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALAB
 
IoT Story: From Edge to HDP
IoT Story: From Edge to HDPIoT Story: From Edge to HDP
IoT Story: From Edge to HDP
 
GDSC IIITM - Discover Your Domain
GDSC IIITM  - Discover Your DomainGDSC IIITM  - Discover Your Domain
GDSC IIITM - Discover Your Domain
 
Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013
 
2012-03-15 What's New at Red Hat
2012-03-15 What's New at Red Hat2012-03-15 What's New at Red Hat
2012-03-15 What's New at Red Hat
 
SDN - a new security paradigm?
SDN - a new security paradigm?SDN - a new security paradigm?
SDN - a new security paradigm?
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCentury
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
 
Devcon2上海 参加報告
Devcon2上海 参加報告Devcon2上海 参加報告
Devcon2上海 参加報告
 
Perfect Operating System
Perfect Operating SystemPerfect Operating System
Perfect Operating System
 
Perfect O S
Perfect O SPerfect O S
Perfect O S
 
Bit_Bucket_x31_Final
Bit_Bucket_x31_FinalBit_Bucket_x31_Final
Bit_Bucket_x31_Final
 
Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
 
Instrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionInstrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in production
 

Plus de eurobsdcon

OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
eurobsdcon
 
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann SionneauPorting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
eurobsdcon
 
Bugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps DzonsonsBugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps Dzonsons
eurobsdcon
 

Plus de eurobsdcon (20)

EuroBSDCon 2014 Program Front
EuroBSDCon 2014 Program FrontEuroBSDCon 2014 Program Front
EuroBSDCon 2014 Program Front
 
EuroBSDCon 2014 tutorials program Thursday & Friday
EuroBSDCon 2014 tutorials program Thursday & FridayEuroBSDCon 2014 tutorials program Thursday & Friday
EuroBSDCon 2014 tutorials program Thursday & Friday
 
EuroBSDCon 2014 Sofia Welcome
EuroBSDCon 2014 Sofia WelcomeEuroBSDCon 2014 Sofia Welcome
EuroBSDCon 2014 Sofia Welcome
 
EuroBSDCon 2014 Sofia Closing talk
EuroBSDCon 2014 Sofia Closing talkEuroBSDCon 2014 Sofia Closing talk
EuroBSDCon 2014 Sofia Closing talk
 
Submitting documents anonymously by Atanas Chobanov
Submitting documents anonymously by Atanas ChobanovSubmitting documents anonymously by Atanas Chobanov
Submitting documents anonymously by Atanas Chobanov
 
Porting the drm/kms graphic drivers to DragonFlyBSD by Francois Tigeot
Porting the drm/kms graphic drivers to DragonFlyBSD by Francois TigeotPorting the drm/kms graphic drivers to DragonFlyBSD by Francois Tigeot
Porting the drm/kms graphic drivers to DragonFlyBSD by Francois Tigeot
 
University of Oslo's TSD service - storing sensitive & restricted data by D...
  University of Oslo's TSD service - storing sensitive & restricted data by D...  University of Oslo's TSD service - storing sensitive & restricted data by D...
University of Oslo's TSD service - storing sensitive & restricted data by D...
 
secure lazy binding, and the 64bit time_t development process by Philip Guenther
secure lazy binding, and the 64bit time_t development process by Philip Guenthersecure lazy binding, and the 64bit time_t development process by Philip Guenther
secure lazy binding, and the 64bit time_t development process by Philip Guenther
 
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
  The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell  The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
 
The LLDB Debugger in FreeBSD by Ed Maste
The LLDB Debugger in FreeBSD by Ed MasteThe LLDB Debugger in FreeBSD by Ed Maste
The LLDB Debugger in FreeBSD by Ed Maste
 
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao UebayashiPorting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
 
Multiplatform JIT Code Generator for NetBSD by Alexander Nasonov
Multiplatform JIT Code Generator for NetBSD by Alexander NasonovMultiplatform JIT Code Generator for NetBSD by Alexander Nasonov
Multiplatform JIT Code Generator for NetBSD by Alexander Nasonov
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
 
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann SionneauPorting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
 
Smartcom's control plane software, a customized version of FreeBSD by Boris A...
Smartcom's control plane software, a customized version of FreeBSD by Boris A...Smartcom's control plane software, a customized version of FreeBSD by Boris A...
Smartcom's control plane software, a customized version of FreeBSD by Boris A...
 
Bugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps DzonsonsBugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps Dzonsons
 
Cross Building the FreeBSD ports tree by Baptiste Daroussin
Cross Building the FreeBSD ports tree by Baptiste DaroussinCross Building the FreeBSD ports tree by Baptiste Daroussin
Cross Building the FreeBSD ports tree by Baptiste Daroussin
 
Building packages through emulation by Sean Bruno
Building packages through emulation by Sean BrunoBuilding packages through emulation by Sean Bruno
Building packages through emulation by Sean Bruno
 
Making OpenBSD Useful on the Octeon Network Gear by Paul Irofti
Making OpenBSD Useful on the Octeon Network Gear by Paul IroftiMaking OpenBSD Useful on the Octeon Network Gear by Paul Irofti
Making OpenBSD Useful on the Octeon Network Gear by Paul Irofti
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

FreeBSD: Looking forward to another 10 years by Jordan Hubbard

  • 1. FreeBSD: Looking forward to another next 10 years Jordan Hubbard EuroBSDCon 2014
  • 2. So, let’s look back at where we came from first… Prediction: I can’t win this either way…
  • 3. FreeBSD 1.0 From jkh@whisker.lotus.ie Tue Nov 2 14:51:38 1993! Path: sran230!sranhd!sranha!wnoc-tyo-news!nec-tyo!nec-gw!sgiblab! spool.mu.edu!agate!agate!usenet! From: jkh@whisker.lotus.ie (Jordan K. Hubbard)! Newsgroups: comp.os.386bsd.announce! Subject: FreeBSD 1.0 RELEASE now available! Followup-To: poster! Date: 1 Nov 1993 16:12:20 -0800! Organization: Lotus Development Ireland! Lines: 61! Sender: cgd@agate.berkeley.edu! Approved: 386bsd-announce-request@agate.berkeley.edu! Message-ID: <JKH.93Oct31223943@whisker.lotus.ie>! NNTP-Posting-Host: agate.berkeley.edu! ! The first "official" release of FreeBSD 1.0 is now available, no more! greek letters - this is the "production" release ...
  • 4. Happy 20th Anniversary! FreeBSD is now almost 21 years old (in two months, it can drink legally in the USA)
  • 5. Our first distribution media (OK, I’m lying) FreeBSD 1.0
  • 6. Our actual distribution media 1.2 MB FreeBSD 1.0
  • 7. Some of the consequences...
  • 8. The 1.0 ports collection
  • 9. My first FreeBSD dream build machine... I paid $1600 for my first 1Gb hard drive to do builds...
  • 10. My first FreeBSD dream laptop That is <= Warner!
  • 12. Commercial interests 20 years ago • Internet Service Providers (large and small) • SOHO web servers / routers (very DIY) • Major services likeYahoo!, Hotmail, etc. • Basic developer desktop machines • Majority of FreeBSD machines were physical PCs that ran off of AC power Key take-away: FreeBSD’s role was fairly overt
  • 13. 20 years later... New install media: 64GB USB thumb drive. Holy crap!
  • 14. 20 years later... RB-Pi: SBC Far more powerful than my first FreeBSD machine. Cost: Under $50 (with storage card)
  • 15. 20 years later... My dream laptop has evolved (and has BSD included)
  • 16. 20 years later... • FreeBSD release version is up to 10.0 • Over 24000 ports (vs 70!) • Hundreds of committers, from both academia and commercial backgrounds • Sources of long-term funding (Foundation, other sponsors) • … But the commercial interests and overall market have changed significantly
  • 17. Hey BSD: Let’s see that license again! The GPLv3: Scaring the crap out of lawyers since 2007 The GPL experience
  • 18. Commercial interests Today • FreeBSD is the underlying OS technology for routers, load balancers, security monitors, file servers, etc. • Basis for “software appliances” like pfSense, FreeNAS and quite a few others • Even the base OS for a very popular gaming console • “Embedded” market is morphing and exploding Key take-away: FreeBSD’s role, and even its name, is now fairly covert
  • 19. Some hyperbole (which does actually makes a point)
  • 20. Unix OS deployments today (waaaa?)
  • 21. And in the Enterprise… • “BYOD” movement has killed desktop growth while giving IT departments severe heartburn • “Cloud” software / storage / computational resource consolidation have all but killed the DIY datacenter • Much better automation choices (*stack, chef, puppet) gives rise to the “2 guys with their laptops in a coffee shop” social media / enterprise startup
  • 22. How we see ourselves OS Designers
  • 23. How the world sees us OS Designers
  • 24. Closer to the truth OS Designers
  • 25. The rise of virtualization • vmware, Xenserver, Hyper-v, even bhyve are all acceptable hypervisors now. Majority of OS deployments (and devices) are no longer physical. • Automation tools work hardest to erase the notion of machine personality by pushing OS installation and config metadata to external sources • Being virtual and/or automated means the entire environment is far more dynamic; individual OS instances not installed/configured by mere humans
  • 26. The rise of mobile • More Unix machines are running on batteries than are plugged into AC by several orders of magnitude • Talking to one or more radios has replaced physical cables • The obvious: Power consumption and dynamic interface / connection management is important • Less obvious: High-level debugging and telemetry technology become critical to success
  • 27.
  • 28. What does this all mean? • We need to be open to fundamentally new approaches and ruthlessly cull what is no longer demonstrably useful to the 99% • We need to be willing to shamelessly steal^H^H^H^H adopt things that are working elsewhere • We need to take on some big-picture challenges that will appeal to the next generation of hackers (where’s the next mountain?)
  • 29. One Project Idea All OS / App configuration data • We need a lingua franca format yesterday! • Whether it be XML,YAML or JSON, we also need a single API to read / write / abstract away the details of finding config data. • Existing tools /services need to convert their legacy formats into this one and use the same API or the tower of babel will persist
  • 30. Working Example • All OS and app configuration data in OS X and iOS are XML plist files, even GNU emacs and X11.org’s preferences! <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>SULastCheckTime</key> <date>2014-02-09T02:45:56Z</date> <key>cache_fonts</key> <true/> <key>done_xinit_check</key> <true/> <key>no_auth</key> <false/> <key>nolisten_tcp</key> <true/> </dict> </plist>
  • 31. One Project Idea A centralized event notification system • You just can’t deal with: • Radios powering up and down at odd times • Network configuration changing rapidly • A node changing its identity almost entirely on the fly • Critical system caches needing invalidation … without a centralized way of being able to know about these sorts of events!
  • 32. • notify(3) APIs in OS X / iOS and corresponding notifyd daemon • Send it a SIGUSR1 on OS X and you will see a huge number of notification names and their subscribers in /var/run/notifyd_pid.status - it has become insanely useful! "com.apple.system.lowdiskspace.system" uid=0 gid=0 333 17 32 port ! "com.apple.system.timezone" uid=0 gid=0 333 slot 7 = 1 1018 1 memory 1011 10 port 1011 8 memory 1011 6 port ! "com.apple.system.powermanagement.SystemLoadAdvisory" uid=0 gid=0 333 slot 13 = 19 406 44 port 944 12 port 406 35 memory ! "com.apple.system.config.network_change" uid=0 gid=0 333 slot 39 = 129 190 17 memory 845 28 memory 845 26 memory ! "ids-device-nearby-0FC85E3A-7779-4EAA-AD02-70292707A33C" uid=0 gid=0 333 229 30 port 402 19 port 257 30 port 242 23 port Working Example
  • 33. One Project Idea Service startup and wrangling • /etc/rc.d is quite sophisticated for what it does, but the paint on /etc/rc is obvious • Too many things need to know explicitly about dependencies (when can I start? What has to start before me?) • Power wrangling and automation depend on being able to start and stop services easily and at will
  • 34. Working Example ! • I’m trying really hard not to suggest launchd here (so I won’t) • The idea of registering everything up-front with a broker and then letting IPC / timers / HW events start things from there (in cascade fashion) is still the right architecture • Even the linux die-hards have essentially grasped the necessity of systemd (even though they’re going to hate on it for awhile longer)
  • 35. One Project Idea Telemetry & Remote Debugging • We really need a centralized way of being able to collect data from appliances / mobile devices • The NSA don’t need our help (they already do this upstream) but FreeBSD downstream end- users DO • Debugging the software stack on mobile devices is hard. It’s time for remote debugging support
  • 36. One Project Idea Reference phone / tablet ports • Running on SBCs is excellent for bootstrapping, but there’s no “real world” hardware to support (displays, radios, accelerometers, etc) • Running on hardware you can actually use and carry around validates power / telemetry work • Real Hardware forces you to think about the entire software stack
  • 37. In summary • We need to become more lego-like (and toss those legos we don’t need out of the box) in our architecture • The hardware platforms we choose need to be genuinely relevant in terms of mass appeal • We need to be more willing to learn from those who have gone before us in these emerging markets (BSD has a bit of a “rep” there)
  • 38. FreeBSD 20th Anniversary Party FreeBSD:The future is ours if we want it!