From 00caa6f2796da1bc5501a74e96323439a009af5a Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Fri, 12 Aug 2022 07:39:16 +0200 Subject: [PATCH 01/25] Update Slint license agreement Update to v1.2 --- LICENSES/LicenseRef-Slint-commercial.md | 430 +++++++++++++++++++++++- 1 file changed, 426 insertions(+), 4 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 46b71a65ef3..1f1bbcc5d0d 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -1,6 +1,428 @@ -## The Slint Commercial License +# **Slint Software License Agreement** +Version 1.2, 22 August 2022 -Slint is offered under a commercial license. Please contact info@slint-ui.com if you're interested. +Copyright © 2022 SixtyFPS GmbH -See also the [Licensing FAQ](https://github.com/slint-ui/slint/blob/master/FAQ.md#licensing) online -or find the same information in `FAQ.md` in the top level of your slint repository checkout. + +SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau +bei Berlin, Germany (“**SixtyFPS**”) grants a license to the software +(“**Licensed Software**”) as specified in **Exhibit A** which are provided +subject to the terms of this Slint Software License Agreement (the “**Agreement**”). +Each Party to this Agreement may be referred to +herein individually as a “**Party**” or collectively as the “**Parties**.” + +This Agreement incorporates by reference the following Exhibits +that are attached to this Agreement: + +**Exhibit A Licensed Software** + +**Exhibit B Support** + +Any Exhibit may be amended from time to time by written agreement of the +Parties. + +1. The Party to whom SixtyFPS grants the Licensed Software under this Agreement + will be referred to herein as the "**Customer**". + +2. As part of the license grant, SixtyFPS will issue a Slint Software License Certificate + ("**License Certificate**") pertaining to the Customer's use of the + Licensed Software. + +3. The Term of this Agreement shall begin on the date mentioned in the License + Certificate ("**Effective Date**") and shall continue unless terminated + earlier as herein provided ("**Term**"). + +4. The Licensed Software is protected by copyright laws and + international copyright treaties, as well as other intellectual + property laws and treaties. The Licensed Software is licensed, not + sold. + +5. The Licensed Software may provide links to third Party libraries or + code (collectively "**Third Party Libraries**") to implement various + functions. Third Party Libraries do not comprise part of the + Licensed Software. In some cases, access to Third Party Libraries + may be included along with the Licensed Software delivery as a + convenience for development and testing only. Customer + acknowledges (1) that some Third-Party Libraries may require + additional licensing of copyright and/or patents from the owners of + such, and (2) that distribution of any of the Licensed Software + referencing any portion of a Third-Party Library may require + appropriate licensing from such third parties. All such Third Party + Libraries, along with applicable copyright notices and licenses, + will be listed and made available to Customer. + +6. New releases of the Licensed Software (“**Updates**”) will be made + available to Customer for the period ("**Maintenance Period**") as + specified in the License Certificate. Such Updates may be bound by + additional license terms. Customer consents to any such additional + license terms, without which Customer may not install, copy, or + otherwise use such Updates. + +7. Support for the Licensed Software ("**Support**") is subject to terms and conditions + as specified in **Exhibit B**. + +8. The Licensed Software is to be used exclusively with Customer's software + products (“**Customer's Products**”) which are described in the License Certificate. + +9. Customer's employee(s) acting within the scope of their employment or third party + consultant(s) acting within the scope of their services on behalf of Customer + for the sole purposes of designing, developing, and testing Customer's Products + using the Licensed Software is collectively referred to as “**User Seats**” in + this Agreement. The maximum permitted number of User Seats is specified in + the License Certificate. + +10. SixtyFPS grants Customer a non-exclusive, perpetual, irrevocable, + non-transferable license to use the Licensed Software during the Term. + Said license also includes the right to make changes to the Licensed Software. + +11. SixtyFPS grants Customer a non-exclusive, perpetual, irrevocable + right to reproduce and distribute the object code form of the + Licensed Software exclusively with Customer's Products. Said license + also includes the right to make changes to object code of the Licensed Software. + The maximum permitted number of distributions of Customer's Products (**Distributions**) + is specified in the License Certificate. + +12. The license grants are conditional on the full and timely payment of all + applicable Fees; if said Fees are not paid in full and at their due date, + the licenses shall not be granted and the Customer's Products shall be + deemed as made in breach of the Agreement ex tunc. + +13. If the license is granted under the **Ambassador Program**, then clause 12 above shall not apply + and instead, the license grants shall be conditional on the fullfilment of the obligations + set forth below; if said obligations are not fulfilled, the licenses shall not be granted + and the Customer's Products shall be deemed as made in breach of the Agreement ex tunc. The + obligations are as follows: + + 1. Customer grants SixtyFPS the right to use Customer's name and logo in marketing material, + + 2. Customer will include reasonably visible notices in the documentation, marketing materials and social + media channels related to Customer's Products that such were built with the Licensed Software, + + 3. Customer agrees to provide a written testimonial statement about the use of the Licensed Software. + +14. If the license is granted for the purpose of evaluation (**Eval License**), then clauses 10 and 11 above + shall not apply and instead, SixtyFPS grants Customer a non-exclusive, time-limited, revocable, + non-transferable license to use the Licensed Software during the Term. Said license also + includes the right to make changes to the Licensed Software. + +15. The Fees and any other charges under this Agreement shall be paid by Customer no later + than thirty (30) days from the date of the applicable invoice from SixtyFPS. A late payment + charge of the lower of (a) one percent per month; or (b) the interest rate stipulated by applicable + law, shall be charged on any unpaid balances that remain past due and which have not been disputed + by the Customer in good faith. + +16. The Fees and any other charges payable under this Agreement are gross amounts but exclusive of any value + added tax, use tax, sales tax, withholding tax and other taxes, duties or tariffs levied directly for the + sale, delivery or use of the Licensed Software pursuant to any applicable law. + +17. The Parties also agree to all of the following conditions: + + 1. Customer may not remove or alter any copyright, trademark or + other proprietary rights notice contained in any portion of the + Licensed Software, + + 2. Customer's Products may not compete with the Licensed Software, + + 3. Customer will indemnify and hold SixtyFPS, its affiliated companies + and its suppliers, harmless from and against any claims or + liabilities arising out of the use, reproduction or distribution + of Customer's Products, except as set out in clause 17.4. immediately below, + + 4. SixtyFPS shall indemnify and hold Customer, its related + companies, its suppliers, distributors and customers, harmless + from and against any claims from third parties alleging + that the use of the Licensed Software as set out in this + Agreement infringes or will infringe such third parties + intellectual property rights or other rights, + + 5. A Party shall promptly notify the other Party if it receives a + claim that the other Party shall or may be obliged to indemnify. + The Parties shall promptly give each other information and other + assistance needed for handling the claim. The Indemnifying Party + may, at its cost and in its sole discretion, take control of the + defense of such claim, including the conduct of any litigation + or arbitration and the negotiation of any settlement, in which + case the indemnifying Party shall not compromise or settle or + otherwise dispose of the claim, in whole or in part, where such + compromise or settlement or disposal would require any admission + or stipulation which would reasonably be expected to have an + adverse effect on the commercial reputation of the indemnified + Party, without the prior written consent of the indemnified + Party. Where the indemnifying Party has not taken control of the + defense of the claim, the indemnified Party shall not compromise + or settle or fail adequately to defend or otherwise dispose of a + claim, in whole or in part, without the written consent of the + indemnifying Party, such consent not to be unreasonably withheld + or delayed. + +18. The Licensed Software is licensed to Customer "as is". To the + maximum extent permitted by applicable law, SixtyFPS on behalf of + itself and its suppliers, disclaims all warranties and conditions, + either express or implied, including, but not limited to, implied + warranties of merchantability or fitness for a particular purpose. + SixtyFPS do warrant title and non-infringement with regard to the + licensed software. The warranty disclaimer in the foregoing + notwithstanding, Customer may have specific legal rights which may + vary from state/jurisdiction to state/jurisdiction; as far as legally + permissible, Customer waives any such legal rights vis-à-vis SixtyFPS. + +19. SixtyFPS shall not under any circumstances be liable to Customer + based on failure of the Licensed Software if the failure resulted + from Customer's changing of the Licensed Software, from Customer's + accident, abuse or misapplication, nor shall either party except + in case of gross negligence or willful misconduct be liable for + special damages, punitive or exemplary damages, damages for loss + of profits or interruption of business or for loss or corruption + of data, nor shall any award of damages from either party to the + other party exceed the total amount Customer payable to SixtyFPS + in connection with this agreement. + +20. Each Party shall hold Confidential Information of the other Party, + its customers, and licensors in confidence, and without written + permission from will not disclose to any person or use for its own + benefit, any such information. "Confidential Information" includes + without limitation the terms of this Agreement, computer software + programs developed or licensed by the Parties, including all + documentation and methods or concepts utilized therein, all + adaptations and modifications thereto and derivative works thereof, + and related materials and information. Confidential Information also + includes any other information identified by either Party, its + licensors, or customers as proprietary or confidential, or which + would reasonably be understood under the circumstances to be + confidential. All Confidential Information shall remain the sole + property of each respective Party. Information will not be + considered to be Confidential Information if (i) available to the + public other than by a breach of this Agreement; (ii) rightfully + received from a third Party not in breach of any obligation of + confidentiality; (iii) independently developed by a Party without + access to Confidential Information of the other Party; (iv) known to + the other Party at the time of disclosure; (v) produced in + compliance with applicable law or a court order, provided the other + Party is given notice and opportunity to intervene; or (vi) it does + not constitute a trade secret and more than five (5) years have + elapsed from the date of disclosure. In addition to any other rights + or remedies available, each Party shall be entitled to enforcement + of such obligations by court injunction. + +21. During the Term, an independent, certified auditor on SixtyFPS's + behalf, may, upon its reasonable request, with 30 (thirty) days + written notice, and at its SixtyFPS's sole expense, examine + Customer's books and records solely with respect to Customer's use + of the Licensed Software. Any such audit shall be conducted during + regular business hours at Customer's facilities and shall not + unreasonably interfere with Customer's business activities. + SixtyFPS' auditor shall not remove, copy, or redistribute any + electronic material during the course of an audit. Customer does not + implicitly grant SixtyFPS or SixtyFPS' auditor any form of license + agreement. If an audit reveals that Customer is using the Licensed + Software in a way that is in material violation of the terms of the + Agreement, then Customer shall pay SixtyFPS's reasonable costs of + conducting the audit. In the case of a material violation, Customer + agrees to pay SixtyFPS any amounts owing that are attributable to + the unauthorized use. In the alternative, SixtyFPS reserves the + right, at SixtyFPS's sole option, to terminate the licenses for the + Licensed Software. SixtyFPS auditor shall before the audit sign + Customer's standard NDA, and shall only be allowed to report + violations of the terms of the Agreement to SixtyFPS, with a copy to + the Customer. The Customer shall be provided the right to provide + comments to the report before it is finalized. + +22. If Customer materially breaches this Agreement, SixtyFPS will provide a + 60 days written notice to the Customer during which any such breach(es) + may be cured, failing which SixtyFPS will terminate the agreement. + Customer undertakes to pay a contractual penalty for each case of + negligent breach of this Agreement of EUR 10.000, which shall not be + subject to a judicial right of reduction. SixtyFPS shall in any case be + free to assert any further damage/loss or other claims. The amount of + contractual penalty shall be offset against claims for damages, if any. + +23. Customer may terminate this Agreement at any time for any reason + upon 90 (ninety) days notice to SixtyFPS and upon payment of all + applicable fees and contractual penalties, if any, in connection with + the use of the Licensed Software. + +24. In case of an Eval License, this Agreement will terminate at the end of + the **Eval Period** as specified in the License Certificate. + +25. Both Parties shall comply with all applicable laws and regulations + relating to the Licensed Software in the countries in which the + Parties use or modify the Licensed Software. + +26. All notices and communications between the Parties shall be in + writing and shall be deemed given when received. For avoidance of + doubt, email is considered a written form of communication. + +27. This Agreement shall be construed, interpreted and governed by the + laws of the Federal Republic of Germany. + +28. No term or condition contained in Customer's purchase order will + apply unless expressly accepted by SixtyFPS in writing. + +29. Customer may assign this Agreement, in whole or in part (whether by + operation of law or otherwise), with prior consent of SixtyFPS, which + shall not be unreasonably withheld or delayed. SixtyFPS + may assign this Agreement or any of its rights hereunder or + delegate any of its obligations hereunder with prior notice to the Customer. + Any attempt to assign this Agreement other than in accordance with + this provision shall be null and void. + +30. This Agreement constitutes the complete agreement between the + Parties and supersedes all prior or contemporaneous discussions, + representations, and proposals, written or oral, with respect to the + subject matters discussed herein. No modification of this Agreement + will be effective unless contained in a written document executed by an + authorized representative of each Party. If any provision of the + Agreement is found void or unenforceable, the remainder will remain + valid and enforceable according to its terms. If any remedy provided + is determined to have failed for its essential purpose, all + limitations of liability and exclusions of damages set forth in this + Agreement shall remain in effect. + +# Exhibit A - Licensed Software. + +**Licensed Software Description** + +- Slint compiler tool to translate Slint Design Markup Language + files to Rust (last stable Rust version at the time of licensed + Slint version) and C++ (second last C++ version at the time of + licensed Slint version). + +- Slint run-time library that can render interactive + user-interfaces and provides Rust and C++ APIs (as per above + versioning) to control the interfaces. + +- API Documentation for Slint and reference documentation for + Slint Design Markup Language. + +- Source code of Slint + +# Exhibit B - Support. + +During the Term, SixtyFPS agrees to provide Support to Customer as set +forth in this Exhibit B. + +1. **Scope** + + Support includes problem fixing, including but not limited + to correction of faults and errors (bugs), in official stable releases + of the Licensed Software. + + Support will be provided for official stable release of the Licensed Software + for a duration of two (2) years from the date of release. + + Support for an older official stable release is not guaranteed but may be provided + on a best effort basis. + +2. **Support Hours and Fees** + + Customer can purchase Support Hours on payment of applicable Support Fees. + +3. **Validity of Support Hours** + + Unused Support Hours expire 12 months from date of purchase. + +4. **Ownership** + + SixtyFPS may choose to include all changes, including problem fixes + and enhancements, to the Licensed Software and make it available for + use to all users. + +5. **Problem Isolation** + + Customer will perform initial problem isolation before a problem is + reported to SixtyFPS. Customer is advised to recreate potential + problems using the most recent release when reporting problems to + SixtyFPS. It is recommended that Customer briefly test each new + release of the Licensed Software before distribution of any Customer's Products incorporating such + release. + +6. **Reporting a problem** + + Customer shall use issue tracking systems as provided by SixtyFPS to + report problems. The problem description shall be in English. + +7. **Problem recreation at SixtyFPS** + + If SixtyFPS cannot reasonably replicate the setup under which the problem can + be recreated, then in SixtyFPS’s sole discretion, SixtyFPS may ask Customer to provide + the necessary setup or elect to recreate the problem at the Customer location. Any costs incurred + will be invoiced to Customer. + +8. **Errors in Modified Source** + + SixtyFPS is not responsible for errors introduced by Customer + modifications to Licensed Software. Defects must be demonstrated on + an unmodified version of Licensed Software provided by SixtyFPS. + +9. **Non Licensed Software related problems** + + SixtyFPS will make reasonable efforts to provide workarounds for problems + that are not directly related to the Licensed Software but are present in + the Customer's Products built with the Licensed Software. Customer understands + that workarounds may not be possible for all problems. + +10. **Operating Systems Updates** + + SixtyFPS shall consider making commercially reasonable efforts to provide + Customers with updates to the Licensed Software for newly released versions + of operating systems. If, however, extensive changes to the Licensed Software + are required, SixtyFPS may charge additional fees for the changes. Customer is + under no obligation to accept such updates that require additional fees and + SixtyFPS is not obligated to provide any specific operating system updates. + + + + +# **Slint Software License Certificate** + +Copyright © 2022 SixtyFPS GmbH + + +SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau +bei Berlin, Germany (“**SixtyFPS**”) grants a license to the Licensed Software +subject to the terms of the Slint Software License Agreement (the “**Agreement**”). + +All terms in this Slint Software License Certificate ("**License Certificate**") +will have the same meaning as defined in the Agreement. + +1. Customer details + 1. Customer's Name: + 2. Customer's Address: + 3. Customer's Contact Person(s) with Email address(es): + +2. License grant + 1. Effective Date: + 2. Maintenance Period: + 3. Customer's Product(s): + 4. Number of User Seat(s): + 1. Name(s) and Email address(es): + 5. Number of Distribution(s): + 6. Obligations under Ambassador Program: Applicable / Not-applicable + 7. Eval License: Yes / No + 1. Eval Period: + +By receiving this License Certificate, the Customer accepts the terms of the Agreement. + +The Parties agree that subsequent License Certificates will be deemed without a signature +provided that there are no modifications to the Agreement since the last signed License Certificate. + +IN WITNESS WHEREOF, the persons signing below warrant that they are duly +authorized to sign for, and on behalf of, the respective Parties. + +| **SixtyFPS** | | **Customer** | +|-----------------------------|-------------|-----------------------------| +| | | | +| **Name** | | **Name** | +| | | | +| **Position** | | **Position** | +| | | | +| **Date, Signature** | | **Date, Signature** | +| | | | +| | | | +| **Name** | | **Name** | +| | | | +| **Position** | | **Position** | +| | | | +| **Date, Signature** | | **Date, Signature** | + +Enclosed: Slint Software License Agreement \ No newline at end of file From 413afa0dd307e76eb2e5faf5ce4af577c1d3cfe3 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 6 Oct 2022 09:27:48 +0200 Subject: [PATCH 02/25] Add some more clarity on the license grant --- LICENSES/LicenseRef-Slint-commercial.md | 138 +++++++++--------------- 1 file changed, 52 insertions(+), 86 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 1f1bbcc5d0d..0a453339be5 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -6,7 +6,7 @@ Copyright © 2022 SixtyFPS GmbH SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany (“**SixtyFPS**”) grants a license to the software -(“**Licensed Software**”) as specified in **Exhibit A** which are provided +(“**Licensed Software**”) as specified in **Exhibit A** which is provided subject to the terms of this Slint Software License Agreement (the “**Agreement**”). Each Party to this Agreement may be referred to herein individually as a “**Party**” or collectively as the “**Parties**.” @@ -24,9 +24,12 @@ Parties. 1. The Party to whom SixtyFPS grants the Licensed Software under this Agreement will be referred to herein as the "**Customer**". -2. As part of the license grant, SixtyFPS will issue a Slint Software License Certificate - ("**License Certificate**") pertaining to the Customer's use of the - Licensed Software. +2. As part of the license grant, a Slint Software License Certificate + ("**License Certificate**") will be issued containing details of (1) the + license grant, (2) the permitted scope of Customer's use of the Licensed Software + and (3) contact details of the Customer. In case of any changes to the information + provided in (2) and (3) above, Customer is obliged to notify SixtyFPS in writing, + not later than 7 days after any such change has occured. 3. The Term of this Agreement shall begin on the date mentioned in the License Certificate ("**Effective Date**") and shall continue unless terminated @@ -82,28 +85,27 @@ Parties. The maximum permitted number of distributions of Customer's Products (**Distributions**) is specified in the License Certificate. -12. The license grants are conditional on the full and timely payment of all - applicable Fees; if said Fees are not paid in full and at their due date, - the licenses shall not be granted and the Customer's Products shall be - deemed as made in breach of the Agreement ex tunc. +12. The grant in clause 11 above shall not apply for an **Eval License**, a license + provided to Customer for the purpose of evaluating the Licensed Software. -13. If the license is granted under the **Ambassador Program**, then clause 12 above shall not apply - and instead, the license grants shall be conditional on the fullfilment of the obligations - set forth below; if said obligations are not fulfilled, the licenses shall not be granted - and the Customer's Products shall be deemed as made in breach of the Agreement ex tunc. The - obligations are as follows: +13. The license grants are conditional on the full and timely payment of all + applicable Fees; if said Fees are not paid in full and by their due date, + the license shall not be granted and the Customer's Products shall be + deemed as made in breach of the Agreement ex tunc. - 1. Customer grants SixtyFPS the right to use Customer's name and logo in marketing material, +14. Clause 13 above shall not apply for an **Ambassador License**, a license + provided to Customer for free. Instead, the license grants shall be conditional on the + fullfilment of the obligations set forth below; if said obligations are not fulfilled, + the license shall not be granted and the Customer's Products shall be deemed as made in + breach of the Agreement ex tunc. The obligations are as follows: - 2. Customer will include reasonably visible notices in the documentation, marketing materials and social - media channels related to Customer's Products that such were built with the Licensed Software, + 1. Showcase: Customer grants SixtyFPS the right to use Customer's name, logo and Customer's Products in marketing materials, - 3. Customer agrees to provide a written testimonial statement about the use of the Licensed Software. + 2. Spread the word: Customer will include reasonably visible notices in the documentation, marketing materials and social + media channels related to Customer's Products that such were built with the Licensed Software, -14. If the license is granted for the purpose of evaluation (**Eval License**), then clauses 10 and 11 above - shall not apply and instead, SixtyFPS grants Customer a non-exclusive, time-limited, revocable, - non-transferable license to use the Licensed Software during the Term. Said license also - includes the right to make changes to the Licensed Software. + 3. Give feedback: Customer agrees to provide relevant feedback that would help SixtyFPS improve the Licensed Software. + SixtyFPS may use any such feedback in testimonials. 15. The Fees and any other charges under this Agreement shall be paid by Customer no later than thirty (30) days from the date of the applicable invoice from SixtyFPS. A late payment @@ -220,7 +222,7 @@ Parties. conducting the audit. In the case of a material violation, Customer agrees to pay SixtyFPS any amounts owing that are attributable to the unauthorized use. In the alternative, SixtyFPS reserves the - right, at SixtyFPS's sole option, to terminate the licenses for the + right, at SixtyFPS's sole option, to terminate the license for the Licensed Software. SixtyFPS auditor shall before the audit sign Customer's standard NDA, and shall only be allowed to report violations of the terms of the Agreement to SixtyFPS, with a copy to @@ -241,24 +243,21 @@ Parties. applicable fees and contractual penalties, if any, in connection with the use of the Licensed Software. -24. In case of an Eval License, this Agreement will terminate at the end of - the **Eval Period** as specified in the License Certificate. - -25. Both Parties shall comply with all applicable laws and regulations +24. Both Parties shall comply with all applicable laws and regulations relating to the Licensed Software in the countries in which the Parties use or modify the Licensed Software. -26. All notices and communications between the Parties shall be in +25. All notices and communications between the Parties shall be in writing and shall be deemed given when received. For avoidance of doubt, email is considered a written form of communication. -27. This Agreement shall be construed, interpreted and governed by the +26. This Agreement shall be construed, interpreted and governed by the laws of the Federal Republic of Germany. -28. No term or condition contained in Customer's purchase order will +27. No term or condition contained in Customer's purchase order will apply unless expressly accepted by SixtyFPS in writing. -29. Customer may assign this Agreement, in whole or in part (whether by +28. Customer may assign this Agreement, in whole or in part (whether by operation of law or otherwise), with prior consent of SixtyFPS, which shall not be unreasonably withheld or delayed. SixtyFPS may assign this Agreement or any of its rights hereunder or @@ -266,7 +265,7 @@ Parties. Any attempt to assign this Agreement other than in accordance with this provision shall be null and void. -30. This Agreement constitutes the complete agreement between the +29. This Agreement constitutes the complete agreement between the Parties and supersedes all prior or contemporaneous discussions, representations, and proposals, written or oral, with respect to the subject matters discussed herein. No modification of this Agreement @@ -298,8 +297,8 @@ Parties. # Exhibit B - Support. -During the Term, SixtyFPS agrees to provide Support to Customer as set -forth in this Exhibit B. +During the Term, Customer can purchase Support Hours on payment of applicable Support Fees +to avail **Priority Support** as set forth in this Exhibit B. 1. **Scope** @@ -313,21 +312,17 @@ forth in this Exhibit B. Support for an older official stable release is not guaranteed but may be provided on a best effort basis. -2. **Support Hours and Fees** - - Customer can purchase Support Hours on payment of applicable Support Fees. - -3. **Validity of Support Hours** +2. **Validity of Support Hours** Unused Support Hours expire 12 months from date of purchase. -4. **Ownership** +3. **Ownership** SixtyFPS may choose to include all changes, including problem fixes and enhancements, to the Licensed Software and make it available for use to all users. -5. **Problem Isolation** +4. **Problem Isolation** Customer will perform initial problem isolation before a problem is reported to SixtyFPS. Customer is advised to recreate potential @@ -336,32 +331,32 @@ forth in this Exhibit B. release of the Licensed Software before distribution of any Customer's Products incorporating such release. -6. **Reporting a problem** +5. **Reporting a problem** Customer shall use issue tracking systems as provided by SixtyFPS to report problems. The problem description shall be in English. -7. **Problem recreation at SixtyFPS** +6. **Problem recreation at SixtyFPS** If SixtyFPS cannot reasonably replicate the setup under which the problem can be recreated, then in SixtyFPS’s sole discretion, SixtyFPS may ask Customer to provide the necessary setup or elect to recreate the problem at the Customer location. Any costs incurred - will be invoiced to Customer. + will be invoiced to the Customer. -8. **Errors in Modified Source** +7. **Errors in Modified Source** SixtyFPS is not responsible for errors introduced by Customer modifications to Licensed Software. Defects must be demonstrated on an unmodified version of Licensed Software provided by SixtyFPS. -9. **Non Licensed Software related problems** +8. **Non Licensed Software related problems** SixtyFPS will make reasonable efforts to provide workarounds for problems that are not directly related to the Licensed Software but are present in the Customer's Products built with the Licensed Software. Customer understands that workarounds may not be possible for all problems. -10. **Operating Systems Updates** +9. **Operating Systems Updates** SixtyFPS shall consider making commercially reasonable efforts to provide Customers with updates to the Licensed Software for newly released versions @@ -383,46 +378,17 @@ bei Berlin, Germany (“**SixtyFPS**”) grants a license to the Licensed Softwa subject to the terms of the Slint Software License Agreement (the “**Agreement**”). All terms in this Slint Software License Certificate ("**License Certificate**") -will have the same meaning as defined in the Agreement. - -1. Customer details - 1. Customer's Name: - 2. Customer's Address: - 3. Customer's Contact Person(s) with Email address(es): +will have the same meaning as defined in the Agreement. -2. License grant - 1. Effective Date: - 2. Maintenance Period: - 3. Customer's Product(s): +1. License grant + 1. Type: Ambassador / Eval / Paid + 2. Effective Date: + 3. Maintenance Period: 4. Number of User Seat(s): - 1. Name(s) and Email address(es): 5. Number of Distribution(s): - 6. Obligations under Ambassador Program: Applicable / Not-applicable - 7. Eval License: Yes / No - 1. Eval Period: - -By receiving this License Certificate, the Customer accepts the terms of the Agreement. - -The Parties agree that subsequent License Certificates will be deemed without a signature -provided that there are no modifications to the Agreement since the last signed License Certificate. - -IN WITNESS WHEREOF, the persons signing below warrant that they are duly -authorized to sign for, and on behalf of, the respective Parties. - -| **SixtyFPS** | | **Customer** | -|-----------------------------|-------------|-----------------------------| -| | | | -| **Name** | | **Name** | -| | | | -| **Position** | | **Position** | -| | | | -| **Date, Signature** | | **Date, Signature** | -| | | | -| | | | -| **Name** | | **Name** | -| | | | -| **Position** | | **Position** | -| | | | -| **Date, Signature** | | **Date, Signature** | - -Enclosed: Slint Software License Agreement \ No newline at end of file + +2. Permitted scope of Customer's use of Licensed Software + 1. Customer's Product(s) + 2. Name(s) and Email address(es) of User Seat(s) + +3. Customer's contact person(s) with email address(es): From 847e2a21a3ce855a5ba396891eb68fd130570faf Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 6 Oct 2022 11:53:40 +0200 Subject: [PATCH 03/25] Update FAQ, README and LICENSE --- FAQ.md | 28 +++++++----------- LICENSE.md | 2 +- README.md | 85 ++++++++++++++++++++++++++---------------------------- 3 files changed, 53 insertions(+), 62 deletions(-) diff --git a/FAQ.md b/FAQ.md index cc9a4b702cc..1852139f7a7 100644 --- a/FAQ.md +++ b/FAQ.md @@ -14,7 +14,7 @@ ## Where does the name come from? -The name *Slint* is derived from our design goals: **S**traightforward, **Li**ghtweight **N**ative **T**oolkit. +The name *Slint* is derived from our design goals: **S**calable, **L**ightweight **I**ntuitive **N**ative **T**oolkit. ## Why are you creating a new markup language? @@ -38,30 +38,25 @@ languages. # Licensing -Slint is available under two licenses: +Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. - * GPLv3, for the growing ecosystem of Free and Open Source Software. - * Commercial, for use in closed-source projects. See - -The commercial license is free if you help us promote Slint: Check out our +The commercial license is provided for free if you help us promote Slint: Check out our [ambassador license](https://slint-ui.com/ambassador-program.html). -## What is the commercial licensing model? +## What are the commercial licensing options? -The basic principle behind our commercial licensing is that you start for free and pay when you're shipping. +We offer 3 options under the commercial license - Ambassador, Flex and Buyout. All 3 options include a non-exclusive, perpetual, irrevocable, non-transferable right to use Slint. -We offer a perpetual license option and we generally deploy a per-product license, regardless of how many developers, designers, Q&A engineers are using Slint. +The Ambassador license is provided for free in lieu of helping us promote Slint. -If this doesn't fit you, don't hesitate to contact us and we'd be happy to work together to find a solution. +The Flex license is a per User-Seat license (with updates included as long as the subscription is active) to develop apps with Slint. +Distribution of such apps requires additional fees. -You can find a more detailed overview of our commercial licensing and the pricing at . +The Buyout license is a volume-based buyout license that includes unlimited User-Seats (with updates included) to develop apps with Slint as well as distribute such apps up to the purchased volume. ## Can I try Slint using the GPL version and then switch to the commercial license later? -Yes. The GPL is a distribution license that applies only when you ship your application. You can -evaluate Slint and develop your product internally using the GPL license, and only acquire a commercial -license when you want to ship your product. If you choose a per seat licensing model, the time spent -developing needs to be accounted for. However, support for bug fixes requires a commercial license. +Yes. You can evaluate Slint using the GPL license, and acquire the commercial license after the evaluation, with the option to transfer the development work from GPL to commercial for free. ## Is there a discount or reduction for independent developers or small businesses? @@ -70,5 +65,4 @@ Yes, check out our [Ambassador program](https://slint-ui.com/ambassador-program. ## I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license. You can still publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. -The distribution of a binary or a package containing Slint still needs to be licensed under the GPL. -It is up to those who want to distribute a non-free version of the application to acquire a commercial license. +The distribution of a binary or a package containing Slint still needs to be licensed under the GPL. If this is not an option, kindly consider our [commercial licensing options](#what-are-the-commercial-licensing-options). diff --git a/LICENSE.md b/LICENSE.md index 1da1261559a..970474958e7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ # Slint License Slint is available under either a [commercial license](LICENSES/LicenseRef-Slint-commercial.md) -or at your choice under [GPL 3.0](LICENSES/GPL-3.0-only.txt). +or [GNU GPLv3](LICENSES/GPL-3.0-only.txt), at your choice. Third party licenses listed in the `LICENSES` folder also apply to parts of the product. diff --git a/README.md b/README.md index 0f50acbbfc3..89ab9b77160 100644 --- a/README.md +++ b/README.md @@ -8,46 +8,49 @@ [![REUSE status](https://api.reuse.software/badge/github.com/slint-ui/slint)](https://api.reuse.software/info/github.com/slint-ui/slint) [![Discussions](https://img.shields.io/github/discussions/slint-ui/slint)](https://github.com/slint-ui/slint/discussions) -Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as -Rust, C++, and JavaScript. +Slint is a toolkit to efficiently design, develop and deploy responsive apps on any screen. Frontends built with Slint can be easily integrated with backends written in different programming languages such as C/C++, Rust, and JavaScript. Slint is developed by SixtyFPS GmbH together with the community. We invite you to use Slint and be part of its community. -Our design goals are: +## Design Goals +We use the following design goals as a guide when developing Slint + + - **Scalable**: Run on any screen connected to a device, from desktop computers to low end embedded systems. - **Lightweight**: Fit into a few hundred kilobytes of RAM and require little processing power. - - **Straightforward**: Programmers and designers should feel productive and be able to enjoy the design and development process. - The APIs should be consistent, easy to use, and intuitive, no matter the target language. High-quality documentation - should describe the APIs, teach concepts and how to use them. - - **Native**: We support many different target platforms, from embedded devices to desktops including mobile and web. Both the user and the developer should feel at - home on each platform. The look and feel and experience should match the users' expectations of a - native application. + - **Intuitive**: Both developers and designers should feel productive and enjoy the design and development process. + The APIs should be consistent and easy to use, no matter the target language. + - **Native**: Slint apps should match the users' expectations of a native application. Various target platforms such as + embedded devices, desktops, mobile and web should be supported so that both the user and the developer feel comfortable on + their platform of choice. -## Quick Start +## Get Started Check the [online demos](#demos-running-in-webassembly-simulation) or -[build on your own system](docs/building.md). +[build on your own system](docs/building.md). Also check out the [documentation](#documentation). ## Current Status -Slint is in active development. Its state of development depends on the kind of application. +Slint is in active development. The state of the toolkit for each platform is as follows: - - **Embedded**: *Ready!* Slint is already happily used by customers on embedded devices + - **Embedded**: *Ready!* Slint is already being used in production projects by customers (running on an Arm processor with Linux). - - **Microcontrollers**: *Ready*. You can make GUI working on MCU with less than 300K of RAM. + - **Microcontrollers** (MCU): *Ready*. Slint apps can run on MCUs with less than 300K of RAM. [Video of Slint on STM32](https://www.youtube.com/watch?v=NNNOJJsOAis) – [Video of Slint on RP2040](https://www.youtube.com/watch?v=dkBwNocItGs) – [docs](https://slint-ui.com/docs/rust/slint/docs/mcu/index.html) - - **Desktop**: *In Progress*. Slint is usable on Windows, Linux and Mac. We plan on building - up the desktop support in subsequent releases to reach the level of integration we're aiming for. + - **Desktop**: *In Progress*. While Slint is usable on Windows, Linux and Mac, we are working on + improving the platform support in subsequent releases to reach the level of integration that + have aimed for. - **Mobile** (Android/iOS): *Todo*. We haven't started supporting mobile platforms yet, but it - is our intention to do so in the future. - - **Web**: Our focus is on Embedded and Desktop applications. We do not intend to compete in - the web space as a primary platform. That said, Slint can compile to WebAssembly and the - demos are running in a web browser. But the web support is currently limited to demo purposes. - - **Accessibility**: Slint supports keyboard based navigation of many widgets, and user interfaces - are scalable. The basic infrastructure for assistive technology like screen readers is in place, - but requires the Qt backend at this time. + is our intention to do so in the near future. + - **Web**: *In Progress*. Slint apps can be compiled to WebAssembly and can run in a web browser. + As there are many other web frameworks, the web platform is not one of our primary target platforms. + The web support is currently limited to demo purposes. - We are aware that more work is needed to get best-of-class support for users with special needs. +### Accessibility + Slint supports keyboard based navigation of many widgets, and user interfaces are scalable. + The basic infrastructure for assistive technology like screen readers is in place, but currently requires + the Qt backend. + We are aware that more work is needed to get best-of-class support for users with special needs. ### Stay up to date @@ -160,40 +163,34 @@ List of some open source projects using Slint: (Contact us or open a pull reques - **[Project Trains Launcher](https://github.com/Project-Trains/launcher)**: Cross-platform game launcher made for Project Trains simulator. - **[Mastermind](https://github.com/ElevenJune/mastermind_Rust)**: Mastermind game coded in Rust. +## License + +Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. + +The commercial license is provided for free if you help us promote Slint: Check out our +[ambassador license](https://slint-ui.com/ambassador-program.html). + +See also the [Licensing FAQ](FAQ.md#licensing) + ## Contributions We welcome your contributions: in the form of code, bug reports or feedback. * If you see an [RFC tag](https://github.com/slint-ui/slint/labels/rfc) on an issue, feel free to chime in. - * For contribution guidelines see [CONTRIBUTING.md](CONTRIBUTING.md). The dual-licensing requires the + * For contribution guidelines see [CONTRIBUTING.md](CONTRIBUTING.md). The dual-licensing of Slint requires the contributor to accept a CLA. -## License - -This software is provided under a dual licensing scheme: - - - **GNU GPLv3**: Open source license ideal for free software. - - **Commercial Slint license**: - -The commercial license is free if you help us promote Slint: Check out our -[ambassador license](https://slint-ui.com/ambassador-program.html). - -See also the [Licensing FAQ](FAQ.md#licensing) - ## Frequently Asked Questions Please see our separate [FAQ](FAQ.md). ## About us -Olivier and Simon started their open source journey in the KDE project, the popular Open Source Desktop Environment -for Linux. Later they met while working together in a small company in Norway called Trolltech, on the Qt C++ toolkit. -Here, they gained valuable experience in API design, cross-platform software development and user interface components. -Simon continued in the Qt Company as one lead developer and maintainer of the QtQml engine, while Olivier -co-founded [Woboq](https://woboq.com), a software consulting company. Years later, and now based in Berlin, they are starting a -new project. With Slint they aim to make developing user interfaces fun for everyone: from JavaScript, C++, or -Rust developers all the way to UI/UX designers. +We are passionate about software - API design, cross-platform software development and user interface components. +Our aim to make developing user interfaces fun for everyone: from JavaScript, C++, or Rust developers all the +way to UI/UX designers. We believe that software grows organically and keeping it open source is the best way +to sustain that growth. Our team members are located remotely in Germany. ## Contact us From 04b09b708fb2bcad9fe57c3441658159ddd4643d Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 6 Oct 2022 15:41:50 +0200 Subject: [PATCH 04/25] Document overhaul 1. reformatted document to break at 80 characters 2. included review changes requested by tobias 3. moved support section out of license agreement --- LICENSES/LicenseRef-Slint-commercial.md | 605 ++++++++++-------------- 1 file changed, 260 insertions(+), 345 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 0a453339be5..1ef74313050 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -1,384 +1,299 @@ -# **Slint Software License Agreement** -Version 1.2, 22 August 2022 +# Slint Software License Agreement -Copyright © 2022 SixtyFPS GmbH - - -SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau -bei Berlin, Germany (“**SixtyFPS**”) grants a license to the software -(“**Licensed Software**”) as specified in **Exhibit A** which is provided -subject to the terms of this Slint Software License Agreement (the “**Agreement**”). -Each Party to this Agreement may be referred to -herein individually as a “**Party**” or collectively as the “**Parties**.” - -This Agreement incorporates by reference the following Exhibits -that are attached to this Agreement: - -**Exhibit A Licensed Software** - -**Exhibit B Support** - -Any Exhibit may be amended from time to time by written agreement of the -Parties. - -1. The Party to whom SixtyFPS grants the Licensed Software under this Agreement - will be referred to herein as the "**Customer**". - -2. As part of the license grant, a Slint Software License Certificate - ("**License Certificate**") will be issued containing details of (1) the - license grant, (2) the permitted scope of Customer's use of the Licensed Software - and (3) contact details of the Customer. In case of any changes to the information - provided in (2) and (3) above, Customer is obliged to notify SixtyFPS in writing, - not later than 7 days after any such change has occured. - -3. The Term of this Agreement shall begin on the date mentioned in the License - Certificate ("**Effective Date**") and shall continue unless terminated - earlier as herein provided ("**Term**"). - -4. The Licensed Software is protected by copyright laws and - international copyright treaties, as well as other intellectual - property laws and treaties. The Licensed Software is licensed, not - sold. - -5. The Licensed Software may provide links to third Party libraries or - code (collectively "**Third Party Libraries**") to implement various - functions. Third Party Libraries do not comprise part of the - Licensed Software. In some cases, access to Third Party Libraries - may be included along with the Licensed Software delivery as a - convenience for development and testing only. Customer - acknowledges (1) that some Third-Party Libraries may require - additional licensing of copyright and/or patents from the owners of - such, and (2) that distribution of any of the Licensed Software - referencing any portion of a Third-Party Library may require - appropriate licensing from such third parties. All such Third Party - Libraries, along with applicable copyright notices and licenses, - will be listed and made available to Customer. - -6. New releases of the Licensed Software (“**Updates**”) will be made - available to Customer for the period ("**Maintenance Period**") as - specified in the License Certificate. Such Updates may be bound by - additional license terms. Customer consents to any such additional - license terms, without which Customer may not install, copy, or - otherwise use such Updates. - -7. Support for the Licensed Software ("**Support**") is subject to terms and conditions - as specified in **Exhibit B**. - -8. The Licensed Software is to be used exclusively with Customer's software - products (“**Customer's Products**”) which are described in the License Certificate. - -9. Customer's employee(s) acting within the scope of their employment or third party - consultant(s) acting within the scope of their services on behalf of Customer - for the sole purposes of designing, developing, and testing Customer's Products - using the Licensed Software is collectively referred to as “**User Seats**” in - this Agreement. The maximum permitted number of User Seats is specified in - the License Certificate. - -10. SixtyFPS grants Customer a non-exclusive, perpetual, irrevocable, - non-transferable license to use the Licensed Software during the Term. - Said license also includes the right to make changes to the Licensed Software. - -11. SixtyFPS grants Customer a non-exclusive, perpetual, irrevocable - right to reproduce and distribute the object code form of the - Licensed Software exclusively with Customer's Products. Said license - also includes the right to make changes to object code of the Licensed Software. - The maximum permitted number of distributions of Customer's Products (**Distributions**) - is specified in the License Certificate. - -12. The grant in clause 11 above shall not apply for an **Eval License**, a license - provided to Customer for the purpose of evaluating the Licensed Software. - -13. The license grants are conditional on the full and timely payment of all - applicable Fees; if said Fees are not paid in full and by their due date, - the license shall not be granted and the Customer's Products shall be - deemed as made in breach of the Agreement ex tunc. +Version 1.2 -14. Clause 13 above shall not apply for an **Ambassador License**, a license - provided to Customer for free. Instead, the license grants shall be conditional on the - fullfilment of the obligations set forth below; if said obligations are not fulfilled, - the license shall not be granted and the Customer's Products shall be deemed as made in - breach of the Agreement ex tunc. The obligations are as follows: - - 1. Showcase: Customer grants SixtyFPS the right to use Customer's name, logo and Customer's Products in marketing materials, - - 2. Spread the word: Customer will include reasonably visible notices in the documentation, marketing materials and social - media channels related to Customer's Products that such were built with the Licensed Software, - - 3. Give feedback: Customer agrees to provide relevant feedback that would help SixtyFPS improve the Licensed Software. - SixtyFPS may use any such feedback in testimonials. - -15. The Fees and any other charges under this Agreement shall be paid by Customer no later - than thirty (30) days from the date of the applicable invoice from SixtyFPS. A late payment - charge of the lower of (a) one percent per month; or (b) the interest rate stipulated by applicable - law, shall be charged on any unpaid balances that remain past due and which have not been disputed - by the Customer in good faith. - -16. The Fees and any other charges payable under this Agreement are gross amounts but exclusive of any value - added tax, use tax, sales tax, withholding tax and other taxes, duties or tariffs levied directly for the - sale, delivery or use of the Licensed Software pursuant to any applicable law. - -17. The Parties also agree to all of the following conditions: - - 1. Customer may not remove or alter any copyright, trademark or - other proprietary rights notice contained in any portion of the - Licensed Software, - - 2. Customer's Products may not compete with the Licensed Software, - - 3. Customer will indemnify and hold SixtyFPS, its affiliated companies - and its suppliers, harmless from and against any claims or - liabilities arising out of the use, reproduction or distribution - of Customer's Products, except as set out in clause 17.4. immediately below, - - 4. SixtyFPS shall indemnify and hold Customer, its related - companies, its suppliers, distributors and customers, harmless - from and against any claims from third parties alleging - that the use of the Licensed Software as set out in this - Agreement infringes or will infringe such third parties - intellectual property rights or other rights, - - 5. A Party shall promptly notify the other Party if it receives a - claim that the other Party shall or may be obliged to indemnify. - The Parties shall promptly give each other information and other - assistance needed for handling the claim. The Indemnifying Party - may, at its cost and in its sole discretion, take control of the - defense of such claim, including the conduct of any litigation - or arbitration and the negotiation of any settlement, in which - case the indemnifying Party shall not compromise or settle or - otherwise dispose of the claim, in whole or in part, where such - compromise or settlement or disposal would require any admission - or stipulation which would reasonably be expected to have an - adverse effect on the commercial reputation of the indemnified - Party, without the prior written consent of the indemnified - Party. Where the indemnifying Party has not taken control of the - defense of the claim, the indemnified Party shall not compromise - or settle or fail adequately to defend or otherwise dispose of a - claim, in whole or in part, without the written consent of the - indemnifying Party, such consent not to be unreasonably withheld - or delayed. - -18. The Licensed Software is licensed to Customer "as is". To the - maximum extent permitted by applicable law, SixtyFPS on behalf of - itself and its suppliers, disclaims all warranties and conditions, - either express or implied, including, but not limited to, implied - warranties of merchantability or fitness for a particular purpose. - SixtyFPS do warrant title and non-infringement with regard to the - licensed software. The warranty disclaimer in the foregoing - notwithstanding, Customer may have specific legal rights which may - vary from state/jurisdiction to state/jurisdiction; as far as legally - permissible, Customer waives any such legal rights vis-à-vis SixtyFPS. - -19. SixtyFPS shall not under any circumstances be liable to Customer - based on failure of the Licensed Software if the failure resulted - from Customer's changing of the Licensed Software, from Customer's - accident, abuse or misapplication, nor shall either party except - in case of gross negligence or willful misconduct be liable for - special damages, punitive or exemplary damages, damages for loss - of profits or interruption of business or for loss or corruption - of data, nor shall any award of damages from either party to the - other party exceed the total amount Customer payable to SixtyFPS - in connection with this agreement. - -20. Each Party shall hold Confidential Information of the other Party, - its customers, and licensors in confidence, and without written - permission from will not disclose to any person or use for its own - benefit, any such information. "Confidential Information" includes - without limitation the terms of this Agreement, computer software - programs developed or licensed by the Parties, including all - documentation and methods or concepts utilized therein, all - adaptations and modifications thereto and derivative works thereof, - and related materials and information. Confidential Information also - includes any other information identified by either Party, its - licensors, or customers as proprietary or confidential, or which - would reasonably be understood under the circumstances to be - confidential. All Confidential Information shall remain the sole - property of each respective Party. Information will not be - considered to be Confidential Information if (i) available to the - public other than by a breach of this Agreement; (ii) rightfully - received from a third Party not in breach of any obligation of - confidentiality; (iii) independently developed by a Party without - access to Confidential Information of the other Party; (iv) known to - the other Party at the time of disclosure; (v) produced in - compliance with applicable law or a court order, provided the other - Party is given notice and opportunity to intervene; or (vi) it does - not constitute a trade secret and more than five (5) years have - elapsed from the date of disclosure. In addition to any other rights - or remedies available, each Party shall be entitled to enforcement - of such obligations by court injunction. - -21. During the Term, an independent, certified auditor on SixtyFPS's - behalf, may, upon its reasonable request, with 30 (thirty) days - written notice, and at its SixtyFPS's sole expense, examine - Customer's books and records solely with respect to Customer's use - of the Licensed Software. Any such audit shall be conducted during - regular business hours at Customer's facilities and shall not - unreasonably interfere with Customer's business activities. - SixtyFPS' auditor shall not remove, copy, or redistribute any - electronic material during the course of an audit. Customer does not - implicitly grant SixtyFPS or SixtyFPS' auditor any form of license - agreement. If an audit reveals that Customer is using the Licensed - Software in a way that is in material violation of the terms of the - Agreement, then Customer shall pay SixtyFPS's reasonable costs of - conducting the audit. In the case of a material violation, Customer - agrees to pay SixtyFPS any amounts owing that are attributable to - the unauthorized use. In the alternative, SixtyFPS reserves the - right, at SixtyFPS's sole option, to terminate the license for the - Licensed Software. SixtyFPS auditor shall before the audit sign - Customer's standard NDA, and shall only be allowed to report - violations of the terms of the Agreement to SixtyFPS, with a copy to - the Customer. The Customer shall be provided the right to provide - comments to the report before it is finalized. - -22. If Customer materially breaches this Agreement, SixtyFPS will provide a - 60 days written notice to the Customer during which any such breach(es) - may be cured, failing which SixtyFPS will terminate the agreement. - Customer undertakes to pay a contractual penalty for each case of - negligent breach of this Agreement of EUR 10.000, which shall not be - subject to a judicial right of reduction. SixtyFPS shall in any case be - free to assert any further damage/loss or other claims. The amount of - contractual penalty shall be offset against claims for damages, if any. - -23. Customer may terminate this Agreement at any time for any reason - upon 90 (ninety) days notice to SixtyFPS and upon payment of all - applicable fees and contractual penalties, if any, in connection with - the use of the Licensed Software. - -24. Both Parties shall comply with all applicable laws and regulations - relating to the Licensed Software in the countries in which the - Parties use or modify the Licensed Software. - -25. All notices and communications between the Parties shall be in - writing and shall be deemed given when received. For avoidance of - doubt, email is considered a written form of communication. - -26. This Agreement shall be construed, interpreted and governed by the - laws of the Federal Republic of Germany. - -27. No term or condition contained in Customer's purchase order will - apply unless expressly accepted by SixtyFPS in writing. - -28. Customer may assign this Agreement, in whole or in part (whether by - operation of law or otherwise), with prior consent of SixtyFPS, which - shall not be unreasonably withheld or delayed. SixtyFPS - may assign this Agreement or any of its rights hereunder or - delegate any of its obligations hereunder with prior notice to the Customer. - Any attempt to assign this Agreement other than in accordance with - this provision shall be null and void. - -29. This Agreement constitutes the complete agreement between the - Parties and supersedes all prior or contemporaneous discussions, - representations, and proposals, written or oral, with respect to the - subject matters discussed herein. No modification of this Agreement - will be effective unless contained in a written document executed by an - authorized representative of each Party. If any provision of the - Agreement is found void or unenforceable, the remainder will remain - valid and enforceable according to its terms. If any remedy provided - is determined to have failed for its essential purpose, all - limitations of liability and exclusions of damages set forth in this - Agreement shall remain in effect. +Copyright © 2022 SixtyFPS GmbH -# Exhibit A - Licensed Software. +SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany +(**SixtyFPS**) grants a license to the software (**Licensed Software**), as +specified herein, subject to the terms of this Slint Software License Agreement +(**Agreement**). -**Licensed Software Description** +The Licensed Software includes -- Slint compiler tool to translate Slint Design Markup Language +- Slint compiler tool to translate Slint Design Markup Language files to Rust (last stable Rust version at the time of licensed Slint version) and C++ (second last C++ version at the time of - licensed Slint version). + licensed Slint version), -- Slint run-time library that can render interactive +- Slint run-time library that can render interactive user-interfaces and provides Rust and C++ APIs (as per above - versioning) to control the interfaces. + versioning) to control the interfaces, -- API Documentation for Slint and reference documentation for - Slint Design Markup Language. +- API Documentation for Slint and reference documentation for + Slint Design Markup Language, and -- Source code of Slint +- Source code of Slint. -# Exhibit B - Support. +Each Party to this Agreement may be referred to herein individually as a +**Party** or collectively as the **Parties**. -During the Term, Customer can purchase Support Hours on payment of applicable Support Fees -to avail **Priority Support** as set forth in this Exhibit B. +## Terms and Conditions -1. **Scope** +1. The Party to whom SixtyFPS grants the Licensed Software under this Agreement + will be referred to herein as the **Customer**. - Support includes problem fixing, including but not limited - to correction of faults and errors (bugs), in official stable releases - of the Licensed Software. +2. As part of the license grant, a Slint Software License Certificate + (**License Certificate**) will be issued containing details of - Support will be provided for official stable release of the Licensed Software - for a duration of two (2) years from the date of release. + 1. the license grant, - Support for an older official stable release is not guaranteed but may be provided - on a best effort basis. + 2. the permitted scope of Customer's use of the Licensed Software, and -2. **Validity of Support Hours** + 3. contact details of the Customer. - Unused Support Hours expire 12 months from date of purchase. - -3. **Ownership** + In case of any changes to the information provided in 2.2 and 2.3 above, + Customer is obliged to notify SixtyFPS in writing, not later than 7 days + after any such change has occured. - SixtyFPS may choose to include all changes, including problem fixes - and enhancements, to the Licensed Software and make it available for - use to all users. +3. The Term of this Agreement shall begin on the date mentioned in the License + Certificate (**Effective Date**) and shall continue unless terminated + earlier as herein provided (**Term**). -4. **Problem Isolation** +4. The Licensed Software is protected by copyright laws and international + copyright treaties, as well as other intellectual property laws and + treaties. The Licensed Software is licensed, not sold. - Customer will perform initial problem isolation before a problem is - reported to SixtyFPS. Customer is advised to recreate potential - problems using the most recent release when reporting problems to - SixtyFPS. It is recommended that Customer briefly test each new - release of the Licensed Software before distribution of any Customer's Products incorporating such - release. +5. The Licensed Software may provide links to third Party libraries or code + (collectively **Third Party Libraries**) to implement various functions. + Third Party Libraries do not comprise part of the Licensed Software. In some + cases, access to Third Party Libraries may be included along with the + Licensed Software delivery as a convenience for development and testing + only. Customer acknowledges: -5. **Reporting a problem** + 1. that some Third-Party Libraries may require additional licensing of + copyright and/or patents from the owners of such, and - Customer shall use issue tracking systems as provided by SixtyFPS to - report problems. The problem description shall be in English. + 2. that distribution of any of the Licensed Software referencing any portion + of a Third-Party Library may require appropriate licensing from such + third parties. All such Third Party Libraries, along with applicable + copyright notices and licenses, will be listed and made available to + Customer. -6. **Problem recreation at SixtyFPS** +6. New releases of the Licensed Software (**Updates**) will be made available + to Customer for the period (**Maintenance Period**) as specified in the + License Certificate. Such Updates may be bound by additional license terms. + Customer consents to any such additional license terms, without which + Customer may not install, copy, or otherwise use such Updates. - If SixtyFPS cannot reasonably replicate the setup under which the problem can - be recreated, then in SixtyFPS’s sole discretion, SixtyFPS may ask Customer to provide - the necessary setup or elect to recreate the problem at the Customer location. Any costs incurred - will be invoiced to the Customer. +7. The Licensed Software is to be used exclusively with Customer's software + products (**Customer's Products**) which are described in the License + Certificate. -7. **Errors in Modified Source** +8. Customer's employee(s) acting within the scope of their employment or third + party consultant(s) acting within the scope of their services on behalf of + Customer for the sole purposes of designing, developing, and testing + Customer's Products using the Licensed Software is collectively referred to + as **User Seats** in this Agreement. The maximum permitted number of User + Seats is specified in the License Certificate. - SixtyFPS is not responsible for errors introduced by Customer - modifications to Licensed Software. Defects must be demonstrated on - an unmodified version of Licensed Software provided by SixtyFPS. - -8. **Non Licensed Software related problems** - - SixtyFPS will make reasonable efforts to provide workarounds for problems - that are not directly related to the Licensed Software but are present in - the Customer's Products built with the Licensed Software. Customer understands - that workarounds may not be possible for all problems. - -9. **Operating Systems Updates** - - SixtyFPS shall consider making commercially reasonable efforts to provide - Customers with updates to the Licensed Software for newly released versions - of operating systems. If, however, extensive changes to the Licensed Software - are required, SixtyFPS may charge additional fees for the changes. Customer is - under no obligation to accept such updates that require additional fees and - SixtyFPS is not obligated to provide any specific operating system updates. +9. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right + to use the Licensed Software, including making modifications to the Licensed + Software, during the Term. +10. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right + to reproduce and distribute the object code form (**Distributions**) of the + Licensed Software, including any modifications made to the Licensed + Software, exclusively with Customer's Products and limited to the number of + Distributions as specified in the License Certificate, during the Term. +11. The license grants are conditional on the full and timely payment of all + applicable Fees; if said Fees are not paid in full and by their due date, + the license shall not be granted and the Customer's Products shall be + deemed as made in breach of the Agreement ex tunc. +12. Clause 11 above shall not apply for an **Ambassador License**, a license + provided to Customer for free. Instead, the license grants shall be + conditional on the fullfilment of the obligations as specified herein. If + said obligations are not fulfilled, the license shall not be granted and + the Customer's Products shall be deemed as made in breach of the Agreement + ex tunc. The obligations are as follows: + + 1. Showcase: Customer grants SixtyFPS the right to use Customer's name, + logo and Customer's Products in marketing materials, + + 2. Spread the word: Customer will include reasonably visible notices in the + documentation, marketing materials and social media channels related to + Customer's Products that such were built with the Licensed Software, + + 3. Give feedback: Customer agrees to provide relevant feedback that would + help SixtyFPS improve the Licensed Software. SixtyFPS may use any such + feedback in testimonials. + +13. The Fees and any other charges under this Agreement shall be paid by + Customer no later than thirty (30) days from the date of the applicable + invoice from SixtyFPS. A late payment charge of the lower of (a) one percent + per month; or (b) the interest rate stipulated by applicable law, shall be + charged on any unpaid balances that remain past due and which have not been + disputed by the Customer in good faith. + +14. The Fees and any other charges payable under this Agreement are gross + amounts but exclusive of any value added tax, use tax, sales tax, + withholding tax and other taxes, duties or tariffs levied directly for the + sale, delivery or use of the Licensed Software pursuant to any applicable + law. + +15. The Parties also agree to all of the following conditions: + + 1. Customer may not remove or alter any copyright, trademark or other + proprietary rights notice contained in any portion of the Licensed + Software, + + 2. Customer's Products may not compete with the Licensed Software, + + 3. Customer will indemnify and hold SixtyFPS, its affiliated companies and + its suppliers, harmless from and against any claims or liabilities + arising out of the use, reproduction or distribution of Customer's + Products, except as set out in clause 15.4. immediately below, + + 4. SixtyFPS shall indemnify and hold Customer, its related companies, its + suppliers, distributors and customers, harmless from and against any + claims from third parties alleging that the use of the Licensed Software + as set out in this Agreement infringes or will infringe such third + parties intellectual property rights or other rights, + + 5. A Party shall promptly notify the other Party if it receives a claim that + the other Party shall or may be obliged to indemnify. The Parties shall + promptly give each other information and other assistance needed for + handling the claim. The Indemnifying Party may, at its cost and in its + sole discretion, take control of the defense of such claim, including + the conduct of any litigation or arbitration and the negotiation of any + settlement, in which case the indemnifying Party shall not compromise or + settle or otherwise dispose of the claim, in whole or in part, where + such compromise or settlement or disposal would require any admission or + stipulation which would reasonably be expected to have an adverse effect + on the commercial reputation of the indemnified Party, without the prior + written consent of the indemnified Party. Where the indemnifying Party + has not taken control of the defense of the claim, the indemnified Party + shall not compromise or settle or fail adequately to defend or otherwise + dispose of a claim, in whole or in part, without the written consent of + the indemnifying Party, such consent not to be unreasonably withheld or + delayed. + +16. The Licensed Software is licensed to Customer "as is". To the maximum extent + permitted by applicable law, SixtyFPS on behalf of itself and its suppliers, + disclaims all warranties and conditions, either express or implied, + including, but not limited to, implied warranties of merchantability or + fitness for a particular purpose. SixtyFPS do warrant title and + non-infringement with regard to the licensed software. The warranty + disclaimer in the foregoing notwithstanding, Customer may have specific + legal rights which may vary from state/jurisdiction to state/jurisdiction; + as far as legally permissible, Customer waives any such legal rights + vis-à-vis SixtyFPS. + +17. SixtyFPS shall not under any circumstances be liable to Customer based on + failure of the Licensed Software if the failure resulted from Customer's + changing of the Licensed Software, from Customer's accident, abuse or + misapplication, nor shall either party except in case of gross negligence or + willful misconduct be liable for special damages, punitive or exemplary + damages, damages for loss of profits or interruption of business or for loss + or corruption of data, nor shall any award of damages from either party to + the other party exceed the total amount Customer payable to SixtyFPS in + connection with this agreement. + +18. Each Party shall hold Confidential Information of the other Party, its + customers, and licensors in confidence, and without written permission from + will not disclose to any person or use for its own benefit, any such + information. **Confidential Information** includes without limitation the + terms of this Agreement, computer software programs developed or licensed by + the Parties, including all documentation and methods or concepts utilized + therein, all adaptations and modifications thereto and derivative works + thereof, and related materials and information. Confidential Information + also includes any other information identified by either Party, its + licensors, or customers as proprietary or confidential, or which would + reasonably be understood under the circumstances to be confidential. All + Confidential Information shall remain the sole property of each respective + Party. Information will not be considered to be Confidential Information if + + 1. available to the public other than by a breach of this Agreement; + + 2. rightfully received from a third Party not in breach of any obligation of + confidentiality; + + 3. independently developed by a Party without access to Confidential + Information of the other Party; + + 4. known to the other Party at the time of disclosure; + + 5. produced in compliance with applicable law or a court order, provided the + other Party is given notice and opportunity to intervene; or + + 6. it does not constitute a trade secret and more than five (5) years have + elapsed from the date of disclosure. In addition to any other rights or + remedies available, each Party shall be entitled to enforcement of such + obligations by court injunction. + +19. During the Term, an independent, certified auditor on SixtyFPS's behalf, + may, upon its reasonable request, with 30 (thirty) days written notice, and + at its sole expense, examine Customer's books and records solely with + respect to Customer's use of the Licensed Software. Any such audit shall be + conducted during regular business hours at Customer's facilities and shall + not unreasonably interfere with Customer's business activities. SixtyFPS' + auditor shall not remove, copy, or redistribute any electronic material + during the course of an audit. If an audit reveals that Customer is using + the Licensed Software in a way that is in material violation of the terms + of this Agreement, then Customer shall pay SixtyFPS's reasonable costs of + conducting the audit. SixtyFPS auditor shall only be allowed to report + violations of the terms of this Agreement, with a copy to the Customer. The + Customer shall be provided the right to provide comments to the report + before it is finalized. + +20. If Customer materially breaches this Agreement, SixtyFPS will provide a 60 + (sixty) days written notice to the Customer during which any such breach(es) + may be cured, failing which SixtyFPS will terminate the agreement. Customer + undertakes to pay a contractual penalty for each case of negligent breach of + this Agreement of EUR 10.000, which shall not be subject to a judicial right + of reduction. SixtyFPS shall in any case be free to assert any further + damage/loss or other claims. The amount of contractual penalty shall be + offset against claims for damages, if any. + +21. Customer may terminate this Agreement at any time for any reason upon 90 + (ninety) days notice to SixtyFPS and upon payment of all applicable fees and + contractual penalties, if any, in connection with the use of the Licensed + Software. + +22. Both Parties shall comply with all applicable laws and regulations relating + to the Licensed Software in the countries in which the Parties use or modify + the Licensed Software. + +23. All notices and communications between the Parties shall be in writing and + shall be deemed given when received. For avoidance of doubt, email is + considered a written form of communication. + +24. This Agreement shall be construed, interpreted and governed by the laws of + the Federal Republic of Germany. + +25. No term or condition contained in Customer's purchase order will apply + unless expressly accepted by SixtyFPS in writing. + +26. Customer may assign this Agreement, in whole or in part (whether by + operation of law or otherwise), with prior consent of SixtyFPS, which shall + not be unreasonably withheld or delayed. SixtyFPS may assign this Agreement + or any of its rights hereunder or delegate any of its obligations hereunder + with prior notice to the Customer. Any attempt to assign this Agreement + other than in accordance with this provision shall be null and void. + +27. This Agreement constitutes the complete agreement between the Parties and + supersedes all prior or contemporaneous discussions, representations, and + proposals, written or oral, with respect to the subject matters discussed + herein. No modification of this Agreement will be effective unless contained + in a written document executed by an authorized representative of each + Party. If any provision of the Agreement is found void or unenforceable, the + remainder will remain valid and enforceable according to its terms. If any + remedy provided is determined to have failed for its essential purpose, all + limitations of liability and exclusions of damages set forth in this + Agreement shall remain in effect. -# **Slint Software License Certificate** +## Slint Software License Certificate Copyright © 2022 SixtyFPS GmbH +SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany +grants a license to the Licensed Software subject to the terms of the Slint +Software License Agreement (**Agreement**). -SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau -bei Berlin, Germany (“**SixtyFPS**”) grants a license to the Licensed Software -subject to the terms of the Slint Software License Agreement (the “**Agreement**”). - -All terms in this Slint Software License Certificate ("**License Certificate**") -will have the same meaning as defined in the Agreement. +All terms in this Slint Software License Certificate will have the same meaning +as defined in the Agreement. 1. License grant 1. Type: Ambassador / Eval / Paid From 3cc40921b3782f17e4ba0b84f29b9942d65f5ca6 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 6 Oct 2022 15:42:30 +0200 Subject: [PATCH 05/25] Incorporated review changes from tobias --- FAQ.md | 13 ++++++++----- README.md | 8 ++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/FAQ.md b/FAQ.md index 1852139f7a7..31226f855d2 100644 --- a/FAQ.md +++ b/FAQ.md @@ -14,7 +14,7 @@ ## Where does the name come from? -The name *Slint* is derived from our design goals: **S**calable, **L**ightweight **I**ntuitive **N**ative **T**oolkit. +The name *Slint* is derived from our design goals: **S**calable, **L**ightweight, **I**ntuitive, and **N**ative **T**oolkit. ## Why are you creating a new markup language? @@ -40,14 +40,14 @@ languages. Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. -The commercial license is provided for free if you help us promote Slint: Check out our +The commercial license can be provided for free if you help us promote Slint: Check out our [ambassador license](https://slint-ui.com/ambassador-program.html). ## What are the commercial licensing options? We offer 3 options under the commercial license - Ambassador, Flex and Buyout. All 3 options include a non-exclusive, perpetual, irrevocable, non-transferable right to use Slint. -The Ambassador license is provided for free in lieu of helping us promote Slint. +The Ambassador license is a free license that can be provided in lieu of helping us promote Slint. The Flex license is a per User-Seat license (with updates included as long as the subscription is active) to develop apps with Slint. Distribution of such apps requires additional fees. @@ -64,5 +64,8 @@ Yes, check out our [Ambassador program](https://slint-ui.com/ambassador-program. ## I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license. -You can still publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. -The distribution of a binary or a package containing Slint still needs to be licensed under the GPL. If this is not an option, kindly consider our [commercial licensing options](#what-are-the-commercial-licensing-options). +A couple of options could be: + + * publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. However, the binary or the package + containing Slint needs to be licensed under GPL, + * consider of one of our [commercial licensing options](#what-are-the-commercial-licensing-options). diff --git a/README.md b/README.md index 89ab9b77160..922c41e35d5 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,8 @@ Slint is in active development. The state of the toolkit for each platform is as [Video of Slint on STM32](https://www.youtube.com/watch?v=NNNOJJsOAis) – [Video of Slint on RP2040](https://www.youtube.com/watch?v=dkBwNocItGs) – [docs](https://slint-ui.com/docs/rust/slint/docs/mcu/index.html) - - **Desktop**: *In Progress*. While Slint is usable on Windows, Linux and Mac, we are working on - improving the platform support in subsequent releases to reach the level of integration that - have aimed for. + - **Desktop**: *In Progress*. While Slint is usable on Windows, Linux and Mac, we are working on + improving the platform support in subsequent releases. - **Mobile** (Android/iOS): *Todo*. We haven't started supporting mobile platforms yet, but it is our intention to do so in the near future. - **Web**: *In Progress*. Slint apps can be compiled to WebAssembly and can run in a web browser. @@ -47,6 +46,7 @@ Slint is in active development. The state of the toolkit for each platform is as The web support is currently limited to demo purposes. ### Accessibility + Slint supports keyboard based navigation of many widgets, and user interfaces are scalable. The basic infrastructure for assistive technology like screen readers is in place, but currently requires the Qt backend. @@ -167,7 +167,7 @@ List of some open source projects using Slint: (Contact us or open a pull reques Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. -The commercial license is provided for free if you help us promote Slint: Check out our +The commercial license can be provided for free if you help us promote Slint: Check out our [ambassador license](https://slint-ui.com/ambassador-program.html). See also the [Licensing FAQ](FAQ.md#licensing) From 9d370c6f6ff2e4cdf5f80742c2152b66d23c7dbc Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 6 Oct 2022 22:43:47 +0200 Subject: [PATCH 06/25] partly restructured + removed clause 8 --- LICENSES/LicenseRef-Slint-commercial.md | 141 ++++++++++++------------ 1 file changed, 69 insertions(+), 72 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 1ef74313050..6dca71aa149 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -6,55 +6,40 @@ Copyright © 2022 SixtyFPS GmbH SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany (**SixtyFPS**) grants a license to the software (**Licensed Software**), as -specified herein, subject to the terms of this Slint Software License Agreement -(**Agreement**). +specified herein, subject to the Terms and Conditions of this Slint Software +License Agreement (**Agreement**). + +The Party to whom SixtyFPS grants the Licensed Software under this Agreement +will be referred to as the **Customer**. + +Each Party to this Agreement may be referred to herein individually as a +**Party** or collectively as the **Parties**. + +## Licensed Software The Licensed Software includes -- Slint compiler tool to translate Slint Design Markup Language +1. Slint compiler tool to translate Slint Design Markup Language files to Rust (last stable Rust version at the time of licensed Slint version) and C++ (second last C++ version at the time of licensed Slint version), -- Slint run-time library that can render interactive +2. Slint run-time library that can render interactive user-interfaces and provides Rust and C++ APIs (as per above versioning) to control the interfaces, -- API Documentation for Slint and reference documentation for +3. API Documentation for Slint and reference documentation for Slint Design Markup Language, and -- Source code of Slint. - -Each Party to this Agreement may be referred to herein individually as a -**Party** or collectively as the **Parties**. +4. Source code of Slint. ## Terms and Conditions -1. The Party to whom SixtyFPS grants the Licensed Software under this Agreement - will be referred to herein as the **Customer**. - -2. As part of the license grant, a Slint Software License Certificate - (**License Certificate**) will be issued containing details of - - 1. the license grant, - - 2. the permitted scope of Customer's use of the Licensed Software, and - - 3. contact details of the Customer. - - In case of any changes to the information provided in 2.2 and 2.3 above, - Customer is obliged to notify SixtyFPS in writing, not later than 7 days - after any such change has occured. - -3. The Term of this Agreement shall begin on the date mentioned in the License - Certificate (**Effective Date**) and shall continue unless terminated - earlier as herein provided (**Term**). - -4. The Licensed Software is protected by copyright laws and international +1. The Licensed Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Licensed Software is licensed, not sold. -5. The Licensed Software may provide links to third Party libraries or code +2. The Licensed Software may provide links to third Party libraries or code (collectively **Third Party Libraries**) to implement various functions. Third Party Libraries do not comprise part of the Licensed Software. In some cases, access to Third Party Libraries may be included along with the @@ -70,39 +55,51 @@ Each Party to this Agreement may be referred to herein individually as a copyright notices and licenses, will be listed and made available to Customer. -6. New releases of the Licensed Software (**Updates**) will be made available +3. As part of the license grant, a Slint Software License Certificate + (**License Certificate**) will be issued containing details of + + 1. the license grant, + + 2. the permitted scope of Customer's use of the Licensed Software, and + + 3. contact details of the Customer. + + In case of any changes to the information provided in 3.2 and 3.3 above, + Customer is obliged to notify SixtyFPS in writing, not later than 7 days + after any such change has occured. + +4. The Term of this Agreement shall begin on the date mentioned in the License + Certificate (**Effective Date**) and shall continue unless terminated + earlier as herein provided (**Term**). + +5. New releases of the Licensed Software (**Updates**) will be made available to Customer for the period (**Maintenance Period**) as specified in the License Certificate. Such Updates may be bound by additional license terms. Customer consents to any such additional license terms, without which Customer may not install, copy, or otherwise use such Updates. -7. The Licensed Software is to be used exclusively with Customer's software - products (**Customer's Products**) which are described in the License +6. The Licensed Software is to be used exclusively with Customer's software + products (**Customer's Products**) as specified in the License Certificate. -8. Customer's employee(s) acting within the scope of their employment or third - party consultant(s) acting within the scope of their services on behalf of - Customer for the sole purposes of designing, developing, and testing - Customer's Products using the Licensed Software is collectively referred to - as **User Seats** in this Agreement. The maximum permitted number of User - Seats is specified in the License Certificate. - -9. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right +7. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right to use the Licensed Software, including making modifications to the Licensed - Software, during the Term. + Software, during the Term. The number of users using the Licensed Software + is limited to the amount of **User Seats** as specified in the License + Certificate. For clarity, each user is counted as a User Seat. -10. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right - to reproduce and distribute the object code form (**Distributions**) of the - Licensed Software, including any modifications made to the Licensed - Software, exclusively with Customer's Products and limited to the number of - Distributions as specified in the License Certificate, during the Term. +8. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right + to reproduce and distribute the object code form of the Licensed Software, + including any modifications made to the Licensed Software, during the Term. + Such distributions is permitted only with Customer's Products and limited to + the amount of **Distributions** as specified in the License Certificate. -11. The license grants are conditional on the full and timely payment of all +9. The license grants are conditional on the full and timely payment of all applicable Fees; if said Fees are not paid in full and by their due date, the license shall not be granted and the Customer's Products shall be deemed as made in breach of the Agreement ex tunc. -12. Clause 11 above shall not apply for an **Ambassador License**, a license +10. Clause 10 above shall not apply for an **Ambassador License**, a license provided to Customer for free. Instead, the license grants shall be conditional on the fullfilment of the obligations as specified herein. If said obligations are not fulfilled, the license shall not be granted and @@ -120,20 +117,20 @@ Each Party to this Agreement may be referred to herein individually as a help SixtyFPS improve the Licensed Software. SixtyFPS may use any such feedback in testimonials. -13. The Fees and any other charges under this Agreement shall be paid by +11. The Fees and any other charges under this Agreement shall be paid by Customer no later than thirty (30) days from the date of the applicable invoice from SixtyFPS. A late payment charge of the lower of (a) one percent per month; or (b) the interest rate stipulated by applicable law, shall be charged on any unpaid balances that remain past due and which have not been disputed by the Customer in good faith. -14. The Fees and any other charges payable under this Agreement are gross +12. The Fees and any other charges payable under this Agreement are gross amounts but exclusive of any value added tax, use tax, sales tax, withholding tax and other taxes, duties or tariffs levied directly for the sale, delivery or use of the Licensed Software pursuant to any applicable law. -15. The Parties also agree to all of the following conditions: +13. The Parties also agree to all of the following conditions: 1. Customer may not remove or alter any copyright, trademark or other proprietary rights notice contained in any portion of the Licensed @@ -144,7 +141,7 @@ Each Party to this Agreement may be referred to herein individually as a 3. Customer will indemnify and hold SixtyFPS, its affiliated companies and its suppliers, harmless from and against any claims or liabilities arising out of the use, reproduction or distribution of Customer's - Products, except as set out in clause 15.4. immediately below, + Products, except as set out in clause 13.4. immediately below, 4. SixtyFPS shall indemnify and hold Customer, its related companies, its suppliers, distributors and customers, harmless from and against any @@ -170,7 +167,7 @@ Each Party to this Agreement may be referred to herein individually as a the indemnifying Party, such consent not to be unreasonably withheld or delayed. -16. The Licensed Software is licensed to Customer "as is". To the maximum extent +14. The Licensed Software is licensed to Customer "as is". To the maximum extent permitted by applicable law, SixtyFPS on behalf of itself and its suppliers, disclaims all warranties and conditions, either express or implied, including, but not limited to, implied warranties of merchantability or @@ -181,7 +178,7 @@ Each Party to this Agreement may be referred to herein individually as a as far as legally permissible, Customer waives any such legal rights vis-à-vis SixtyFPS. -17. SixtyFPS shall not under any circumstances be liable to Customer based on +15. SixtyFPS shall not under any circumstances be liable to Customer based on failure of the Licensed Software if the failure resulted from Customer's changing of the Licensed Software, from Customer's accident, abuse or misapplication, nor shall either party except in case of gross negligence or @@ -191,7 +188,7 @@ Each Party to this Agreement may be referred to herein individually as a the other party exceed the total amount Customer payable to SixtyFPS in connection with this agreement. -18. Each Party shall hold Confidential Information of the other Party, its +16. Each Party shall hold Confidential Information of the other Party, its customers, and licensors in confidence, and without written permission from will not disclose to any person or use for its own benefit, any such information. **Confidential Information** includes without limitation the @@ -223,7 +220,7 @@ Each Party to this Agreement may be referred to herein individually as a remedies available, each Party shall be entitled to enforcement of such obligations by court injunction. -19. During the Term, an independent, certified auditor on SixtyFPS's behalf, +17. During the Term, an independent, certified auditor on SixtyFPS's behalf, may, upon its reasonable request, with 30 (thirty) days written notice, and at its sole expense, examine Customer's books and records solely with respect to Customer's use of the Licensed Software. Any such audit shall be @@ -238,42 +235,42 @@ Each Party to this Agreement may be referred to herein individually as a Customer shall be provided the right to provide comments to the report before it is finalized. -20. If Customer materially breaches this Agreement, SixtyFPS will provide a 60 +18. If Customer materially breaches this Agreement, SixtyFPS will provide a 60 (sixty) days written notice to the Customer during which any such breach(es) may be cured, failing which SixtyFPS will terminate the agreement. Customer undertakes to pay a contractual penalty for each case of negligent breach of - this Agreement of EUR 10.000, which shall not be subject to a judicial right - of reduction. SixtyFPS shall in any case be free to assert any further - damage/loss or other claims. The amount of contractual penalty shall be - offset against claims for damages, if any. + this Agreement of EUR 10000 (ten thousand euros), which shall not be subject + to a judicial right of reduction. SixtyFPS shall in any case be free to + assert any further damage/loss or other claims. The amount of contractual + penalty shall be offset against claims for damages, if any. -21. Customer may terminate this Agreement at any time for any reason upon 90 +19. Customer may terminate this Agreement at any time for any reason upon 90 (ninety) days notice to SixtyFPS and upon payment of all applicable fees and contractual penalties, if any, in connection with the use of the Licensed Software. -22. Both Parties shall comply with all applicable laws and regulations relating +20. Both Parties shall comply with all applicable laws and regulations relating to the Licensed Software in the countries in which the Parties use or modify the Licensed Software. -23. All notices and communications between the Parties shall be in writing and +21. All notices and communications between the Parties shall be in writing and shall be deemed given when received. For avoidance of doubt, email is considered a written form of communication. -24. This Agreement shall be construed, interpreted and governed by the laws of +22. This Agreement shall be construed, interpreted and governed by the laws of the Federal Republic of Germany. -25. No term or condition contained in Customer's purchase order will apply +23. No term or condition contained in Customer's purchase order will apply unless expressly accepted by SixtyFPS in writing. -26. Customer may assign this Agreement, in whole or in part (whether by +24. Customer may assign this Agreement, in whole or in part (whether by operation of law or otherwise), with prior consent of SixtyFPS, which shall not be unreasonably withheld or delayed. SixtyFPS may assign this Agreement or any of its rights hereunder or delegate any of its obligations hereunder with prior notice to the Customer. Any attempt to assign this Agreement other than in accordance with this provision shall be null and void. -27. This Agreement constitutes the complete agreement between the Parties and +25. This Agreement constitutes the complete agreement between the Parties and supersedes all prior or contemporaneous discussions, representations, and proposals, written or oral, with respect to the subject matters discussed herein. No modification of this Agreement will be effective unless contained @@ -299,8 +296,8 @@ as defined in the Agreement. 1. Type: Ambassador / Eval / Paid 2. Effective Date: 3. Maintenance Period: - 4. Number of User Seat(s): - 5. Number of Distribution(s): + 4. Amount of User Seat(s): + 5. Amount of Distribution(s): 2. Permitted scope of Customer's use of Licensed Software 1. Customer's Product(s) From dd2a17c128df32020e8cf49573e4b6da527c8fe5 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Mon, 10 Oct 2022 10:27:27 +0200 Subject: [PATCH 07/25] Change from Customer to You --- LICENSES/LicenseRef-Slint-commercial.md | 132 ++++++++++++------------ 1 file changed, 67 insertions(+), 65 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 6dca71aa149..fc348e16467 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -9,8 +9,12 @@ SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany specified herein, subject to the Terms and Conditions of this Slint Software License Agreement (**Agreement**). -The Party to whom SixtyFPS grants the Licensed Software under this Agreement -will be referred to as the **Customer**. +By using the Licensed Software, you agree to be bound by this Agreement. If you +do not agree, do not use the Licensed Software. If you are accessing and using +the Licensed Software on behalf of a company (such as your employer) or other +legal entity, you represent and warrant that you have the authority to bind that +company or other legal entity to this Agreement. In that case, “you” and “your” +will refer to that company or other legal entity. Each Party to this Agreement may be referred to herein individually as a **Party** or collectively as the **Parties**. @@ -44,7 +48,7 @@ The Licensed Software includes Third Party Libraries do not comprise part of the Licensed Software. In some cases, access to Third Party Libraries may be included along with the Licensed Software delivery as a convenience for development and testing - only. Customer acknowledges: + only. You acknowledge: 1. that some Third-Party Libraries may require additional licensing of copyright and/or patents from the owners of such, and @@ -53,19 +57,19 @@ The Licensed Software includes of a Third-Party Library may require appropriate licensing from such third parties. All such Third Party Libraries, along with applicable copyright notices and licenses, will be listed and made available to - Customer. + you. 3. As part of the license grant, a Slint Software License Certificate (**License Certificate**) will be issued containing details of 1. the license grant, - 2. the permitted scope of Customer's use of the Licensed Software, and + 2. the permitted scope of your use of the Licensed Software, and - 3. contact details of the Customer. + 3. your contact details. In case of any changes to the information provided in 3.2 and 3.3 above, - Customer is obliged to notify SixtyFPS in writing, not later than 7 days + you are obliged to notify SixtyFPS in writing, not later than 7 days after any such change has occured. 4. The Term of this Agreement shall begin on the date mentioned in the License @@ -73,56 +77,56 @@ The Licensed Software includes earlier as herein provided (**Term**). 5. New releases of the Licensed Software (**Updates**) will be made available - to Customer for the period (**Maintenance Period**) as specified in the + to you for the period (**Maintenance Period**) as specified in the License Certificate. Such Updates may be bound by additional license terms. - Customer consents to any such additional license terms, without which - Customer may not install, copy, or otherwise use such Updates. + You consent to any such additional license terms, without which + you may not install, copy, or otherwise use such Updates. -6. The Licensed Software is to be used exclusively with Customer's software - products (**Customer's Products**) as specified in the License +6. The Licensed Software is to be used exclusively with your software + products (**Products**) as specified in the License Certificate. -7. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right +7. SixtyFPS grants you a perpetual, non-exclusive, non-transferable right to use the Licensed Software, including making modifications to the Licensed Software, during the Term. The number of users using the Licensed Software is limited to the amount of **User Seats** as specified in the License Certificate. For clarity, each user is counted as a User Seat. -8. SixtyFPS grants Customer a perpetual, non-exclusive, non-transferable right +8. SixtyFPS grants you a perpetual, non-exclusive, non-transferable right to reproduce and distribute the object code form of the Licensed Software, including any modifications made to the Licensed Software, during the Term. - Such distributions is permitted only with Customer's Products and limited to + Such distributions is permitted only with your Products and limited to the amount of **Distributions** as specified in the License Certificate. 9. The license grants are conditional on the full and timely payment of all applicable Fees; if said Fees are not paid in full and by their due date, - the license shall not be granted and the Customer's Products shall be + the license shall not be granted and the your Products shall be deemed as made in breach of the Agreement ex tunc. 10. Clause 10 above shall not apply for an **Ambassador License**, a license - provided to Customer for free. Instead, the license grants shall be + provided to you for free. Instead, the license grants shall be conditional on the fullfilment of the obligations as specified herein. If said obligations are not fulfilled, the license shall not be granted and - the Customer's Products shall be deemed as made in breach of the Agreement + the your Products shall be deemed as made in breach of the Agreement ex tunc. The obligations are as follows: - 1. Showcase: Customer grants SixtyFPS the right to use Customer's name, - logo and Customer's Products in marketing materials, + 1. Showcase: You grant SixtyFPS the right to use your name, + logo and your Products in marketing materials, - 2. Spread the word: Customer will include reasonably visible notices in the + 2. Spread the word: You will include reasonably visible notices in the documentation, marketing materials and social media channels related to - Customer's Products that such were built with the Licensed Software, + your Products that such were built with the Licensed Software, - 3. Give feedback: Customer agrees to provide relevant feedback that would + 3. Give feedback: You agree to provide relevant feedback that would help SixtyFPS improve the Licensed Software. SixtyFPS may use any such feedback in testimonials. 11. The Fees and any other charges under this Agreement shall be paid by - Customer no later than thirty (30) days from the date of the applicable + you no later than thirty (30) days from the date of the applicable invoice from SixtyFPS. A late payment charge of the lower of (a) one percent per month; or (b) the interest rate stipulated by applicable law, shall be charged on any unpaid balances that remain past due and which have not been - disputed by the Customer in good faith. + disputed by you in good faith. 12. The Fees and any other charges payable under this Agreement are gross amounts but exclusive of any value added tax, use tax, sales tax, @@ -132,19 +136,18 @@ The Licensed Software includes 13. The Parties also agree to all of the following conditions: - 1. Customer may not remove or alter any copyright, trademark or other + 1. You may not remove or alter any copyright, trademark or other proprietary rights notice contained in any portion of the Licensed Software, - 2. Customer's Products may not compete with the Licensed Software, + 2. Your Products may not compete with the Licensed Software, - 3. Customer will indemnify and hold SixtyFPS, its affiliated companies and + 3. You will indemnify and hold SixtyFPS, its affiliated companies and its suppliers, harmless from and against any claims or liabilities - arising out of the use, reproduction or distribution of Customer's + arising out of the use, reproduction or distribution of your Products, except as set out in clause 13.4. immediately below, - 4. SixtyFPS shall indemnify and hold Customer, its related companies, its - suppliers, distributors and customers, harmless from and against any + 4. SixtyFPS shall indemnify and hold you harmless from and against any claims from third parties alleging that the use of the Licensed Software as set out in this Agreement infringes or will infringe such third parties intellectual property rights or other rights, @@ -167,25 +170,25 @@ The Licensed Software includes the indemnifying Party, such consent not to be unreasonably withheld or delayed. -14. The Licensed Software is licensed to Customer "as is". To the maximum extent +14. The Licensed Software is licensed to you "as is". To the maximum extent permitted by applicable law, SixtyFPS on behalf of itself and its suppliers, disclaims all warranties and conditions, either express or implied, including, but not limited to, implied warranties of merchantability or fitness for a particular purpose. SixtyFPS do warrant title and non-infringement with regard to the licensed software. The warranty - disclaimer in the foregoing notwithstanding, Customer may have specific + disclaimer in the foregoing notwithstanding, you may have specific legal rights which may vary from state/jurisdiction to state/jurisdiction; - as far as legally permissible, Customer waives any such legal rights + as far as legally permissible, you waive any such legal rights vis-à-vis SixtyFPS. -15. SixtyFPS shall not under any circumstances be liable to Customer based on - failure of the Licensed Software if the failure resulted from Customer's - changing of the Licensed Software, from Customer's accident, abuse or +15. SixtyFPS shall not under any circumstances be liable to you based on + failure of the Licensed Software if the failure resulted from your + changing of the Licensed Software, from your accident, abuse or misapplication, nor shall either party except in case of gross negligence or willful misconduct be liable for special damages, punitive or exemplary damages, damages for loss of profits or interruption of business or for loss or corruption of data, nor shall any award of damages from either party to - the other party exceed the total amount Customer payable to SixtyFPS in + the other party exceed the total amount you paid to SixtyFPS in connection with this agreement. 16. Each Party shall hold Confidential Information of the other Party, its @@ -222,29 +225,28 @@ The Licensed Software includes 17. During the Term, an independent, certified auditor on SixtyFPS's behalf, may, upon its reasonable request, with 30 (thirty) days written notice, and - at its sole expense, examine Customer's books and records solely with - respect to Customer's use of the Licensed Software. Any such audit shall be - conducted during regular business hours at Customer's facilities and shall - not unreasonably interfere with Customer's business activities. SixtyFPS' + at its sole expense, examine your books and records solely with + respect to your use of the Licensed Software. Any such audit shall be + conducted during regular business hours at your facilities and shall + not unreasonably interfere with your business activities. SixtyFPS' auditor shall not remove, copy, or redistribute any electronic material - during the course of an audit. If an audit reveals that Customer is using + during the course of an audit. If an audit reveals that you are using the Licensed Software in a way that is in material violation of the terms - of this Agreement, then Customer shall pay SixtyFPS's reasonable costs of + of this Agreement, then you shall pay SixtyFPS's reasonable costs of conducting the audit. SixtyFPS auditor shall only be allowed to report - violations of the terms of this Agreement, with a copy to the Customer. The - Customer shall be provided the right to provide comments to the report - before it is finalized. - -18. If Customer materially breaches this Agreement, SixtyFPS will provide a 60 - (sixty) days written notice to the Customer during which any such breach(es) - may be cured, failing which SixtyFPS will terminate the agreement. Customer - undertakes to pay a contractual penalty for each case of negligent breach of - this Agreement of EUR 10000 (ten thousand euros), which shall not be subject - to a judicial right of reduction. SixtyFPS shall in any case be free to - assert any further damage/loss or other claims. The amount of contractual - penalty shall be offset against claims for damages, if any. - -19. Customer may terminate this Agreement at any time for any reason upon 90 + violations of the terms of this Agreement, with a copy to you. You shall be + provided the right to provide comments to the report before it is finalized. + +18. If you materially breache this Agreement, SixtyFPS will provide a 60 (sixty) + days written notice to the you during which any such breach(es) may be + cured, failing which SixtyFPS will terminate the agreement. You undertake to + pay a contractual penalty for each case of negligent breach of this + Agreement of EUR 10000 (ten thousand euros), which shall not be subject to a + judicial right of reduction. SixtyFPS shall in any case be free to assert + any further damage/loss or other claims. The amount of contractual penalty + shall be offset against claims for damages, if any. + +19. You may terminate this Agreement at any time for any reason upon 90 (ninety) days notice to SixtyFPS and upon payment of all applicable fees and contractual penalties, if any, in connection with the use of the Licensed Software. @@ -260,14 +262,14 @@ The Licensed Software includes 22. This Agreement shall be construed, interpreted and governed by the laws of the Federal Republic of Germany. -23. No term or condition contained in Customer's purchase order will apply +23. No term or condition contained in your purchase order will apply unless expressly accepted by SixtyFPS in writing. -24. Customer may assign this Agreement, in whole or in part (whether by +24. You may assign this Agreement, in whole or in part (whether by operation of law or otherwise), with prior consent of SixtyFPS, which shall not be unreasonably withheld or delayed. SixtyFPS may assign this Agreement or any of its rights hereunder or delegate any of its obligations hereunder - with prior notice to the Customer. Any attempt to assign this Agreement + with prior notice to you. Any attempt to assign this Agreement other than in accordance with this provision shall be null and void. 25. This Agreement constitutes the complete agreement between the Parties and @@ -299,8 +301,8 @@ as defined in the Agreement. 4. Amount of User Seat(s): 5. Amount of Distribution(s): -2. Permitted scope of Customer's use of Licensed Software - 1. Customer's Product(s) - 2. Name(s) and Email address(es) of User Seat(s) +2. Permitted scope of your use of Licensed Software + 1. Product(s) + 2. Name(s) and Email address(es) of User Seat(s): -3. Customer's contact person(s) with email address(es): +3. Your contact detail(s): From 661823a03ea0eee07354d35e4e6eead58e8a9ac1 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Mon, 10 Oct 2022 10:27:49 +0200 Subject: [PATCH 08/25] remove certificate --- LICENSES/LicenseRef-Slint-commercial.md | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index fc348e16467..62af0259efc 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -282,27 +282,3 @@ The Licensed Software includes remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in this Agreement shall remain in effect. - -## Slint Software License Certificate - -Copyright © 2022 SixtyFPS GmbH - -SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany -grants a license to the Licensed Software subject to the terms of the Slint -Software License Agreement (**Agreement**). - -All terms in this Slint Software License Certificate will have the same meaning -as defined in the Agreement. - -1. License grant - 1. Type: Ambassador / Eval / Paid - 2. Effective Date: - 3. Maintenance Period: - 4. Amount of User Seat(s): - 5. Amount of Distribution(s): - -2. Permitted scope of your use of Licensed Software - 1. Product(s) - 2. Name(s) and Email address(es) of User Seat(s): - -3. Your contact detail(s): From b8daeb646249c100f1a4f58be772e611bd6806a5 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Mon, 10 Oct 2022 10:34:42 +0200 Subject: [PATCH 09/25] add review changes --- FAQ.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/FAQ.md b/FAQ.md index 31226f855d2..a0f83f3e9ac 100644 --- a/FAQ.md +++ b/FAQ.md @@ -41,18 +41,18 @@ languages. Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. The commercial license can be provided for free if you help us promote Slint: Check out our -[ambassador license](https://slint-ui.com/ambassador-program.html). +[ambassador program](https://slint-ui.com/ambassador-program.html). ## What are the commercial licensing options? We offer 3 options under the commercial license - Ambassador, Flex and Buyout. All 3 options include a non-exclusive, perpetual, irrevocable, non-transferable right to use Slint. -The Ambassador license is a free license that can be provided in lieu of helping us promote Slint. +The Ambassador option is a free license that can be provided in lieu of helping us promote Slint. -The Flex license is a per User-Seat license (with updates included as long as the subscription is active) to develop apps with Slint. +The Flex option is a per User-Seat license (with updates included as long as the subscription is active) to develop apps with Slint. Distribution of such apps requires additional fees. -The Buyout license is a volume-based buyout license that includes unlimited User-Seats (with updates included) to develop apps with Slint as well as distribute such apps up to the purchased volume. +The Buyout option is a volume-based buyout license that includes unlimited User-Seats (with updates included) to develop apps with Slint as well as distribute such apps up to the purchased volume. ## Can I try Slint using the GPL version and then switch to the commercial license later? @@ -64,8 +64,4 @@ Yes, check out our [Ambassador program](https://slint-ui.com/ambassador-program. ## I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license. -A couple of options could be: - - * publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. However, the binary or the package - containing Slint needs to be licensed under GPL, - * consider of one of our [commercial licensing options](#what-are-the-commercial-licensing-options). +You can publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. However, the binary or the package containing Slint needs to be licensed under GPL. \ No newline at end of file From 9098283baabfb3b82c9d2fe782e7f506f872f66a Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Mon, 10 Oct 2022 10:52:43 +0200 Subject: [PATCH 10/25] Update README based on review changes --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index 922c41e35d5..470fc347f45 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,6 @@ Slint is a toolkit to efficiently design, develop and deploy responsive apps on any screen. Frontends built with Slint can be easily integrated with backends written in different programming languages such as C/C++, Rust, and JavaScript. Slint is developed by SixtyFPS GmbH together with the community. We invite you to use Slint and be part of its community. -## Design Goals - -We use the following design goals as a guide when developing Slint - - - **Scalable**: Run on any screen connected to a device, from desktop computers to low end embedded systems. - - **Lightweight**: Fit into a few hundred kilobytes of RAM and require little processing power. - - **Intuitive**: Both developers and designers should feel productive and enjoy the design and development process. - The APIs should be consistent and easy to use, no matter the target language. - - **Native**: Slint apps should match the users' expectations of a native application. Various target platforms such as - embedded devices, desktops, mobile and web should be supported so that both the user and the developer feel comfortable on - their platform of choice. - ## Get Started Check the [online demos](#demos-running-in-webassembly-simulation) or From 8dd14d43d10587ced678437e493a3601e4ce3a78 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Mon, 10 Oct 2022 10:43:14 +0200 Subject: [PATCH 11/25] Apply suggestions from code review Co-authored-by: Simon Hausmann --- FAQ.md | 6 +++--- LICENSES/LicenseRef-Slint-commercial.md | 2 +- README.md | 14 +++++++++++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/FAQ.md b/FAQ.md index a0f83f3e9ac..c9bf896bb13 100644 --- a/FAQ.md +++ b/FAQ.md @@ -38,7 +38,7 @@ languages. # Licensing -Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. +You can use Slint under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt). The commercial license can be provided for free if you help us promote Slint: Check out our [ambassador program](https://slint-ui.com/ambassador-program.html). @@ -56,7 +56,7 @@ The Buyout option is a volume-based buyout license that includes unlimited User- ## Can I try Slint using the GPL version and then switch to the commercial license later? -Yes. You can evaluate Slint using the GPL license, and acquire the commercial license after the evaluation, with the option to transfer the development work from GPL to commercial for free. +Yes. You can evaluate Slint using the GPL license, and obtain the commercial license after the evaluation, with the option to transfer the development work from GPL to commercial for free. ## Is there a discount or reduction for independent developers or small businesses? @@ -64,4 +64,4 @@ Yes, check out our [Ambassador program](https://slint-ui.com/ambassador-program. ## I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license. -You can publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. However, the binary or the package containing Slint needs to be licensed under GPL. \ No newline at end of file +You can publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. However, the binary or the package containing Slint needs to be licensed under GPL. diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 62af0259efc..5e7db0d05ce 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -4,7 +4,7 @@ Version 1.2 Copyright © 2022 SixtyFPS GmbH -SixtyFPS GmbH with offices at Am Panke-Park 47, 16321 Bernau bei Berlin, Germany +SixtyFPS GmbH with offices at Oranienburger Str. 44, 16540 Hohen Neuendorf, Germany (**SixtyFPS**) grants a license to the software (**Licensed Software**), as specified herein, subject to the Terms and Conditions of this Slint Software License Agreement (**Agreement**). diff --git a/README.md b/README.md index 470fc347f45..e697599c5fb 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,18 @@ Slint is a toolkit to efficiently design, develop and deploy responsive apps on any screen. Frontends built with Slint can be easily integrated with backends written in different programming languages such as C/C++, Rust, and JavaScript. Slint is developed by SixtyFPS GmbH together with the community. We invite you to use Slint and be part of its community. +## Design Goals + +We use the following design goals as a guide when developing Slint + + - **Scalable**: Run on any screen connected to a device, from desktop computers to low-end embedded systems. + - **Lightweight**: Fit into a few hundred kilobytes of RAM and require little processing power. + - **Intuitive**: Both developers and designers should feel productive and enjoy the design and development process. + The APIs should be consistent and easy to use, no matter the target language. + - **Native**: Slint apps should match the users' expectations of a native application. Various target platforms such as + embedded devices, desktops, mobile and web should be supported so that both the user and the developer feel comfortable on + their platform of choice. + ## Get Started Check the [online demos](#demos-running-in-webassembly-simulation) or @@ -176,7 +188,7 @@ Please see our separate [FAQ](FAQ.md). ## About us We are passionate about software - API design, cross-platform software development and user interface components. -Our aim to make developing user interfaces fun for everyone: from JavaScript, C++, or Rust developers all the +Our aim is to make developing user interfaces fun for everyone: from JavaScript, C++, or Rust developers all the way to UI/UX designers. We believe that software grows organically and keeping it open source is the best way to sustain that growth. Our team members are located remotely in Germany. From 881d5cc9253e6cb28767d4d5108d781b73be8316 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Mon, 10 Oct 2022 11:03:26 +0200 Subject: [PATCH 12/25] Minor corrections --- LICENSES/LicenseRef-Slint-commercial.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 5e7db0d05ce..84558f7e564 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -100,15 +100,15 @@ The Licensed Software includes 9. The license grants are conditional on the full and timely payment of all applicable Fees; if said Fees are not paid in full and by their due date, - the license shall not be granted and the your Products shall be - deemed as made in breach of the Agreement ex tunc. + the license shall not be granted and your Products shall be deemed as made + in breach of the Agreement ex tunc. -10. Clause 10 above shall not apply for an **Ambassador License**, a license - provided to you for free. Instead, the license grants shall be - conditional on the fullfilment of the obligations as specified herein. If - said obligations are not fulfilled, the license shall not be granted and - the your Products shall be deemed as made in breach of the Agreement - ex tunc. The obligations are as follows: +10. Clause 9 above shall not apply for a license granted under the **Ambassador** + option. Instead, the license grants shall be conditional on the fullfilment + of the obligations as specified herein. If said obligations are not + fulfilled, the license shall not be granted and your Products shall be + deemed as made in breach of the Agreement ex tunc. The obligations are as + follows: 1. Showcase: You grant SixtyFPS the right to use your name, logo and your Products in marketing materials, @@ -238,7 +238,7 @@ The Licensed Software includes provided the right to provide comments to the report before it is finalized. 18. If you materially breache this Agreement, SixtyFPS will provide a 60 (sixty) - days written notice to the you during which any such breach(es) may be + days written notice to you during which any such breach(es) may be cured, failing which SixtyFPS will terminate the agreement. You undertake to pay a contractual penalty for each case of negligent breach of this Agreement of EUR 10000 (ten thousand euros), which shall not be subject to a From c447e7357cfdac4889cf4b7c96b2a842233358c2 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 00:10:12 +0200 Subject: [PATCH 13/25] remove get started section --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index e697599c5fb..86315f8c946 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,6 @@ We use the following design goals as a guide when developing Slint embedded devices, desktops, mobile and web should be supported so that both the user and the developer feel comfortable on their platform of choice. -## Get Started - -Check the [online demos](#demos-running-in-webassembly-simulation) or -[build on your own system](docs/building.md). Also check out the [documentation](#documentation). - ## Current Status Slint is in active development. The state of the toolkit for each platform is as follows: From 109e470715bf169e88dc99d29f3ae03b338379b3 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 11:23:02 +0200 Subject: [PATCH 14/25] Add us, we and our to refer to SixtyFPS --- LICENSES/LicenseRef-Slint-commercial.md | 212 ++++++++++++------------ 1 file changed, 104 insertions(+), 108 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 84558f7e564..5ca3cf795d1 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -4,17 +4,17 @@ Version 1.2 Copyright © 2022 SixtyFPS GmbH -SixtyFPS GmbH with offices at Oranienburger Str. 44, 16540 Hohen Neuendorf, Germany -(**SixtyFPS**) grants a license to the software (**Licensed Software**), as -specified herein, subject to the Terms and Conditions of this Slint Software -License Agreement (**Agreement**). - -By using the Licensed Software, you agree to be bound by this Agreement. If you -do not agree, do not use the Licensed Software. If you are accessing and using -the Licensed Software on behalf of a company (such as your employer) or other -legal entity, you represent and warrant that you have the authority to bind that -company or other legal entity to this Agreement. In that case, “you” and “your” -will refer to that company or other legal entity. +SixtyFPS GmbH with offices at Oranienburger Str. 44, 16540 Hohen Neuendorf, +Germany (**SixtyFPS**, **us**, **we** or **our**) grants a license to the +software (**Licensed Software**), as specified herein, subject to the Terms and +Conditions of this Slint Software License Agreement (**Agreement**). + +By using the Licensed Software, **you** agree to be bound by this Agreement. +**If you do not agree, do not use the Licensed Software.** If you are accessing +and using the Licensed Software on behalf of a company (such as your employer) +or other legal entity, you represent and warrant that you have the authority to +bind that company or other legal entity to this Agreement. In that case, **you** +and **your** will refer to that company or other legal entity. Each Party to this Agreement may be referred to herein individually as a **Party** or collectively as the **Parties**. @@ -23,17 +23,16 @@ Each Party to this Agreement may be referred to herein individually as a The Licensed Software includes -1. Slint compiler tool to translate Slint Design Markup Language - files to Rust (last stable Rust version at the time of licensed - Slint version) and C++ (second last C++ version at the time of - licensed Slint version), +1. Slint compiler tool to translate Slint Design Markup Language files to Rust + (last stable Rust version at the time of licensed Slint version) and C++ + (second last C++ version at the time of licensed Slint version), -2. Slint run-time library that can render interactive - user-interfaces and provides Rust and C++ APIs (as per above - versioning) to control the interfaces, +2. Slint run-time library that can render interactive user-interfaces and + provides Rust and C++ APIs (as per above versioning) to control the + interfaces, -3. API Documentation for Slint and reference documentation for - Slint Design Markup Language, and +3. API Documentation for Slint and reference documentation for Slint Design + Markup Language, and 4. Source code of Slint. @@ -68,62 +67,62 @@ The Licensed Software includes 3. your contact details. - In case of any changes to the information provided in 3.2 and 3.3 above, - you are obliged to notify SixtyFPS in writing, not later than 7 days - after any such change has occured. + In case of any changes or deviations to the information noted in the License + Certificate, you are obliged to notify us in writing, not later than 7 days + after any such change or deviation has occured. 4. The Term of this Agreement shall begin on the date mentioned in the License Certificate (**Effective Date**) and shall continue unless terminated earlier as herein provided (**Term**). 5. New releases of the Licensed Software (**Updates**) will be made available - to you for the period (**Maintenance Period**) as specified in the - License Certificate. Such Updates may be bound by additional license terms. - You consent to any such additional license terms, without which - you may not install, copy, or otherwise use such Updates. + to you for the period (**Maintenance Period**) specified in the License + Certificate. Such Updates may be bound by additional license terms. You + consent to any such additional license terms, without which you may not + install, copy, or otherwise use such Updates. 6. The Licensed Software is to be used exclusively with your software - products (**Products**) as specified in the License - Certificate. + products (**Products**) specified in the License Certificate. -7. SixtyFPS grants you a perpetual, non-exclusive, non-transferable right +7. We grant you a perpetual, non-exclusive, non-transferable right to use the Licensed Software, including making modifications to the Licensed - Software, during the Term. The number of users using the Licensed Software - is limited to the amount of **User Seats** as specified in the License - Certificate. For clarity, each user is counted as a User Seat. + Software, during the Term. The number of **Users** using the Licensed + Software to build your Products is limited to the amount of **User Seats** + specified in the License Certificate. For clarity, each unique User is + counted as one User Seat. -8. SixtyFPS grants you a perpetual, non-exclusive, non-transferable right - to reproduce and distribute the object code form of the Licensed Software, - including any modifications made to the Licensed Software, during the Term. - Such distributions is permitted only with your Products and limited to - the amount of **Distributions** as specified in the License Certificate. +8. We grant you a perpetual, non-exclusive, non-transferable right to reproduce + and distribute the object code form of the Licensed Software, including any + modifications made to the Licensed Software, during the Term. Such + distributions is permitted only with your Products and limited to the amount + of **Distributions** specified in the License Certificate. 9. The license grants are conditional on the full and timely payment of all - applicable Fees; if said Fees are not paid in full and by their due date, - the license shall not be granted and your Products shall be deemed as made - in breach of the Agreement ex tunc. + applicable **Fees**; if said Fees are not paid in full and by their due + date, the license shall not be granted and your Products shall be deemed as + made in breach of the Agreement ex tunc. -10. Clause 9 above shall not apply for a license granted under the **Ambassador** - option. Instead, the license grants shall be conditional on the fullfilment - of the obligations as specified herein. If said obligations are not - fulfilled, the license shall not be granted and your Products shall be - deemed as made in breach of the Agreement ex tunc. The obligations are as - follows: +10. Clause 9 above shall not apply if the license has been granted to you under + the **Ambassador** program. Instead, the license grants shall be conditional + on the fullfilment of the obligations as specified herein. If said + obligations are not fulfilled, the license shall not be granted and your + Products shall be deemed as made in breach of the Agreement ex tunc. The + obligations are as follows: - 1. Showcase: You grant SixtyFPS the right to use your name, - logo and your Products in marketing materials, + 1. Showcase: You grant us the right to use your name, logo and your + Products in our marketing materials, 2. Spread the word: You will include reasonably visible notices in the documentation, marketing materials and social media channels related to your Products that such were built with the Licensed Software, 3. Give feedback: You agree to provide relevant feedback that would - help SixtyFPS improve the Licensed Software. SixtyFPS may use any such + help us improve the Licensed Software. We may use any such feedback in testimonials. 11. The Fees and any other charges under this Agreement shall be paid by you no later than thirty (30) days from the date of the applicable - invoice from SixtyFPS. A late payment charge of the lower of (a) one percent + invoice from us. A late payment charge of the lower of (a) one percent per month; or (b) the interest rate stipulated by applicable law, shall be charged on any unpaid balances that remain past due and which have not been disputed by you in good faith. @@ -142,12 +141,12 @@ The Licensed Software includes 2. Your Products may not compete with the Licensed Software, - 3. You will indemnify and hold SixtyFPS, its affiliated companies and - its suppliers, harmless from and against any claims or liabilities + 3. You will indemnify and hold us, our affiliated companies and our + suppliers, harmless from and against any claims or liabilities arising out of the use, reproduction or distribution of your Products, except as set out in clause 13.4. immediately below, - 4. SixtyFPS shall indemnify and hold you harmless from and against any + 4. We shall indemnify and hold you harmless from and against any claims from third parties alleging that the use of the Licensed Software as set out in this Agreement infringes or will infringe such third parties intellectual property rights or other rights, @@ -171,25 +170,23 @@ The Licensed Software includes delayed. 14. The Licensed Software is licensed to you "as is". To the maximum extent - permitted by applicable law, SixtyFPS on behalf of itself and its suppliers, - disclaims all warranties and conditions, either express or implied, - including, but not limited to, implied warranties of merchantability or - fitness for a particular purpose. SixtyFPS do warrant title and - non-infringement with regard to the licensed software. The warranty - disclaimer in the foregoing notwithstanding, you may have specific - legal rights which may vary from state/jurisdiction to state/jurisdiction; - as far as legally permissible, you waive any such legal rights - vis-à-vis SixtyFPS. - -15. SixtyFPS shall not under any circumstances be liable to you based on - failure of the Licensed Software if the failure resulted from your - changing of the Licensed Software, from your accident, abuse or - misapplication, nor shall either party except in case of gross negligence or - willful misconduct be liable for special damages, punitive or exemplary - damages, damages for loss of profits or interruption of business or for loss - or corruption of data, nor shall any award of damages from either party to - the other party exceed the total amount you paid to SixtyFPS in - connection with this agreement. + permitted by applicable law, we on behalf of us and our suppliers, + disclaim all warranties and conditions, either express or implied, + including, but not limited to, any implied warranties of merchantability or + fitness for a particular purpose, title and non-infringement with regard to + the Licensed Software. The warranty disclaimer in the foregoing + notwithstanding, you may have specific legal rights which may vary from + state/jurisdiction to state/jurisdiction; as far as legally permissible, you + waive any such legal rights vis-à-vis us. + +15. We shall not under any circumstances be liable to you based on failure of + the Licensed Software if the failure resulted from your changing of the + Licensed Software, from your accident, abuse or misapplication, nor shall + either party except in case of gross negligence or willful misconduct be + liable for special damages, punitive or exemplary damages, damages for loss + of profits or interruption of business or for loss or corruption of data, + nor shall any award of damages from either party to the other party exceed + the total amount you paid to us in connection with this agreement. 16. Each Party shall hold Confidential Information of the other Party, its customers, and licensors in confidence, and without written permission from @@ -223,33 +220,32 @@ The Licensed Software includes remedies available, each Party shall be entitled to enforcement of such obligations by court injunction. -17. During the Term, an independent, certified auditor on SixtyFPS's behalf, - may, upon its reasonable request, with 30 (thirty) days written notice, and - at its sole expense, examine your books and records solely with - respect to your use of the Licensed Software. Any such audit shall be - conducted during regular business hours at your facilities and shall - not unreasonably interfere with your business activities. SixtyFPS' - auditor shall not remove, copy, or redistribute any electronic material - during the course of an audit. If an audit reveals that you are using - the Licensed Software in a way that is in material violation of the terms - of this Agreement, then you shall pay SixtyFPS's reasonable costs of - conducting the audit. SixtyFPS auditor shall only be allowed to report - violations of the terms of this Agreement, with a copy to you. You shall be - provided the right to provide comments to the report before it is finalized. - -18. If you materially breache this Agreement, SixtyFPS will provide a 60 (sixty) - days written notice to you during which any such breach(es) may be - cured, failing which SixtyFPS will terminate the agreement. You undertake to - pay a contractual penalty for each case of negligent breach of this - Agreement of EUR 10000 (ten thousand euros), which shall not be subject to a - judicial right of reduction. SixtyFPS shall in any case be free to assert - any further damage/loss or other claims. The amount of contractual penalty - shall be offset against claims for damages, if any. - -19. You may terminate this Agreement at any time for any reason upon 90 - (ninety) days notice to SixtyFPS and upon payment of all applicable fees and - contractual penalties, if any, in connection with the use of the Licensed - Software. +17. During the Term, an independent, certified auditor on our behalf, may, upon + its reasonable request, with 30 (thirty) days written notice, and at its + sole expense, examine your books and records solely with respect to your use + of the Licensed Software. Any such audit shall be conducted during regular + business hours at your facilities and shall not unreasonably interfere with + your business activities. Our auditor shall not remove, copy, or + redistribute any electronic material during the course of an audit. If an + audit reveals that you are using the Licensed Software in a way that is in + material violation of the terms of this Agreement, then you shall pay us + reasonable costs of conducting the audit. Our auditor shall only be allowed + to report violations of the terms of this Agreement, with a copy to you. You + shall be provided the right to provide comments to the report before it is + finalized. + +18. If you materially breache this Agreement, we will provide a 60 (sixty) days + written notice to you during which any such breach(es) may be cured, failing + which we will terminate the agreement. You undertake to pay a contractual + penalty for each case of negligent breach of this Agreement of EUR 10000 + (ten thousand euros), which shall not be subject to a judicial right of + reduction. We shall in any case be free to assert any further damage/loss or + other claims. The amount of contractual penalty shall be offset against + claims for damages, if any. + +19. You may terminate this Agreement at any time for any reason upon 90 (ninety) + days notice to us and upon payment of all applicable fees and contractual + penalties, if any, in connection with the use of the Licensed Software. 20. Both Parties shall comply with all applicable laws and regulations relating to the Licensed Software in the countries in which the Parties use or modify @@ -262,15 +258,15 @@ The Licensed Software includes 22. This Agreement shall be construed, interpreted and governed by the laws of the Federal Republic of Germany. -23. No term or condition contained in your purchase order will apply - unless expressly accepted by SixtyFPS in writing. +23. No term or condition contained in your purchase order will apply unless + expressly accepted by us in writing. -24. You may assign this Agreement, in whole or in part (whether by - operation of law or otherwise), with prior consent of SixtyFPS, which shall - not be unreasonably withheld or delayed. SixtyFPS may assign this Agreement - or any of its rights hereunder or delegate any of its obligations hereunder - with prior notice to you. Any attempt to assign this Agreement - other than in accordance with this provision shall be null and void. +24. You may assign this Agreement, in whole or in part (whether by operation of + law or otherwise), with prior consent from us, which shall not be + unreasonably withheld or delayed. We may assign this Agreement or any of its + rights hereunder or delegate any of its obligations hereunder with prior + notice to you. Any attempt to assign this Agreement other than in accordance + with this provision shall be null and void. 25. This Agreement constitutes the complete agreement between the Parties and supersedes all prior or contemporaneous discussions, representations, and From 0bdd6d8328b86e7ff277c1fc6f06bb9b8e80c266 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 11:25:42 +0200 Subject: [PATCH 15/25] Remove 'Formerly known as SixtyFPS' --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 86315f8c946..a753c241b50 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ -
Formerly known as
- [![Build Status](https://github.com/slint-ui/slint/workflows/CI/badge.svg)](https://github.com/slint-ui/slint/actions) [![REUSE status](https://api.reuse.software/badge/github.com/slint-ui/slint)](https://api.reuse.software/info/github.com/slint-ui/slint) [![Discussions](https://img.shields.io/github/discussions/slint-ui/slint)](https://github.com/slint-ui/slint/discussions) From 37adf007b818813965483f6ec107b87687263103 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 12:01:37 +0200 Subject: [PATCH 16/25] limit to 80 chars --- README.md | 225 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 136 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index a753c241b50..410eafffd50 100644 --- a/README.md +++ b/README.md @@ -6,73 +6,91 @@ [![REUSE status](https://api.reuse.software/badge/github.com/slint-ui/slint)](https://api.reuse.software/info/github.com/slint-ui/slint) [![Discussions](https://img.shields.io/github/discussions/slint-ui/slint)](https://github.com/slint-ui/slint/discussions) -Slint is a toolkit to efficiently design, develop and deploy responsive apps on any screen. Frontends built with Slint can be easily integrated with backends written in different programming languages such as C/C++, Rust, and JavaScript. Slint is developed by SixtyFPS GmbH together with the community. We invite you to use Slint and be part of its community. +Slint is a toolkit to efficiently design, develop and deploy responsive apps on +any screen. Frontends built with Slint can be easily integrated with backends +written in different programming languages such as C/C++, Rust, and JavaScript. +Slint is developed by SixtyFPS GmbH together with the community. We invite you +to use Slint and be part of its community. ## Design Goals We use the following design goals as a guide when developing Slint - - **Scalable**: Run on any screen connected to a device, from desktop computers to low-end embedded systems. - - **Lightweight**: Fit into a few hundred kilobytes of RAM and require little processing power. - - **Intuitive**: Both developers and designers should feel productive and enjoy the design and development process. - The APIs should be consistent and easy to use, no matter the target language. - - **Native**: Slint apps should match the users' expectations of a native application. Various target platforms such as - embedded devices, desktops, mobile and web should be supported so that both the user and the developer feel comfortable on - their platform of choice. +- **Scalable**: Run on any screen connected to a device, from desktop computers + to low end embedded systems. +- **Lightweight**: Fit into a few hundred kilobytes of RAM and require little + processing power. +- **Intuitive**: Both developers and designers should feel productive and enjoy + the design and development process. + The APIs should be consistent and easy to use, no matter the target language. +- **Native**: Slint apps should match the users' expectations of a native + application. Various target platforms such as embedded devices, desktops, + mobile and web should be supported so that both the user and the developer + feel comfortable on their platform of choice. ## Current Status -Slint is in active development. The state of the toolkit for each platform is as follows: - - - **Embedded**: *Ready!* Slint is already being used in production projects by customers - (running on an Arm processor with Linux). - - **Microcontrollers** (MCU): *Ready*. Slint apps can run on MCUs with less than 300K of RAM. - [Video of Slint on STM32](https://www.youtube.com/watch?v=NNNOJJsOAis) – - [Video of Slint on RP2040](https://www.youtube.com/watch?v=dkBwNocItGs) – - [docs](https://slint-ui.com/docs/rust/slint/docs/mcu/index.html) - - **Desktop**: *In Progress*. While Slint is usable on Windows, Linux and Mac, we are working on - improving the platform support in subsequent releases. - - **Mobile** (Android/iOS): *Todo*. We haven't started supporting mobile platforms yet, but it - is our intention to do so in the near future. - - **Web**: *In Progress*. Slint apps can be compiled to WebAssembly and can run in a web browser. - As there are many other web frameworks, the web platform is not one of our primary target platforms. - The web support is currently limited to demo purposes. +Slint is in active development. The state of the toolkit for each platform is as +follows: + +- **Embedded**: *Ready* Slint is already being used in production projects by + customers (running on an Arm processor with Linux). +- **Microcontrollers** (MCU): *Ready*. Slint apps can run on MCUs with less than + 300K of RAM. +- **Desktop**: *In Progress*. While Slint is usable on Windows, Linux and Mac, + we are working on improving the platform support in subsequent releases. +- **Mobile** (Android/iOS): *Todo*. We haven't started supporting mobile + platforms yet, but it is our intention to do so in the near future. +- **Web**: *In Progress*. Slint apps can be compiled to WebAssembly and can run + in a web browser. As there are many other web frameworks, the web platform + is not one of our primary target platforms. The web support is currently + limited to demo purposes. ### Accessibility - Slint supports keyboard based navigation of many widgets, and user interfaces are scalable. - The basic infrastructure for assistive technology like screen readers is in place, but currently requires - the Qt backend. - We are aware that more work is needed to get best-of-class support for users with special needs. + Slint supports keyboard based navigation of many widgets, and user interfaces + are scalable. The basic infrastructure for assistive technology like screen + readers is in place, but currently requires the Qt backend. + We are aware that more work is needed to get best-of-class support for users + with special needs. ### Stay up to date -Follow [@slint-ui](https://twitter.com/slint_ui) on twitter or keep an eye out for -our [🥠 Weekly Status Updates](https://slint-ui.com/thisweek/). +Follow [@slint-ui](https://twitter.com/slint_ui) on twitter or keep an eye out +for our [🥠 Weekly Status Updates](https://slint-ui.com/thisweek/). ## Documentation The [examples](examples) folder contains examples and demos. The `docs` folder contains a lot more information, including -[build instructions](docs/building.md), [recipes for common tasks](docs/recipes/recipes.md) and -[internal developer docs](docs/development.md). +[build instructions](docs/building.md), [recipes for common tasks](docs/recipes/recipes.md) +and [internal developer docs](docs/development.md). Refer to the README of each language directory in the `api` folder: - * [C++](api/cpp) ([Documentation](https://slint-ui.com/docs/cpp) | [Tutorial](https://slint-ui.com/docs/tutorial/cpp) | [Tutorial Video](https://youtu.be/_-Hxr6ZrHyo) | [Getting Started Template](https://github.com/slint-ui/slint-cpp-template)) - * [Rust](api/rs/slint) [![Crates.io](https://img.shields.io/crates/v/slint)](https://crates.io/crates/slint) ([Documentation](https://slint-ui.com/docs/rust/slint/) | [Tutorial](https://slint-ui.com/docs/tutorial/rust) | [Tutorial Video](https://youtu.be/_-Hxr6ZrHyo) | [Getting Started Template](https://github.com/slint-ui/slint-rust-template)) - * [JavaScript/NodeJS](api/node) [![npm](https://img.shields.io/npm/v/slint-ui)](https://www.npmjs.com/package/sixtyfps) ([Documentation](https://slint-ui.com/docs/node)) +- [C++](api/cpp) ([Documentation](https://slint-ui.com/docs/cpp) | [Tutorial](https://slint-ui.com/docs/tutorial/cpp) | [Tutorial Video](https://youtu.be/_-Hxr6ZrHyo) | [Getting Started Template](https://github.com/slint-ui/slint-cpp-template)) +- [Rust](api/rs/slint) [![Crates.io](https://img.shields.io/crates/v/slint)](https://crates.io/crates/slint) ([Documentation](https://slint-ui.com/docs/rust/slint/) | [Tutorial](https://slint-ui.com/docs/tutorial/rust) | [Tutorial Video](https://youtu.be/_-Hxr6ZrHyo) | [Getting Started Template](https://github.com/slint-ui/slint-rust-template)) +- [JavaScript/NodeJS](api/node) [![npm](https://img.shields.io/npm/v/slint-ui)](https://www.npmjs.com/package/sixtyfps) ([Documentation](https://slint-ui.com/docs/node)) -## Demos running in WebAssembly Simulation +## Demos -Click on the screenshots to run the WebAssembly simulation +### Embedded + +### MCU + +| STM32| RP2040 | +|--------------|----------------| +| [Video of Slint on STM32](https://www.youtube.com/watch?v=NNNOJJsOAis) | +[Video of Slint on RP2040](https://www.youtube.com/watch?v=dkBwNocItGs) | + +### WebAssembly | Printer Demo | Slide Puzzle | Todo | Widget Gallery | |--------------|----------------|----------------|----------------| | [![Screenshot of the Printer Demo](https://slint-ui.com/resources/printerdemo_screenshot.png "Printer Demo")](https://slint-ui.com/demos/printerdemo/) | [![Screenshot of the Slide Puzzle](https://slint-ui.com/resources/puzzle_screenshot.png "Slide Puzzle")](https://slint-ui.com/demos/slide_puzzle/) | [![Screenshot of the Todo Demo](https://slint-ui.com/resources/todo_screenshot.png "Todo Demo")](https://slint-ui.com/demos/todo/) | [![Screenshot of the Gallery Demo](https://slint-ui.com/resources/gallery_screenshot.png "Gallery Demo")](https://slint-ui.com/demos/gallery/) | -## Desktop Native Widgets +### Desktop Native Widgets | Windows | macOS | Linux | |---------|-------|-------| @@ -80,8 +98,11 @@ Click on the screenshots to run the WebAssembly simulation ## The .slint Markup Language -Slint comes with a markup language that is specifically designed for user interfaces. This language provides a -powerful way to describe graphical elements, their placement, and the flow of data through the different states. It is a familiar syntax to describe the hierarchy of elements and property bindings. Here's the obligatory "Hello World": +Slint comes with a markup language that is specifically designed for user +interfaces. This language provides a powerful way to describe graphical elements, +their placement, and the flow of data through the different states. It is a +familiar syntax to describe the hierarchy of elements and property bindings. +Here's the obligatory "Hello World": ```slint HelloWorld := Window { @@ -101,67 +122,87 @@ Check out the [language reference](docs/langref.md) for more details. ## Architecture -An application is composed of the business logic written in Rust, C++, or JavaScript and the `.slint` user interface design markup, which -is compiled to native code. +An application is composed of the business logic written in Rust, C++, or +JavaScript and the `.slint` user interface design markup, which is compiled to +native code. ![Architecture Overview](https://slint-ui.com/resources/architecture.drawio.svg) ### Compiler -The `.slint` files are compiled ahead of time. The expressions in the `.slint` are pure functions that the -compiler can optimize. For example, the compiler could choose to "inline" properties and remove those -that are constant or unchanged. In the future we hope to improve rendering time on low end devices by -pre-processing images and text. The compiler could determine that a `Text` or an `Image` element is -always on top of another `Image` in the same location. Consequently both elements could be rendered ahead -of time into a single element, thus cutting down on rendering time. - -The compiler uses the typical compiler phases of lexing, parsing, optimization, and finally code -generation. It provides different back-ends for code generation in the target language. The C++ code -generator produces a C++ header file, the Rust generator produces Rust code, and so on. An interpreter -for dynamic languages is also included. +The `.slint` files are compiled ahead of time. The expressions in the `.slint` +are pure functions that the compiler can optimize. For example, the compiler +could choose to "inline" properties and remove those that are constant or +unchanged. In the future we hope to improve rendering time on low end devices by +pre-processing images and text. The compiler could determine that a `Text` or an +`Image` element is always on top of another `Image` in the same location. +Consequently both elements could be rendered ahead of time into a single +element, thus cutting down on rendering time. + +The compiler uses the typical compiler phases of lexing, parsing, optimization, +and finally code generation. It provides different back-ends for code generation +in the target language. The C++ code generator produces a C++ header file, the +Rust generator produces Rust code, and so on. An interpreter for dynamic +languages is also included. ### Runtime -The runtime library consists of an engine that supports properties declared in the `.slint` language. -Components with their elements, items, and properties are laid out in a single memory region, to reduce -memory allocations. +The runtime library consists of an engine that supports properties declared in +the `.slint` language. Components with their elements, items, and properties are +laid out in a single memory region, to reduce memory allocations. -Rendering backends and styles are configurable at compile time. Current there are two back-ends: +Rendering backends and styles are configurable at compile time. Current there +are two back-ends: - * The `gl` backend uses OpenGL ES 2.0 for rendering. - * The `qt` backend uses Qt's QStyle to achieve native looking widgets. In the future it could also use - QPainter. +- The `gl` backend uses OpenGL ES 2.0 for rendering. +- The `qt` backend uses Qt's QStyle to achieve native looking widgets. In the + future it could also use QPainter. ### Tooling We have a few tools to help with the development of .slint files: - - A [**LSP Server**](./tools/lsp) that adds features like auto-complete and live preview of the .slint files to many editors. - - It is bundled in a [**Visual Studio Code Extension**](./editors/vscode) available from the market place. - - A [**slint-viewer**](./tools/viewer) tool which displays the .slint files. The `--auto-reload` argument makes it easy to preview - your UI while you are working on it (when using the LSP preview is not possible). - - An [**online editor**](https://slint-ui.com/editor) to try out .slint syntax without installing anything ([sources](./tools/online_editor)). - - An [**updater**](./tools/syntax_updater) to convert the .slint files from previous versions to newer versions. - - An experimental [**Figma importer**](./tools/figma_import). -Please check our [Editors README](./editors/README.md) for tips on how to configure your favorite editor to work well with Slint. +- A [**LSP Server**](./tools/lsp) that adds features like auto-complete and live + preview of the .slint files to many editors. +- It is bundled in a [**Visual Studio Code Extension**](./editors/vscode) + available from the market place. +- A [**slint-viewer**](./tools/viewer) tool which displays the .slint files. The + `--auto-reload` argument makes it easy to preview your UI while you are + working on it (when using the LSP preview is not possible). +- An [**online editor**](https://slint-ui.com/editor) to try out .slint syntax + without installing anything ([sources](./tools/online_editor)). +- An [**updater**](./tools/syntax_updater) to convert the .slint files from + previous versions to newer versions. +- An experimental [**Figma importer**](./tools/figma_import). + +Please check our [Editors README](./editors/README.md) for tips on how to +configure your favorite editor to work well with Slint. ## Made with Slint -List of some open source projects using Slint: (Contact us or open a pull request to add yours) - - - **[Cargo UI](https://github.com/slint-ui/cargo-ui)**: A graphical frontend for Cargo. - - **[ImageSieve](https://github.com/Futsch1/image-sieve)** : GUI based tool to sort and categorize images. - - **[Moiré](https://codeberg.org/Be.ing/moire)** : Musical live performance application with a DAW-like timeline interface. - - **[Chiptrack](https://github.com/jturcotte/chiptrack)**: A cross-platform sequencer that internally uses a Game Boy emulator to synthesize the sound. - - **[Project Trains Launcher](https://github.com/Project-Trains/launcher)**: Cross-platform game launcher made for Project Trains simulator. - - **[Mastermind](https://github.com/ElevenJune/mastermind_Rust)**: Mastermind game coded in Rust. +List of some open source projects using Slint: (Contact us or open a pull +request to add yours) + +- **[Cargo UI](https://github.com/slint-ui/cargo-ui)**: A graphical frontend for + Cargo. +- **[ImageSieve](https://github.com/Futsch1/image-sieve)** : GUI based tool to + sort and categorize images. +- **[Moiré](https://codeberg.org/Be.ing/moire)** : Musical live performance + application with a DAW-like timeline interface. +- **[Chiptrack](https://github.com/jturcotte/chiptrack)**: A cross-platform + sequencer that internally uses a Game Boy emulator to synthesize the sound. +- **[Project Trains Launcher](https://github.com/Project-Trains/launcher)**: + Cross-platform game launcher made for Project Trains simulator. +- **[Mastermind](https://github.com/ElevenJune/mastermind_Rust)**: Mastermind + game coded in Rust. ## License -Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. +Slint can be used under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) +or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt), at your choice. -The commercial license can be provided for free if you help us promote Slint: Check out our -[ambassador license](https://slint-ui.com/ambassador-program.html). +The commercial license can be provided for free if you help us promote Slint: +Check out our [ambassador program](https://slint-ui.com/ambassador-program.html). See also the [Licensing FAQ](FAQ.md#licensing) @@ -169,10 +210,10 @@ See also the [Licensing FAQ](FAQ.md#licensing) We welcome your contributions: in the form of code, bug reports or feedback. - * If you see an [RFC tag](https://github.com/slint-ui/slint/labels/rfc) on an issue, feel free to - chime in. - * For contribution guidelines see [CONTRIBUTING.md](CONTRIBUTING.md). The dual-licensing of Slint requires the - contributor to accept a CLA. +- If you see an [RFC tag](https://github.com/slint-ui/slint/labels/rfc) on an + issue, feel free to chime in. +- For contribution guidelines see [CONTRIBUTING.md](CONTRIBUTING.md). The + dual-licensing of Slint requires the contributor to accept our CLA. ## Frequently Asked Questions @@ -180,15 +221,21 @@ Please see our separate [FAQ](FAQ.md). ## About us -We are passionate about software - API design, cross-platform software development and user interface components. -Our aim is to make developing user interfaces fun for everyone: from JavaScript, C++, or Rust developers all the -way to UI/UX designers. We believe that software grows organically and keeping it open source is the best way -to sustain that growth. Our team members are located remotely in Germany. +We are passionate about software - API design, cross-platform software \ +development and user interface components. Our aim is to make developing user +interfaces fun for everyone: from JavaScript, C++, or Rust developers all the +way to UI/UX designers. We believe that software grows organically and keeping +it open source is the best way to sustain that growth. Our team members are +located remotely in Germany. ## Contact us -Feel free to join [Github discussions](https://github.com/slint-ui/slint/discussions) for general chat or questions. Use [Github issues](https://github.com/slint-ui/slint/issues) to report public suggestions or bugs. +Feel free to join [Github discussions](https://github.com/slint-ui/slint/discussions) +for general chat or questions. Use [Github issues](https://github.com/slint-ui/slint/issues) +to report public suggestions or bugs. -We chat in [our Mattermost instance](https://chat.slint-ui.com) where you are welcome to listen in or ask your questions. +We chat in [our Mattermost instance](https://chat.slint-ui.com) where you are +welcome to listen in or ask your questions. -You can of course also tweet at [@slint-ui](https://twitter.com/slint_ui) or contact us privately via email to [info@slint-ui.com](mailto://info@slint-ui.com). +You can of course also tweet at [@slint-ui](https://twitter.com/slint_ui) or +contact us privately via email to [info@slint-ui.com](mailto://info@slint-ui.com). From a8a1f385b5ec2f165881917438196bbf5637806e Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 14:10:10 +0200 Subject: [PATCH 17/25] minor changes to FAQ --- FAQ.md | 76 +++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 30 deletions(-) diff --git a/FAQ.md b/FAQ.md index c9bf896bb13..2b3540a9c7d 100644 --- a/FAQ.md +++ b/FAQ.md @@ -10,58 +10,74 @@ - [Is there a discount or reduction for independent developers or small businesses?](#is-there-a-discount-or-reduction-for-independent-developers-or-small-businesses) - [I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license.](#i-want-to-develop-a-free-software-product-using-slint-but-i-dont-like-the-gpl-and-prefer-to-use-a-non-copyleft-license) -# General +## General -## Where does the name come from? +### Where does the name come from? -The name *Slint* is derived from our design goals: **S**calable, **L**ightweight, **I**ntuitive, and **N**ative **T**oolkit. +The name *Slint* is derived from our design goals: **S**calable, **L**ightweight, +**I**ntuitive, and **N**ative **T**oolkit. -## Why are you creating a new markup language? +### Why are you creating a new markup language? -We are creating a markup language which is both editable by humans and machines. We hope it is possible -to pick up and understand, and at the same time strict enough for our tools to analyze and optimize -to provide a smooth interface on the screen. In our experience, a domain specific, declarative language -suits this purpose best. Strictly typed binding expressions offer a powerful and robust way for humans -to declare relationships between properties, even in complex user interfaces. +We are creating a markup language which is both editable by humans and machines. +We hope it is possible to pick up and understand, and at the same time strict +enough for our tools to analyze and optimize to provide a smooth interface on +the screen. In our experience, a domain specific, declarative language suits +this purpose best. Strictly typed binding expressions offer a powerful and +robust way for humans to declare relationships between properties, even in +complex user interfaces. -## Will there be API bindings to integrate with my favorite programming language? +### Will there be API bindings to integrate with my favorite programming language? -We want to make it possible to use Slint with any programming language. We do not favor one programming -language over another. We have chosen to start with three languages: +We want to make it possible to use Slint with any programming language. We do +not favor one programming language over another. We have chosen to start with +three languages: - * Rust, our implementation language. - * C++, another systems programming language we have a lot of experience with. - * JavaScript, a popular dynamically typed language. +- Rust, our implementation language. +- C++, another systems programming language we have a lot of experience with. +- JavaScript, a popular dynamically typed language. -This choice builds the foundation that allows us to create bindings for most types of programming -languages. +This choice builds the foundation that allows us to create bindings for most +types of programming languages. -# Licensing +## Licensing -You can use Slint under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt). +You can use Slint under either a [commercial license](./LICENSES/LicenseRef-Slint-commercial.md) +or [GNU GPLv3](./LICENSES/GPL-3.0-only.txt). The commercial license can be provided for free if you help us promote Slint: Check out our [ambassador program](https://slint-ui.com/ambassador-program.html). -## What are the commercial licensing options? +### What are the commercial licensing options? -We offer 3 options under the commercial license - Ambassador, Flex and Buyout. All 3 options include a non-exclusive, perpetual, irrevocable, non-transferable right to use Slint. +We offer - Ambassador, Flex and Buyout commercial licensing options. All options +include a non-exclusive, perpetual, irrevocable, non-transferable right to use +Slint. Updates are included in the Ambassador and Buyout options. With the Flex +option, updates are included as long as the subscription is active. -The Ambassador option is a free license that can be provided in lieu of helping us promote Slint. +The Ambassador option is a free license that can be provided in lieu of helping +us promote Slint. -The Flex option is a per User-Seat license (with updates included as long as the subscription is active) to develop apps with Slint. -Distribution of such apps requires additional fees. +With the Flex option, you can choose the number of User-Seats you would need to +develop your applications with Slint. Before distribution of such applications +on embedded devices, you can either switch to the Buyout option or purchase the +required amount of distributions separately. -The Buyout option is a volume-based buyout license that includes unlimited User-Seats (with updates included) to develop apps with Slint as well as distribute such apps up to the purchased volume. +The Buyout option includes unlimited User-Seats and a prebuy of distribitions of +your Slint based applications on embedded devices. -## Can I try Slint using the GPL version and then switch to the commercial license later? +### Can I try Slint using the GPL version and then switch to the commercial license later? -Yes. You can evaluate Slint using the GPL license, and obtain the commercial license after the evaluation, with the option to transfer the development work from GPL to commercial for free. +Yes. You can evaluate Slint using the GPL license, and obtain the commercial +license after the evaluation, with the option of transferring the code +developed under the GPL to commercial for free. -## Is there a discount or reduction for independent developers or small businesses? +### Is there a discount or reduction for independent developers or small businesses? Yes, check out our [Ambassador program](https://slint-ui.com/ambassador-program.html) -## I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license. +### I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license -You can publish your own source code under a permissive license compatible with the GPL, such as BSD, MIT, or Apache license. However, the binary or the package containing Slint needs to be licensed under GPL. +You can publish your own source code under a permissive license compatible with +the GPL, such as BSD, MIT, or Apache license. However, the binary or the package +containing Slint needs to be licensed under GPL. From 2af15df371886066683a1b51c9734b2e08558ccc Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 14:14:27 +0200 Subject: [PATCH 18/25] clarify the use of Licensed Software --- LICENSES/LicenseRef-Slint-commercial.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 5ca3cf795d1..40a4f9289dd 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -85,7 +85,8 @@ The Licensed Software includes products (**Products**) specified in the License Certificate. 7. We grant you a perpetual, non-exclusive, non-transferable right - to use the Licensed Software, including making modifications to the Licensed + to use the Licensed Software for the sole purposes of designing, developing, + and testing your Products, including making modifications to the Licensed Software, during the Term. The number of **Users** using the Licensed Software to build your Products is limited to the amount of **User Seats** specified in the License Certificate. For clarity, each unique User is From 6746c3528e070a2486770781995adcca9f80d945 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 14:17:05 +0200 Subject: [PATCH 19/25] Update the intro section on README --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 410eafffd50..4da5295a865 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,9 @@ [![REUSE status](https://api.reuse.software/badge/github.com/slint-ui/slint)](https://api.reuse.software/info/github.com/slint-ui/slint) [![Discussions](https://img.shields.io/github/discussions/slint-ui/slint)](https://github.com/slint-ui/slint/discussions) -Slint is a toolkit to efficiently design, develop and deploy responsive apps on -any screen. Frontends built with Slint can be easily integrated with backends -written in different programming languages such as C/C++, Rust, and JavaScript. -Slint is developed by SixtyFPS GmbH together with the community. We invite you +Slint is a toolkit to efficiently develop fluid graphical user interfaces for +any display: embedded devices and desktop applications. We support multiple +programming languages, such as Rust, C++, and JavaScript. We invite you to use Slint and be part of its community. ## Design Goals From e7356f4497d5a38f1b68ec0b43aa9119cdd91da8 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 14:20:46 +0200 Subject: [PATCH 20/25] Add video on rpi --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4da5295a865..a2623555cc7 100644 --- a/README.md +++ b/README.md @@ -76,12 +76,13 @@ Refer to the README of each language directory in the `api` folder: ### Embedded +[Video of Slint on RaspberryPi](https://www.youtube.com/watch?v=_BDbNHrjK7g) + ### MCU | STM32| RP2040 | |--------------|----------------| -| [Video of Slint on STM32](https://www.youtube.com/watch?v=NNNOJJsOAis) | -[Video of Slint on RP2040](https://www.youtube.com/watch?v=dkBwNocItGs) | +| [Video of Slint on STM32](https://www.youtube.com/watch?v=NNNOJJsOAis) | [Video of Slint on RP2040](https://www.youtube.com/watch?v=dkBwNocItGs) | ### WebAssembly From a9646fa131778a152ad9640759fbe952278b7931 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 11 Oct 2022 14:23:11 +0200 Subject: [PATCH 21/25] some more changes to README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a2623555cc7..93d3bde6f6d 100644 --- a/README.md +++ b/README.md @@ -219,9 +219,9 @@ We welcome your contributions: in the form of code, bug reports or feedback. Please see our separate [FAQ](FAQ.md). -## About us +## About us (SixtyFPS GmbH) -We are passionate about software - API design, cross-platform software \ +We are passionate about software - API design, cross-platform software development and user interface components. Our aim is to make developing user interfaces fun for everyone: from JavaScript, C++, or Rust developers all the way to UI/UX designers. We believe that software grows organically and keeping From 8dddb0bb7cb0569fb7e36cc2d54bdbdc20e4a11e Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Wed, 12 Oct 2022 10:23:57 +0200 Subject: [PATCH 22/25] further clarifications in clause 7 (usage) --- LICENSES/LicenseRef-Slint-commercial.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index 40a4f9289dd..a8baabcc006 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -84,13 +84,12 @@ The Licensed Software includes 6. The Licensed Software is to be used exclusively with your software products (**Products**) specified in the License Certificate. -7. We grant you a perpetual, non-exclusive, non-transferable right - to use the Licensed Software for the sole purposes of designing, developing, - and testing your Products, including making modifications to the Licensed - Software, during the Term. The number of **Users** using the Licensed - Software to build your Products is limited to the amount of **User Seats** - specified in the License Certificate. For clarity, each unique User is - counted as one User Seat. +7. We grant you a perpetual, non-exclusive, non-transferable right to use the + Licensed Software, including making modifications, for the sole purposes of + designing, developing, and testing your Products during the Term. The number + of **Users** using the Licensed Software to design, develop and test your + Products is limited to the amount of **User Seats** specified in the License + Certificate. For clarity, each unique User is counted as one User Seat. 8. We grant you a perpetual, non-exclusive, non-transferable right to reproduce and distribute the object code form of the Licensed Software, including any From e61a6f6b2cc2997ce1bd7f0e1f9a1ca456dd22f0 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Wed, 12 Oct 2022 10:51:51 +0200 Subject: [PATCH 23/25] Clarify Flex distribution in FAQ --- FAQ.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FAQ.md b/FAQ.md index 2b3540a9c7d..8984fdd121c 100644 --- a/FAQ.md +++ b/FAQ.md @@ -60,8 +60,8 @@ us promote Slint. With the Flex option, you can choose the number of User-Seats you would need to develop your applications with Slint. Before distribution of such applications -on embedded devices, you can either switch to the Buyout option or purchase the -required amount of distributions separately. +on embedded devices, you can purchase the required amount of distributions. At +any point of time, you could also switch to the Buyout option. The Buyout option includes unlimited User-Seats and a prebuy of distribitions of your Slint based applications on embedded devices. From 7964e48d82a5efb2f66601541bac45fa9d61ff98 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Wed, 12 Oct 2022 14:46:03 +0200 Subject: [PATCH 24/25] Apply suggestions from code review Co-authored-by: Simon Hausmann --- LICENSES/LicenseRef-Slint-commercial.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSES/LicenseRef-Slint-commercial.md b/LICENSES/LicenseRef-Slint-commercial.md index a8baabcc006..2022b1488b5 100644 --- a/LICENSES/LicenseRef-Slint-commercial.md +++ b/LICENSES/LicenseRef-Slint-commercial.md @@ -234,7 +234,7 @@ The Licensed Software includes shall be provided the right to provide comments to the report before it is finalized. -18. If you materially breache this Agreement, we will provide a 60 (sixty) days +18. If you materially breach this Agreement, we will provide a 60 (sixty) days written notice to you during which any such breach(es) may be cured, failing which we will terminate the agreement. You undertake to pay a contractual penalty for each case of negligent breach of this Agreement of EUR 10000 diff --git a/README.md b/README.md index 93d3bde6f6d..c250f71e265 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ to use Slint and be part of its community. ## Design Goals -We use the following design goals as a guide when developing Slint +We use the following design goals as a guide when developing Slint: - **Scalable**: Run on any screen connected to a device, from desktop computers to low end embedded systems. From 3951d08a6dff314579149939b714e7a5261dbcf5 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Wed, 12 Oct 2022 14:48:30 +0200 Subject: [PATCH 25/25] Add more licensing info to FAQ --- FAQ.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/FAQ.md b/FAQ.md index 8984fdd121c..cd9da1b4836 100644 --- a/FAQ.md +++ b/FAQ.md @@ -5,8 +5,11 @@ - [Why are you creating a new markup language?](#why-are-you-creating-a-new-markup-language) - [Will there be API bindings to integrate with my favorite programming language?](#will-there-be-api-bindings-to-integrate-with-my-favorite-programming-language) - [Licensing](#licensing) - - [What is the commercial licensing model?](#what-is-the-commercial-licensing-model) - - [Can I try Slint using the GPL version and then switch to the commercial license later?](#can-i-try-slint-using-the-gpl-version-and-then-switch-to-the-commercial-license-later) + - [What are the commercial licensing options?](#what-are-the-commercial-licensing-options) + - [What does perpetual mean?](#what-does-perpetual-mean) + - [Are updates included?](#are-updates-included) + - [Can I try Slint using the Ambassador option and then switch to the commercial license later?][def] + - [Can I try Slint using the GPL version and then switch to the commercial license later?](#can-i-try-slint-under-the-gpl-and-then-switch-to-the-commercial-license-later) - [Is there a discount or reduction for independent developers or small businesses?](#is-there-a-discount-or-reduction-for-independent-developers-or-small-businesses) - [I want to develop a free software product using Slint, but I don't like the GPL and prefer to use a non-copyleft license.](#i-want-to-develop-a-free-software-product-using-slint-but-i-dont-like-the-gpl-and-prefer-to-use-a-non-copyleft-license) @@ -66,7 +69,23 @@ any point of time, you could also switch to the Buyout option. The Buyout option includes unlimited User-Seats and a prebuy of distribitions of your Slint based applications on embedded devices. -### Can I try Slint using the GPL version and then switch to the commercial license later? +### What does perpetual mean? + +The perpetual right allows you to use the version(s) of Slint, provided under the +commercial license, for ever. + +### Are updates included? + +Yes, updates are included. With the Flex option, updates are included as long as +the subscription is active. + +### Can I try Slint using the Ambassador option and then switch to the commercial license later? + +Yes. You can evaluate Slint using the GPL license, and obtain the commercial +license after the evaluation, with the option of transferring the code +developed under the GPL to commercial for free. + +### Can I try Slint under the GPL and then switch to the commercial license later? Yes. You can evaluate Slint using the GPL license, and obtain the commercial license after the evaluation, with the option of transferring the code