Chapter 12: The THRIVE Guidelines; Originally "How to THRIVE, in Uncertain Times for Free Software"
Apologies for the acronym: "To Help Realise Ideal Volunteer Efforts" (THRIVE).
"Nobody is perfect, and it's obvious that people already hold some to a more unreasonable interpretation of their standards than others."These are intended to assist, not to be imposed. Maybe a better way to consider them is as a sort of informal RFC. The thrive guidelines even have a own Code-of-Conduct Escape clause:
"Wherever these guidelines are misused to threaten community and development, they should be regarded with scrutiny — whenever these guidelines help create a foundation for purposeful development and progress, they should be considered thoughtfully." This reinforces the idea that the guidelines are non-binding.
I will quote each of the ten guidelines one a time, and comment on each in the hopes of further clarification.
1. "Integrity and checks and balances are more valuable than false compromise."
I'm fond of pointing out that just enough compromise can be wonderful, but too much can be devastating. Having more than one group working to maintain and improve the ecosystem means that if one authority (or respected group) goes sour, then others can speak up and offer a backup plan.
Fans of a single, centralised point of authority won't like this. But, it is a recommendation. It is non-binding, so people who are against it simply won't have anything to do with it. As I said elsewhere, for example:
"When we agree on something, we struggle together. When we can't agree, we struggle apart. It's very useful to find our commonalities, and understand our differences. For many of us, Stallman and freedom are two things we are not willing to compromise on."
That isn't a decision that a central authority needs to make. Many of us are not willing to bend on the Stallman issue (a reminder that this guideline predates the Stallman issue.) So we invite anybody who is willing to work with us despite not bending on that issue, do so. They don't need to sign an oath of loyalty to Stallman, but if they ask us to do something unjust against him — that's something we won't do.
At that point, you have a schism — and you would actually have that schism anyway. The difference is that some of us are building something that is more schism-tolerant. Other points address this a little more directly.
2. "Ignoring your own standards, as well as taking rules too seriously, can compromise the integrity of your community. Many communities are already diminished along these lines."
This is mostly a comment on the state of communities, and a recommendation to try to live up to your own community standards. Those who already oppose the imposition of a Code of Conduct can read this as: "If you have a Code of Conduct that expects certain behaviour of others, you are naturally expected to treat them just as well as you're demanding of them."
"Many have called for a certain large, corporation associated with a particular primary-coloured hue to apologise for their active role in the Holocaust."Nobody is perfect, and it's obvious that people already hold some to a more unreasonable interpretation of their standards than others. While suggesting that people not do that isn't likely to cancel out any hypocrisy directly, this point at least comments on it.
3. "The corporate monopolies that promise to help resolve these problems, have a history of fundamental selfishness and interference. Giving these corporations too great a say in matters has helped them to destroy communities and stifle their efforts."
This point comments on past mistakes, and also predates one of the best examples. Many have called for a certain large, corporation associated with a particular primary-coloured hue to apologise for their active role in the Holocaust. Yet one of their subsidiaries asks for an arguably more grassroots organisation to seize an opportunity for greater diversity.
You could argue this is the same point as the second one, addressed specifically to very large and powerful companies. While it is unlikely to change the course of those companies directly, it serves as a warning to those who would take their requests (and perhaps, their lip-service) too seriously.
4. "In practical terms, 'working together' means finding enough common ground for collaboration. It does not mean abandoning the principles or values of your own community."
Some differences are worth working past. Other differences are simply worth accepting. Another way of saying this is that along with diversity of people, we should make it possible (whenever we can bring ourselves to do so) to include people with a diversity of opinions. In my own opinion, this is a strength that we were doing impressively well with, before all this corporate help showed up.
One only need look to Stallman to demonstrate how intolerant we've become of opinions — but that intolerance is a standing threat to all of us if we wish to work together and not be ridiculous when we use the word "inclusion." While these guidelines are not meant to be imposed, if more people had taken them to heart, it would have possibly been more difficult to let Stallman suffer as much as we already have.
Not that I want you to think this is all about one example. What I really want you to do is think about how it would be for an entire community to start stoning you because of something you yourself were misquoted as saying by Forbes or ZDNet. All of these guidelines predate that incident, but many of these would have helped mitigate it.
"All of these guidelines predate that incident, but many of these would have helped mitigate it."These really are anti-monopoly recommendations, for making communities hopefully more robust in the presence of well-organised social attacks. If you think you can create a better version, these guidelines are already in the public domain.
And people are going to argue for more centralisation, of course. Some people like centralisation and single-points-of-failure, because they think of control exclusively in terms of benefits, not costs. Decentralisation has costs as well.
Very few meaningful decisions are made without accumulating both costs and benefits. It's really a question of what benefits are desirable and what costs are unacceptable. If you can accept a single-point-of-failure that guarantees a tragedy in the long run, there are some short-term benefits to say the very least.
5. "In dealing with both critics and allies, it is always more useful to look past the superficial -- towards motivations, true nature and real effects. Society encourages the shallow evaluation of goods and services, as well as of people. Vital communities must do better in this regard than general society, if they wish to thrive. This is not intended to eliminate speculation, only to temper superficiality."
Superficiality is a theme I've addressed in other articles on Techrights. Back when the "Free Software Federation" was more of a concept, these were guidelines on how people who want such a thing to work (this by no means assumes that everybody would want it to) could understand how to make it run smoothly enough.
A lot of it comes down to accepting differences, having more than a single venue for progress to be worked on, and working together when it makes sense. This is more robust because if you get Amish-shunned out of one community that has gotten a bit weird or been taken over, there are other places nearby where you can contribute instead.
It is also a strong suggestion that such schemes have gradually been proven necessary if we want Free software to continue to have the level of practical success it already had in the past. A lot of people already look around and realise that "something has gone terribly wrong." You can be certain there will be people demanding that single-points-of-failure be reinforced by more monopolistic means.
"Another thing to think about the is the level of censorship and interference going on."As recent history has shown us, when that happens it can leave us generally out of the loop — just sort of waiting for "permission" or a "cue" to get back to business as usual, while we try to figure out how to respond or move forward, without much in the way of means to do so. A reasonable word for that effect is "devastation." It's good to ask if we would have that level of devastation right now, if we had found a way to make Free software (as a movement) "more robust" or as I keep saying, "more decentralised."
In the past, we had collaboration schemes as loosely defined as something called a "web ring." Today, a "mesh network" would be a resilient structure more worthy of consideration than a "ring" (which was often maintained by a single person, albeit one who was very open to all sorts of people joining and adding their website.)
So you could, if you wanted to maybe overhype the idea, call this an "early version of a social protocol for a voluntary organisational mesh network." But just calling it the "THRIVE Guidelines" is probably a lot more reasonable.
Another thing to think about the is the level of censorship and interference going on. In security terms, this should be part of our threat model:
"The FSF (Boston) is at least somewhat compromised, and FSFE is (as I already thought) more compromised."I'm referring to this sort of behaviour from large corporations.
I'm also referring to this sort of behaviour from our beloved non-profits.
And even in the example of the FSF and FSFE:
"In 2018, FSFE used these tactics to make it appear that nobody supported elections any more."
"In 2019, rogue elements of the Free Software Foundation (FSF) staff used the same tactics to undermine their own founder, Richard Stallman."
NOW, if we can't even even trust the FSF to prevent this sort of thing, and if their own objectives are being compromised by the (completely unjustified — as in there is simply no good reason given) censoring of mailing-lists, what exactly do we do?
When I wrote about the need to create lifeboats for the same organisation prior to a great tragedy — which happened not 30 days later, as things turn out — I wasn't doing that because I thought it would make a great story. I was doing it for exactly the reason it said on the tin:
A. The FSF is vulnerable.
B. The FSF is vulnerable.
C. The FSF is vulnerable.
The most obvious way around this (mission-damaging) censorship (a topic Daniel Pocock knows more about than I do — I comment on the things he goes into great detail about — with actual facts and evidence that I had only expected to come out eventually) is to have more communication, interconnection and organisation between autonomous "nodes" of this movement.
As it happens, such nodes already existed. The FSF (Boston) is at least somewhat compromised, and FSFE is (as I already thought) more compromised. I don't even think the other FSF chapters are prepared to defend everything the FSFE is doing right now.
So who is going to hold the FSFE accountable on these matters? Their members? The FSFE is (according to what I gather from reading the things Pocock says, but not to put these words in his mouth) manipulating its members with an almost Facebook-like tactic. I'm surprised, but not shocked that it has come to that.
A federation that cares about Free software has the potential to "route around" not only mailing-list censorship, but even the corruption that happens at the very top of these organisations. But it loses that flexibility if we try too hard to "unite" under the same bad ideas. It is the redundancy that creates the robust nature of what we are doing.
If you've ever tried to write code that uses concurrency, you know that such things are a little less intuitive. This sort of redundancy is also less intuitive, so to make it more accessible to more people, we have these recommendations.
Now, where do we get future coders from? From time to time, some people express concern about the "aging" of their developer force. This means that people capable of contributing either aren't allowed to join, aren't aware of the opportunity to join, aren't interested in joining — or don't even exist.
One way to address all of those points is with education:
6. "Without some greater commitment to the needs and education of users, Free software will soon lose too much ground to corporations that falsely pander to them. This is not a call to make everything 'user friendly.' As a user, you are free to develop on your own terms. There are still areas in which progress could be made regarding development."
Should we allow repos (such as F-Droid) to be balkanised over political differences? Maybe not:
7. "It is better to have communities divided over politics than to have software development and repos hijacked and repurposed by a single political faction."
How can a federated community help prevent such hijacking of repos? With a (relatively) neutral 3rd (or 3rd, 4th and 5th) party:
8. When communities with valuable contributions become divided over political differences, umbrella communities and organisations are a positive way to invite long-term resolution. Haste and superficial resolution are less positive, though "first step" efforts will hopefully count for something.
But false compromise is once again warned against — due to the amount of it I think we've already witnessed. We always want to enable cooperation where we can, without introducing false compromises and bad compromises. Freedom of course, produces differences:
9. "Each community should be allowed to explore its own options to further the long-term benefits of its efforts towards software freedom -- subject to informal approval and/or intellectually honest (fair) critique from from other communities."
If you need permission to comment, we really have dramatically changed as a movement. Point 9 says more than that, but this is a point worth reiterating at this time.
But what about the users? What should we do for them? The user of today may one day become the ally of tomorrow. So maybe, let's one way to set a good example for our future is:
10. Communities should avoid, as much as possible and practical, efforts to lock other users into their software or distributions. The more important and popular (and fundamental) the software is, the more modular and optional and flexible the software should ideally be. Even the distro itself should become more modular and universal — via thoughtful design conventions, rather than rigid and demanding standards. But when in doubt, refer to points 5 and 9.
If you've read the FSF Titanic series [note: this book is an update to that series for the year 2020] there are many more comments on making this sort of thing possible.
As for this list of recommendations — you can think of it as being told what to do, no matter how much someone stresses that the idea is nothing of the sort. On the other hand, I would say that it's unfair to ask people to do something complicated and revolutionary without providing some real suggestions as to how it could be possible.
These guidelines were one of the first steps (predating, and even helping to inspire the FSF Titanic series) towards providing those real suggestions. ⬆
Licence: Creative Commons CC0 1.0 (public domain)