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

DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)Johannes Dienst
 
Road From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event SourcingRoad From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event SourcingCarlos Buenosvinos
 
[창업자&예비창업자] 스타트업 BEST Q&A
[창업자&예비창업자] 스타트업 BEST Q&A[창업자&예비창업자] 스타트업 BEST Q&A
[창업자&예비창업자] 스타트업 BEST Q&A더게임체인저스
 
Sample Request for Information (RFI) Document
Sample Request for Information (RFI) DocumentSample Request for Information (RFI) Document
Sample Request for Information (RFI) DocumentVictor Hernandez
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPSeungmo Koo
 
캐릭터 라이선스 기초
캐릭터 라이선스 기초 캐릭터 라이선스 기초
캐릭터 라이선스 기초 Sam Lee
 
[창업자&예비창업자] 투자자를 사로잡는 IR
[창업자&예비창업자] 투자자를 사로잡는 IR[창업자&예비창업자] 투자자를 사로잡는 IR
[창업자&예비창업자] 투자자를 사로잡는 IR더게임체인저스
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 
UiPath Summer School Session1
UiPath Summer School Session1 UiPath Summer School Session1
UiPath Summer School Session1 Cristina Vidu
 
Amoeba management(아메바 경영 이해)
Amoeba management(아메바 경영 이해)Amoeba management(아메바 경영 이해)
Amoeba management(아메바 경영 이해)Jaesung Lee
 
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018Taehoon Kim
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 choi kyumin
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
튜토리얼과 하우투 문서의 차이점은?
튜토리얼과 하우투 문서의 차이점은?튜토리얼과 하우투 문서의 차이점은?
튜토리얼과 하우투 문서의 차이점은?Jay Park
 
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 introSeongyun Byeon
 
JIRA 업무 생산성 향상 및 프로젝트 관리
JIRA 업무 생산성 향상 및 프로젝트 관리JIRA 업무 생산성 향상 및 프로젝트 관리
JIRA 업무 생산성 향상 및 프로젝트 관리KwangSeob Jeong
 
InnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyInnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyEric Caron
 

What's hot (20)

DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
DevOps im Konzern - Autonomie vs Betriebssicherheit (Continuous Lifecycle)
 
Road From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event SourcingRoad From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event Sourcing
 
[창업자&예비창업자] 스타트업 BEST Q&A
[창업자&예비창업자] 스타트업 BEST Q&A[창업자&예비창업자] 스타트업 BEST Q&A
[창업자&예비창업자] 스타트업 BEST Q&A
 
Sample Request for Information (RFI) Document
Sample Request for Information (RFI) DocumentSample Request for Information (RFI) Document
Sample Request for Information (RFI) Document
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
캐릭터 라이선스 기초
캐릭터 라이선스 기초 캐릭터 라이선스 기초
캐릭터 라이선스 기초
 
Data Science. Intro
Data Science. IntroData Science. Intro
Data Science. Intro
 
[창업자&예비창업자] 투자자를 사로잡는 IR
[창업자&예비창업자] 투자자를 사로잡는 IR[창업자&예비창업자] 투자자를 사로잡는 IR
[창업자&예비창업자] 투자자를 사로잡는 IR
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
UiPath Summer School Session1
UiPath Summer School Session1 UiPath Summer School Session1
UiPath Summer School Session1
 
RPA.pptx
RPA.pptxRPA.pptx
RPA.pptx
 
Amoeba management(아메바 경영 이해)
Amoeba management(아메바 경영 이해)Amoeba management(아메바 경영 이해)
Amoeba management(아메바 경영 이해)
 
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
튜토리얼과 하우투 문서의 차이점은?
튜토리얼과 하우투 문서의 차이점은?튜토리얼과 하우투 문서의 차이점은?
튜토리얼과 하우투 문서의 차이점은?
 
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro
 
UiPath Citizen Development
UiPath Citizen DevelopmentUiPath Citizen Development
UiPath Citizen Development
 
JIRA 업무 생산성 향상 및 프로젝트 관리
JIRA 업무 생산성 향상 및 프로젝트 관리JIRA 업무 생산성 향상 및 프로젝트 관리
JIRA 업무 생산성 향상 및 프로젝트 관리
 
InnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyInnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your company
 

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

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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 MountPuma Security, LLC
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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 MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

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!