A while ago, some licenses started cropping up that tried to disallow certain use. E.g. the anti ICE license, anti-996 license and similar.
Bruce Perens wrote about this in late 2019[1][2], specifically focusing on the "hippocratic license", proponents of which IIRC at the time attempted to spark a debate if the Open Source definition needs to be changed, to allow discrimination like this.
I haven't seen any example of such a trend which is why this is a very extreme position if not an irrational position to take.
> I’m aware of efforts to build proof-of-stake models. I’ll care once the total energy consumption of all cryptocurrencies drops to a non-bullshit level.
> I will summarily close issues related to Bitcoin or cryptocurrency in any way.
Have we seen any creator of a deep learning library, take a similar position if not stopping any support for anyone using it for mass surveillance or burning up the planet by using their deep learning library to train it on tons of GPUs in the cloud until the data centres catch fire? I don't think so.
It's business as usual for them as the author is getting upset over PoW systems to taint all of them under the same brush despite many alternatives that are more energy efficient than others.
> Have we seen any creator of a deep learning library, take a similar position if not stopping any support for anyone using it for mass surveillance or burning up the planet by using their deep learning library to train it on tons of GPUs in the cloud until the data centres catch fire? I don't think so.
I believe the original creator of YOLO actually quit for that reason.
I'm not sure if I would call it a trend, but I would say projects released under under "Ethical Licenses" (such as the Anti-Capitalist Software License (ACSL)[1] or the Do No Harm License[2]) might fit the "you may only use this product if you support/disavow $x" description.
Interesting! I think there's a tangible difference between "you may only use this product if you support/disavow $x" (as in, some public statement of views is a prerequisite to being allowed to use something) and "you may only use this product if you do not cause harm in some tangible sense".
While I'm not necessarily saying I agree with either, the first is certainly less reasonable than the second (and the two examples linked are of the second kind).
> So you need to have a secure method of communication to transfer the code? Then why not just use whatever that is to transfer stuff?
Because sometimes that secure method of communication is speech. This is a particularly good utility for transferring information to parties that you can talk to verbally. Also, a bit quicker than plugging a USB stick in.
Partial functions are not the same thing as "partially applied functions". Partial functions means that not every element of the domain is mapped to an element of the range, for example:
divTenBy :: Double -> Double
divTenBy n = 10 / n
If you actually call the above function you get a runtime exception. We really don't like functions that do this; they are called partial.
$ python3
Python 3.9.1 (default, Feb 3 2021, 07:04:15)
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 10 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
>>>
Although Python seems to be the exception to the rule here, your example isn't exactly right. In your example, you're performing integer division, not floating point division. In most languages, integer division by zero is indeed some kind of exception (or UB, which will most likely result in a hardware exception, causing a signal sent to the process). However, floating point division by zero is well-defined, as per definition of floating point arithmetic (in some RFCs), and most languages don't throw exceptions in this case. Python indeed seems to be the exception to the rule.
The "right" way for division by zero is controversial, though maybe that would be a solution.
It's clearer for partial function "head :: [a] -> a", which takes the first of a list if it exists, and explodes without dignity if the list is empty (this is what makes head partial).
A proposal is "head :: [a] -> Maybe a", so head returns Nothing when the list is empty.
Not exactly, partial functions can be surjective, eg
f :: Int -> Bool
f 0 = True
f 1 = False
f n = f (n + 1)
is surjective onto Bool but also partial (doesn't return for n > 1). In Haskell we say that when a function doesn't return, the output is bottom, written as ⊥.
You could say that a function f : A -> B is partial if f^{-1}(B \ ⊥) is surjective.
A big benefit, especially with more people, is that it's relatively painless and socially natural to break out into multiple small discussions (as might happen at say, a coffee meeting irl). The awkwardness of 12-person video calls is extremely painful in other software.
This is a misapplication of Popper's tolerance paradox. You do not describe our "being intolerant of their intolerance of our products (content, code, and signals)", but rather our "being intolerant of their products (content, code, and signals".
We-Chat and TikTok are without argument tools of an oppressive regime and therefore constitute intolerance one needs not tolerate, both conceptually and as products.
Is the USA the right regime to morally champion this cause? It the real reason for these bans even remotely associated with this moral objective? I'll leave that up to the reader.
But: with what's happening at the behest of the people who ultimately and directly control the censorship and data of these applications, there is no further difficulty in applying "intolerance to intolerance" in this case.
> You do not describe our "being intolerant of their intolerance of our products (content, code, and signals)", but rather our "being intolerant of their products (content, code, and signals".
Took me a few reads to understand your point of contention, but I'm pretty sure I described it accurately. Their intolerance of our products over whatever concerns they have justifies our intolerance of their products for the same.
If you work for a large social network with huge social responsibilities, discussions about ethics ought to be unavoidable, in my opinion.
If you're writing accounting software for paper suppliers or something equally banal with few ethical implications, then sure, there's no need (and less reason) to have water cooler conversations about pro-genocide agitprop or whatever.
EDIT to add that of course not all departments at Facebook make the sort of decisions that have a marked social impact. More referring to the content policy teams, and the news feed algo teams, and so on.
> If you work ... with huge social responsibilities, discussions about ethics ought to be unavoidable, in my opinion.
The problem is distinguishing ethics from politics. These are very hard to disentangle, because ethical values are usually based on some political orientation. And I don't want Facebook to be making political decisions on my behalf, as a user. And I don't even want internal employee discussions to be derailed by political considerations.
So how do you distinguish ethics from politics? I don't think it's possible, unless the company defines its own ethical values, a priori, and only considers those when making decisions.
If you read the article, I think that this is precisely what Facebook's new policy is trying to do by putting a fence around "social issues."
> because ethical values are usually based on some political orientation
Are you sure that isn't exactly backwards? Because it definitely should be the other direction in my very strong opinion. One's morals or beliefs on ethics should inform their politics, not the other way around.
One way is based around a person's inner being, the other is molding their being and stances based on a sports team.
I don't agree with that. I don't think people choose their ethics based on their politics, but I do think they compromise them in the name of political tribalism. It's a mistake to ascribe the personal ethics of a specific party member to the ethics of the party platform, particularly when there is limited choice of parties.
Facebook must make political decisions, because it must have a stance on content moderation. Even if that stance is "we shouldn't moderate content", that is a political decision. All possible actions and inaction around content moderation require political decisions, and you can't be in the social media business without having a content moderation policy.
I work for an accounting software mega-corp in silicon valley. Our CEO sends company wide emails regarding every notable social issue event. After the George Floyd murder we've been told we need to openly discuss racial issues at work. Managers have been told that they must have these conversations, since if they don't, employees may think that they don't care.
The company's products are in no way social media platforms.
If anyone is interested, there is an excellent "plain style" guide which is recommend for much of the British Civil Service. It's called "Plain Words", and is by Sir Ernest Gowers. It's received an updated version in recent years.
I've seen this same method used on multiples apps I've requested an account deletion on. It's super frustrating. Most companies either don't respond back, say they deleted it when they merely disabled it, or they updated the account name to something else.
Disabling is understandable, because as a company you need a record of transactions or interactions such as TOS agreements for legal purposes. This requires keeping the records.
Changing object name data though is a terrible practice to implement this.
It's a bit more complicated than that. You have a period of time to delete the data. And you can keep enough info to know what data you've deleted, so that if you restore from backups you are able to re-delete without having to go through your backups and delete everything. Probably more that I'm forgetting.
You can keep contact info even after a GDPR deletion request, so long as you're not using it for business purposes.
Otherwise imagine how easy it would be to violate the deletion request if you're running a business and can't remember the names of the people you had deletion requests for. Their data could come up again through normal channels and you'd treat them no differently than another sales contact, thus violating GDPR.
Depends on type of data and other laws. If you are a paying customer you can assume your data will be stay in database, until it is no longer required for audits. GDPR allows for anything that is 'absolutely totally required for providing service'.
In most countries you are required to keep payment records for tax purposes for 5 years or more. As this is a business necessity this trumps the GDPR. And since most business involves some kind of payment it's likely most businesses will not actually fully delete the information they have on file for you.
I noticed a similar thing being done for Bird scooters a while back. I forget the suffix but they did the same and I noticed because I was still authed on my phone after requesting deletion. My token has expired since then though so for all I know they have fully deleted the account since.
Having known people who worked at Bird, I doubt it. They had a real culture of “hack it up and then move on”, going back and fixing stuff like that isn’t in their culture.