Someone starts a new #FOSS project as a hobby activity. "No one bossing me around like at work, just having fun, do as I wish." they write in the README.
After some time the project starts to get noticed, people request new features, and some Pull Requests are contributed and merged. There's a good vibe with similarly interested devs.
One year later. An unhappy community has formed. People complain about the #BDFL and harsh words circle the social channels.
Is the label of "BDFL" justified?
Suppose that during the project a best-practice was followed of:
- Clearly communicate your intent with the project, so people can set their own expectations accordingly.
And you made this painstakingly clear in all project communication, emphasizing a "hobby project".
Are people in the wrong when they throw the BDFL criticism card?
Now image the situation where the popularity of the #FOSS project grew unnoticed, and the expectation of "hobby project" was never well conveyed.
Even the maintainer at this point considers the project "more than hobby". They want to keep working in the way that motivated them to start, despite people demanding differently. They still want #JoyOfCoding and to build what they want, thus decide to retain full control of contributions.
The label #BDFL is slammed broadly about in harsh criticism.
@smallcircles good questions. I think there is an interesting conundrum here. On the one hand most people value personal freedom - and whatever you do that does not do harm is fine. But when you offer something up for usage in the commons and at the same time insist that you have all the power - there is a potential conflict. I think we culturally have a weird obsession with ownership and absolute power over the thing. In another view it is mad to expect to be able to own anything that is shared. And maybe it’s this madness that leads to conflict. …
@smallcircles and maybe the expectation that you want someone to use a thing, without having agency is also a bit mad. You would not want e.g. a friendship to be based on this - or a family. Or a society. Or a workplace (!).
@abekonge exactly.
An analogy, maybe. Say I live in a small communal group where we do collective gardening. My hobby is to chop wood, with the precious axe my late father gave me.
So, I joyously chop wood for myself.. and also for my neighbors. A kind gesture.
Then neighbors come:
"We need more wood"
"I want thinner splices"
"There should be a rack for people's orders"
"I need a truckload for my friends"
And then:
"This jerk gatekeeps his wood"
"Yea, suck big time."
"This guy is a BDFL!"
I think nobody (except my daugthers) is entitled to my work.
Not even managers at work can force me to do something I don't want to do, so much that "It cannot be done" and "I don't know how to do it" and "give me a five years and a team of five very skilled engineers, and I'll do it" are well known show-stopper at work.
When I share my high-skilled work, I set up whatever license I see fit (sometime debating with #OSI board gatekeepers, cause I like #copylefts they hate) and usually set an explicit POLITICS.txt to explicitly explain the socio-technical goals of the project.
Usually it does NOT cover governance because forks are welcome (within the rules of the license, obviously)
I started adding a POLITICS.txt to my projects 5 years ago, after writing my essay "What is Informatics?": https://encrypted.tesio.it/2019/06/03/what-is-informatics.html#be-political
Writing the POLITICS.txt for a project is always pretty difficult: it means to be explicit with your hopes and ambitions while finding the right words to express them is hard and often lead other developers to mock you even if they use and appreciate the code you wrote.
You can see a recent example here: https://code.tesio.it/p/self-hosting/doh.cgi/file?name=POLITICS.txt&ci=tip
@Shamar @jannem @abekonge
Oh, I was not aware of an existing practice around POLITICS.txt .. is there one, and a resource to share?
I just thought of something similar at: https://social.coop/@smallcircles/113508224930993093