- cross-posted to:
- lobsters
- cross-posted to:
- lobsters
Universal graphical transforms, better async python integration, unified text layout, and more.
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 projectclosed 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.
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.
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?
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.
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.
I think you misread my comment. I didn’t say it was a non-commercial project.
UPD: I’ve misread at first - apologies. Nevermind about commercial or not, this is of no interest to me. (See above.)
EDIT: I’ve misread at first - apologies. Nevermind.
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.
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.
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.
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.
@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.
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.