SlideShare a Scribd company logo
1 of 46
Download to read offline
Revolutionary Open Source
Pieter Hintjens
ZeroMQ.org
How to change the game by
helping selfish people work
together on your projects
Why are we here...?
About you
● You're a programmer, organizer, leader
● You want to make successful software
● You want to work with other people
● You want to change the world
● You want to earn your living
About me
● “Pister Hinges”, origins unclear
● My code is crappy, my music is worse
● My businesses are lousy investments
● My protocols are clumsy (sorry for AMQP)
● I still can't believe O'Reilly published my book
● If failure is a university, I have many PhDs
Buy the book
Let me tell you a story...
● Closed source is Dead on Arrival
● The future belongs to open source
● To make open source, build communities
● There is a science to it: “Social Architecture”
● It can be very profitable
The pain, the pain!
Our industry sucks
● All our effort goes to making stuff
● Mostly stuff no-one really wants
● Missing every new opportunity
● Constant build-up of technical debt
● Complex, irrelevant, trash
We can dream...
Imagine a Perfect World
● Community does most of the work
● Mostly, things people really want
● Rapid colonization of new spaces
● Constant pruning of technical debt
● Simple, elegant, precious
But are we solving the right problems?
Why is accuracy so difficult?
● We love to make grand designs
● But problems are emergent
– I.e. we see them only when we get close
● Speculative design makes us blind
● Upfront structure makes us slow
● We attach to solutions, not problems
Perfection is possible
Simplicity Oriented Design
● Design by removing problems, not adding
features
● Simplicity beats functionality, every time
● Discover the core problems
● Solve them minimally
● Use that to discover next set of problems
● Aka “Drunken Stumble”
Why open source?
● Open source lets us make more accurate,
simpler software
● In a free & fair market, this will win
● Open source can be very profitable
– Profits are widely spread
● It's a social technology
– Not a business model
Why communities?
● No-one wants to live in Astana
● Community over code
● Community grows with the code
● We build the code
● We own it and look after it
Software is about people
Social Architecture
● “The art and science of growing an online
community”
● Cultural, political, or technological
● How we organize beats who we are
● Simplicity beats functionality
● Diversity beats education
Act normal, it's just a human
We're a funny animal
● We're lazy and stupid, so keep it simple
● We're selfish, so make it worth our while
● We like to conform, so give us good rules
● We're greedy, so make us compete
● We're fearful, so make it safe for us fail
We're a social species
How social is your code?
● An open source license is the contract on which
the community forms
● The license defines economics of behaviour
● A good contract dissolves conflict
● Type 1: BSD (MIT, X11, Apache, ...)
● Type 2: GPL (LGPL, AGPL, ...)
The essence of BSD
● The BSD license says, "Eat Me!"
● Some community building
● Significant leakage
● Mixable but forks are endothermic
● Ideal for large groups to dump code
The essence of GPL
● The GPL says, "Remix Me!"
● Strong community building
● Minimal leakage
● Remixable, forks are exothermic
● Ideal for the revolutionary
What's your Cost of Failure?
Start small, grow slowly
● Make seed product at own cost
● Do this in public view
● Pull in pioneer contributors
● Community designs next iteration
● Repeat ad infinitum
The community life cycle
● Pioneers, hunting for new stuff
● Leading edge, becoming specialists
● Early adopters, looking for profit
● Mass market, avoiding risk
● Late adopters, just keeping up
How sexy is your project?
Crazy and beautiful
● A crazy, impossible mission statement
● Has to speak to pioneers and leading edge
● Simple, elegant, brutally clean
● Has to be immediately useful and compelling
● You want love at first sight
Ease of access
● Remove all barriers to getting involved
● If you're not using GitHub, you should be
● Has to work for early adopters
● Aim for diversity of participants
● Origin, gender, age, experience
Cities built by people who never met
Stranger, meet Stranger
● Eliminate need for up-front agreement
● Invest in really good rules
● Apply the rules transparently and fairly
● Founder becomes enforcer of fair rules
● Not some special genius visionary
The C4 rulekit
● Plug and play rules for open source projects
● Focuses on scale of community
● Best practice from ZeroMQ community
● Codified for reuse by other projects
● ZeroMQ RFC 22 (rfc.zeromq.org/spec:22)
Infinite property
● Ideas are cheap and mean nothing
● Success comes from very hard work
● Participants should own their work
● Must be trivial to create new projects
● Scale by more projects, not bigger ones
Hi Daddy!
Care and feeding
● Communities are not 100% self-steering
● They need an authority (founders)
● They need living rules (lawyers)
● They need sound economics (backers)
● They need mediation (clients to experts)
Sorry, we're closed
Communities gone bad
● Bitter fights over vision and direction
● Politics instead of real work
● Endless talk of angels and unicorns
● Fragmentation and emotional pan
● Mental abuse and burnout
Open 24/7!
Communities done right
● Consensus emerges quietly in real time
● No politics, focus is on real work
● Remarkably little upfront discussion
● Emotional talk is the exception
● Participants come and go easily
Freedom needs security
Immunity from capture
● Juicy projects attract predators
● Founders, investors, or 3rd parties
● See this from the community's view
● Does the license make us immune?
● Can we choose another authority?
And does it pay the bills?
Making money from open source
● Forget dual licensing & support
– Eating the seeds for tomorrow's crops
● Bring the cost down to zero
● Destroy your competition
● Standardize to create new markets
● Sell new stuff into those markets
Revolutionary Open Source
Hope you liked the story
● Read more at hintjens.com
● Buy the O'Reilly ZeroMQ book
Photos (c) 2013 Pieter Hintjens, shot in
New York city, Brussels, Vienna, a field in
France, and Berlin.

More Related Content

Viewers also liked

ZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsJames Dennis
 
RestMS Introduction
RestMS IntroductionRestMS Introduction
RestMS Introductionpieterh
 
FOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQFOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQpieterh
 
Build reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQBuild reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQRobin Xiao
 
Europycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQEuropycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQfcrippa
 
ZeroMQ Is The Answer
ZeroMQ Is The AnswerZeroMQ Is The Answer
ZeroMQ Is The AnswerIan Barber
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQpieterh
 

Viewers also liked (7)

ZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 Labs
 
RestMS Introduction
RestMS IntroductionRestMS Introduction
RestMS Introduction
 
FOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQFOSDEM 2011 - 0MQ
FOSDEM 2011 - 0MQ
 
Build reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQBuild reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQ
 
Europycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQEuropycon2011: Implementing distributed application using ZeroMQ
Europycon2011: Implementing distributed application using ZeroMQ
 
ZeroMQ Is The Answer
ZeroMQ Is The AnswerZeroMQ Is The Answer
ZeroMQ Is The Answer
 
Overview of ZeroMQ
Overview of ZeroMQOverview of ZeroMQ
Overview of ZeroMQ
 

Similar to Revolutionary Open Source

[WSO2Con Asia 2018] Are You a Software Company?
[WSO2Con Asia 2018] Are You a Software Company?[WSO2Con Asia 2018] Are You a Software Company?
[WSO2Con Asia 2018] Are You a Software Company?WSO2
 
Free Software - your chance to change the world and how to get there
Free Software - your chance to change the world and how to get thereFree Software - your chance to change the world and how to get there
Free Software - your chance to change the world and how to get thereLydia Pintscher
 
Gardler bosc2010 community_developmentattheasf
Gardler bosc2010 community_developmentattheasfGardler bosc2010 community_developmentattheasf
Gardler bosc2010 community_developmentattheasfBOSC 2010
 
Developed on Hackaday: Designing Hardware as a Community
Developed on Hackaday: Designing Hardware as a CommunityDeveloped on Hackaday: Designing Hardware as a Community
Developed on Hackaday: Designing Hardware as a Communityszczys
 
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
 Getting Started With Git and GitHub & Unfolding Opportunities in Open Source  Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source Ashutosh Singh
 
Take the Open Source road: learn, share, grow
Take the Open Source road: learn, share, growTake the Open Source road: learn, share, grow
Take the Open Source road: learn, share, growNaLUG
 
Community Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectJoe Brockmeier
 
The purpose for developers to join the community
The purpose for developers to join the communityThe purpose for developers to join the community
The purpose for developers to join the communityKunihisa Abukawa
 
Coderbunker members recruitment
Coderbunker members recruitmentCoderbunker members recruitment
Coderbunker members recruitmentChun ZHANG
 
The best content to broadcast on meerkat
The best content to broadcast on meerkatThe best content to broadcast on meerkat
The best content to broadcast on meerkatBryan S Arnold
 
Take a Shot: Injecting Tech Into Your NPO Mission
Take a Shot: Injecting Tech Into Your NPO MissionTake a Shot: Injecting Tech Into Your NPO Mission
Take a Shot: Injecting Tech Into Your NPO MissionAaron Bramley
 
OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...
OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...
OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...LibbySchulze
 
CP vs Project - Elevate Ep. 02.pdf
CP vs Project  - Elevate Ep. 02.pdfCP vs Project  - Elevate Ep. 02.pdf
CP vs Project - Elevate Ep. 02.pdfpreetikumara
 
Building a Self Sustaining Community w/ Niklas Henckell
Building a Self Sustaining Community w/ Niklas HenckellBuilding a Self Sustaining Community w/ Niklas Henckell
Building a Self Sustaining Community w/ Niklas HenckellTheFamily
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamRico Lin
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile communityAgile Vietnam
 
Society 3.0 abundance by technology - November 19th 2019
Society 3.0 abundance by technology - November 19th 2019Society 3.0 abundance by technology - November 19th 2019
Society 3.0 abundance by technology - November 19th 2019Jurjen de Vries
 

Similar to Revolutionary Open Source (20)

[WSO2Con Asia 2018] Are You a Software Company?
[WSO2Con Asia 2018] Are You a Software Company?[WSO2Con Asia 2018] Are You a Software Company?
[WSO2Con Asia 2018] Are You a Software Company?
 
Free Software - your chance to change the world and how to get there
Free Software - your chance to change the world and how to get thereFree Software - your chance to change the world and how to get there
Free Software - your chance to change the world and how to get there
 
Gardler bosc2010 community_developmentattheasf
Gardler bosc2010 community_developmentattheasfGardler bosc2010 community_developmentattheasf
Gardler bosc2010 community_developmentattheasf
 
SummerCamp 2010
SummerCamp 2010SummerCamp 2010
SummerCamp 2010
 
Developed on Hackaday: Designing Hardware as a Community
Developed on Hackaday: Designing Hardware as a CommunityDeveloped on Hackaday: Designing Hardware as a Community
Developed on Hackaday: Designing Hardware as a Community
 
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
 Getting Started With Git and GitHub & Unfolding Opportunities in Open Source  Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
Getting Started With Git and GitHub & Unfolding Opportunities in Open Source
 
Take the Open Source road: learn, share, grow
Take the Open Source road: learn, share, growTake the Open Source road: learn, share, grow
Take the Open Source road: learn, share, grow
 
Community Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful Project
 
The purpose for developers to join the community
The purpose for developers to join the communityThe purpose for developers to join the community
The purpose for developers to join the community
 
Coderbunker members recruitment
Coderbunker members recruitmentCoderbunker members recruitment
Coderbunker members recruitment
 
Comingle Arse 2014
Comingle   Arse 2014Comingle   Arse 2014
Comingle Arse 2014
 
The best content to broadcast on meerkat
The best content to broadcast on meerkatThe best content to broadcast on meerkat
The best content to broadcast on meerkat
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
Take a Shot: Injecting Tech Into Your NPO Mission
Take a Shot: Injecting Tech Into Your NPO MissionTake a Shot: Injecting Tech Into Your NPO Mission
Take a Shot: Injecting Tech Into Your NPO Mission
 
OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...
OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...
OTel Me All About OpenTelemetry The Current & Future State, Navigating the Pr...
 
CP vs Project - Elevate Ep. 02.pdf
CP vs Project  - Elevate Ep. 02.pdfCP vs Project  - Elevate Ep. 02.pdf
CP vs Project - Elevate Ep. 02.pdf
 
Building a Self Sustaining Community w/ Niklas Henckell
Building a Self Sustaining Community w/ Niklas HenckellBuilding a Self Sustaining Community w/ Niklas Henckell
Building a Self Sustaining Community w/ Niklas Henckell
 
Take the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstreamTake the advantage and connect upstream to downstream
Take the advantage and connect upstream to downstream
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile community
 
Society 3.0 abundance by technology - November 19th 2019
Society 3.0 abundance by technology - November 19th 2019Society 3.0 abundance by technology - November 19th 2019
Society 3.0 abundance by technology - November 19th 2019
 

Recently uploaded

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 

Recently uploaded (20)

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 

Revolutionary Open Source

  • 1. Revolutionary Open Source Pieter Hintjens ZeroMQ.org How to change the game by helping selfish people work together on your projects
  • 2. Why are we here...?
  • 3. About you ● You're a programmer, organizer, leader ● You want to make successful software ● You want to work with other people ● You want to change the world ● You want to earn your living
  • 4. About me ● “Pister Hinges”, origins unclear ● My code is crappy, my music is worse ● My businesses are lousy investments ● My protocols are clumsy (sorry for AMQP) ● I still can't believe O'Reilly published my book ● If failure is a university, I have many PhDs
  • 6. Let me tell you a story... ● Closed source is Dead on Arrival ● The future belongs to open source ● To make open source, build communities ● There is a science to it: “Social Architecture” ● It can be very profitable
  • 8. Our industry sucks ● All our effort goes to making stuff ● Mostly stuff no-one really wants ● Missing every new opportunity ● Constant build-up of technical debt ● Complex, irrelevant, trash
  • 10. Imagine a Perfect World ● Community does most of the work ● Mostly, things people really want ● Rapid colonization of new spaces ● Constant pruning of technical debt ● Simple, elegant, precious
  • 11. But are we solving the right problems?
  • 12. Why is accuracy so difficult? ● We love to make grand designs ● But problems are emergent – I.e. we see them only when we get close ● Speculative design makes us blind ● Upfront structure makes us slow ● We attach to solutions, not problems
  • 14. Simplicity Oriented Design ● Design by removing problems, not adding features ● Simplicity beats functionality, every time ● Discover the core problems ● Solve them minimally ● Use that to discover next set of problems ● Aka “Drunken Stumble”
  • 15. Why open source? ● Open source lets us make more accurate, simpler software ● In a free & fair market, this will win ● Open source can be very profitable – Profits are widely spread ● It's a social technology – Not a business model
  • 16. Why communities? ● No-one wants to live in Astana ● Community over code ● Community grows with the code ● We build the code ● We own it and look after it
  • 18. Social Architecture ● “The art and science of growing an online community” ● Cultural, political, or technological ● How we organize beats who we are ● Simplicity beats functionality ● Diversity beats education
  • 19. Act normal, it's just a human
  • 20. We're a funny animal ● We're lazy and stupid, so keep it simple ● We're selfish, so make it worth our while ● We like to conform, so give us good rules ● We're greedy, so make us compete ● We're fearful, so make it safe for us fail
  • 21. We're a social species
  • 22. How social is your code? ● An open source license is the contract on which the community forms ● The license defines economics of behaviour ● A good contract dissolves conflict ● Type 1: BSD (MIT, X11, Apache, ...) ● Type 2: GPL (LGPL, AGPL, ...)
  • 23. The essence of BSD ● The BSD license says, "Eat Me!" ● Some community building ● Significant leakage ● Mixable but forks are endothermic ● Ideal for large groups to dump code
  • 24. The essence of GPL ● The GPL says, "Remix Me!" ● Strong community building ● Minimal leakage ● Remixable, forks are exothermic ● Ideal for the revolutionary
  • 25. What's your Cost of Failure?
  • 26. Start small, grow slowly ● Make seed product at own cost ● Do this in public view ● Pull in pioneer contributors ● Community designs next iteration ● Repeat ad infinitum
  • 27. The community life cycle ● Pioneers, hunting for new stuff ● Leading edge, becoming specialists ● Early adopters, looking for profit ● Mass market, avoiding risk ● Late adopters, just keeping up
  • 28. How sexy is your project?
  • 29. Crazy and beautiful ● A crazy, impossible mission statement ● Has to speak to pioneers and leading edge ● Simple, elegant, brutally clean ● Has to be immediately useful and compelling ● You want love at first sight
  • 30. Ease of access ● Remove all barriers to getting involved ● If you're not using GitHub, you should be ● Has to work for early adopters ● Aim for diversity of participants ● Origin, gender, age, experience
  • 31. Cities built by people who never met
  • 32. Stranger, meet Stranger ● Eliminate need for up-front agreement ● Invest in really good rules ● Apply the rules transparently and fairly ● Founder becomes enforcer of fair rules ● Not some special genius visionary
  • 33. The C4 rulekit ● Plug and play rules for open source projects ● Focuses on scale of community ● Best practice from ZeroMQ community ● Codified for reuse by other projects ● ZeroMQ RFC 22 (rfc.zeromq.org/spec:22)
  • 34. Infinite property ● Ideas are cheap and mean nothing ● Success comes from very hard work ● Participants should own their work ● Must be trivial to create new projects ● Scale by more projects, not bigger ones
  • 36. Care and feeding ● Communities are not 100% self-steering ● They need an authority (founders) ● They need living rules (lawyers) ● They need sound economics (backers) ● They need mediation (clients to experts)
  • 38. Communities gone bad ● Bitter fights over vision and direction ● Politics instead of real work ● Endless talk of angels and unicorns ● Fragmentation and emotional pan ● Mental abuse and burnout
  • 40. Communities done right ● Consensus emerges quietly in real time ● No politics, focus is on real work ● Remarkably little upfront discussion ● Emotional talk is the exception ● Participants come and go easily
  • 42. Immunity from capture ● Juicy projects attract predators ● Founders, investors, or 3rd parties ● See this from the community's view ● Does the license make us immune? ● Can we choose another authority?
  • 43. And does it pay the bills?
  • 44. Making money from open source ● Forget dual licensing & support – Eating the seeds for tomorrow's crops ● Bring the cost down to zero ● Destroy your competition ● Standardize to create new markets ● Sell new stuff into those markets
  • 46. Hope you liked the story ● Read more at hintjens.com ● Buy the O'Reilly ZeroMQ book Photos (c) 2013 Pieter Hintjens, shot in New York city, Brussels, Vienna, a field in France, and Berlin.