Leaping the chasm from proprietary to open: A survivor's guide
notes date: 2018-10-14
source links:
source date: 2015-07-15
slides at https://www.slideshare.net/bcantrill/leaping-the-chasm-from-proprietary-to-open-a-survivors-guide
In the beginning…
- Hardware was the valuable thing; software shipped with its source
- story: Tom Hill has a notebook, and saw in Feb 17, 1983 when an IBM rep who explained they were moving to an “object-only” model
- Bill Gates’s infamous 1976, “An Open Letter to Hobbyists”
- 1990s: software was highly ossified and proprietary
- Many classes of problem were considered solved for good (programming languages, compilers, webservers, …)
- everyone was switching to Windows NT
- I went to Sun because Sun alone believed in UNIX
- It was Sun that stood with UNIX alone, in the intensive care unit, when everyone else had left UNIX for dead. Okay. Sun was the one reading to UNIX quietly, when everyone else had moved to a new spouse.
The internet cometh
- Open source was driven by the Internet: Perl and Apache
- they did things together that you couldn’t do with proprietary software
- Free software created price competition that drove software to $0.
The Bubble Bursts
- economics dictated that open source (and commodity hardware) be used wherever possible
- where before you would use perl+apache where they were better than a proprietary option, now you would use them even if they were noticeably worse
Leaping the Chasm: OpenSolaris
- Solaris was open-sourced in June 2005
- Sun was more able to do this with their UNIX than others, because it had bought its UNIX out of AT&T (most others had a significantly restrictive deal with AT&T)
- To balance community needs with Independent Hardware Vendor wants, Sun chose a weak copy-left (CDDL) that amounted to a cleaned-up version of MPL
- Some months after the Oracle acquisition, on Friday August 13, 2010, an internal memo announced the closing of OpenSolaris
- “Oracle is an entity that defies stereotype, in that, everything that you think about Oracle is actually truer than you think it could possibly be. It’s amazing. It’s a cartoon”
- Cantrill’s “Fork Yeah! The Rise and Development of Illumos” talk
- the video took months longer than any other video from the same conference to get posted
- and the conference put a disclaimer on the screen both at the start of the talk, and was in frame the entire talk
- “[They] ripped up the social contract, that so many people had had, that had contributed to that operating system, and had foolishly, as it turns out, assigned copyright to Sun Microsystems. Their software was now being made proprietary. And I understand that it’s not illegal. But it’s wrong.”
- Oracle went further to assert that the APIs are copyrightable
- Thankfully, CDDL was airtight, so Oracle couldn’t actually close OpenSolaris, they could only fork it
Open-sourcing shrink-wrapped software
- Within a business, you’ll need to make the business case
- Move past fear from opportunity (from ‘endangering revenue’ to ‘driving adoption’)
- Your customers are probably working with you for more than the artifact
- “A customer that’s going to take your software, and that’s going to operate it themselves, and be totally self-sufficient, and when there’s a bug they’re going to fix it–that customer wasn’t going to buy your software anyway. The choice was not, this customer gives me money or doesn’t give me money. That’s not what it is. It is: this customer–the customer that’s going to operate it and is going to self-support and so on–they’re going to run your software, or they’re going to run someone else’s software that’s open-source. Open-source is a constraint for that customer. And you know who that customer is because it’s you and it’s me”
- No, your competitors aren’t going to steal it
- “Actually, your competitors think you’re a jackass. That’s why they work with the competitors. Like, if they thought you were such a genius they would come work over here.”
- learned from dtrace: “The Not Invented Here syndrome is very very powerful. And people will actually not adopt software just because their competitor or their perceived competitor developed it.”
- Don’t be afraid of your software getting forked
- the forking paradox, the easier it is to fork your software, the harder it is to fork your community
- don’t fetishize governance and/or process
- prefer permissive (or weak copy-left): license incompatibility impedes adoption
- it’s not organizations that are innovative, it’s people that are, so elevate the people who are active in open-source
Open source and the cloud
- By now, lots of important projects are open-source de novo.
- In fact, now it’s an engineering challenge to determine which open-source project to use
- SaaS is the new kind of proprietary service
- You might find yourself locked-in to a service
- Adding insult to injury, these services are often built using open-source components, without offering patches back to upstream
- And in fact, GP’s copy-left is obviated by “this is a running service”
Joyent’s open-sourcing problem: SmartDataCenter + Manta
Infrastructure software must be open-source
- The dotCloud (closed-source, nobody cared) to Docker (open-source, got tremendous attention) transition is a particularly strong testament to this
Open source is our best vector for hiring
- University hiring has reasonable fidelity, but is increasingly competitive/expensive, and can result in a monoculture
- Open-source communities self-identify and self-select, attracting those who are drawn to the mission
- Participation in open-source is a much better analogue for participation in actual work
Joyent’s open-sourcing problem: SmartDataCenter + Manta
- Licensing
- love permissive licensing, but hate license incompatibilities
- love contributors, but hate contributor license agreements (don’t make contributors need a lawyer)
- selected Mozilla Public License 2.0
- Commercial entities need some of the ass-covering attributes: patent troll protection, explicit warranting of original work
- Governance
- Mostly, github is all the governance you need
- But maybe, like node.js, when there are multiple companies founded around it, you might need something special
- Corporations can’t be neutral enough: “The commercial intentions are going to rip the project apart”
- Foundations
- They pose more questions than they answer:
- How are board seats determined (pay to play? community elections? code contributions?)
- How are conflicts resolved (by consensus? by voting?)
- What are the principles that guide the work (does the mission of the foundation go beyond mere self-preservation?)
- They pose more questions than they answer: