As a free software activist I believe everyone should have access to all the source code running on their computer (whether or not it's been compiled beforehand) & the right to fork it.

That said I don't believe you as a developer need to publish everything you write publicly for all to see. You can argue for erring on the side of openness, but if you don't want the responsibility...

And I have no problem with seeking funding (I don't like needing money to live, but that's another issue).

1/?

I've recently read a couple recent blogposts from disillusioned free software activists, and I don't fully disagree with them. There are vocal toxic subcommunities in our by-now bigtent movement, which needs to be called out. I find "fossbro" to be a useful term for this.

However those blogposts seem to maintain fossbros' fixation on licensing, where I reckon we've moved beyond that being a cure-all if it ever was. Tempts me to write my own...

2/4?

Follow

What do I view as being toxic?

* Insist everyone must want to put time into customizing their computers.

* Insist every Linux user (or worse computer user) needs to understand how computers work.

People may have other things to do!

* Villify software projects you don't like; You don't have to use them! systemd haters can have their own distros!

Often a fossbro will villify a project for hiding configuration options...

* Telling others "just fork it" and/or villifying subsequent forks.

3/4

Also sometimes you'll see the narrative "Look how much we can accomplish when we work together! Millions of lines of code!" This is thankfully dying down, but I think it's problematic in a different way.

Because when a project's too large, it's impractical to exercise any of the Four Freedoms you might legally have. To e.g. alter Chrome or Firefox & keep it working.

And I do reckon established projects should invest in solid governance to give non-programmers influence over it.

4/4

I drafted an article on this topic (see above thread).

I'll add some links & publish tomorrow, though I'm not sure I'm keen to dig up examples of fossbro toxicity.

So can you please link me to examples where they're suggesting:

* You should understand computers to use Linux
* You must want to customize your computer
* They feel entitled to dictate the direction of project (GNOME?) that doesn't want to serve them
* Death threats due to that (systemd?)
* "just fork it"
* Hey you forked it, bad!

@alcinnz I can't give you examples because the toxicity of the fossbros (good term!) means I've kept as far away from the communities as I can, for the last 15 or so years. I use the stuff, and find all my answers via Bing/Stackexchange, so I don't even get to see the blogs, because I can't handle the antisocial nature of some of these people.

But I am interested to read what you have to say!

@alcinnz Yes to all you said.

I think maybe he's kinda subtooting you (and others), btw, @selea

@avalos @alcinnz

Ouch, you mean that I fit into that description? I feel sad for the people around me then

@selea @alcinnz No, no, it's just that you recently wrote a post about being kinda demotivated about Free Software and the movement, criticizing them. And maybe Adrian is addressing some of your criticism and others'.

@selea @alcinnz Adrian also commented to a post I tooted where the author criticized Free Software using the word “freetardism”, and he also mentioned the term “fossbros”.

@avalos @selea I picked the term up from someone on the fediverse, I forgot who. And I doubt they coined it.

@avalos

Yeah, I remember now. I think I compared it to some religious people.

@alcinnz

@alcinnz

There's a term for it: Purity Spirals

"A purity spiral occurs when a community becomes fixated on implementing a single value that has no upper limit, and no single agreed interpretation. The result is a moral feeding frenzy.

[..]

It is a social dynamic that plays out across that community — a process of moral outbidding, unchecked, which corrodes the group from within, rewarding those who put themselves at the extremes, and punishing nuance and divergence relentlessly."

@alcinnz

This quoted from an article that in itself had a lot to criticize on, but I liked that particular definition of Purity Spirals as a concept.

Posted on our community forum about it, here: community.humanetech.com/t/soc

@humanetech Forgot to incorporate this link, into what I just published: Fixed now!

@alcinnz

>They feel entitled to dictate the direction of project (GNOME?) that doesn’t want to serve them

there is an an open letter asking Eugen to step down

@xarvos Interesting example in that I'd agree that by this point, Mastodon should have better channels for listening to feedback. Non-techies are relying on it, and they should have some of the control we promise them.

Thankfully though there are now plenty of alternative ActivityPub implementations which aren't managed like a personal project. Not quite sure what my stance is here...

@alcinnz

Hey you forked it, bad!

That’s essentially the public reception to Glimpse in a nutshell.

@alcinnz imho another important aspect of fossbro toxicity is their vitriolic response to anything aimed at acknowledging or remedying barriers to various minorities/marginalized ppl participating—codes of conduct, etc. but that could be (and probably has been) a whole other article.

like, it doesn't really have much to do with the code, but it's definitely a part of the "culture", from Slashdot/HN to real life

@nev Write or find such an artical, and I'll be more than happy to link to it from mine!

@nev @alcinnz I had this happen to me: started a community, drafted a code of conduct and some dude who has nothing to do with the community or its purpose shows up in my github issues saying that he wouldn't want to join my community unless I get rid of the coc because its mere existence makes him feel unwelcome...

his github history shows him doing exactly the same thing all over the place for no good reason

@alcinnz

(Without endorsing calling out individuals)

I agree with you that your listed six behaviors are bad. Freedom from being obligated to know tech stuff, to instead get to learn and do other things, is so valuable. We should treasure it.

To me, however, there's another thing that comes to mind even sooner when it comes to toxicity in the FOSS community: harassment, sexism, racism…

@Sandra
🤔 To some extent I think that there's an unwillingness for those who engage in these behaviours to understand that they are being toxic. To some extent because their friends and colleagues have been unwilling or unable to call it out. People can change their attitude, but they have to see first of all that the behaviour is toxic. But just because the person changes doesn't mean that their victims have to forgive or accept them back.
@alcinnz

@Sandra @alcinnz
So how do we recognise the behaviour earlier and Call it out? In some cases it will be too late and their will be a perception of community loss. But their will be community loss from the toxic behaviour in the first place. FOSS needs to be more than the code. It needs to be about a healthy community as well.

@Sandra @alcinnz
So for me, a really good indication is how a person reacts to a coc or a covenant. Yes we should not need it, but using that argument you wouldn't have laws either. This is about the freedom of the commons. Not individual liberty. Which to me is what the 4 freedoms are about. The Freedom of humanity as a co-operative whole.

@Sandra @alcinnz
Which takes a different sort of thinking, it requires balance. It's also why community moderation is no easy task. Even the most logical humans are emotional. Emotion rules our interactions and we need to factor that in.

@alcinnz @onepict Yeah, when someone isn't using their emotions their only using half their brain, I always say.
Emotions are really good at finding problems (not so great at finding solutions).

@Sandra
I think to some extent it's because our society tends to see emotion as a feminine thing. Masculinity doesn't encourage it, so there's a bit of a lie to the whole idea of masculinity/feminity in the first place. Logic is important, but if you aren't paying attention to the emotional side then you are missing information to help with that "logical" decision. But emotions do factor in quite heavily into the perception of how communities are seen.
@alcinnz

@alcinnz @onepict

It took myself a long time to understand it.
Coming from a rural community where it was expected to know how to use a sewing machine, a kitchen, do home repairs… of course I expected the same thing in the digital world. Knowing your way around RFCs and hashbangs.
@alcinnz @onepict
The digital equivalent of a proverbs 31 wife (אשת חיל).
She ./configures && makes for herself carpets of tapestry.

@Sandra @alcinnz I’m glad to see this because I’m not very technical at all but I still try to use and get involved in FOSS.

I have definitely felt shamed and/or belittled for not knowing or even wanting to know or do certain things. Like the amount of customizing for me is like…colors and font stuff. But even better: just let me download and install a theme someone else made.

Or like I was saying how I love something that Apple devices do and that I want Pine to do it and people are like “well then you build it” and it’s like no that’s not what I do. Like I wasn’t demanding Pine do it… it was literally a post directed at no one that said “I would love to see…”

I’m not a programmer and at this point in my life I have come to terms that I probably never will be.

Some of us want to be involved in FOSS without being technical.

We just wasn’t to use it and push the philosophy and get our similarly non technical friends and family on it and away from centralized big and expensive tech (Adobe, Microsoft Office, etc)

@g

Yeah. Your post reminds me of a thing. I wish I could post design work, app design, use cases, without people misinterpreting it as an entitled wishlist of demands. I am a programmer, but sometimes I just wanna post an idea, a UI sketch, or a finished design/spec without any code. It's not like all those things are zero effort, and design work is also work.

That's not to belittle the heavy lifting of programming in any way.
Just that you're right: ideas are something awesome, not a bad thing. As long as everyone is super clear on the fact that no-one is obligated to implement those ideas, that there's no entitlement. Every piece of FOSS is a precious gift.

@Sandra @g @alcinnz Kinda circles back a bit on something that feels wrong about calling out "just fork it", too. I mean, ideally if a software project is designed for users in an approachable and designed-for-autonomy way, shouldn't it be ideal if you can just fork it?

Not even a tenth of all software could be this way in real life: sometimes things need to be designed and maintained by experts. But there are a lot of user-facing things where it would be great if someone with a list of "stuff I'd love to see" *could* fork it. Maybe even be encouraged, unironically, to do so if their wishlist was at odds with the designer or community vision.

(dovetail here with the admonition against letting projects grow so big that they are basically unforkable monoliths: this necessarily means that projects mature into saying "no" to more and more stuff over time)

@Sandra @g @alcinnz Oh, on which note: Signal makes a great study in both "legitimate arguments against forking and community management" and also "general fossbro toxicity against community involvement and valid forks". There's just so much there. Speaking as a Signal user and advocate, I hate Signal so much for all the toxicity

@seachaint I don't use Signal (nor agree with the legitimacy arguments) so that example is a little lost on me.

But I have started using some proprietary tablet apps these last few months.

I happened to mention that (outside of video game consoles and firmware blobs) I had been only using FOSS for the last 20 years and someone came on here and bit my head off, talking about Zoom and Covid as if I hadn't made very difficult sacrifices these past decades, missing out on jobs and housing and sometimes even medical stuff for my conviction's sake. Kinda camel's backed it for me, and I'm not so puritan anymore. I still advocate for the dream that all software should be FOSS, but, I don't have to shoulder the reality that it isn't.

@Sandra That seems, third-hand, to have been a bit of an overreaction on that other person's fault? Particularly given how awful Zoom have been publicly in ways that really vindicate "software veganism" and all. But yea, some stuff you just can't avoid..

As to the "legitimate issues with forking", BTW, I was referring to the fact that Signal is a system that offers security and has a responsibility to live up to it, so a fork by well-intentioned but technically unsophisticated people could literally endanger lives. I don't recall for sure whether Moxie actually did pursue forks but it'd match a general pattern of discouraging third-party distributors.

In general I consider this gatekeeping "invalid", but one can easily imagine scenarios consisting entirely of "good actors" where a fork is too dangerous and parity with upstream is urgent. Again with the suggestion that a properly designed system for delineating critical bits and maintaining parity would help mitigate this issue.

@seachaint With Signal, you can't connect the forks to other servers and you can't connect the forks to their servers.

"Software veganism", what a perfect way to put it. I went back on actual veganism after a five year hiatus; sometimes people do find their way back, if the door is big enough ♥
@seachaint

I 100% agree with everything you write, but, I think the problematic behavior referred to isn't "Oh, go ahead and fork it, that's cool" and more the bitter "Learn to make your own improvements on your own fork, you entitled luser".

The FOSS community is correct in managing expectations and curtailing entitlement (and making clear that there isn't a customer/vendor style relationship) but delivery and tone can make the crucial difference between growing the FOSS community and shrinking it, between on-ramps and brick walls.

@g @alcinnz

@Sandra @alcinnz @g I'm with you there: just pointing out there there is always going to be a natural tension between trying to please and keeping things lean enough to remain approachable.

Perhaps a pattern that might help walk this line would be similar to the idea of "good first issue": to actually document what parts of the project are more approachable to less-specialised contributors either for personal purposes, or to fork, or to contribute.

Another pattern might be to welcome and facilitate "soft forks" by less skilled teams, by providing documentation on "what bits you shouldn't change if you want to maintain basic feature/security parity with upstream" and providing tooling to then keep up to date on important patches
But doing both of these wiuld require projects to follow a set of best practices that nearly encompass senior-level software engineering anyway, like loose coupling, documentation, carefully deciding what core functionality actually is, etcetera. :)

Upshot: maybe there's a way to frame this that boils down to "skilled FOSS developers build projects that welcome community by excellent and inclusive design"

@seachaint We're thinking along the exact same lines here, good to see ♥.


@g @alcinnz

@seachaint @Sandra @g Also worth mentioning: There are things which needs to be developed by a community. Noone has a full understanding of how e.g. text should be rendered, or how time should be denoted. Or what are all the different hardware people will want to run Linux on.

The best we can do is poor a diverse range of understandings into a single codebase.

Often clean software architecture is possible here (and desirable), but not always.

@Sandra Oh yeah, descrimination! I especially need a good link putting that into words! My own privilege obscures the issue from me.

It does play well into fossbros ableism, entitlement, & hubris...

@alcinnz

I usually prefer talking about either larger trends or specific interactions.

For example, it's OK to talk about the larger trend of tech competency expectations, bad onboarding, UX shortcomings, the combination of gatekeeping behavior with punishing those who haven't made it past the gates etc.

It's also OK to talk about a specific interaction. "When you say such-and-such, I react so-and-so and that feels pretty bad. Can we instead this-or-that?"

What I'm more hesitant about is conflating these two, the macro and the micro. When we do, it's so easy to accidentally blame them all for everything at once. Telling someone "you're a fossbro and fossbros are bad because A, B, C, D, E, F, G, H and I reasons" isn't a constructive response to an individual doing A or B behavior. I can't get behInd it.

I've also stopped using the word "fossbro". For me, it started out as a word meaning for example gropers or sexual harassers in the FOSS community. As the word is gaining traction it's also getting murkier and less defined semantics.
The gendered aspect of it is also more bad than good since it reinforces the narrative that techiness is a men-only thing. When people called me a fossbro over the license stuff a few weeks ago it was rough on me as a woman.

All this with the caveat that we also need to take care to not lose track of oppressive structures, since they can become more entrenched by becoming invisible, as happened during the sexually liberated 60s and the colorblind 80s. In other words, there definitively is a lot of value in discussing and observing clusters of bad behavior that often go together. The problem is when we bring all of that to bear on an individual interaction. That can become strong drivers for backlash, like how people can be oblivious to their racist behavior because they don't see themselves as belonging to their own stereotype of what a racist is.

This is why I want to separate the micro (specific interactions) from the macro (the larger cluster of bad behavior stemming from the twin forces of enthusiasm for FOSS' promises (especially the miracles it has already delivered on, like the ubiquitous LAMP stack) and frustration with its limitations (especially externally imposed limitations, such as job or housing that require Facebook, or the many mandatory government apps in Europe that require Playstore/Appstore devices) — or ultimately reflective of impatience with other people (non-tech in this case) and a lack of empathy and understanding of their perspective.

Treating every tree as if it were a forest isn't a solution I'm behind, I mean.

@Sandra Fair enough. While I did find "fossbro" a useful (vague) term for describing these issues, and I think there's often overlap between the attitudes. I don't think there's many who hold all of them.

@alcinnz could you elaborate on what is bad about "just fork it"?

(I strongly agree with the other points, so I suspect I'd agree with that one, too - I just don't get it :) )

@raboof @alcinnz Telling people to fork off as the go-to response is not an attitude of cooperation and community building.

Forking is sometimes inevitable when there are valuable and incompatible directions a project could take, but in the everyday case the ability to fork should act as a safety valve which gives people the incentive to work on listening to the community.

Only when this has been tried and failed should the community need to go through the painstaking work of rebuilding itself.

@alcinnz I plead guilty to some of these in the past (was I a "fosssis"?)

In the end, it's technology. It's a means, not an end.

@arivigo @alcinnz Part of this is real toxicity - anyone making death threats should just be blocked or have their membership of groups revoked - and part of it is just the arrogant pride of the craftsperson.

When I was a kid I spent a lot of time in carpenter's workshops. The way that expert carpenters talked about other people selling furniture was very similar to the way to the way that "fossbros" talk about users of their software or rival projects.

"What? You just use generic, mass-produced materials? That's awful. You need to do it like this..."

"You complain that your furniture doesn't last, and yet it's not even made by a real person. It's made by machines in a factory somewhere, churning out millions of identical low quality widgets..."

@alcinnz imo there's a very important point here that in practice, for an individual (rather than a corporation) nowadays freedom to edit software is usually more of a technical problem more than a legal one.

You're totally right that Chrome is a great example of this! All the licensing in the world won't make it easy to quickly open and mess around with unless you're very experienced in the field already.

@alcinnz doesn't have to be this way either! They weren't perfect, but things like extension APIs do offer a meaningful hackability and practical freedom to modify the software you use, in a very accessible way. Very sad to see Chromium tightening up on that too.

More internal componentization & composition would help here too. Increases architectural challenges significantly, but makes understanding & modification much easier later for others.

@pimterry I componentization is very much something I'm striving for in my own browser engine development!

Makes it easier when I don't have to undo the abstractions to give JS access to all the data throughout the browser engine...

@alcinnz Yeah, the four freedoms would be protected a lot more in practice if the GPL was a social domain license and the community hard moved away from things like linux and firefox as opposed to things like a forked BSD, an actually made and better documented Hurd, etc.

Sign in to participate in the conversation
FLOSS.social

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).