Let's Make Software Great Again (18F Talk)
-
Upload
nadia-eghbal -
Category
Technology
-
view
3.606 -
download
3
Transcript of Let's Make Software Great Again (18F Talk)
@nayafia for 18F
Funded by gov’t and private partnerships
Trump, Clinton and Sanders agree: “We need to support this!”
No dedicated funding or support
“No, they like it when we don’t pay them.”
@nayafia for 18F
Digital infrastructure: (n.) layers of the Internet that everybody uses to
build software
@nayafia for 18F
Tools: Grunt, RSpecLibraries: devise, mustache
Frameworks: RailsPackaging: bundler, gems
Languages: Ruby, JavaScriptDatabases: Postgres
Servers: unicorn, Nginx
@nayafia for 18F
“I do not have the time or energy to invest in open source any more…” (@ryanbigg)
“Just relying on people’s good will isn’t going to work…” (@andrewgodwin)
“Stop hoping that volunteers will...maintain the...tools that your work depends on” (@rubytogether)
“I was proud of how my projects could do so much with so little. Now, I see there are always costs.” (Audrey Eschright)
“It doesn’t need to be this way.” (@shazow)
@nayafia for 18F
Open source has been around for 30+ years
1981-1998: Closed source was the norm
1998-2008: Startups start using LAMP stack
2008-2013: Open source workflows standardize (Git, GitHub, Stack Overflow)
2013-today: Open source is the norm
@nayafia for 18F
Today, every startup uses open source technology.
Big companies want to use open source.
@nayafia for 18F
We are talking about:
Community open source tools used by millions to build THEIR projects, touched by billions
Examples: D3, jQuery, Ruby, Django, Rails, Python, Haskell
We are not talking about:
“My fun open source project that I made this weekend”: projects that do not carry many dependencies or require significant upkeep, even if popular (ex. ssh-chat)
“Open sourced”: projects built inside a company that are then made open source (ex. Swift)
“Open core”: open source core product with paid add-ons (ex. MySQL)
“Open source businesses”: Businesses built on open source communities (ex. Nodesource) or who make open source products (ex. Docker)
“Inner source”: companies adopting open source philosophy for internal workflow (ex. PayPal)
@nayafia for 18F
Consulting & ServicesCharge for implementation, support contracts, etc
Ex. Hoodie, PyPy, OpenSSL
PROS● Sustainable, recurring business model that aligns with customer needs
CONS● You build a small consulting business instead of working on code● Can be at odds with making software simple to use● Project needs to have people willing to pay
@nayafia for 18F
DonationsGet people to donate
Ex. Twisted, Git
PROS● Few strings attached
CONS● Usually not much money unless you have dedicated fundraising● Need an entity to donate to (ex. SFC). Much harder for individuals or international ppl● Sometimes not clear who should accept money, how it gets distributed
@nayafia for 18F
CrowdfundingRun a single (Kickstarter) or recurring (Patreon, Salt, Gratipay) crowdfunding campaign
Ex. rvm, Django
PROS● Few strings attached● Easier for individuals to manage
CONS● Lots of work involved to market campaign● Usually has to be tied to a concrete outcome● Not that much money (~$50K for one time, <$1K monthly for recurring)● Harder for companies to donate
@nayafia for 18F
BountiesPost a “bounty”, or reward, for completing a task. Has become popular for security bugs.
Ex. Bountysource, GitHub Bug Bounty Program
PROS● Leverages community● Pays for specific work to get done (unlike donations)
CONS● Can create perverse incentives (low quality PRs, distracting priorities)● Not that much money● Doesn’t provide recurring revenue
@nayafia for 18F
Company SponsorshipsCompany sponsors a maintainer to work on project
Ex. Ruby/Heroku, jQuery/Mozilla,Node.js/Joyent, Python packaging/HP
PROS● Taps into those with most resources● Can be great alignment with company needs● Gives maintainers steady income
CONS● Getting companies to agree to this arrangement :>● Person not contributing to company’s bottom line, which makes them expendable● Governance issues, company having undue influence over project● Can affect project dynamics + balance to sponsor a maintainer
@nayafia for 18F
FoundationsCreate a foundation to support the project
Ex. Ruby Together, jQuery Foundation, Django Foundation, Node.js Foundation
PROS● Neutrality. Foundation protects the code and helps steward community● Influence distributed across multiple donors● Can legitimize project, companies feel more comfortable giving
CONS● Only works for big projects● Very difficult to set up (many do 501c6 instead of 501c3)● IRS doesn’t like open source, restrictions on what you can do● Requires serious community effort and diverse skills. (Still need to fundraise!)
@nayafia for 18F
Linux Core Infrastructure InitiativeMozilla Open Source Support
NUMFocusEU grants
Stripe Open-Source Retreat
@nayafia for 18F
Yet we hear over and over that these things matter
Bitcoin “Why has Bitcoin failed? It has failed because the community has failed.”
Linux “We had really big fights back in 2002 or so...there was no technical solution. The solution ended up being better..management.”
Node.js “If we...don’t create a structure around it we open ourselves up to informal influence that could be wide in scope.”
@nayafia for 18F
Better infrastructure =
Tools become more accessibleMore people build amazing things we
can’t even dream ofMore inclusion of talent -> better hiringCompanies can build, thrive and scale
fasterhax0rs don’t take down our companies