this post was submitted on 21 Oct 2025
34 points (97.2% liked)

Rust

7487 readers
18 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
34
submitted 3 weeks ago* (last edited 3 weeks ago) by u_1f914@lemmy.world to c/rust@programming.dev
 

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

top 23 comments
sorted by: hot top controversial new old
[–] vas@lemmy.ml 11 points 3 weeks ago* (last edited 3 weeks ago) (4 children)

Something to keep in mind is that Slint is not an Open-Source project. If you'll want to improve Slint you'll have to give away your contribution under the MIT No Attribution License (MIT-0) license, yet if and when you'll want to use Slint, you can get it as a paid or GPLv3 license.

In my mind this is more of a ~~proprietary project~~ closed development model (EDIT for correctness, see comment below). The development model is not around freedom and equal rights, with the project being able to stop giving you access under any open-source license whatsoever, all while continuing to use your contributions.

It's not unfair. In fact, it might be a great project. Just not open-source as a project overall, if you care about this.

[–] FizzyOrange@programming.dev 7 points 3 weeks ago (1 children)

I think it's a perfectly reasonable license. You can also use it for free with closed source projects, except embedded projects (where most of the money is), which I think is generous.

I don't think everything has to be completely free. I'd much rather they had a viable business model and actually continue existing than just fizzle out because they have no funding source. Writing a high quality GUI toolkit is an enormous task so it's not really going to happen otherwise.

As much as I'm following egui, Xylem, Dioxus, Makepad etc. and hope they succeed I'd put my money on Slint being the first to make a Rust GUI toolkit of the same quality as Qt.

[–] vas@lemmy.ml 1 points 3 weeks ago (1 children)

Definitely! And as you said, you can use it with closed source projects as well (or GPLv3), and I have nothing against businesses doing UI toolkits as well. Have you read my last paragraph though?

[–] FizzyOrange@programming.dev 3 points 3 weeks ago (1 children)

I still don't think it's fair to say it's not open source. It clearly is. What you mean is it's not a non-commercial project.

[–] vas@lemmy.ml -1 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

EDIT: I've misread at first. Commercial or not doesn't matter to me. I'm only interested here in whether it's open-source as a project. That is, if it's a sustainable open-source project.

[–] FizzyOrange@programming.dev 2 points 3 weeks ago (2 children)

I think you misread my comment. I didn't say it was a non-commercial project.

[–] vas@lemmy.ml 1 points 3 weeks ago

UPD: I've misread at first - apologies. Nevermind about commercial or not, this is of no interest to me. (See above.)

[–] vas@lemmy.ml 1 points 3 weeks ago* (last edited 3 weeks ago)

EDIT: I've misread at first - apologies. Nevermind.

[–] arendjr@mstdn.social 7 points 3 weeks ago (1 children)

@vas @u_1f914 Uhm, sorry, but that’s not how it works. They’re making the project available under GPLv3, which is an OSI-approved open-source license. So yes, it is open source.

It has restrictions, including some that you may care about. But that doesn’t mean it’s not open source.

#OpenSource

[–] vas@lemmy.ml 5 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Fair enough, thanks for the correction. I should be more careful with my wording. I think it's "open-source", but not an "open-source project". In a sense that, they release the source code under a restrictive license, but they themselves will not have it this way and can stop publishing the code any time they want.

So they publish the source code under an OSI-approved license as you say, but they don't develop it in an open manner and I think it's fair to say that they are not an open-source project.

[–] arendjr@mstdn.social 7 points 3 weeks ago

@vas Yeah, that’s fair too. The project behind it is indeed a commercial entity, hence why they set it up that way.

Personally, I wouldn’t be too concerned about them failing to publish new versions, because then the last version will still remain open source forever. And even projects with an open governance model can run out of steam, so the risk might not be any greater here. But yeah, it’s good to be mindful of the risks and restrictions when starting any new project.

[–] hunger@programming.dev 5 points 3 weeks ago (1 children)

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 5 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

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.

[–] hunger@programming.dev 3 points 3 weeks ago (1 children)

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 1 points 2 weeks ago (1 children)

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.

[–] hunger@programming.dev 1 points 1 week ago (1 children)

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 1 points 1 week ago (1 children)

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.

[–] hunger@programming.dev 1 points 1 week ago (1 children)

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 1 points 1 week ago* (last edited 1 week ago) (1 children)

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.

[–] hunger@programming.dev 1 points 1 week ago (1 children)

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.

[–] vas@lemmy.ml 1 points 1 week ago* (last edited 1 week ago) (1 children)

Some projects managed to pull off a license change before

I think you're right, the reality is not actually so black-and-white. With the GNU project indeed being a notable "exception" of sorts. And, while I can't think of any single project that would change from GPL and still be alive, I think I've heard about at least attempts of doing so once, more than a decade ago, not too successful IIRC.

So to be a GPL project

But to answer the question.. I'm not trying to say what is a GPL project. But sometimes I can tell when something isn't [a GPL project], and Slint isn't. It doesn't revolve around copyleft and its ideology. Neither is MySQL. MariaDB is. MariaDB is easier to fork off MySQL than it would be off Slint though. Slint has much broader API, more evolving too I'd assume (but I don't know).

So my recommendation on when to use or not use Slint would still hold. And I still insist that it's factually correct to say that Slint is not a GPL project.

[–] hunger@programming.dev 1 points 1 week ago

I revolve very much around copyleft and its ideology. Free software formed my entire career, just as it did for the founders of Slint. From my point of view slint is GPL and offers some other license options for users that do not want GPL for whatever reason.

Forking slint is just as easy as forking any other GPL licensed project: Take all off slints code under GPL and you are done. Yes, you can not relicense that fork to a more permissive license without replacing all the code that you did not write... but that is exactly the same as with any other GPL project you fork. Any use of Slint under GPL is exactly as using any other GPL project, with the same obligations and protections to all parties involved.

I get that you are feeling slint is not GPL, but I do not understand where that feeling comes from. Is it "just" because there is a company backing it? Or because that company is selling their product in addition to oing it under GPL? That is fine for the GNU project from all I understand. Or is it because of contributions happen under MIT terms? But that does not effect the end users that the GPL is protecting in any way.

[–] TechnoCat@piefed.social -1 points 3 weeks ago

I checked out Slint and immediately closed out when I saw a pricing page. Some software is worth paying for, but a GUI library for me isn't one of them. A community can usually keep a GUI library going because it doesn't change a lot after it matures.