Previous Keynotes have posed question I’ll pose answers
What is the free of open source software, it has no future
FLOSS is yesterday’s gravy
Based on where the technology is today. How would FLOSS work with punch cards?
Other people have said similar things
Software, Linux and similar all going down in google trends
But “app” is going up
Lithification
Small pieces losely joined
Linux used to be great could you could pipe stuff to little programs
That is what is happening to software
Example – share a page to another app in a mobile interface
All apps no longer need to send mail, they just have to talk to the mail app
So What should you do?
Vendor all you dependencies, just copy everyone elses code into your repo (and list their names if it is BSD) so you can ship everything in one blob (eg Android)
Components must be 5> million or >20 LOC , only a handful or them
At the other end apps are smaller since they can depend on the OS or other Apps for lots of functionality so they don’t have to write it themselves.
Example node with thousands of dependencies
App Freedom
“Advanced programming environments conflate the runtime with the devtime” – Bret Victor
Open Source software rarely does that
“It turns out that Object Orientation didn’t work out, it is another legacy with are stuck with”
Having the source code is nice but it is not a requirement. Access to the runtime is what you want. You need to get it where people are using it.
Liberal Software
But not everything wasn’t to be a programmer
75% comes from 6 generic web applications ( collection, storage, reservation, etc)
A lot of functionality requires big data or huge amounts of machines or is centralised so open sourcing the software doesn’t do anything useful
If it was useful it could be patented, if it was not useful but literary then it was just copyright
Is it alright to compromise or even deliberately ignore the happiness of maintainers so that we can enjoy free software?
Huge growth in usage and downloads of Open Source software
2/3s of popular open source projects on github are maintained by one of two people
Why so few?
Style has changed, lots of smaller projects
Being a maintainer isn’t glamorous of fun most of the time
1% are creating the content that 99% of people consume
“Rapid evolution [..] poses the risk of introducing errors faster than people can fix them”
Consumption scales for most thing, not for open source because it creates more work for the maintainer
“~80% of contributors on github don’t know how to solve a merge conflict”
People see themselves as users of OS software, not potential maintainers – examples of rants by users against maintainers and the software
“Need maintainers, not contributors”
“Helping people over their first pull request, not helping them triage issues”
Why are we not talking about this?
Lets take a trip back in History
Originally Stallman said Free software was about freedom, not popularity. eg “as is” disclaimer of warranty
Some people create software sometimes.
Debian Social Contract, 4 freedoms, etc places [OS / Free] software and users first, maintainers often not mentioned.
Orientated around the user not the producer
Four Freedoms of OS producers
Decide to participate
Say no to contributions or requests
Define the priorities and policies of the project
Step down or move on
Other Issues maintainers need help with
Community best practices
Project analytics
Tools and bots for maintainers (especially for human coordination)
Conveying support status ( for contributors, not just user support )
Finding funding
People have talked about this before, mostly they concentrated on a few big projects like Linux or Apache (and not much written since 2005)
Doesn’t reflect the ecosystem today, thousands of small projects, github, social media, etc
Open source today is not what open source was 20 years ago
Q&A
Q: What do you see as responsibly and potential for orgs like Github?
A: Joined github to help with this. Hopes that github can help with tools.
Q: How can we get metrics on real projects, no just plaything on github
A: People are using stars on github, which is useless. One idea is to look at dependencies. libraries.io is looking. Hope for better metrics.
Q: Is it all agile programmings fault?
A: Possibly, people this days are learning to code but average level is lower and they don’t know what is under the hood. Pretty good in general but. “Under the hood it is not just a hammer, it is a human being”
Q: Your background is in funding, how does transiticion work when a project or some people on it start getting money?
A: It is complicated, need some guidelines. Some projects have made it work well ( “jsmobile” I think she said ). Need best practice and to keep things transparent
Q: How to we get out to the public (even programmers/tech people at tech companies) what OS is really like these days?
A: Example of Rust. Maybe some outreach and general material
Q: Is Patreon or other crowd-funding a good way to fund projects?
A: Needs a good target, requires a huge following which is hard to people who are not good at marketing. Better for one-time vs recurring. Hard to decide exactly what money should be used for