This is peak licensing
Wait I though the point of these post-opensource clauses (see also: anti-capitalist licence, WTFPL, etc.) was to scare off the big corporations lawyers and make sure your code won’t end up in AWS or something like that? Are Linux distros the only actors who are still giving a shit about licencing?
If you want to scare corporations use AGPL or, if you’re feeling spicy, SSPL. Do not use WTFPL, it’s too permissive.
https://opensource.google/documentation/reference/using/agpl-policy/
AGPL policy: Don’t use.
Always were.
Big companies care too but only if their cya arm knows enough about software to actually enforce anything. A lot don’t.
The biggest problem with such a clause is that it is hard to define “evil”, even if it seems clear to you. Some people think that abortion is evil, so are abortion clinics banned from Json? What about the military and weapon manufacturers? Killing is evil, but you all know how the discourse about the military as national heroes that can’t be evil in the US goes. What about a service like X - is it evil? Can you define “evil” for a surveillance tool that brands itself as ad tech?
The clause also states that the product MUST be used for Good, which is a higher bar. I’d imagine most things JSON is used for are fairly morally neutral.
Space cops
I’d imagine most things JSON is used for are fairly morally neutral.
a lawsuit waiting to happen. Json has been a real dick lately sending his lawyers after everyone
Yeah I would imagine this is the point
Ask every single person what is the definition of evil and merge all the answers into one definition
The law is basically this, it’s why nearly everyone hates the government.
That’d be all the things.
You’d end up with Schrödinger’s Evil
Every person should act according to their own morals.
There would be so much violence in the world if they did.
OK but how can json have a license? I understand a particular json parser having a license, but how can a specification, which contains no code, even be considered “software”?
Uh define code there. What about when storage and code are both on a machine that considers both instructions and data to be data? Is a spec not a creative work? Is code not just a spec?
It’s generally accepted that file formats aren’t protected IP, so you can write a compatible reader or writer and be in the clear as long as you reused no code from the original reader/writer. The specification may have licence terms that restrict who you can share the spec with, but you don’t necessarily need the official spec to come up with a compatible implementation. Plenty of file formats have been reverse engineered over the years even when the original didn’t have a written spec.
The question on stack overflow: PHP Fatal error: Call to undefined function json_decode()
fun fact: IBM asked for, and got, an exception from that clause.
I remember when he told that story, it was something like this: one company which I don’t want to name, so will just say it’s initials - IBM. He also authorised usage for IBM “and it’s minions”.
Well, IIRC they did work with the Nazis to manage concentration camps and more
https://www.historynewsnetwork.org/article/ibms-role-in-the-holocaust-new-documents-confirm-t
Did they reveal what the evil task they were using it for was?
They make chips for missiles.
Knowing IBM, probably something to do with Nazis
Probably inflicting Websphere on some company.
Weblogic
I guess they’ll use JSON when they’re building the database to do the next holocaust.
This isn’t talked about enough.
So do I have to look it up now? Ugh, but I am le tired
Source?
I binged this with “ibm json evil”: https://gist.github.com/kemitchell/fdc179d60dc88f0c9b76e5d38fe47076
Binged (the search engine) and binged (the eating disorder/content consumption method) look identical and this fucks me up.
That’s what Binging with Babish ran into early on I believe. Not sure he is still around, his early stuff was fun though
Homographs are wild. I wish I could be around in a thousand years when scholars are arguing over interpretations of every day English sentences; especially idioms.
So do you use JSON for your endpoints?
No we use XML
Oh interesting why is that?
Uhhh…no reason
Well SOAP is inherently evil so that just makes sense
I work with SOAP for a legacy API
fucking kill me, I beg you
No can do, but I can put you in an envelope, head optional.
At least it’s not GraphQL
GraphQL saved my ass on a term project that required extensive polling of the GitHub API. Turned a calculated 47 days of calls just under the rate limit into just 12 hours.
What happens is that engineers look at a technology and say, this is too complex, I just need something simple. So they invent and/or adopt something simpler than the popular technology of the day.
But as they build more and more things using the technology, they realize that it needs more features, so those get added on. This happens over and over again to the technology with more and more features being added to it, until a new set of engineers look at it and say this is too complex, I just need something simple…
You’ve just described what is probably the most well-known xkcd comic in a somewhat long-winded fashion.
Slightly different though.
Effectively not much, IMHO, but whatever - I think you got my gist.
can we please pronounce that evil in a British accent: ivil
How does one address the paradox that, as JSON itself is evil, one cannot use it for evil?
(opinions may vary on the above; but it’s mine, so nyah nyah.)
It’s less evil than XML or YAML
XML is ok for complex docs where you have a detailed structure and relationships. JSON is good for simple objects. YAML is good for being something to switch to for the illusion of progress.
Meh. I just wish XML was easier to parse. I have to shuttle a lot of XML data back and forth. As far as I can tell, the only way to query the data is to download a whole engine to run a special query language, and that doesn’t really integrate into any of my workflows. JSON retains the hierarchy and is trivially parsed in almost any programming language. I bet a JSON file containing the exact same data would be much smaller also, since you don’t list each tag twice.
There are parsing libraries, maybe not as many or as open, but they exist.
YAML is (mostly) a superset of JSON. Is the face hugger any less evil than the alien bursting out of your chest?
It’s got enough serious flaws and quirks that I can feel smug hating on it. JSON is far from perfect, but overall it’s the least worst of human-readable formats.
Only Python manages to get away with syntactical indentation.
The complaints about yaml’s quirks (
no
evaluating tofalse
, implicit strings, weird number formats, etc.) are valid in theory but I’ve never encountered them causing any real-life issues.no
doesn’t becomefalse
, it becomesNorway
, and when converted to a boolean, Norway is true. The reason’s because one on YAML’s native types is an ISO country code enum, and if you tell a compliant YAML implementation to load a file without giving it a schema, that type has higher priority than string. If you then call a function that converts from native type to string, it expands the country code to the country name, and a function that coerces to boolean makes country codes true.The problem’s easy to avoid, though. You can just specify a schema, or use a function that grabs a string/bool directly instead of going via the assumed type first.
The real problem with YAML is how many implementations are a long way from being conformant, and load things differently to each other, but that situation’s been improving.
It’s still using the lesser of 3 evils, we need a fourth human readable data interchange format.
"Problem: There are
34 standardsObligatory xkcd
>TOML has entered the channel
Any human-readable format compatible with JSON is inevitably going to be used as an interchange format…
Hmm, hard to argue with that :P
I’ll be downloading this one
Spoilsports. Next they’ll be telling me I can’t use apple software in the development, design, manufacture, or production of nuclear, missile, or chemical or biological weapons.
Me buying my first IBM ThinkPad online:
IBM: are you planning to use this ThinkPad to produce weapons of mass destruction?
Me: I wasn’t before, but now I’m curious
So if I use it to draw a rocket, I’m violating its license?
If its a design for something you plan to build then all your software is going to turn into buggy java applets and Tim Apple will give you a wet willy the next time you’re trying to look cool. It’s right there in the license.
Ah, the ambiguity of words - the definition of “evil” lies in the eye of the beholder.
Well then we just kill all the Beholders and voila, no more evil.
I mean… Missiles and rockets aren’t the same thing…
Not every missile is a rocket, but every rocket is a missile.
I specifically remember being in elementary school and learning that the school code of conduct disallowed “throwing of missiles” which was a blanket term for any item that the school deemed should not have been thrown including snowballs
Exactly
Redstone/Mercury has entered the chat
Wow, when did minecraft add other planets?
There’s a number of mods that add space travel. Ad Astra is the most recent one
The FSF also lists any software as non-free which uses the beer license (use the software in any way you want, and should you ever meet the author, pay them a beer).
I can’t stand beer - is there a rum & Coke license?
Is it really contrarian to like the FSF these days? I mean people seem to hate Stallman too but both are pretty important in the history and continuing existence of free software.
The four essential freedoms are in my view as important as the FSF says, and any license that doesn’t meet all four will be met with skepticism from me absolutely.
Also, the GPL is a real, legal license, and even if there’s a silly clause that causes it to be incompatible, that’s still a legal liability - of course they have to take it seriously.
I thought it was free as in speech not free as in beer? So if it costs a beer then isn’t it still free (as in speech)? Or is this a OSI vs FSF difference?
According to the FSF, it’s only free if you tell people what they can do with it, but only very specific things
You’re allowed to charge before you give access to the software, but then can’t restrict the people you give it to giving it to more people. The beer licence sounds like those people would be on the hook for beer, too.
Ah yes that makes sense.
I was thinking the same thing, does anyone have any context as to why the Beer license is not considered free? If I’m to guess it probably has something to do with copyleft-restrictions (or lack thereof).
Everybody gangsta with the “don’t be evil” clause until the authors turn out to be a nutjob who thinks trans people are blights against God and must be exterminated.
I doubt (or at least hope) that that’s not what they think, but hopefully that illustrates why the clause is dumb.
100%, and it doesn’t seem to lay out a legal definition of “good” so it’s actually worse than useless - it’s ambiguous.