CHOICESCRIPT LICENSE (CSL) v1.0
Non-commercial usage and modification of the works is permitted
provided that (1) the ChoiceScript license is retained with the works,
so that any entity that uses the works is notified of this license,
and (2) the user grants at no charge an unrestricted, transferrable,
non-exclusive license to Dan Fabulich and Adam Morse for any
modifications, if any, made to the ChoiceScript interpreter. The user
may not use the ChoiceScript interpreter or code written for use with
the ChoiceScript interpreter for any commercial purposes, including
sales of complete applications, use of the code to generate
advertising revenue, or any other commercial purpose. If you are
interested in a commercial license, please contact
support@choiceofgames.com.
I’m currently sitting on an audio plugin for ChoiceScript which I don’t feel comfortable releasing due to the CSL.
With the audio plugin I’ve created, you are able to pause, mute, stop, adjust volume, and crossfade. It’s a framework like CJW’s Save Manager Plugin; it adds extra commands to ChoiceScript for game developers to use. But unlike the Save Manager Plugin, which emulates a feature commercial ChoiceScript games already have, my audio plugin could add value to commercial ChoiceScript games. And because of the CSL, I wouldn’t see a cent.
This isn’t a hypothetical. Here’s some of my code (not fully tested):
Declaring commands
...
Scene.validCommands.se_fade_out = 1;
Scene.validCommands.se_pause = 1;
Scene.validCommands.se_unpause = 1;
Scene.validCommands.se_stop = 1;
Scene.validCommands.se_stop_all = 1;
...
Enhanced sound command
Scene.prototype.se_sound = function startSound(input){
var input_array = input.split(" ");
var name = input_array[0];
var id = input_array[1];
var loop = input_array[2];
var volume = input_array[3];
var exists = document.getElementById(id);
if (name.indexOf("http") != 0) {
var loc = window.location.href
loc = loc.slice(0, -17);
loc = loc + "audio/" + name;
}
else {
var loc = name;
}
if (volume > 0 && volume <= 1) {
var finalVolume = volume
}
else {
...
Fades
Scene.prototype.se_fade_in = function fadeInPV(input, startVolume, desiredVolume, crossfadeSpeed){
var input_array = input.split(" ");
var id = input_array[0];
var volume = input_array[1];
var audio = document.getElementById(id);
if (startVolume == null) {
var startVolume = audio.volume;
if (volume > 0 && volume <= 1) {
var desiredVolume = volume
}
...
I won’t be sharing my entire plugin here. From a non-lawyer’s reading of the CSL, I have a legal obligation to share my code to Dan Fabulich and Adam Morse. However, they would need to enforce that claim somehow, which means expensive lawyers. As far as I’m aware, I wouldn’t be liable for any damages by withholding my code until forced by a court. So I will.
ChoiceScript developers give Choice of Games LLC a portion of their game’s proceeds because, presumably, Choice of Games LLC had a hand in creating and selling their games. If my plugin was used in a commercial ChoiceScript game, then I too would have had a hand in creating that game, yet I wouldn’t get anything.
For me, the best move would be to negotiate a commercial license for my plugin from Choice of Games LLC. I have no idea how to do that. Even if Choice of Games LLC is interested in my plugin - which they very well might not - then they could just send lawyers after me if my asking price is too high.
In other words, the CSL has stripped me of any leverage I could use in negotiation, besides refusing to comply entirely. Thus, it’s in my best interest to be spiteful.
I really don’t want to do this. I want to release my plugin under a Creative Commons Noncommercial-Attribution license, which would allow independent ChoiceScript developers to freely use my plugin while ensuring I’m justly compensated.
But it isn’t about me. If I hold out for cash. then all the other ChoiceScript developers out there wouldn’t have access to my plugin. I wouldn’t want to deprive them of that. That said, most people like getting paid. I wonder how many other developers have experimented with ChoiceScript plugins while making their own games. Or rather, how many would have experimented if they were properly compensated.
For the record, I’m not using this post as a negotiating chip. Regardless of whether I get paid, I’m still planning to release my plugin as soon as I’ve finished testing. However, I do want a discussion on the CSL and it’s effects. I sincerely everyone involved would be better off with a less restrictive license agreement. Programmers would have a incentive to create plugins, game developers would have more extra functionality in the games, and Choice of Games LLC would have better products. As it is right now, all progress on the ChoiceScript language will come from the company itself. And while I can only guess, I doubt Choice of Games LLC has more than a handful of people working for them. They aren’t exactly AAA.
Again, mad respect for ChoiceScript. If I didn’t care about the language, I wouldn’t be here today. I only raise my own concerns as an example, to show what ChoiceScript could get with a less restrictive license. If anyone ever pays me for my audio plugin, or if I don’t release it within a week, please punch me in the face. I’d rather have a better CSL than a quick payday.
Sorry if this isn’t the place, though I don’t know where else I could raise this issue to those affected. And thank you for your time.