Or, How to destroy a project rather than compete with it.
Whether they are conscious of it or not, many parts of our community have engaged in it, and it’s hurting us all. When a project comes along that some people don’t like, but they can’t (or won’t) compete with it, they will too often revert into a series of attacks that systematically tear that project down.
Those steps, as I have observed them, are recorded below. I do this not to instruct people on how to do it (nobody ever needed it described to them in detail in order to participate in it) but rather in the hope that it will help the rest of us identify it when it starts to happen, and call it our for what it is.
Step 1: Demonize the project
These things always start with an attack on the character of the project itself. The groups that strongly oppose it are, at this point, always too small for their opinion to change anything. But they are almost always vocal enough to be heard, and that’s all that is needed. As post after post, comment after comment, starts to saturate communication channels, they setup the meme that this project is not just technically bad, but morally bad. It shouldn’t exist, the people who built it shouldn’t have built it, and people that use it shouldn’t be using it. They will use emotionally charged language, hyperbole or outright lies to turn people against the very idea of the project existing. They won’t turn everybody, in fact they won’t even turn a majority, but if they can convince enough people that they are right, they can direct this new following towards the next step.
Step 2: Intimidate their supporters
Having raised their quasi-army of opponents through persistent attacks on the project, they will turn them loose on the supporters of that project. They can’t attack them directly, at this point they’re still a relatively small movement and dependent on the acquiescence of the rest of the community to continue in this behavior. Instead they will playfully mock those supporters, making a point to embarrass them or question their intelligence because of their support. The point of this isn’t to change anybody’s mind, it’s to drive those supporters underground, make them hesitant to show their support, and make it look like the project is losing support even if it isn’t. Without a tangible community of users and supporters, the project’s contributors become entirely dependent on each other for the support and recognition that is essential in motivating volunteer contributions.
Step 3: Undermine their contributors
With the loss of a protective support community, and an increasingly emboldened number of attackers, they will at this point begin to attack the people actually contributing to the project itself. By now those involved in the project will have begun to close themselves off from the community, a reaction to try and insulate themselves from what is happening to them. Because of this, there isn’t much the opponents can do to them directly, so instead they begin to corner them in that project by cutting them off from any other project. Calls for boycotts will go out, project contributors will become persona-non-grata in other communities, and it will be at least strongly implied (if not explicitly declared) that any project or community that collaborates with them will suffer the same fate. With no supporters giving them recognition for work on the project, and being increasingly unable to have any of their work recognized and accepted by other projects, contributors will start to drop out, both of the targeted project itself and quite often the entire FOSS community as well.
Step 4: Attack the person
Quite often the previous steps are enough to destroy a project. With supporters not showing support, and contributors stopping their contribution, it would take a very strongly-willed person to carry on. If the project manages to continue with any measure of success, the attacks on the people at the core of it will become intense. Not many projects have survived to this point, so it’s difficult to give general descriptions of what will happen, but things will start to get very ugly, even to threats of violence. If the opposition group hasn’t begun to experience their own negative blow-back from what they’ve been doing, they will be able to continue these attacks until the people driving the project either give up, or are driven completely away from working in the community.
All of this happens only when it’s allowed to happen. It isn’t inevitable, nor is it unstoppable. It can be stopped at any point along this path, if enough of us decide that it ought to be stopped. I hope I don’t have to write another post convincing anybody that is ought to be stopped.
Prevention starts with identifying that this is happening, which is the reason I detailed it’s progress above. Once we know that it is happening, and how far along it has gotten, we can start to roll it back and undo some of the damage already done.
Defend the person
If it has gotten all the way to the final attack on the head of the project we must, as a community, be outspoken in our defence of them as people and as members of our community. You don’t have to like their project, or even support it, to honestly give support to the person. Ugly attacks, threats of violence, and any other attack on a person or their character should never be tolerated, and we need to make sure everybody knows that it won’t be tolerated.
Support the contributors
When the project’s contributors are under attack, and people are trying to isolate them from the rest of the community, it is important for them to be welcomed by other groups and projects, to continue to give recognition and value to the contributions they make elsewhere. At this point we are in danger of losing them as FOSS contributors, not just to one project but to any project, current of future. Even if you don’t see value in their current work, the lost potential for future contributions should be enough to motivate you to give them your support.
If you support a project, don’t be afraid or ashamed to let people know it. When the supporters are being mocked or insulted, they need to hear from each other, or else feel alone in their support. Let them know they are not alone, let them know that you are not afraid to be seen supporting that project. It only takes a few voices, a few brave voices who refuse to be quieted, to make the others feel confident enough to do likewise.
Don’t be afraid
The best, and easiest, time to prevent this from happening is at the very start, when that initial opposition tries to turn you against a project. Whenever somebody starts to tell you that a project shouldn’t exist, or that it’s existence is going to be bad for you, be immediately skeptical. When they want to you be angry or afraid of it you should be questioning their intention. Especially when the code is open, it’s nearly impossible that it’s going to be able to cause you any real or lasting harm. Don’t let your emotions be hijacked by those who want to use you for their own purposes. Keep calm, use what works for you, make something better if you don’t like what’s available.