Ripple Effect · Legal

End-User Licence Agreement

What you may do with the Ripple Effect application on your own machine.

Version 1.0 — takes effect for an installation when the application first asks you to accept it, which it does from Ripple Effect 1.5. This page is a fixed copy and will not change.
This version has been superseded. The current one is version 2.0, at https://legal.ripplefx.app/eula/.

Ripple Effect — End-User Licence Agreement, version 1.0 (English) This version takes effect for your installation when the application first asks you to accept it, which it does from Ripple Effect 1.5.

This Agreement governs the Ripple Effect application — the program you install and run on your own computer. It does not govern the hosted service, which needs an account and is governed by the Terms of Service; if you have never signed in, the Terms of Service have never applied to you.

This Agreement replaces the Ripple Effect Licence, the short notice that shipped with builds before version 1.5. That notice is published, unchanged and permanently, at https://legal.ripplefx.app/v/ripple-effect-licence-1.0/, so that whoever is governed by it can read it. Where a copy of it is still found in an older build or an older checkout, it governs that copy of the software and this Agreement governs this one.


Preamble and acceptance

The Licensor is ConnectingTheDots, a trade name of William Karol Di Cioccio, sole trader, VAT no. IT02224180667, Italy (“the Licensor”, “we”).

By installing the Software and accepting this Agreement at first launch, you (“the Licensee”, “you”) accept it in full. Downloading the Software is not acceptance, and neither is installing it: acceptance is the explicit confirmation the application asks for before it does anything else. If you do not accept, you are not authorised to use the Software, and the remedy is to uninstall it.

Builds released before this Agreement took effect. The application began asking for acceptance in version 1.5. An earlier build does not ask, and it is neither honest nor possible to claim that its users confirmed anything — so this Agreement does not govern one. A build earlier than 1.5 remains under the Ripple Effect Licence, the short notice shipped with it, for as long as that build is used; this Agreement governs from the first build that asks. Nothing in it applies retroactively to the use of an earlier build.

That set is closed and will not grow: the last build released without the acceptance step was 1.4, and every release from 1.5 asks.

This is deliberately not phrased as “continuing to use an earlier build is acceptance”. That construction needs a date to run from, and a date is the one thing this Agreement does not have: it attaches to the software rather than to a calendar, for the reasons in Article 14.

Assignment. The Licensor may assign this Agreement to a limited company (for example an Italian S.R.L.) which the Licensor owns or controls. Such an assignment will be notified to you directly — by e-mail or in the application — guarantees the same terms and conditions, and leaves assignor and assignee jointly liable for obligations arising before it. A Licensee who can show concrete prejudice resulting from the assignment may withdraw from this Agreement at no cost within thirty (30) days of that notice.


1. Definitions

“Software”, or “the application”: Ripple Effect as distributed by the Licensor, including its editor, its story engine, its command-line tools and every component shipped with them.

The engine published on its own is not the Software. The libraries, tools and WebAssembly components the Licensor publishes as engine releases, for building into other people’s software and redistributing with it, are governed by the Runtime Licence instead of this Agreement. The engine inside the application stays the application’s.

“Your Work”: the stories, projects, boards, passages, components, console variables, state machines, soundscapes, scripts, exports and any other content you author with the Software, together with the files and folders they live in.

“the Service”: the hosted features reached by signing in to an account — media storage, real-time collaboration, team workspaces and anything else offered from our servers. The Service is not licensed by this Agreement.

“Consumer Licensee”: a natural person acting for purposes outside any trade, business, craft or profession, within the meaning of applicable consumer-protection law.

“Professional Licensee”: any other Licensee.

“Official channels”: ripplefx.app and the release repository it serves downloads from.


2. Licence

The Licensor grants you a personal, non-exclusive, non-transferable and free licence to install and run the Software on machines you own or control, for any purpose, personal or commercial, for as long as you comply with this Agreement.

There is no seat count, no registration, no licence key and no activation. The licence does not depend on knowing who you are: the application never asks, unless you choose to sign in to the Service, and nothing in this Agreement requires you to.


3. What stays yours

Stories, projects, boards, components, scripts and exports you author with it are yours, and nothing in this licence claims any interest in them.

That sentence is carried from the licence this Agreement replaces, unchanged, because it is the most important one in it. Specifically:

The only thing Article 3 does not give you is rights in the Software itself, which are the subject of Articles 4 and 5.


4. Intellectual property

The Software — its source code, architecture, story engine, compiler, file formats, documentation and every related component — is the exclusive property of the Licensor and is protected by copyright and applicable intellectual-property law.

This Agreement grants a limited licence to use. It is not a sale, and all rights not expressly granted are reserved. The names and marks “Ripple Effect”, “ConnectingTheDots” and the Ripple Effect mark are the Licensor’s; their unauthorised use is not permitted.


5. Restrictions

Without the Licensor’s prior written permission you may not:

The Software obtained from anywhere other than an official channel is not covered by this Agreement, and the Licensor is not liable for anything such a copy does.


6. Source code

The source is not published. Access to it, where granted, is granted separately and in writing, and carries no rights beyond those stated in that grant.


7. What the application sends, and when

From version 1.5, the application makes no network request of any kind until you have accepted this Agreement. There is no exception to that — not for updates, not for diagnostics, not for anything else. Nothing is sent before you have agreed that anything may be. The acceptance step is not a notice drawn over a running application: until you answer it, the application beneath it has not been built, so there is nothing there to make a request.

A build earlier than 1.5 does not ask for acceptance and makes the update check described in item 1 below on first launch; that is the only request it makes unasked, and it carries nothing about you. The engine-fix check in item 5 and the usage statistics in item 4 both arrive with 1.5, so neither exists in a build that does not ask.

Once you have accepted, these are the only things that leave your machine:

  1. An update check, once per launch: a request to ripplefx.app asking what the current release is. It carries no identifier, no version and no information about you, and the comparison happens on your machine.
  2. A list of contributors, when you open the About box: a request to ripplefx.app for the people credited in the support repository, which the site answers from GitHub itself. Versions before 1.5 asked GitHub’s public API directly. Their pictures are fetched from GitHub by your own machine, not through our site, so opening that box does make requests to GitHub for the images; one such address is compiled into the application and is requested even when the list itself cannot be fetched. Nothing identifying you goes with them.
  3. A crash report, and only if you say so. After a crash, the next launch asks whether to send the report it saved, names every file in it and says what each one contains. Nothing is sent unless you answer yes to that report, there is no setting that answers in advance, and declining is final for that report. Before asking, the application checks that the server it would send to can be reached, with a request that carries nothing about you.
  4. Usage statistics, and only if you switch them on. From the version that introduces them, the application asks once whether to send them, with the complete list of what would be sent in front of the question and neither answer preselected. Nothing is sent unless you say yes, the setting can be switched off at any time, and switching it off stops them at once. No content you author is ever included.
  5. Engine fixes, unless you switch them off. From version 1.5, once per launch, a request to ripplefx.app asking whether a fix exists for the engine the application is running, carrying that engine’s version, its milestone, the platform and an identifier of the interface between the application and its engine, and nothing about you. A fix that exists is downloaded, checked against our signature and used from the next launch. It never changes what the Software can do. Engine updates, under Settings ▸ Updates, switches both requests off.
  6. What the Service needs, if you sign in. Signing in, and anything you then do with the hosted features, goes to our servers under the Terms of Service. Nothing is sent for the Service before you sign in.
  7. Whatever you send yourself. Version control pushes to a repository you configured, with credentials you supplied, held in your operating system’s credential store. Opening documentation or a support page hands a URL to your browser — from version 1.5 through a redirect on ripplefx.app, which sees that request and nothing else. And a document in a project may point at a picture by http or https address rather than at a file in the folder, in which case drawing that document fetches it from whoever hosts it — including in a project somebody else sent you, whose documents you did not write. We are not a party to anything beyond it.

The Software keeps a session log on your machine. It is not transmitted, there is no uploader for it, and it is deleted automatically when a session ended without anything going wrong.

What each of those involves, what a crash report contains and how long anything is kept is in the Privacy Notice, which forms part of this Agreement.

Nothing you author is sent anywhere by the application. Your passages, boards, projects, scripts and exports stay on your machine unless you move them yourself or, separately and by signing in, you choose to use the Service.


8. Third-party components

The Software is built on software written by other people, each under its own licence. Those licences govern those components and are unaffected by this one. The complete list is in the application, under About → Third-party licences.


9. No warranty

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non-infringement. The Licensor does not warrant that the Software is free of errors or that it will run without interruption.

These exclusions do not apply to the Licensor’s wilful misconduct or gross negligence, and do not prejudice the mandatory rights of a Consumer Licensee under applicable law, which prevail in any event.

Keep backups of your work. The Software edits files in place, in folders you choose, and the Licensor cannot restore what a fault, a mistake or a disk failure destroys.


10. Limitation of liability

To the fullest extent permitted by law, the Licensor is not liable for indirect, incidental, consequential or punitive damages arising from the use of or inability to use the Software — including loss of or damage to any data, project or document.

The Licensor’s aggregate liability to a Professional Licensee, on any basis, is limited to €500.00. The Software is supplied free of charge, and this figure is stated rather than tied to a price paid because there is none.

Excluded from that limitation, and governed by law: the Licensor’s wilful misconduct or gross negligence, personal injury, and any other liability that cannot be limited by law.

Consumer Licensee: nothing in this Agreement limits or excludes the Licensor’s liability towards a Consumer Licensee beyond what mandatory consumer-protection law permits, and that law prevails in any event.


11. Indemnification

A Professional Licensee shall indemnify and hold the Licensor harmless from claims, damages and costs (including reasonable legal fees) arising from its use of the Software in breach of this Agreement or of law, or from content it processes with the Software in breach of a third party’s rights.

This Article does not apply to a Consumer Licensee, whose liability remains governed by law.


12. Force majeure, export and sanctions

The Licensor is not liable for failure or delay caused by circumstances beyond its reasonable control, including infrastructure and network failures, acts of authority and natural events.

You undertake to use the Software in compliance with applicable export-control and international-sanctions law. It may not be used, exported or re-exported to persons or countries subject to restrictive measures.


13. Term and termination

This Agreement takes effect when you accept it and continues until terminated.

You may terminate it at any time by ceasing to use the Software and removing your copies of it.

The Licensor may terminate it if you breach it: for a breach capable of being cured, thirty (30) days after written notice, if it is not cured in that time; for a breach that is not — in particular unauthorised distribution, reverse engineering or circumvention of a security control — with immediate effect.

On termination you must stop using the Software and remove your copies. Your Work is unaffected, and Article 3 says so permanently.

The following survive termination: Articles 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15 and 16.


14. Updates and changes to this Agreement

Updates to the Software — including fixes to its engine that the application downloads itself (§7) — are governed by this Agreement unless they are accompanied by different terms.

This Agreement is versioned major.minor, and the two halves mean different things:

This Agreement attaches to the software, not to a date. It takes effect for your installation when you accept it, and a version of it is therefore in force for you and not for somebody who has not. That is why no article here names a day of the month: the only moment that matters to you is the one at which you were asked.

A new feature is not a new version. “The Software” in Article 1 means Ripple Effect as we distribute it, including every component shipped with it — so a part of the application that did not exist when you accepted this Agreement is governed by it without this Agreement changing. What makes a new version is a change to what this Agreement says: what you may do, what we owe you, what either of us is liable for. Not a change to what the application does. And nothing reaches backwards: a later version never governs your use of the Software before you accepted it.

A version that is not yet in force may be corrected. Until a version has been accepted by somebody, or published as final, it binds nobody and is evidence of nothing — so a mistake in it is corrected where it stands rather than by issuing a version to fix a comma. Once either of those has happened, the text at its permanent address never changes again, and any change is a new version under the procedure above.

That is not a right to amend terms you have accepted, and it is worth saying so plainly. The version you accepted stays exactly as you read it, at its own address, for as long as the record is worth anything. Nothing in this article lets us alter it.

Every version that has ever been in force stays published at its own permanent address, so the version you accepted remains readable. This one is at https://legal.ripplefx.app/v/eula-1.0/.

If you do not accept a major version, you may continue to use the last build of the Software released under the version you did accept, under that version; you simply may not use builds released under the new one. If you had paid for anything under this Agreement you would be entitled to a pro-rata refund of the unused part, and that clause is stated here for completeness rather than because the application costs anything.


15. Consumer protection

For a Consumer Licensee, mandatory consumer-protection provisions prevail in any event.

For consumers resident in the European Union, the Italian Consumer Code (Legislative Decree 206/2005) and EU law apply, including the mandatory forum of the consumer’s place of residence and the nullity of unfair terms. Because the application is supplied free of charge and no contract of sale is concluded, the fourteen-day right of withdrawal from a distance purchase does not arise here; it does arise for the Service, and the Terms of Service say so.

For consumers resident outside the European Union, the mandatory consumer-protection rules of their country of residence continue to apply notwithstanding the choice of Italian law, and prevail where they are more protective.

Any term of this Agreement conflicting with those protections does not apply to a Consumer Licensee.


16. Governing law and jurisdiction

This Agreement is governed by Italian law, excluding its conflict-of-law rules.

For disputes with a Professional Licensee, the courts of L’Aquila, Italy, have exclusive jurisdiction, subject to the specific approval in Article 18.

For a Consumer Licensee, the mandatory forum of their place of residence applies. For a Licensee outside the European Union, the mandatory consumer-protection rules of their country of residence are unaffected.


17. Final provisions

Entire agreement. This Agreement and the Privacy Notice are the entire agreement between the parties about the application. The Terms of Service govern the Service separately, and neither limits the other.

Severability. If any provision is held invalid, the rest stands.

Waiver. A failure to enforce a provision is not a waiver of it.

Language. This English version is the operative version. A translation may be offered for convenience; where it differs, this version governs.

Contact. legal@ripplefx.app for anything about this Agreement. support@ripplefx.app for help with the application.


18. Specific approval of terms (Italian Civil Code arts. 1341–1342)

Pursuant to and for the purposes of articles 1341 and 1342 of the Italian Civil Code, the Professional Licensee specifically approves the following clauses, by a separate and explicit confirmation given at first launch in addition to acceptance of this Agreement as a whole:

This specific approval does not apply to a Consumer Licensee, in respect of whom unfair terms remain governed by mandatory consumer-protection law.


ConnectingTheDots — William Karol Di Cioccio — VAT IT02224180667 — ripplefx.app