Universal graphical transforms, better async python integration, unified text layout, and more.

  • Tobias Hunger@programming.dev
    link
    fedilink
    arrow-up
    7
    arrow-down
    2
    ·
    15 days ago

    You are technically correct: Slint is free software. You can get Slint as GPL or commercial terms – or the royalty free license. The latter lets you do whatever you want anywhere with the exception of “embedded” (this exception makes is not open source).

    When you contribute to any MIT license project you are in the same situation: Your code will be redistributed by some company under different license terms. That’s the point of MIT & Co. You contribute MIT code to a project, the project releases its code under MIT, and a company consumes the project and restricts its use. Slint is just cutting out the middle step here.

    Disclaimer: I work for Slint and appreciate being paid for contributing to open source software. I also appreciate Slint being free software.

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

      Hey, first of all, thanks for for sharing and I do appreciate both Slint existing and you being able to do software that’s usable by both businesses and, to some extend, open-source projects! (The latter depends on whether you consider contributing to the underlying libraries as a requirement for development, and if you’re then fine with contributing with these MIT/non-MIT specifics.)

      When you contribute to any MIT license project you are in the same situation

      I would disagree here. If you’re speaking about any MIT project, then many of them would be simply MIT. You contribute like MIT and you can use the code as MIT. Slint is not licensed as MIT-0 though. It’s licensed as written here: https://github.com/slint-ui/slint?tab=readme-ov-file#license, and only your contributions are taken as MIT. This does set Slint apart.

      It’s a fair model though, if the developers are sufficiently aware of the deal. And it’s a very sensible business model. I have nothing against it, and I only wish to make the exact deal more explicit. As you see around, I don’t think it’s 100% clear from the first glance.

      • Tobias Hunger@programming.dev
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        15 days ago

        You contribute code to slint under MIT and you can also use that contributed code under MIT or any other license of your choosing, it stays your code after all. You can not use other peoples code from the slint repo under MIT though, that is correct. The royalty free license tries to get as close to MIT as we can while limiting the use on embedded… but with that limitation in place it is of course not an open source license.

        Contributing back to Slint is in no way required, so if you do not like our contribution terms, then you are free to not do so. Ypu are also free to use something else if you do not like our license terms.

        We try to make all of the terms as clear as possible. We rewrote the Slint licensing page several times, often with extensive community feedback, to get it as clear as it is right now. If you have ideas on how we can improve, I am all ears.

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

          Sorry for the late reply.

          The royalty free license tries to get as close to MIT as we can while limiting the use on embedded…

          I think I understand that perspective. But please also understand the other perspective: how a user has the right to see it, when they are not connected to the company.

          If you are such a user, then you need open-source software for your daily life. And you use it. At the same time, you see:

          • IntelliJ Idea taking its MIT-licensed Rust plugin and deciding that it’ll be more profitable for them to close-source it, so you won’t have it anymore. And of course nobody forked the plugin. The idea is clear, the company wants you to use Rust Rover.

          • Apple’s OS, being historically based on 4.4BSD-Lite2 and FreeBSD, and being the second-highest valued company in the world (!), is happily living with all and any of that MIT-licensed code, while BSD itself is stagnating. It’s not Apple’s fault of course, Apple is not a bad actor here. It’s just not very smart or future-proof to spend a lot of time binding yourself to a system that can easily turn into stagnation.

          On the other hand, GPL-licensed projects protect themselves very well. When things don’t go well, you see successful foks (such as Forjeo, LibreOffice, MariaDB). When things go well, you just see it thriving (such as Linux, most userland software).

          We try to make all of the terms as clear as possible. We rewrote the Slint licensing page several times,…

          To answer this and to conclude, for me personally, it’s not about how to write something. It’s about what is written. The fact that Slint aims to be good for a for-profit company, does not and will never nullify that MIT contributions are re-licensed as GPL or proprietary. It will come up, and it’s fair when it does… as I see it, at least.

          • Tobias Hunger@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            2 days ago

            But you do get all code under GPL, which you seem to agree is a freedom preserving choice. That does make Slint free software and as save to use as any other free software project out there.

            The story is a bit different when you want to contribute to slint. Slint is not a even playing field for contributions. The company has an advantage in that if can use all contributions as MIT and you can only use the companies changes under GPL, commercial, or royalty free terms.

            As a contributor you need to decide whether you contribute to the slint repository, or maybe write an add-on library which you are free to license as you see fit.

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

              I’m not sure if you’re reading my message well?

              I’m saying that GPL-licensed *projects* protect themselves well. If you lean on a GPL project, it’s likely going to hold. Not disappear because of a commercial incentive. Non-copyleft projects tend to disappear if they become valuable to companies, such as IntelliJ’s Rust plugin, or BSD => MacOS.

              Again if you’re developing a non-open-source project, Slint is fine. You’ll be bound to each other with mutual commercial interests.

              • Tobias Hunger@programming.dev
                link
                fedilink
                arrow-up
                1
                ·
                2 days ago

                You are fine with a free software project using Slint as well: Slint is a GPL project, with everything that implies. The releases are out there and the slint project is bound to the terms it released them under. In theory we could release new versions without the GPL option, but we can not take the sources of the released versions away. Neither the other licensing options nor the contribution rules change that. If youbare happy with GPL dependencies, you can use Slint just as any other GPL dependency, with the same risks and benefits.

                The copyright holders of any GPL project can decide to relicense their (future) releases. I admit that it is a bit simpler in Slints case due to the contribution rules, but other projects have similar rules in place. Copyright assignments, CLAs, …, they all exist to simplify a possible future relicensing effort. And even GPL projects without such provisions in place have manged to relicense before.

                As a user of Slint you typically never get into contact with our contribution setup at all. Only a contributor might pause and decide not to spend time on Slint due to that. IMHO that is entirely normal: I use tons of free and open source projects that I would never contribute to – for various reasons ranging from contribution terms, to programming language being used or the projects community.

                In many cases you can also publish slint related code in your own repository under whatever license you like. While this obviously does not work for core functionality that has to live in Slint itself, it does work for a wide range of things you might want to make available (like new widgets, …).

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

                  I think we can’t find an agreement on our angles on the topic so much that it’s simply not constructive to push the conversation further. I’m afraid that if I’ll try to say anything now, it’ll be a repetition of what was already written earlier.

                  In short, I see Slint as a not GPL project (but rather as a commercial project that happens for now to triple-license the code and includes GPL). I see GPL projects as fundamentally different to Slint, in a sense that, once you have enough external contributors, you simply cannot revert back and stop being a GPL project, whereas in Slint I see it as possible. I trust GPL projects and I know I can “lean” on them, whereas I’d advise to rely on Slint only if you have commercial entanglement that you want to keep.

                  I’d propose to agree to disagree.

                  • Tobias Hunger@programming.dev
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    1 day ago

                    So to be a GPL project you need to be able to trust the project to release all future releases under GPL in addition to having released existing code under GPL?

                    I do not like this approach:

                    First of, you need a crystal ball to decide whether a project is GPL or not: Some projects managed to pull off a license change before, just by asking devs whether they are ok and replacing code from devs that did not agree. Its rare, but it happens, so checking for CLAs, copyright assignments, …, is not enough.

                    Secondly this definition excludes lots of projects that release their source code under GPL, including the GNU project. They ask for copyright assignment, both to defend the GPL license, as well as to be able to relicense when weaknesses in the current licenses are found. I give you that GNU is probably way more trustworthy wrt. not changing away from the free software spirit than some random company.