SlideShare a Scribd company logo
1 of 22
Download to read offline
Corporate Open Source
Anti-Patterns:
Doing It Wrong

Bryan Cantrill
VP, Engineering

bryan@joyent.com
@bcantrill
Open source: A commercial history

   • In the beginning, there was nothing but source code
   • Starting in 1983, IBM led the move to proprietary
     enterprise software with its “object-only” model
   • The 1980s and 1990s saw a boom in proprietary
     software centered on the PC — with Microsoft as its
     spiritual and commercial leader
   • By the late 1990s, proprietary software gave rise to
     monopolistic behavior (“vendor lock-in”); open source
     became commercially attractive despite its shortcomings
   • Open source started with infrastructure software:
     languages/runtimes (Perl, Python), OSs (Linux, BSD),
     DBs (MySQL, Postgres) and web servers (Apache)
Open source in the 2000s

   • It became acceptable (and then, with the Dot Com Bust,
     required) to use open source wherever reasonable
   • Companies would occasionally contribute their changes
     back to the open source software they used, but rarely
     did they open the software they themselves invented
   • The counterexamples were in domains in which open
     source became a hard requirement, e.g. operating
     systems and language runtimes
   • Alone among the proprietary Unix vendors, Sun elected
     to take the arduous path of open sourcing its operating
     system to assure its vitality...
Aside: The birth of OpenSolaris

    • Sun open sourced Solaris (OpenSolaris) under a weak
     copyleft (CDDL) in 2005, starting with DTrace
    • The OS was developed henceforth in the open, making
     it one of the largest and most important bodies of
     software to leap the chasm from proprietary to open
    • While Sun did some things right, lots of things were
     done wrong; by the time Oracle bought Sun in 2010, the
     community was rudderless and adrift
    • It became quickly clear that Oracle had absolutely no
     interest in the OpenSolaris community — or in open
     source for that matter
Aside: The sad death of OpenSolaris

   • On Friday, August 13th, 2010, an internal memo was
     circulated by the putative Solaris leadership at Oracle:
         We will distribute updates to approved CDDL or other open
         source-licensed code following full releases of our enterprise
         Solaris operating system. In this manner, new technology
         innovations will show up in our releases before anywhere else.
         We will no longer distribute source code for the entirety of
         the Solaris operating system in real-time while it is
         developed, on a nightly basis.

   • Oracleʼs depraved act — closing an open system —
     greatly alienated the community and accelerated a
     Solaris diaspora that was already underway
   • Fortunately, the source was still out there...
Aside: The rise of illumos

    • A new community rose from the ashes of OpenSolaris,
     and exercised open sourceʼs most important right: the
     right to fork
    • Dubbed “illumos” (from illuminare, Latin for illuminate)
     and made available in August, 2010
    • Essentially all of the Solaris diaspora landed in illumos,
     including the core of key technologies like ZFS, DTrace,
     zones and networking virtualization
    • Two years later, illumos is thriving with an established
     track record of innovation, a healthy community, and
     multiple distributions (e.g., OmniOS, Joyentʼs SmartOS)
    • See http://illumos.org and http://smartos.org — or
     search for “fork yeah illumos” for the full story
OpenSolaris as object lesson?

   • The saga of Solaris/OpenSolaris/illumos contains many
     lessons about both the power of open source and of the
     challenges of moving from proprietary to open
   • It seems that some of the mistakes that Sun made with
     OpenSolaris have been (or are being) made by other
     companies with other systems
   • It is clear that these mistakes are often born of good
     intentions — they are not errors, they are anti-patterns
   • By studying the corporate open source anti-patterns, we
     can try to learn what not to do
Anti-pattern: Inverted thinking

    • Itʼs very tempting (and natural) to think of open source in
     terms of: What will this buy me?
    • This is the wrong way to frame the problem: the benefits
     of open source are often secondary and tertiary
    • Should be framed instead as: What does this cost me?
    • Reminder: software costs nothing to manufacture;
     making it available to everyone via its source code has
     no marginal cost!
    • The only cost can be from someone who would have
     paid you, but will instead take the source and
     productize, operationalize and support it on their own
Anti-pattern: Wishful thinking

    • People who would take your software and do everything
     else on their own werenʼt going to pay you anyway
    • The choice is not if they pay you or not (no one is
     getting paid), but rather if they run your software or not
    • Internalizing this as the choice allows one to focus on
     those secondary and tertiary benefits of open source:
       • For most bodies of software, there is marginal gain to
         have more people running it (e.g., bug fixes, support of
         esoteric platforms, etc.)

       • For most bodies of software, there are non-linear
         network effects — in proportion to the API surface area
Anti-pattern: No source!

    • An amazing number of corporate open source efforts
     are announced without source code!
    • For example, HP and the loud announcement of their
     “intent” to open source webOS in December 2011 — still
     not available as of July 2012 (& the team has since quit)
    • This is a mistake so stupid, it can only be due to open
     source being an entirely non-technical decision — it
     reeks of emphasizing perception over reality
    • Donʼt do this — you gain nothing (duh!) and you lose
     credibility (perhaps forever)
    • In the words of Bob the Angry Flower, “This one is
     stupidly simple, people!”
Anti-pattern: Forkaphobia

   • When software is large and complicated, one is naturally
     afraid of a communityʼs efforts being divided by a fork
   • But there is a forking paradox: the easier it is to fork the
     software, the more difficult it is to fork the community
       • If forking is easy, experimentation with ideas can be
         pursued while still remaining safely downstream

       • But if forking is difficult, experimenters are reduced
         to dissenters — resulting in endless arguments (best
         case) or divorce (worst case)

   • Corporate entities must therefore encourage forking —
     open source that cannot be forked has no vitality
Anti-pattern: Governance orgy

   • Forkaphobia is such a destructive anti-pattern that it
     breeds its own anti-patterns: if and where forking is
     technically difficult, the community is forced to “agree”
   • Of course, people donʼt actually agree — so systems of
     governance are established to determine a groupʼs will
   • This gives rise to a focus on governance (constitutions &
     elections) grossly out of proportion with any project
   • Further, elections have two corrosive side-effects:
     politics and losers — both of which factionalize and
     undermine community
   • If corporations are not forkaphobic, they are much less
     likely to engage in a governance orgy
Anti-pattern: Ersatz democracy

   • When corporate entities are contemplating open source,
     itʼs much easier to establish governance than it is to
     actually respect that governance
   • The only thing worse than paralyzed and metastasized
     democracy is ersatz and farcical democracy
   • Democracy is not an implication of open source; no
     corporate entity should feel an obligation to create a
     democracy that it in fact has no intention of observing!
Anti-pattern: Eschewing leadership

   • Good open source projects have good leadership!
   • Consensus is great when you have it, but you need
     leadership when you donʼt
   • Corporate entities shouldnʼt fear exerting leadership on
     projects that their engineers themselves conceived
   • Like any good leadership, it should be exerted in a
     transparent and inclusive way — the “B” in BDFL
   • The challenge for corporations is that they must give
     visibility to the employees that are the technical leaders
   • This requires corporations to fully internalize the truism
     that organizations donʼt innovate — people do
Anti-pattern: Eschewing ownership

   • It has become fashionable for corporations to open
     source software by giving it to a foundation
   • Even though it is not technically the case, this says that
     the software is, in fact, worth nothing
   • It sends the message that the company is stepping
     away from the technology and leaving it for dead
   • Foundations are not simple: if they are to be tax exempt,
     they need independent directors and capital
   • To give software to a foundation one is required by law
     (in the US, anyway) to eschew leadership
Anti-pattern: Competitive paranoia

    • Very common to believe that your competitor canʼt wait
     for you to open source your stuff so they can rip it off
    • Newsflash: your competitor thinks youʼre a jackass
       • Of course, itʼs your competitor thatʼs the jackass —
         thatʼs why they think youʼre a jackass!

       • (If you donʼt believe this, go work for your competitor)
    • Paradoxically, not-invented-here (NIH) is much stronger
     than the will to survive — companies will gladly go out of
     business before they adopt their rivalʼs advances
    • The companies that adopt your technology are nearly
     tautologically not your competitors...
Anti-pattern: Anti-collaborative licensing

    • One way to address competitive paranoia is to use a
     strong copyleft license that takes either a broad (GPLv2)
     or absurdly broad (AGPL) definition of derived work
    • Strong copyleft was an interesting experiment (and
     arguably essential to the proliferation of open source),
     but it has generally outlived its usefulness
    • Strong copyleft excludes competitors — but also
     collaborators: today, strong copyleft prevents cross-
     pollination across open source code bases!
    • For example, GPLv2 has prevented the integration of
     open source technologies like DTrace and ZFS in Linux
    • Was it the intent of those who licensed their work under
     GPLv2 to erect walls within open source software?
Anti-pattern: Anti-collaborative licensing

    • Many have decided that this is not, in fact, their intent;
      the GPLv2 is in decline relative to MIT/Apache/BSD:




    • And since this analysis, the decline has accelerated:
      GPLv2 is now at 36.32% as of the end of June 2012
Anti-pattern: Anti-collaborative licensing

    • The 50 most watched Github projects shows a more
     acute decline in the GPL relative to MIT/BSD/Apache:



                                                        MIT/BSD/Apache
                                                        GPL
                                                        AGPL
                                                        Public domain
                                                        None
                                                        MIT+GPL dual



              Source: http://ostatic.com/blog/the-top-licenses-on-github

    • If you want a collaborative copyleft license, consider a
     weak copyleft like MPL v2.0 (GPLv3 compatible!)
Anti-pattern: Dual-licensing for profit

    • Some have opted for a dual-licensed model in which the
      software is available either for free under a strong
      copyleft license or for a fee under a proprietary license
    • This encourages bad behavior by the commercial entity:
      the company is incentivized to spread fear, uncertainty
      and doubt as to the strongly copylefted variant
    • The dual-licensed model is only possible with a strict
      copyright assignment to the commercial entity for all
      contributions
    • Copyright assignment is so fraught with peril that it is its
      own anti-pattern...
Anti-pattern: Demanding assignment

   • Need to be very careful about demanding assignment —
     it relies on a community trusting a commercial entity
   • Unfortunately, bad actors in open source (which is to
     say, Oracle) have forever shattered that trust
   • Corporate entities may (and indeed, should) have a
     contributor agreement to protect the source base from
     third-party claims of copyright and patent infringement
   • Copyright assignment still might make sense for
     established projects — but it should always be treated
     as a social contract
   • Be aware that copyright assignment will create a
     permanent asymmetry in the community!
Learning from anti-patterns

    • The anti-patterns shouldnʼt necessarily be treated as
     hard-and-fast rules — local conditions vary
    • In the illumos community, we are mindful of these anti-
     patterns — they have shaped who we are (and arenʼt!)
    • At Joyent, we avoid these anti-patterns in the open
     source projects that we lead: node.js and SmartOS
    • Open source is absolutely essential to our business —
     as consumer, contributor and innovator!
    • We are undoubtedly making mistakes — just hopefully
     new ones...
    • Come to my FISL talk in 2022 to learn about them!

More Related Content

What's hot

Training - Introducing Agile, Lean and Kanban
Training - Introducing Agile, Lean and KanbanTraining - Introducing Agile, Lean and Kanban
Training - Introducing Agile, Lean and KanbanSudipta Lahiri
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & LuaKit Chan
 
Lean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the WaterfallLean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the WaterfallLane Goldstone
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance AnalysisBrendan Gregg
 
Lecture 4: Human-Computer Interaction: Prototyping (2014)
Lecture 4: Human-Computer Interaction: Prototyping (2014)Lecture 4: Human-Computer Interaction: Prototyping (2014)
Lecture 4: Human-Computer Interaction: Prototyping (2014)Lora Aroyo
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
Personal Kanban 101
Personal Kanban 101Personal Kanban 101
Personal Kanban 101Jim Benson
 
User Interface Prototyping Techniques: Low Fidelity Prototyping
User Interface Prototyping Techniques: Low Fidelity PrototypingUser Interface Prototyping Techniques: Low Fidelity Prototyping
User Interface Prototyping Techniques: Low Fidelity PrototypingHans Põldoja
 
10 Usability Heuristics for User Interface Design
10 Usability Heuristics for User Interface Design10 Usability Heuristics for User Interface Design
10 Usability Heuristics for User Interface DesignMaxx Crawford
 
Container Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixContainer Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixDocker, Inc.
 
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationClaudio Perrone
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectCharlotte Breton Schreiner
 
How ANYONE can make insanely better slides
How ANYONE can make insanely better slidesHow ANYONE can make insanely better slides
How ANYONE can make insanely better slidesSean Johnson
 
Kanban in 4 easy steps
Kanban in 4 easy steps Kanban in 4 easy steps
Kanban in 4 easy steps Shore Labs
 
Wave 8 The language of Content - CROATIA
Wave 8 The language of Content  - CROATIAWave 8 The language of Content  - CROATIA
Wave 8 The language of Content - CROATIAUniversal Media
 

What's hot (20)

Training - Introducing Agile, Lean and Kanban
Training - Introducing Agile, Lean and KanbanTraining - Introducing Agile, Lean and Kanban
Training - Introducing Agile, Lean and Kanban
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
 
Lean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the WaterfallLean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the Waterfall
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
 
How to Rock SXSW
How to Rock SXSWHow to Rock SXSW
How to Rock SXSW
 
Lecture 4: Human-Computer Interaction: Prototyping (2014)
Lecture 4: Human-Computer Interaction: Prototyping (2014)Lecture 4: Human-Computer Interaction: Prototyping (2014)
Lecture 4: Human-Computer Interaction: Prototyping (2014)
 
UX Bootcamp
UX BootcampUX Bootcamp
UX Bootcamp
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Vertical Slicing
Vertical SlicingVertical Slicing
Vertical Slicing
 
Personal Kanban 101
Personal Kanban 101Personal Kanban 101
Personal Kanban 101
 
User Interface Prototyping Techniques: Low Fidelity Prototyping
User Interface Prototyping Techniques: Low Fidelity PrototypingUser Interface Prototyping Techniques: Low Fidelity Prototyping
User Interface Prototyping Techniques: Low Fidelity Prototyping
 
Intro to Kanban
Intro to KanbanIntro to Kanban
Intro to Kanban
 
10 Usability Heuristics for User Interface Design
10 Usability Heuristics for User Interface Design10 Usability Heuristics for User Interface Design
10 Usability Heuristics for User Interface Design
 
Container Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixContainer Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, Netflix
 
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
 
2. OS vs. VMM
2. OS vs. VMM2. OS vs. VMM
2. OS vs. VMM
 
How ANYONE can make insanely better slides
How ANYONE can make insanely better slidesHow ANYONE can make insanely better slides
How ANYONE can make insanely better slides
 
Kanban in 4 easy steps
Kanban in 4 easy steps Kanban in 4 easy steps
Kanban in 4 easy steps
 
Wave 8 The language of Content - CROATIA
Wave 8 The language of Content  - CROATIAWave 8 The language of Content  - CROATIA
Wave 8 The language of Content - CROATIA
 

Viewers also liked

Running Secure Server Software on Insecure Hardware Without Parachute
Running Secure Server Software on Insecure Hardware Without ParachuteRunning Secure Server Software on Insecure Hardware Without Parachute
Running Secure Server Software on Insecure Hardware Without ParachuteCloudflare
 
Assholes are killing your project
Assholes are killing your projectAssholes are killing your project
Assholes are killing your projectDonnie Berkholz
 
High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014Derek Collison
 
Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...
Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...
Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...Reynolds Center for Business Journalism
 
Database Scalability - The Shard Conflict
Database Scalability - The Shard ConflictDatabase Scalability - The Shard Conflict
Database Scalability - The Shard ConflictScaleBase
 
The Hard Truths of Entrepreneurship
The Hard Truths of EntrepreneurshipThe Hard Truths of Entrepreneurship
The Hard Truths of EntrepreneurshipRand Fishkin
 

Viewers also liked (6)

Running Secure Server Software on Insecure Hardware Without Parachute
Running Secure Server Software on Insecure Hardware Without ParachuteRunning Secure Server Software on Insecure Hardware Without Parachute
Running Secure Server Software on Insecure Hardware Without Parachute
 
Assholes are killing your project
Assholes are killing your projectAssholes are killing your project
Assholes are killing your project
 
High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014
 
Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...
Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...
Detecting Corporate Fraud: Tips from a Crook and a Sleuth by Roddy Boyd and S...
 
Database Scalability - The Shard Conflict
Database Scalability - The Shard ConflictDatabase Scalability - The Shard Conflict
Database Scalability - The Shard Conflict
 
The Hard Truths of Entrepreneurship
The Hard Truths of EntrepreneurshipThe Hard Truths of Entrepreneurship
The Hard Truths of Entrepreneurship
 

Similar to Corporate Open Source Anti-patterns

Leaping the chasm from proprietary to open: A survivor's guide
Leaping the chasm from proprietary to open: A survivor's guideLeaping the chasm from proprietary to open: A survivor's guide
Leaping the chasm from proprietary to open: A survivor's guidebcantrill
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...WSO2
 
LCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLinaro
 
Open source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmirOpen source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmirTanzeel Khan
 
It’s No Myth: Compliance Is Good Business
It’s No Myth: Compliance Is Good BusinessIt’s No Myth: Compliance Is Good Business
It’s No Myth: Compliance Is Good BusinessBlack Duck by Synopsys
 
Introduction to Open Source for Libraries
Introduction to Open Source for LibrariesIntroduction to Open Source for Libraries
Introduction to Open Source for LibrariesNicole C. Engard
 
Open source software
Open source softwareOpen source software
Open source softwarejaimeacurry
 
Economics of Open Source Software
Economics of Open Source SoftwareEconomics of Open Source Software
Economics of Open Source SoftwareRay Toal
 
Open source doesn’t always represent best value
Open source doesn’t always represent best valueOpen source doesn’t always represent best value
Open source doesn’t always represent best valueJanus Boye
 
IWMW 2002: open source sofware debate: kelly
IWMW 2002: open source sofware debate: kellyIWMW 2002: open source sofware debate: kelly
IWMW 2002: open source sofware debate: kellyIWMW
 
Open Source Issues and Trends
Open Source Issues and TrendsOpen Source Issues and Trends
Open Source Issues and TrendsNicole Baratta
 
Asayopenbravowccommunityimperativenv 090419061800 Phpapp01
Asayopenbravowccommunityimperativenv 090419061800 Phpapp01Asayopenbravowccommunityimperativenv 090419061800 Phpapp01
Asayopenbravowccommunityimperativenv 090419061800 Phpapp01Ruchi Raveendran
 
Open soucre(cut shrt)
Open soucre(cut shrt)Open soucre(cut shrt)
Open soucre(cut shrt)Shivani Rai
 
Matt Asay - The Community Imperative - Openbravo World Conference 2009
Matt Asay - The Community Imperative - Openbravo World Conference 2009Matt Asay - The Community Imperative - Openbravo World Conference 2009
Matt Asay - The Community Imperative - Openbravo World Conference 2009Matt Asay
 
Chalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsChalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsIrina Zaks
 
Open Source: What is It?
Open Source: What is It?Open Source: What is It?
Open Source: What is It?DuraSpace
 

Similar to Corporate Open Source Anti-patterns (20)

Leaping the chasm from proprietary to open: A survivor's guide
Leaping the chasm from proprietary to open: A survivor's guideLeaping the chasm from proprietary to open: A survivor's guide
Leaping the chasm from proprietary to open: A survivor's guide
 
Introduction To Open Source
Introduction To Open SourceIntroduction To Open Source
Introduction To Open Source
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
 
LCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS Training
 
Open source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmirOpen source and Open web (Mozilla) MozCampKashmir
Open source and Open web (Mozilla) MozCampKashmir
 
It’s No Myth: Compliance Is Good Business
It’s No Myth: Compliance Is Good BusinessIt’s No Myth: Compliance Is Good Business
It’s No Myth: Compliance Is Good Business
 
Introduction to Open Source for Libraries
Introduction to Open Source for LibrariesIntroduction to Open Source for Libraries
Introduction to Open Source for Libraries
 
Open source software
Open source softwareOpen source software
Open source software
 
Open Source
Open SourceOpen Source
Open Source
 
Economics of Open Source Software
Economics of Open Source SoftwareEconomics of Open Source Software
Economics of Open Source Software
 
Open Source & Open Development
Open Source & Open Development Open Source & Open Development
Open Source & Open Development
 
Open source doesn’t always represent best value
Open source doesn’t always represent best valueOpen source doesn’t always represent best value
Open source doesn’t always represent best value
 
IWMW 2002: open source sofware debate: kelly
IWMW 2002: open source sofware debate: kellyIWMW 2002: open source sofware debate: kelly
IWMW 2002: open source sofware debate: kelly
 
Open Source Issues and Trends
Open Source Issues and TrendsOpen Source Issues and Trends
Open Source Issues and Trends
 
Asayopenbravowccommunityimperativenv 090419061800 Phpapp01
Asayopenbravowccommunityimperativenv 090419061800 Phpapp01Asayopenbravowccommunityimperativenv 090419061800 Phpapp01
Asayopenbravowccommunityimperativenv 090419061800 Phpapp01
 
Open soucre(cut shrt)
Open soucre(cut shrt)Open soucre(cut shrt)
Open soucre(cut shrt)
 
Open source
Open sourceOpen source
Open source
 
Matt Asay - The Community Imperative - Openbravo World Conference 2009
Matt Asay - The Community Imperative - Openbravo World Conference 2009Matt Asay - The Community Imperative - Openbravo World Conference 2009
Matt Asay - The Community Imperative - Openbravo World Conference 2009
 
Chalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, mindsChalk Talk! Open: source, access, education, research, minds
Chalk Talk! Open: source, access, education, research, minds
 
Open Source: What is It?
Open Source: What is It?Open Source: What is It?
Open Source: What is It?
 

More from bcantrill

Predicting the Present
Predicting the PresentPredicting the Present
Predicting the Presentbcantrill
 
Sharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of ToolmakingSharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of Toolmakingbcantrill
 
Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...bcantrill
 
I have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systemsI have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systemsbcantrill
 
Towards Holistic Systems
Towards Holistic SystemsTowards Holistic Systems
Towards Holistic Systemsbcantrill
 
The Coming Firmware Revolution
The Coming Firmware RevolutionThe Coming Firmware Revolution
The Coming Firmware Revolutionbcantrill
 
Hardware/software Co-design: The Coming Golden Age
Hardware/software Co-design: The Coming Golden AgeHardware/software Co-design: The Coming Golden Age
Hardware/software Co-design: The Coming Golden Agebcantrill
 
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
Tockilator: Deducing Tock execution flows from Ibex Verilator tracesTockilator: Deducing Tock execution flows from Ibex Verilator traces
Tockilator: Deducing Tock execution flows from Ibex Verilator tracesbcantrill
 
No Moore Left to Give: Enterprise Computing After Moore's Law
No Moore Left to Give: Enterprise Computing After Moore's LawNo Moore Left to Give: Enterprise Computing After Moore's Law
No Moore Left to Give: Enterprise Computing After Moore's Lawbcantrill
 
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software EngineeringAndreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software Engineeringbcantrill
 
Visualizing Systems with Statemaps
Visualizing Systems with StatemapsVisualizing Systems with Statemaps
Visualizing Systems with Statemapsbcantrill
 
Platform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system softwarePlatform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system softwarebcantrill
 
Is it time to rewrite the operating system in Rust?
Is it time to rewrite the operating system in Rust?Is it time to rewrite the operating system in Rust?
Is it time to rewrite the operating system in Rust?bcantrill
 
dtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the uniondtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the unionbcantrill
 
The Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsThe Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsbcantrill
 
Papers We Love: ARC after dark
Papers We Love: ARC after darkPapers We Love: ARC after dark
Papers We Love: ARC after darkbcantrill
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology Leadershipbcantrill
 
Zebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data pathZebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data pathbcantrill
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondbcantrill
 
Debugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mindDebugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mindbcantrill
 

More from bcantrill (20)

Predicting the Present
Predicting the PresentPredicting the Present
Predicting the Present
 
Sharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of ToolmakingSharpening the Axe: The Primacy of Toolmaking
Sharpening the Axe: The Primacy of Toolmaking
 
Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...Coming of Age: Developing young technologists without robbing them of their y...
Coming of Age: Developing young technologists without robbing them of their y...
 
I have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systemsI have come to bury the BIOS, not to open it: The need for holistic systems
I have come to bury the BIOS, not to open it: The need for holistic systems
 
Towards Holistic Systems
Towards Holistic SystemsTowards Holistic Systems
Towards Holistic Systems
 
The Coming Firmware Revolution
The Coming Firmware RevolutionThe Coming Firmware Revolution
The Coming Firmware Revolution
 
Hardware/software Co-design: The Coming Golden Age
Hardware/software Co-design: The Coming Golden AgeHardware/software Co-design: The Coming Golden Age
Hardware/software Co-design: The Coming Golden Age
 
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
Tockilator: Deducing Tock execution flows from Ibex Verilator tracesTockilator: Deducing Tock execution flows from Ibex Verilator traces
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
 
No Moore Left to Give: Enterprise Computing After Moore's Law
No Moore Left to Give: Enterprise Computing After Moore's LawNo Moore Left to Give: Enterprise Computing After Moore's Law
No Moore Left to Give: Enterprise Computing After Moore's Law
 
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software EngineeringAndreessen's Corollary: Ethical Dilemmas in Software Engineering
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
 
Visualizing Systems with Statemaps
Visualizing Systems with StatemapsVisualizing Systems with Statemaps
Visualizing Systems with Statemaps
 
Platform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system softwarePlatform values, Rust, and the implications for system software
Platform values, Rust, and the implications for system software
 
Is it time to rewrite the operating system in Rust?
Is it time to rewrite the operating system in Rust?Is it time to rewrite the operating system in Rust?
Is it time to rewrite the operating system in Rust?
 
dtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the uniondtrace.conf(16): DTrace state of the union
dtrace.conf(16): DTrace state of the union
 
The Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systemsThe Hurricane's Butterfly: Debugging pathologically performing systems
The Hurricane's Butterfly: Debugging pathologically performing systems
 
Papers We Love: ARC after dark
Papers We Love: ARC after darkPapers We Love: ARC after dark
Papers We Love: ARC after dark
 
Principles of Technology Leadership
Principles of Technology LeadershipPrinciples of Technology Leadership
Principles of Technology Leadership
 
Zebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data pathZebras all the way down: The engineering challenges of the data path
Zebras all the way down: The engineering challenges of the data path
 
Platform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyondPlatform as reflection of values: Joyent, node.js, and beyond
Platform as reflection of values: Joyent, node.js, and beyond
 
Debugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mindDebugging under fire: Keeping your head when systems have lost their mind
Debugging under fire: Keeping your head when systems have lost their mind
 

Recently uploaded

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 

Corporate Open Source Anti-patterns

  • 1. Corporate Open Source Anti-Patterns: Doing It Wrong Bryan Cantrill VP, Engineering bryan@joyent.com @bcantrill
  • 2. Open source: A commercial history • In the beginning, there was nothing but source code • Starting in 1983, IBM led the move to proprietary enterprise software with its “object-only” model • The 1980s and 1990s saw a boom in proprietary software centered on the PC — with Microsoft as its spiritual and commercial leader • By the late 1990s, proprietary software gave rise to monopolistic behavior (“vendor lock-in”); open source became commercially attractive despite its shortcomings • Open source started with infrastructure software: languages/runtimes (Perl, Python), OSs (Linux, BSD), DBs (MySQL, Postgres) and web servers (Apache)
  • 3. Open source in the 2000s • It became acceptable (and then, with the Dot Com Bust, required) to use open source wherever reasonable • Companies would occasionally contribute their changes back to the open source software they used, but rarely did they open the software they themselves invented • The counterexamples were in domains in which open source became a hard requirement, e.g. operating systems and language runtimes • Alone among the proprietary Unix vendors, Sun elected to take the arduous path of open sourcing its operating system to assure its vitality...
  • 4. Aside: The birth of OpenSolaris • Sun open sourced Solaris (OpenSolaris) under a weak copyleft (CDDL) in 2005, starting with DTrace • The OS was developed henceforth in the open, making it one of the largest and most important bodies of software to leap the chasm from proprietary to open • While Sun did some things right, lots of things were done wrong; by the time Oracle bought Sun in 2010, the community was rudderless and adrift • It became quickly clear that Oracle had absolutely no interest in the OpenSolaris community — or in open source for that matter
  • 5. Aside: The sad death of OpenSolaris • On Friday, August 13th, 2010, an internal memo was circulated by the putative Solaris leadership at Oracle: We will distribute updates to approved CDDL or other open source-licensed code following full releases of our enterprise Solaris operating system. In this manner, new technology innovations will show up in our releases before anywhere else. We will no longer distribute source code for the entirety of the Solaris operating system in real-time while it is developed, on a nightly basis. • Oracleʼs depraved act — closing an open system — greatly alienated the community and accelerated a Solaris diaspora that was already underway • Fortunately, the source was still out there...
  • 6. Aside: The rise of illumos • A new community rose from the ashes of OpenSolaris, and exercised open sourceʼs most important right: the right to fork • Dubbed “illumos” (from illuminare, Latin for illuminate) and made available in August, 2010 • Essentially all of the Solaris diaspora landed in illumos, including the core of key technologies like ZFS, DTrace, zones and networking virtualization • Two years later, illumos is thriving with an established track record of innovation, a healthy community, and multiple distributions (e.g., OmniOS, Joyentʼs SmartOS) • See http://illumos.org and http://smartos.org — or search for “fork yeah illumos” for the full story
  • 7. OpenSolaris as object lesson? • The saga of Solaris/OpenSolaris/illumos contains many lessons about both the power of open source and of the challenges of moving from proprietary to open • It seems that some of the mistakes that Sun made with OpenSolaris have been (or are being) made by other companies with other systems • It is clear that these mistakes are often born of good intentions — they are not errors, they are anti-patterns • By studying the corporate open source anti-patterns, we can try to learn what not to do
  • 8. Anti-pattern: Inverted thinking • Itʼs very tempting (and natural) to think of open source in terms of: What will this buy me? • This is the wrong way to frame the problem: the benefits of open source are often secondary and tertiary • Should be framed instead as: What does this cost me? • Reminder: software costs nothing to manufacture; making it available to everyone via its source code has no marginal cost! • The only cost can be from someone who would have paid you, but will instead take the source and productize, operationalize and support it on their own
  • 9. Anti-pattern: Wishful thinking • People who would take your software and do everything else on their own werenʼt going to pay you anyway • The choice is not if they pay you or not (no one is getting paid), but rather if they run your software or not • Internalizing this as the choice allows one to focus on those secondary and tertiary benefits of open source: • For most bodies of software, there is marginal gain to have more people running it (e.g., bug fixes, support of esoteric platforms, etc.) • For most bodies of software, there are non-linear network effects — in proportion to the API surface area
  • 10. Anti-pattern: No source! • An amazing number of corporate open source efforts are announced without source code! • For example, HP and the loud announcement of their “intent” to open source webOS in December 2011 — still not available as of July 2012 (& the team has since quit) • This is a mistake so stupid, it can only be due to open source being an entirely non-technical decision — it reeks of emphasizing perception over reality • Donʼt do this — you gain nothing (duh!) and you lose credibility (perhaps forever) • In the words of Bob the Angry Flower, “This one is stupidly simple, people!”
  • 11. Anti-pattern: Forkaphobia • When software is large and complicated, one is naturally afraid of a communityʼs efforts being divided by a fork • But there is a forking paradox: the easier it is to fork the software, the more difficult it is to fork the community • If forking is easy, experimentation with ideas can be pursued while still remaining safely downstream • But if forking is difficult, experimenters are reduced to dissenters — resulting in endless arguments (best case) or divorce (worst case) • Corporate entities must therefore encourage forking — open source that cannot be forked has no vitality
  • 12. Anti-pattern: Governance orgy • Forkaphobia is such a destructive anti-pattern that it breeds its own anti-patterns: if and where forking is technically difficult, the community is forced to “agree” • Of course, people donʼt actually agree — so systems of governance are established to determine a groupʼs will • This gives rise to a focus on governance (constitutions & elections) grossly out of proportion with any project • Further, elections have two corrosive side-effects: politics and losers — both of which factionalize and undermine community • If corporations are not forkaphobic, they are much less likely to engage in a governance orgy
  • 13. Anti-pattern: Ersatz democracy • When corporate entities are contemplating open source, itʼs much easier to establish governance than it is to actually respect that governance • The only thing worse than paralyzed and metastasized democracy is ersatz and farcical democracy • Democracy is not an implication of open source; no corporate entity should feel an obligation to create a democracy that it in fact has no intention of observing!
  • 14. Anti-pattern: Eschewing leadership • Good open source projects have good leadership! • Consensus is great when you have it, but you need leadership when you donʼt • Corporate entities shouldnʼt fear exerting leadership on projects that their engineers themselves conceived • Like any good leadership, it should be exerted in a transparent and inclusive way — the “B” in BDFL • The challenge for corporations is that they must give visibility to the employees that are the technical leaders • This requires corporations to fully internalize the truism that organizations donʼt innovate — people do
  • 15. Anti-pattern: Eschewing ownership • It has become fashionable for corporations to open source software by giving it to a foundation • Even though it is not technically the case, this says that the software is, in fact, worth nothing • It sends the message that the company is stepping away from the technology and leaving it for dead • Foundations are not simple: if they are to be tax exempt, they need independent directors and capital • To give software to a foundation one is required by law (in the US, anyway) to eschew leadership
  • 16. Anti-pattern: Competitive paranoia • Very common to believe that your competitor canʼt wait for you to open source your stuff so they can rip it off • Newsflash: your competitor thinks youʼre a jackass • Of course, itʼs your competitor thatʼs the jackass — thatʼs why they think youʼre a jackass! • (If you donʼt believe this, go work for your competitor) • Paradoxically, not-invented-here (NIH) is much stronger than the will to survive — companies will gladly go out of business before they adopt their rivalʼs advances • The companies that adopt your technology are nearly tautologically not your competitors...
  • 17. Anti-pattern: Anti-collaborative licensing • One way to address competitive paranoia is to use a strong copyleft license that takes either a broad (GPLv2) or absurdly broad (AGPL) definition of derived work • Strong copyleft was an interesting experiment (and arguably essential to the proliferation of open source), but it has generally outlived its usefulness • Strong copyleft excludes competitors — but also collaborators: today, strong copyleft prevents cross- pollination across open source code bases! • For example, GPLv2 has prevented the integration of open source technologies like DTrace and ZFS in Linux • Was it the intent of those who licensed their work under GPLv2 to erect walls within open source software?
  • 18. Anti-pattern: Anti-collaborative licensing • Many have decided that this is not, in fact, their intent; the GPLv2 is in decline relative to MIT/Apache/BSD: • And since this analysis, the decline has accelerated: GPLv2 is now at 36.32% as of the end of June 2012
  • 19. Anti-pattern: Anti-collaborative licensing • The 50 most watched Github projects shows a more acute decline in the GPL relative to MIT/BSD/Apache: MIT/BSD/Apache GPL AGPL Public domain None MIT+GPL dual Source: http://ostatic.com/blog/the-top-licenses-on-github • If you want a collaborative copyleft license, consider a weak copyleft like MPL v2.0 (GPLv3 compatible!)
  • 20. Anti-pattern: Dual-licensing for profit • Some have opted for a dual-licensed model in which the software is available either for free under a strong copyleft license or for a fee under a proprietary license • This encourages bad behavior by the commercial entity: the company is incentivized to spread fear, uncertainty and doubt as to the strongly copylefted variant • The dual-licensed model is only possible with a strict copyright assignment to the commercial entity for all contributions • Copyright assignment is so fraught with peril that it is its own anti-pattern...
  • 21. Anti-pattern: Demanding assignment • Need to be very careful about demanding assignment — it relies on a community trusting a commercial entity • Unfortunately, bad actors in open source (which is to say, Oracle) have forever shattered that trust • Corporate entities may (and indeed, should) have a contributor agreement to protect the source base from third-party claims of copyright and patent infringement • Copyright assignment still might make sense for established projects — but it should always be treated as a social contract • Be aware that copyright assignment will create a permanent asymmetry in the community!
  • 22. Learning from anti-patterns • The anti-patterns shouldnʼt necessarily be treated as hard-and-fast rules — local conditions vary • In the illumos community, we are mindful of these anti- patterns — they have shaped who we are (and arenʼt!) • At Joyent, we avoid these anti-patterns in the open source projects that we lead: node.js and SmartOS • Open source is absolutely essential to our business — as consumer, contributor and innovator! • We are undoubtedly making mistakes — just hopefully new ones... • Come to my FISL talk in 2022 to learn about them!