Hacker News new | past | comments | ask | show | jobs | submit login
Slint: Native GUI Toolkit for Rust, C++ or JavaScript (github.com/slint-ui)
112 points by surrTurr on March 26, 2022 | hide | past | favorite | 30 comments



Bold move not adding the LGPL or other more open license for a library. I get it. They want it used for OSS or get paid. But I think that limits the user base and therefore its appeal to folks who would actually pay for it.

It really will need to provide a superior technical product and more efficient dev experience like Qt did before Gtk "caught up" and forced the Qt license change.

If I'm a company, I'd rather use something I could hire folks who have experience with it unless it met those criteria. This is a crowded space, unlike "modern" X11 GUI frameworks at the time of Qt/early KDE.

From the look, there's no real differentiation here from the rest of the crowd. Maybe they'll hit that. As a big company, I'd pay for "support" for both that aspect and for input into the direction of the product. My big company does this for most OSS. But I don't do GUI dev in real life.

I won't ever use it personally because:

a) I won't pay for it for a hobby project. I'm probably going to go actual native and just hit 1 platform and do native on another if there's demand. If I'm going cross platform, I'm just going to do what everyone does these days: hit the web and forget about "native." Then use something clunky like Electron if I managed to be successful and folks wanted a local app.

b) I'm not going to license any OSS I make w/ the GPLv3+. Personal preference. Maybe enough people will disagree for them to get a user base.

It's a shame. I wanted to like it just because I love the band Slint.


There is also a free (as in beer) license: https://slint-ui.com/ambassador-program.html That should cover your need for your hobby project.

For your OSS work, you can license your code in MIT, BSD, Apache, or any license compatible with the GPL3, as long as the combined product is GPL


I can’t choose an option where the terms may change in the future.

And that “combined software has to be GPL” isn’t OK with me. I’m just not happy with the GPL from a legal and philosophical stance. Totally recognize I’m weird and pedantic there.

But yeah, not wanting to debate my personal choices, more speaking to how the licensing decisions may impact the business success.

Making money w/ an open source product or really any library these days as your business’s product is hard.

It’s hard to sell, commercially “extend”, or sell professional services around. I don’t envy the situation. It’s hard enough for RedisLabs, MongoDB, etc. who have more opportunities there.


Have other people done this dual commercial/GPL license before? Doesn't selling it under a (non-free) commercial license go against everything the FSF stands for?


It's quite common. Here are Richard Stallman's own words: "I've considered selling exceptions acceptable since the 1990s, and on occasion I've suggested it to companies. Sometimes this approach has made it possible for important programs to become free software." and "I consider selling exceptions an acceptable thing for a company to do, and I will suggest it where appropriate as a way to get programs freed." and more. The whole article is worth a read: https://www.gnu.org/philosophy/selling-exceptions.en.html


Qt famously is dual commercial/LGPL licensed. And while a commercial offering does go against the FSF’s ideals, it’s a necessary evil in some circumstances.


The FSF party line is that it isn’t anti commercial and the GPL is copyleft, not viral.

But you know…

But dual licensing has been around for decades and I’ve never heard them oppose it.

In practice here, no commercial licensee will want to maintain a fork. All improvements are in the OSS version available to any GPLed software.


This is actually impressive. A (future) competitor to gtk / qt, written by ex QT developers, low footprint, multi platform, multi arch, and if I get it right compiles natively in rust without gcc/llvm.


Apparently compiles a slint ui markup language to inform a slint runtime and in doing so provide required hooks to business logic in rust, c++, etc.

Also as I read it, the slint runtime can use different graphical foundations (OpenGL, Qt) as its own back end.


The QML influence is strong


previously SixtyFPS Becomes Slint - https://news.ycombinator.com/item?id=30298534

https://news.ycombinator.com/item?id=26958154 has more info, in particular https://news.ycombinator.com/item?id=26958290 gives more background: SixtyFPS is a project started by Simon Hausmann and Olivier Goffart who previously worked on Qt at Trolltech.


I love using the GPL3 + commercial here. I know there's a strong bias against the GPL broadly, but pairing it with a commercial option is really pragmatic in a world where you have FOSS devs trying to contribute to the canon of free software and commercial enterprises trying to generate profit. I hope this bias dissipates, because I think it solves a lot of problems, in particular with SaaS/cloud companies reselling FOSS products and using scale/monopoly status to eat the market.


This doesn't appear to actually be leveraging native controls. Rather looks like native. Unless I'm missing something?


It produces native code. Confusing since GUI and Native usually means controls.


In this case I think it just means “no electron” which is seducing in itself.


it does provide native widgets which can be used. If you care to look through the documentation there are images displaying the control widgets / native components


It wrapped Qt last I checked (a few months back)


That is only for platform styles. It's a small part of a GUI toolkit.


The checkboxes in the webassembly demo would look much better with a 1 or 2 px margin.


Honestly the macOS port looks very non-native to me — the black text in the selected tag gives me a very Qt/Swing feel… I’m very sure that Slint isn’t leveraging the platform native libraries. Very unfortunate.


Last I checked they used Qt underneath. Not quite sure what their definition of 'native' is, but I was disappointed as well for that reason.


Looks like Qt is one available backend and they have a OpenGL-based one as well.


What a strange license.

Can you at least tell us how much it costs to use ?

While you have a right to make money, when you don't even state how much it is, that makes me assume it's too expensive.

The ambassador license is also really really strange, what do you mean I can use it but I need to promote it.


The actual license text for the ambassador license is linked from the ambassador page: https://slint-ui.com/licenses/slint_license_agreement_ambass... , see Exhibit E

Basically you must agree to tell users and people that you use Slint, provide a testimonial and allow Slint to refer to your product with your logo as an example of program using Slint


Any intentional relation to https://en.m.wikipedia.org/wiki/Slint ?


No :)


what's with the choice of languages? Why Rust and C++ for application development? Those are rather noisy languages with lots of things that are not useful at high level. I thought the "native" part is enough if you care about performance?


The goal is to support more higher level languages such as Python and Go in the future. The reason to start with these languages is that: Rust is the implementation language. C++ is another compiled language which is much used in the industry of embedded devices. Javascript is a more dynamic/interpreted language. This also happen to be the languages we were the most familiar with. This choice of language to start with validate that it might be possible to support other languages in the future.


The widgets are not very mobile friendly. But cool concept. How does this compare to Flutter?


Does it have a HTML control?




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: