FAQ.md
From our long experience of building UI toolkits, we have learnt that a domain specific, declarative language is best suited to describe UIs. The Slint language is easy and intuitive to use while being strict enough for our tools to analyze and optimize to provide high graphics performance. Strictly typed binding expressions offer a powerful and robust way for humans to declare relationships between properties, even in complex user interfaces.
Read more in our blog post on declarative versus imperative UI.
We want to make it possible to use Slint with any programming language, and we don't favor one over another. Slint currently supports four:
This choice builds the foundation that allows us to create bindings for most types of programming languages.
You can use Slint under any of the following licenses, at your choice:
Yes — whichever Slint license you use, your own source files can stay under a permissive license such as MIT or Apache-2.0.
Slint itself stays under its three licenses (GPLv3, Royalty-free, or Commercial), so the combined product you distribute is licensed one of two ways:
For detailed scenarios, see the GPLv3 questions below.
This license is suitable for those who develop desktop, mobile, or web applications and do not want to use open-source components under copyleft licenses.
You need to do one of the following:
Display the AboutSlint widget in an "About" screen or dialog that is accessible from the top level menu of the Application. In the absence of such a screen or dialog, display the widget in the "Splash Screen" of the Application.
Display the Slint attribution badge on a public webpage, preferably where the binaries of your Application can be downloaded from, in such a way that it can be easily found by any visitor to that page.
You are not permitted to distribute or make Slint publicly available alone and without integration into an application. For this purpose you may use the Software under the GNU General Public License, version 3.
You are not permitted to use Slint within Embedded Systems. An Embedded System is a computer system designed to perform a specific task within a larger mechanical or electrical system.
You are not permitted to distribute an Application that exposes the APIs, in part or in total, of Slint.
You are not permitted to remove or alter any license notices (including copyright notices, disclaimers of warranty, or limitations of liability) contained within the source code form of Slint.
An embedded system is a computer system that performs a specific task within a larger mechanical or electrical system — for example the controller driving the screen of an appliance, a point-of-sale terminal, or a car dashboard. The Commercial license or the GPL are suitable licenses for Slint for such systems.
It's not an embedded system when your application runs on a user's own general-purpose computer or phone, installed as one application among many. That's the desktop, mobile, and web case the Royalty-free License covers for free.
The license does not restrict users on how they license their application. In the above scenario, the user may choose to use MIT-license for their application, which can be forked by a different person and then redistributed. If the forked application also uses Slint, then the person forking the application can choose to use Slint under any one of the licenses - Royalty-free, GPLv3, or Commercial license.
The license does not restrict 'if' and 'how' the modifications to Slint should be distributed. Say for example, Alice uses Slint under this new license to develop application A and modifies Slint in some way. She may choose to release the modifications to Slint under any license of her choice including any of the open source licenses. Alternatively she may decide not to release the modifications.
We have a commitment to the larger Slint community to provide Slint under a Royalty-free license. This commitment is included in the Contributors License Agreement (CLA).
No. You can license your program under any license compatible with the GPLv3 such as https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses.
Refer to GPL FAQ https://www.gnu.org/licenses/gpl-faq.en.html#LinkingWithGPL.
Yes, provided the person distributing the proprietary program acquired a Slint proprietary license, such as the Slint Royalty-free license or a Commercial license, instead of using Slint under GPLv3. The other option would be to remove the dependency to Slint altogether.
You can add a note as part of your license that to distribute a proprietary licensed program, one can acquire a Slint proprietary license or the dependency to Slint should be removed.
While your software modules can remain under the MIT-license, the work as a whole must be licensed under the GPL.
Check out the pricing plans on our website https://slint.dev/pricing.
Yes, check out our support options on our website https://slint.dev/pricing#support.