Rename SLUR_REGEX to POST_FILTER_REGEX POST_FILTER_REGEX gets its value from ENV var LEMMY_POST_FILTER_REGEX and has a default that matches nothing (.^) updating test cases to use a filtering regex...
Being free s/w does not automatically make s/w appear out of nowhere.
No, but it creates the potential for someone else to create it if they wish.
So the design can assume everyone is using the same slur filter.
I don’t know much about the design of Lemmy, but I hope it doesn’t assume this, because that would be bad design, free software or otherwise. Federation over an open protocol means Lemmy can federate with other instances of Lemmy (including different versions of Lemmy, which may not even have the same filters), or alternative home-grown implementations (like, say, if I decided to build ActivityPub federation into Postmill for some reason). This is a strength (or downside, depending on your point of view) of a federation.
… inappropriately hard-coded as a result of this biased authoritarian tendency, and how will that break the network when ppl hack it to be politically neutral or reasonable for a wider audience than Antifa?
This makes a number of assumptions that I would not really agree with; namely, that it’s possible or even desirable to be “non-political” or “neutral”; or that catering to an anti-antifa audience is a worthy goal.
No, but it creates the potential for someone else to create it if they wish.
No it doesn’t. That software doesn’t execute in a vacuum. It needs to interact with other software. A recent proven disaster is with the Signal’s so-called “free software”. It’s GPL’d but if you modify it, it is something else, and that something else is legally prohibited from connecting to the Signal network. Someone created “Libresignal” and Open Whisper Systems threatened lawsuit. Libresignal shut down and abandoned their work.
It’s a similar situation here. You can modify Lemmy all you want, which makes it something else, but that doesn’t give you permission to connect to Lemmy instances. And even if you get permission, that doesn’t mean it will function. I already detailed why.
Not to mention the software doesn’t exist. The failure to design Lemmy well puts *users* in a position of having to be *developers*, in the best case. If a *user* needs to write code, it’s a bad design. It absurdly restricts users to those with expertise and skills that a software user shouldn’t need to have.
but I hope it doesn’t assume this
Of course it does. It’s hard-coded. It’s a valid assumption, and the assumption simplifies the design. Why would they do extra work to assume the code isn’t what it is? If the design assumption is that the slur filter is changeable, then it’s a bad idea to hard-code the slur filter in the first place. You don’t hard-code something that’s presumed mutable.
that it’s possible or even desirable to be “non-political” or “neutral”
It’s actually trivial to create a communication tool like Lemmy without political bias. You simply don’t hard-code things like slur filters and you give moderation freedom to the instance operators not the developers.
or that catering to an anti-antifa audience is a worthy goal.
Let’s not conflate “anti-antifa” with “non-antifa”.
Perhaps you have the misconception that Antifa is simply a synonym for being anti racist. They are also anti-capitalist and anti-government, and they do not renounce violent protest. This makes them a relatively small fringe group. For example, most Americans (conservative and liberal) endorse capitalism and condemn violent forms of protest. That’s probably roughly ~300 million ppl who aren’t onboard with Antifa ideology. Why shouldn’t they have a voice?
No it doesn’t. That software doesn’t execute in a vacuum. It needs to interact with other software. A recent proven disaster is with the Signal’s so-called “free software”. It’s GPL’d but if you modify it, it is something else, and that something else is legally prohibited from connecting to the Signal network. Someone created “Libresignal” and Open Whisper Systems threatened lawsuit. Libresignal shut down and abandoned their work.
As I understand it, the LibreSignal issue was a matter of trademark enforcement (specifically, the trademark “Signal”). Signal did try to get LibreSignal to stop using Signal’s servers, but it’s unclear to me (IANAL) if Signal had the legal or technical ability to block LibreSignal from using Signal’s servers (and I don’t think you’d accomplish this with a trademark suit). LibreSignal was abandoned voluntarily, not because Signal forced them to.
It’s also unclear how much of this is relevant to Lemmy. I’m unaware of the Lemmy developers threatening any lawsuits over forks, or expressing a wish to block forks from federating with Lemmy.
(Edit: It’s also worth noting, Signal’s developer is openly hostile to the idea of federation and wishes to control every aspect of “his product.” I see no indication that the developers of Lemmy share that view. If they did, they would not have designed Lemmy to be federated to begin with.)
It’s a similar situation here. You can modify Lemmy all you want, which makes it something else, but that doesn’t give you permission to connect to Lemmy instances. And even if you get permission, that doesn’t mean it will function. I already detailed why.
It’s not clear to me that other ActivityPub servers need “permission” to federate with Lemmy at all. Of course, each instance sets its own federation policies, and can use blocklists and allowlists to control what that instance federates with. Mastodon instances often use these to block known fascist instances.
Of course it does. It’s hard-coded. It’s a valid assumption, and the assumption simplifies the design. Why would they do extra work to assume the code isn’t what it is? If the design assumption is that the slur filter is changeable, then it’s a bad idea to hard-code the slur filter in the first place. You don’t hard-code something that’s presumed mutable.
An instance of Lemmy using a hard-coded slur filter != That instance of Lemmy assuming other peers are using the exact same slur filter (I also can’t tell if you’ve read the code and know for a fact that Lemmy works like this, or are assuming it does based on the presence of the hard-coded word filter). This is an incorrect assumption even if Lemmy is non-free software, because as I said before, ActivityPub is a completely open standard and anyone can implement a Lemmy-compatible server from the ground up with it. It would be poor design for a federated server to make any assumptions whatsoever about the internals of its peers. And, even if Lemmy was non-free and using its own secret protocol, it still can’t make that assumption because other versions of Lemmy may have different filters.
Perhaps you have the misconception that Antifa is simply a synonym for being anti racist. They are also anti-capitalist and anti-government, and they do not renounce violent protest.
It’s more a synonym for anti-fascist, which is what antifa is short for. And, yes, many anti-fascists are not non-violent, for perfectly understandable reasons I’d think. I’m not going to argue politics here because the subject of the discussion is Lemmy’s slur filter, which explicitly targets hate speech, not differing political opinions.
For example, most Americans (conservative and liberal) endorse capitalism and condemn violent forms of protest. That’s probably roughly ~300 million ppl who aren’t onboard with Antifa ideology. Why shouldn’t they have a voice?
As mentioned before, while the developers of Lemmy are communists and this particular instance is an explicitly anti-fascist instance, the slur filter targets expressions of hate, not discussion of capitalism or liberalism. I’m not sure what valuable discussion is being suppressed by this filter. As I see it, with few exceptions, anyone using such language is not participating in good faith.
(Edit: I’m aware Lemmy’s word filter at present seems to suffer from the “Sc*nthorpe” problem and thus in its current implementation probably could suppress actual discussion. I believe this to be a bug and not intentional.)
As I understand it, the LibreSignal issue was a matter of trademark enforcement (specifically, the trademark “Signal”). Signal did try to get LibreSignal to stop using Signal’s servers, but it’s unclear to me (IANAL) if Signal had the legal or technical ability to block LibreSignal from using Signal’s servers (and I don’t think you’d accomplish this with a trademark suit).
The trademark case was the easy legal tool that OWS lawyers could intimidate LibreSignal with. The lawyers threatened F-Droid and F-Droid folded. F-Droid removed LibreSignal, and LibreSignal did not have the resources to fight OWS lawyers. Trademark infringement of course wasn’t the real reason for OWS threats. The real reason was that LibreSignal made it possible for users to violate OWS’s network protectionist ToS. OWS has no direct case against LibreSignal for that, because it’s users of LibreSignal that violate the ToS, not the LibreSignal project. The LibreSignal project isn’t bound by the ToS – only users who agree to the terms can be subject to them. OWS would have to sue each of their own users who make use of LibreSignal independently, which is highly impractical. This is why they pushed the trademark angle. It was a legal hack to impose their network protectionism.
LibreSignal was abandoned voluntarily, not because Signal forced them to.
It wasn’t ordered by a judge, but force comes in many forms. LibreSignal was abandoned because they couldn’t finance the legal battle. That’s force. To be unable to finance the cost of freedom is to not have the freedom.
It’s also unclear how much of this is relevant to Lemmy. I’m unaware of the Lemmy developers threatening any lawsuits over forks, or expressing a wish to block forks from federating with Lemmy.
It’s relevant to your claim that free software = freedom to use the network how you wish. Whether the Lemmy project would actually make good on enforcement of their Antifa agenda remains a question. But certainly they can if they want. They can trademark “Lemmy” if they want, and they can create a ToS that bans unauthorized Lemmy mods if they want. So it’s wrong to claim GPL’d s/w is the end of the story as you did.
(Edit: It’s also worth noting, Signal’s developer is openly hostile to the idea of federation and wishes to control every aspect of “his product.” I see no indication that the developers of Lemmy share that view. If they did, they would not have designed Lemmy to be federated to begin with.)
It’s also worth noting that the Lemmy project openly hostile to non-supporters of Antifa. It’s also worth noting that the Antifa has no restraint in pushing their ideology – they don’t even renounce violent protest.
It’s not clear to me that other ActivityPub servers need “permission” to federate with Lemmy at all.
Using a network without permission is trespassing. Permission need not be express; it can be implied, but ultimately the owner of a server has a right to control access to their resource.
An instance of Lemmy using a hard-coded slur filter != That instance of Lemmy assuming other peers are using the exact same slur filter
This is a bad assumption. You cannot assume that a hard-coded elements are not relied on in a design. Such an assumption is perversely stupid. If you must assume something, you should assume that a project may rely on hard-coded behaviors. This is why (as I pointed out) it’s a poor design to hard-code the slur filter.
As mentioned before, while the developers of Lemmy are communists and this particular instance is an explicitly anti-fascist instance, the slur filter targets expressions of hate, not discussion of capitalism or liberalism.
Where was this “mentioned before”? You’ll need to quote that. This instance is not simply anti-fascist – it’s actually Antifa.
I’m not sure what valuable discussion is being suppressed by this filter.
Suppression is not a significant problem with the slur filter. Other problems arise out of the poor design of the filter, like users having to become programmers to change the filter, and the interoperability risks I detailed (both legal and technical).
As I see it, with few exceptions, anyone using such language is not participating in good faith.
Not if they’re using the language to discuss the language. e.g. “I was minding my own business and someone called me a k-i-k-e”. Suppressing that would be to suppress the victim of hate. It’s profoundly short-sighted to think those words are only directly inflicted on others.
No, but it creates the potential for someone else to create it if they wish.
I don’t know much about the design of Lemmy, but I hope it doesn’t assume this, because that would be bad design, free software or otherwise. Federation over an open protocol means Lemmy can federate with other instances of Lemmy (including different versions of Lemmy, which may not even have the same filters), or alternative home-grown implementations (like, say, if I decided to build ActivityPub federation into Postmill for some reason). This is a strength (or downside, depending on your point of view) of a federation.
This makes a number of assumptions that I would not really agree with; namely, that it’s possible or even desirable to be “non-political” or “neutral”; or that catering to an anti-antifa audience is a worthy goal.
No it doesn’t. That software doesn’t execute in a vacuum. It needs to interact with other software. A recent proven disaster is with the Signal’s so-called “free software”. It’s GPL’d but if you modify it, it is something else, and that something else is legally prohibited from connecting to the Signal network. Someone created “Libresignal” and Open Whisper Systems threatened lawsuit. Libresignal shut down and abandoned their work.
It’s a similar situation here. You can modify Lemmy all you want, which makes it something else, but that doesn’t give you permission to connect to Lemmy instances. And even if you get permission, that doesn’t mean it will function. I already detailed why.
Not to mention the software doesn’t exist. The failure to design Lemmy well puts *users* in a position of having to be *developers*, in the best case. If a *user* needs to write code, it’s a bad design. It absurdly restricts users to those with expertise and skills that a software user shouldn’t need to have.
Of course it does. It’s hard-coded. It’s a valid assumption, and the assumption simplifies the design. Why would they do extra work to assume the code isn’t what it is? If the design assumption is that the slur filter is changeable, then it’s a bad idea to hard-code the slur filter in the first place. You don’t hard-code something that’s presumed mutable.
It’s actually trivial to create a communication tool like Lemmy without political bias. You simply don’t hard-code things like slur filters and you give moderation freedom to the instance operators not the developers.
Let’s not conflate “anti-antifa” with “non-antifa”.
Perhaps you have the misconception that Antifa is simply a synonym for being anti racist. They are also anti-capitalist and anti-government, and they do not renounce violent protest. This makes them a relatively small fringe group. For example, most Americans (conservative and liberal) endorse capitalism and condemn violent forms of protest. That’s probably roughly ~300 million ppl who aren’t onboard with Antifa ideology. Why shouldn’t they have a voice?
As I understand it, the LibreSignal issue was a matter of trademark enforcement (specifically, the trademark “Signal”). Signal did try to get LibreSignal to stop using Signal’s servers, but it’s unclear to me (IANAL) if Signal had the legal or technical ability to block LibreSignal from using Signal’s servers (and I don’t think you’d accomplish this with a trademark suit). LibreSignal was abandoned voluntarily, not because Signal forced them to.
It’s also unclear how much of this is relevant to Lemmy. I’m unaware of the Lemmy developers threatening any lawsuits over forks, or expressing a wish to block forks from federating with Lemmy.
(Edit: It’s also worth noting, Signal’s developer is openly hostile to the idea of federation and wishes to control every aspect of “his product.” I see no indication that the developers of Lemmy share that view. If they did, they would not have designed Lemmy to be federated to begin with.)
It’s not clear to me that other ActivityPub servers need “permission” to federate with Lemmy at all. Of course, each instance sets its own federation policies, and can use blocklists and allowlists to control what that instance federates with. Mastodon instances often use these to block known fascist instances.
An instance of Lemmy using a hard-coded slur filter != That instance of Lemmy assuming other peers are using the exact same slur filter (I also can’t tell if you’ve read the code and know for a fact that Lemmy works like this, or are assuming it does based on the presence of the hard-coded word filter). This is an incorrect assumption even if Lemmy is non-free software, because as I said before, ActivityPub is a completely open standard and anyone can implement a Lemmy-compatible server from the ground up with it. It would be poor design for a federated server to make any assumptions whatsoever about the internals of its peers. And, even if Lemmy was non-free and using its own secret protocol, it still can’t make that assumption because other versions of Lemmy may have different filters.
It’s more a synonym for anti-fascist, which is what antifa is short for. And, yes, many anti-fascists are not non-violent, for perfectly understandable reasons I’d think. I’m not going to argue politics here because the subject of the discussion is Lemmy’s slur filter, which explicitly targets hate speech, not differing political opinions.
As mentioned before, while the developers of Lemmy are communists and this particular instance is an explicitly anti-fascist instance, the slur filter targets expressions of hate, not discussion of capitalism or liberalism. I’m not sure what valuable discussion is being suppressed by this filter. As I see it, with few exceptions, anyone using such language is not participating in good faith.
(Edit: I’m aware Lemmy’s word filter at present seems to suffer from the “Sc*nthorpe” problem and thus in its current implementation probably could suppress actual discussion. I believe this to be a bug and not intentional.)
The trademark case was the easy legal tool that OWS lawyers could intimidate LibreSignal with. The lawyers threatened F-Droid and F-Droid folded. F-Droid removed LibreSignal, and LibreSignal did not have the resources to fight OWS lawyers. Trademark infringement of course wasn’t the real reason for OWS threats. The real reason was that LibreSignal made it possible for users to violate OWS’s network protectionist ToS. OWS has no direct case against LibreSignal for that, because it’s users of LibreSignal that violate the ToS, not the LibreSignal project. The LibreSignal project isn’t bound by the ToS – only users who agree to the terms can be subject to them. OWS would have to sue each of their own users who make use of LibreSignal independently, which is highly impractical. This is why they pushed the trademark angle. It was a legal hack to impose their network protectionism.
It wasn’t ordered by a judge, but force comes in many forms. LibreSignal was abandoned because they couldn’t finance the legal battle. That’s force. To be unable to finance the cost of freedom is to not have the freedom.
It’s relevant to your claim that free software = freedom to use the network how you wish. Whether the Lemmy project would actually make good on enforcement of their Antifa agenda remains a question. But certainly they can if they want. They can trademark “Lemmy” if they want, and they can create a ToS that bans unauthorized Lemmy mods if they want. So it’s wrong to claim GPL’d s/w is the end of the story as you did.
It’s also worth noting that the Lemmy project openly hostile to non-supporters of Antifa. It’s also worth noting that the Antifa has no restraint in pushing their ideology – they don’t even renounce violent protest.
Using a network without permission is trespassing. Permission need not be express; it can be implied, but ultimately the owner of a server has a right to control access to their resource.
This is a bad assumption. You cannot assume that a hard-coded elements are not relied on in a design. Such an assumption is perversely stupid. If you must assume something, you should assume that a project may rely on hard-coded behaviors. This is why (as I pointed out) it’s a poor design to hard-code the slur filter.
Antifa is far more than that.
Where was this “mentioned before”? You’ll need to quote that. This instance is not simply anti-fascist – it’s actually Antifa.
Suppression is not a significant problem with the slur filter. Other problems arise out of the poor design of the filter, like users having to become programmers to change the filter, and the interoperability risks I detailed (both legal and technical).
Not if they’re using the language to discuss the language. e.g. “I was minding my own business and someone called me a k-i-k-e”. Suppressing that would be to suppress the victim of hate. It’s profoundly short-sighted to think those words are only directly inflicted on others.