Hello everyone.

I’m developing an open-source visual novel engine. And I’m struggling to choose between the two licenses: MIT and BSD 3-Clause. I wasn’t much about licenses until this moment, so I have to ask someone else. Which one should I pick and why, if someone knows?

Thank you in advance.

  • mapumbaa@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 days ago

    I’m a copyleft fan in theory, but…

    In practice my experience is that anything GPL actually doesn’t benefit the fellow worker/programmer as much. Since the worker probably works for an evil soulless company, he would have to use a different permissive software or buy something proprietary. I.e. if you choose copyleft you provide to a commons that is only accessible to a minority of workers. I also believe that most companies (even big tech) will try to contribute important or significant changes to permissive upstream projects instead of running their own private forks (the latter is much more annoying and expensive).

  • Alavi@programming.dev
    link
    fedilink
    arrow-up
    37
    arrow-down
    4
    ·
    3 days ago

    Keep your project healthy and alive by using LGPL or some similar FLOSS license instead of MIT. MIT and other permissive licenses are horrible.

    • Ars Fireside@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      5
      ·
      3 days ago

      Horrible? Okay, then. Can you explain why? I mean, I know that Ren’Py is using MIT, and there are no problems with anything as far as I can tell. So, what’s wrong with it?

      • Alavi@programming.dev
        link
        fedilink
        arrow-up
        32
        ·
        3 days ago

        Permissive license is basically for you and contributors to provide free labour and when mature enough, big corp X can just exploit it and use it for their own benefit off your free labour if needed.

        There are actual good and big projects that use permissive licensing that have not been overtaken (postgres for example) but they mostly have very strong, cohesive business and market plan to achieve that, plus the bature of their software.

        If your software is actually complicated and useful, don’t let corporations exploit it for nothing.

          • whatiswrongwithyou@lemmy.ml
            link
            fedilink
            arrow-up
            20
            ·
            3 days ago

            The point of different licenses is the thing you ought to be looking at.

            The point of mit is to get the licensed thing used as widely as possible. It breaks down any barriers to use. A good example of something that should be mit licensed is an encryption algorithm. A good example of something that shouldn’t be mit licensed is anything else.

            The point of bsd3-clause is to prevent the licensed likeness from being used to imply the creator shares some view or idea. A good example of something that should be bsd3-clause licensed is the royalty free music on youtube. A good example of something that shouldn’t be bsd3-clause licensed is a creative work the author wants to have their name known for.

            The point of the various gpl licenses is to create a digital commons that all people can access. A good example of something that ought to be gpl licensed is a game engine you want people to be able to freely use and modify but never make secret changes to sell. A good example of something that shouldn’t be gpl is a game engine you want to eventually sell the code of or make secret changes and sell the code of those.

            If my language sounds biased, it is because I have a bias.

              • Victor@lemmy.world
                link
                fedilink
                arrow-up
                5
                ·
                2 days ago

                Your openness and willingness to learn here is admirable. People are very opinionated about these things sometimes, and you are listening in a constructive and diplomatic way.

                Kudos to you for being that type of person. 🤝🫶 You were brought up well. 😉

              • whatiswrongwithyou@lemmy.ml
                link
                fedilink
                arrow-up
                4
                ·
                2 days ago

                Np. It’s easy to just choose the license that is easiest or “fire and forget”, but too many programmers don’t consider what kind of freedoms they want their speech to have and that the license is how you define that.

                If you want to know something feel free to ask.

            • moonpiedumplings@programming.dev
              link
              fedilink
              English
              arrow-up
              3
              ·
              edit-2
              3 days ago

              The point of mit is to get the licensed thing used as widely as possible. It breaks down any barriers to use

              There are no barriers to use, except that you have to share the source code back, and give users the option to modify it. If you use it without modifyiing it, you can just point users to the existing public code.

              The only barrier to use is that Apple disallows (A)GPL related libraries in any of their code, published through their main distribution channels to their platforms (mainly talking about apple app store here).

              https://www.zdnet.com/article/how-to-avoid-public-gpl-floggings-on-apples-app-store/

              But this is ultimately on Apple for not giving users the needed amount of control over their devices to comply with the license. This annoyingly common rhetoric that the GPL itself is a “barrier” or “restrictive” is just blaming the wrong party.

              Now, even though I’m more in favor of copyleft, I can understand with the decision to license software or libraries permissively in order to be able to distribute them through the App Store.

              gpl licensed is a game engine you want people to be able to freely use and modify but never make secret changes to sell

              This is tricky because the GPL is fairly aggressive, and may require the entire game to be open sourced if it’s distributed as one bundle. LGPL doesn’t fight as hard for users freedoms, but also has some similar issues. Most game developers don’t want to open source their games, so I think a permissive license is probably the easiest choice for a game engine.

              • whatiswrongwithyou@lemmy.ml
                link
                fedilink
                arrow-up
                4
                ·
                2 days ago

                I am a Unix jihad, gpl em all and let god sort em out, rust programmers are compradors type motherfucker but a company not wanting to use your software because of the license is a barrier to use.

              • Ars Fireside@lemmy.dbzer0.comOP
                link
                fedilink
                arrow-up
                2
                ·
                3 days ago

                Most game developers don’t want to open source their games, so I think a permissive license is probably the easiest choice for a game engine.

                That’s why I was considering a permissive license in the first place, yes.

          • vas@lemmy.ml
            link
            fedilink
            arrow-up
            3
            ·
            2 days ago

            Or from the other side, GPL would guarantee that you yourself (and your project’s contributors) would still have access even if a good fork emerges.

            Things happen over years or decades.

              • vas@lemmy.ml
                link
                fedilink
                arrow-up
                2
                ·
                1 day ago

                Your access to a popular and commercial fork might be non-existent. You would maybe not even mind that they’re selling your code - possibly just wanting to tune it a bit, since you know how it used to work. But the fork can decide they’re proprietary and they won’t give you any source code.

      • GnuLinuxDude@lemmy.ml
        link
        fedilink
        arrow-up
        14
        ·
        3 days ago

        MIT and BSD are the corporate friendly licenses that say you can take my code and use it and even make it proprietary, as well. So long as you provide attribution, do whatever you want.

        If that’s fine by you then choose that license. You can read little summaries here but be advised this page is owned by GitHub and they have an interest in seeing MIT and BSD adoption, so the language they use subtly reflects that IMO https://choosealicense.com/licenses/

        • Ars Fireside@lemmy.dbzer0.comOP
          link
          fedilink
          arrow-up
          5
          ·
          3 days ago

          Yeah, I’ve already read it. And yeah, the language is a bit biased, aside of the short explanations not covering too much as for me. So I should look somwehere else.

          Nevertheless, thank you for the explanation!

  • Daniel Quinn@lemmy.ca
    link
    fedilink
    English
    arrow-up
    26
    ·
    3 days ago

    A simple comparison between the two via interoperable-europe.ec.europa.eu says that they’re almost identical save for one clause around trademarks:

    https://interoperable-europe.ec.europa.eu/licence/compare/BSD-3-Clause;MIT

    But I’d be remiss if I didn’t advocate for a license that better protected your project from corporate theft. The AGPL and GPL are excellent licenses that protect your work and that of the community from companies that would copy it, improve it exclusively for themselves and then ship your work exclusively in binary form:

    https://choosealicense.com/licenses/

    • RmDebArc_5@feddit.org
      link
      fedilink
      English
      arrow-up
      14
      ·
      3 days ago

      Wouldn’t the LGPL make more sense for an engine? Otherwise it would be hard to make a proprietary game (read almost every game) even if you publish any changes you made to the engine.

      • Daniel Quinn@lemmy.ca
        link
        fedilink
        English
        arrow-up
        5
        ·
        2 days ago

        That was a frustrating read. Dude gets screwed by Microsoft who effectively steals his code and rebrands it as theirs and then he goes on to talk about why he prefers MIT.

    • Ars Fireside@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      3 days ago

      I thought of using GPL, but it would mean someone else would be obliged to open their source code if they base their software on my engine. Though open-source is good and must exist (speaking of Ren’Py, which is not GPL, but still an open-source engine considered a golden standard of VN development), I’d like to give others the right to make their derivative works either open or closed, by their choice.

      As for AGPL, I know nothing, unfortunately.

      • Daniel Quinn@lemmy.ca
        link
        fedilink
        English
        arrow-up
        15
        ·
        3 days ago

        That’s understandable, though one of the other commenters suggested the LGPL which might make for a good fit for your case. Here’s a comparison with the other two if you’re interested.

        The AGPL is just the GPL with extra rules requiring sharing the code even if you expose it exclusively via a service.

      • okwhateverdude@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        3 days ago

        AGPL is GPL + network services protection (preventing someone taking your code and spinning up a for-profit selling services without contribution back). If you don’t care about people stealing your code, closing it, and selling services based on it, then there is no need to consider strict copyleft licenses.

          • vas@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            2 days ago

            Do you know that Apple’s macOS is historically a FreeBSD fork? (They have copied big parts.)

            I find it notable that FreeBSD is struggling to stay alive, and Apple’s 1000000000000s of dollars in incomes does not help them at all.

  • Voroxpete@sh.itjust.works
    link
    fedilink
    arrow-up
    5
    ·
    3 days ago

    Out of curiosity, why develop your own instead of contributing to RenPy? Not saying there can’t be good reasons, just curious what they are in this case.

    • Ars Fireside@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      12
      ·
      edit-2
      3 days ago

      Long story short, it all started with an argument between me and a guy who thought only Japanese VN-related anything is usable normally, and that all Western VN-related software (Ren’Py included) are either clunky or laggy garbage. He also gave a Japanese novel engine called Light.vn (don’t mind the link, it’s the engine name) as an example (there is a killer feature in it: WYSIWYG editor). So I started my engine to prove him wrong.

      After some time, I really saw that Ren’Py is not as fast as it was when I started to use it long ago. But that’s because it uses modern Python, which is by itself not too fast and lightweight anymore.

      That’s why I write my engine in C and aim to make it much faster than Ren’Py and with better UX. Not speaking of a desire to create something meaningful myself.

    • Ars Fireside@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      Well, the only difference is a so-called “non-endorsement clause”. I wanted to know where can I use it, and if I even should.