• lime!
    link
    fedilink
    English
    2631 month ago

    fun fact: IBM asked for, and got, an exception from that clause.

  • @[email protected]
    link
    fedilink
    1371 month ago

    So do you use JSON for your endpoints?

    No we use XML

    Oh interesting why is that?

    Uhhh…no reason

    • @kautau
      link
      621 month ago

      Well SOAP is inherently evil so that just makes sense

      • @bahbah23
        link
        241 month ago

        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…

              • @[email protected]
                link
                fedilink
                129 days ago

                “Hey, this is exactly like a strawberry pie, if you replace the strawberry by veggies and meat, and the pie by water. It’s actually a stew.”

                By all means, do whatever comparison you want, but I’ll reserve the right to disagree.

              • @[email protected]
                link
                fedilink
                31 month ago

                I did, but the direction is reversed. XKCD talks about how standards multiply and get more complex. This is talking about a different motivator for computing technologies, which is having a leaner, simpler alternative, that eventually gets bloated.

        • @NiHaDuncan
          link
          71 month ago

          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.

  • @[email protected]
    link
    fedilink
    English
    721 month ago

    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?

  • Arghblarg
    link
    fedilink
    671 month ago

    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.)

      • @[email protected]
        link
        fedilink
        351 month ago

        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.

        • Radioactive Butthole
          link
          fedilink
          English
          121 month ago

          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.

          • @[email protected]
            link
            fedilink
            230 days ago

            I still want someone to explain to me why XML even needs namespaces (which cause about 95% of all issues regarding XML).

            There is a way to separate different XML structures, it’s called files.

          • JackbyDev
            link
            fedilink
            English
            130 days ago

            XML is also tricky to parse because people forget it is for documents too. It’s basically like HTML. Mixed content elements are allowed. <foo>hey <bar>there</bar> friend</foo> is valid XML. So iterating over elements is trickier than JSON (which is just key value pairs and arrays).

            • Radioactive Butthole
              link
              fedilink
              English
              21 month ago

              That’s kind of my point though. For being made specifically for the purpose of being machine readable, its kind of a pain in the ass to work with.

              I want a command line utility where I can just

              xmlquery --query 'some/query' --file foo.xml --output foo-out.xml
              

              or in python

              
              import xml
              
              with open("foo.xml", "r") as file:
                  data = xml.load(file.read())
              

              That’s the amount of effort I want to put into parsing a data storage format.

      • @[email protected]
        link
        fedilink
        7
        edit-2
        1 month ago

        It’s still using the lesser of 3 evils, we need a fourth human readable data interchange format.

      • @[email protected]
        link
        fedilink
        English
        51 month ago

        YAML is (mostly) a superset of JSON. Is the face hugger any less evil than the alien bursting out of your chest?

        • @SpaceNoodle
          link
          11 month ago

          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.

          • @renzev
            link
            English
            41 month ago

            The complaints about yaml’s quirks (no evaluating to false, implicit strings, weird number formats, etc.) are valid in theory but I’ve never encountered them causing any real-life issues.

            • AnyOldName3
              link
              2
              edit-2
              30 days ago

              no doesn’t become false, it becomes Norway, 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. This paragraph was wrong. The other paragraphs are unaffected.

              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.

              • JackbyDev
                link
                fedilink
                English
                230 days ago

                Are you sure? I’ve always heard it the other way around and a quick search for "YAML norway’ gives this

                The reason to why this is problematic in some cases, is “The Norway Problem” YAML has: when you abbreviate Norway to its ISO 3166-1 ALPHA-2 form NO, YAML will return false when parsing it

                Also, YAML 1.2 (2009) changed the format of booleans to only be case insensitive true and false. “No” no longer is false if you’re parsing as a version 1.2 document.

                • AnyOldName3
                  link
                  230 days ago

                  Yeah, looks like I’d remembered it backwards. It’s still an easily solvable problem by not using a load everything as whatever type you feel like function.

                • JackbyDev
                  link
                  fedilink
                  English
                  230 days ago

                  I believe they’re getting themselves confused. no was false prior to YAML 1.2. This is known as the “Norway problem.”

      • @DreamlandLividity
        link
        1
        edit-2
        30 days ago

        Idk, I never used the weird advanced features of YAML, but the basics seems really nice for stuff you want people, especially non programmers, to edit. I generally default to YAML for config files.

  • 👍Maximum Derek👍
    link
    fedilink
    401 month ago

    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.

    • @Agent641
      link
      381 month ago

      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

      • 👍Maximum Derek👍
        link
        fedilink
        English
        151 month ago

        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.

          • Midnight Wolf
            link
            English
            21 month ago

            Wow, when did minecraft add other planets?

          • @[email protected]
            link
            fedilink
            English
            21 month ago

            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

  • @[email protected]
    link
    fedilink
    391 month ago

    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?

  • @renzev
    link
    311 month ago

    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”?

    • @[email protected]
      link
      fedilink
      English
      7
      edit-2
      1 month ago

      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?

      • AnyOldName3
        link
        121 month ago

        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.

    • shastaxc
      link
      fedilink
      230 days ago

      The screenshot clearly is not talking about the json text file format, but a PHP extension called json.

  • @[email protected]
    link
    fedilink
    301 month ago

    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).

    • @[email protected]
      link
      fedilink
      101 month ago

      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?

      • Laurel Raven
        link
        fedilink
        English
        31 month ago

        According to the FSF, it’s only free if you tell people what they can do with it, but only very specific things

        • @[email protected]
          link
          fedilink
          41 month ago

          As someone else commented, it appears that the license isn’t free because when you share it the new person now owes the original author a beer if they ever meet them, so the middle person isn’t free to do whatever they like because of the ongoing obligation being forced on their users.

      • AnyOldName3
        link
        31 month ago

        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.

      • @thebestaquaman
        link
        21 month ago

        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).

    • @[email protected]
      link
      fedilink
      7
      edit-2
      1 month ago

      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.

        • @[email protected]
          link
          fedilink
          2
          edit-2
          29 days ago

          Yeah, personally I think the copyleft the GPL grants is really powerful and it’s the only license that gets used in my projects. Thanks for that link, those licenses always rubbed me the wrong way.

          • JackbyDev
            link
            fedilink
            English
            129 days ago

            Same here, unless I’m making something truly trivial. Even half baked POCs I know I won’t finish or go anywhere I slap AGPL on.

  • @[email protected]
    link
    fedilink
    261 month ago

    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.

    • @[email protected]
      link
      fedilink
      71 month ago

      100%, and it doesn’t seem to lay out a legal definition of “good” so it’s actually worse than useless - it’s ambiguous.

  • @[email protected]
    link
    fedilink
    21
    edit-2
    29 days ago

    This gave me a brilliant idea:

    • Everyone adds a clause to whatever license they use stating “any part of this software may not be used for war purposes of any kind”
    • We wait until software with these licences is spread across the supply chain of everything on Earth
    • World peace, as no country would be legally allowed to wage war
    • @[email protected]
      link
      fedilink
      2130 days ago

      “Vladimir Putin, you are under arrest for war crimes.”

      “It was a special military operation! It was all the fault of the Nazis!”

      “No, not for all that. You’re under arrest for violating the GNU GPL! Prepare to meet your source, licencef*****!!!”

      *blam* *blam* *blam*

    • @[email protected]
      link
      fedilink
      2
      edit-2
      1 month ago

      As a php user, this is hilarious.

      The issue shouldn’t effect any php users today, as this is a issue with older versions of PHP 5.5, where the “outdated PHP 5.6” was released in 2014.

      Anything on PHP 5.6 has been a security risk for half a decade already. So this is like if you were on Ubuntu 14, or Windows 8. If you have problems, it might be you.

      • JackbyDev
        link
        fedilink
        English
        2
        edit-2
        30 days ago

        Asked 2013

        running php --version ouputs

        PHP 5.5.1-2+debphp.org~precise+2 (cli)
        (built: Aug  6 2013 10:49:43) 
        Copyright (c) 1997-2013
        
      • @DreamlandLividity
        link
        2
        edit-2
        30 days ago

        The question is over 11 years old, so idk what is so funny about old question asking about old PHP.

  • @ryanvade
    link
    151 month ago

    I’ll be downloading this one