Neither Rogues nor Saints: Ethics in Open Source
Presented by Robert Hodges, Altinity, Inc.
Presented at Open Source 101 2021
Abstract: Open source software has unleashed a flood of innovation and created amazing, worldwide communities. It has also exposed tricky ethical quandaries. Do maintainers owe bug fixes to open source users? Should open source companies relicense code from community users to make more money? Do users have an obligation to be welcoming to other users? To answer these we'll need to think about what it means to be "ethical" in open source communities. First, we'll explore a reasonable set of mutual obligations that help communities function better. Next, we'll discuss how to structure projects to make it easier to uphold obligations without being a saint. Finally we'll consider how to escape obligations you can't meet without acting like a rogue. Open source ethics are intensely personal and I don't claim to have the answers. I hope this talk will help you find them yourself and make your projects better for you and the community around you.
1. Neither Saints nor Rogues
Ethics in Open Source
Robert Hodges - Open Source 101
March 2021
1
2. Presenter and Company Bio
www.altinity.com
Enterprise provider for ClickHouse, a
popular, open source data warehouse.
Community sponsor and committers
to ClickHouse project.
Robert Hodges - Altinity CEO
30+ years on database systems
including multiple open source
projects. Coding since 1972.
2
3. Some background on ClickHouse
2,868
Forked the code
13,869
Starred the repo
684
Submitted a pull
request
1943
Opened an issue
Stats as of Dec 2020 . . . Users who:
3
3
● Originally developed by Yandex
● Open sourced in 2016
● Now one of the largest database projects on Github
4. 4
What got me thinking about ethics
4
Tungsten Replicator
Open source data
replication for MySQL
5. 5
A teachable moment...
5
HUH. RIGHT.
WE JUST SOLD OUR COMPANY
TO VMWARE. NOTHING’S GOING
TO CHANGE!!
Me
About
300
people
6. 6
What are the dilemmas of open source?
6
Do I owe
my users
bug fixes?
How should I behave
to other open source
users?
How do I bail
out of a project
gracefully?
Is it fair to
relicense my open
source project to
make money?
Must I accept
pull requests?
9. 9
What is the scope of “society” in open source?
9
Family
Company
Village
Nation
Planet Earth
10. 10
What is the scope of “society” in open source?
10
Family
Company
Village
Nation
Planet Earth
Open Source
Community
11. 11
My definition of open source ethics
11
Recognize and fulfill your
obligations to the open
source community
12. 12
Open source political economy
12
Open
Source
Community
Committers
Other
Contributors
End Users
Advocates
Commercial Entities
13. 13
Open source political economy
13
Shared
Value
Creation
Committers
Other
Contributors
End Users
Advocates
Commercial Entities
Marketing,
Documentation,
Organization
Requirements,
Bug Reporting,
Marketing
Code Fixes,
Documentation,
Field Marketing
Funding, Infrastructure, Systematic QA, Legal
Roadmap, Features,
Bug Fixes, QA
14. 14
How do open source licenses fit in?
14
Apache
2.0
GPL
V2/3
AGPL BSD
Responsibility to obey
conditions of use
Right to see, use, and
alter source code
Licenses are contracts for code use.
15. Licenses make some questions go away
1. Can I fork the code? Absolutely!
2. Can I change it without contributing to upstream? Yes!
3. Can I use it to make money? Have at it.*
15
15
* It might be harder than you think.
16. Do committers owe bug fixes to users?
16
16
No.
Committers owe users
an appropriate way to fix problems*
Committer
User
Grant Commit Rights
Do all fixes
Post full fixes
Report Bugs
* Including: doing nothing
17. Must committers accept pull requests?
No. But...
1. Be respectful of the work that goes into PRs.
2. If you don’t accept PRs say so.
3. If you don’t have time to review, say so.
4. If the PR has problems, say why.
17
17
18. Must I welcome other community members?
18
18
Yes.
1. Treat other community members as you would
like to be treated yourself. (Golden Rule)
2. Follow conventions of the community.
19. In case that’s not enough...
19
19
Welcoming projects grow faster
MySQL grew through contributions from a huge community.
ClickHouse grew fast through 1000s of external PRs.
Modern COSS* projects fund developer advocates to
welcome new community members.
* COSS: Commercial Open Source Software
20. Must my project solve societal problems?
20
20
If you want.
1. Uphold the Golden Rule in your community.
(See above.)
2. Uphold obligations to other groups in society.
3. Be open about project values and conventions.
21. 21
Is it OK to relicense projects to make money?
21
Yes. But...
1. Be honest about it.
2. Remember who got you here.
3. Think about the business early on.
22. 22
An ideal open source business (for some)
22
Miracle
Occurs
$1B
Payout!
Venture
capital
Popular
Project
23. 23
Open source ethics and business reality
23
Making money on open source is hard.
VC investment does not change that.
Taking money or selling == Giving up control.
24. How can you avoid future dilemmas?
24
Have a profitable
business model
Give your project to
the community
25. 25
Is it OK to bail on your open source project?
25
Absolutely.
1. Be honest about it.
2. Offer ownership to others in the community.
26. A personal summary of open source ethics
How to meet obligations without being a saint:
1. Be honest
2. Follow the Golden Rule
3. Respect the contributions of others
4. Be realistic about the future
26