intfiction.org

The Interactive Fiction Community Forum
It is currently Mon Nov 20, 2017 2:54 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 12 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Licensing question
PostPosted: Thu Sep 28, 2017 5:26 am 
Offline

Joined: Wed Aug 26, 2015 11:18 am
Posts: 87
Location: The Netherlands
I wrote an IF authoring system and now I am looking for a license to release it under (for executables, sources, documentation). I looked at several licenses: GNU Public licenses, MIT, Apache, Artistic license, ... but find it hard to pick one.

I don't want a lot of hassle and restrictions but I do have some things that I find important to cover:

    I don't want other people to make money selling it. I put a lot of time and effort in writing it. I'm sharing it for free and it must remain free.

    Any game that someone creates with this system is the sole property of that someone and they can do with it whatever they want, including selling the game.

    By default, I don't want someone to take out parts of the source code and use it in another program. If someone feels they need part of the sources for another program they should ask me so I can say yes or no.

    I don't mind people changing/improving/expanding the source code, but when they want to release it they must contact me so I can determine whether to make a new release with the changes. This is to have some version control (maybe use Github pull requests for this?).

    When someone shares/distributes the original or changed sources it must be under the same license.

    I don't want to be liable for anything.

Right now, I think the Artistic License 2.0 seems the most appropriate for what I want, especially w.r.t. distributing modified versions. GPL and MIT allow to sell the sources for money as far as I can see. I also checked TADS and Inform 6 licenses, but these licenses seem custom made and I don't know whether I'm allowed to copy their text and use it as a license for my system.

So, given the above points, what would be a good license to use?


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Thu Sep 28, 2017 6:11 am 
Offline

Joined: Thu Aug 13, 2015 1:34 am
Posts: 97
Location: Kemerovo
If you want to open the source under a free license, GPLv3 would be good for you.

It ensures that the source code you open would stay open and if someone wants to make money of it they'll still have to disclose their source code and your name on it.

But if you really want to control every modification, then don't release the source code or release it under a commercial license only (see: ChoiceScript). Because only that way you can force everyone to ask your permission before modifying the program.

UPD: Inform 7 and Adrift are closed-source, TADS is open source specifically for porting. Mature free software parser engines are Inform 6 (Artistic 2.0), Quest (MIT), ALAN (Artistic 2.0) and maybe more.


Last edited by Oreolek on Thu Sep 28, 2017 6:55 am, edited 1 time in total.

Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Thu Sep 28, 2017 6:52 am 
Offline
User avatar

Joined: Sat Jun 25, 2016 12:13 pm
Posts: 152
An issue here is that to ship a game under XVAN, it needs the runtime to go with it.

In which case, if the runtime prohibits commercial use, then there can be no commercial games, only free ones. Since you say you wish to allow people to sell their games, plus the fact that you're already distributing the source code: LGPLv3 would work - for the runtime.

However, this doesn't mean you must have the same licence for the compiler (XC). This can be a stricter licence if you wish.

For example GPL does not prevent commercialisation, and if you wanted to prohibit people from making money from selling XVAN versions itself then you would need something other than GPL for the compiler (and any other tools).

Some of the Artistic licences look good for this, but they appear to be oriented more toward art content rather than code. In the past, i have used a "public source license". For some reason these aren't discussed much by people.

Here's one made by Apple, i once copied and used (obviously change name of Apple to yourself); https://opensource.apple.com/apsl

Edit:

Sorry, just remembered, when i used the APSL i edited clauses 2.1 and 2.2 to remove the term "commercial". Thus making it a licence for non-commercial only.

In view of this, you might instead like to find one already aimed at non-commercial use (rather than edit it), although i think the APSL is easy to make "non-commercial" by this small change than, say, the GPL.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Thu Sep 28, 2017 8:08 am 
Offline

Joined: Wed Aug 26, 2015 11:18 am
Posts: 87
Location: The Netherlands
Thanks for your replies.

I took another look at GPLv3 and modification seems pretty well covered. And on second thought, if someone would pay for software that they can download for free, well .....

@jkj yuio, suppose the whole thing would be under GPLv3, would you still be willing to work with me on tying XVAN and Brahman together through a JSON interface?


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Thu Sep 28, 2017 8:31 am 
Offline
User avatar

Joined: Sat Jun 25, 2016 12:13 pm
Posts: 152
You can make the compiler (XC) any licence you want, since the _output_ of the compiler is another story.

Also, may i suggest, if you decide GPL, to use LGPLv3 rather than GPLv3. The difference is that LGPL permits also linkage to modules that can, if needed, be kept closed.

Example:

Say someone wanted to make an XVAN game but their UI (which accesses XVAN runtime) also accesses another library. Say this library is some new AI technology not yet ready for source publication. LGPL would allow this, but GPL not.

One of the reasons i like LGPL is that it permits the parts of a product (ideally all dynamic modules) to be open sourced in stages. I want to open source ALL my code eventually, but not all at the same time. Usually it's because newer parts are in a state of flux (or just embarrassingly hacky!).

Brahman is all LGPLv3.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Thu Sep 28, 2017 8:43 am 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5486
Some warnings and corrections:

There are many IF tools (compilers and interpreters) which use the MIT, Apache, Perl, and BSD licenses. Nobody makes money selling them even though it's legal.

All open-source licenses permit taking part of the source and using it in some other (open-source) project.

People might still be using your tools in twenty years. You might have disappeared from the community or no longer be contactable. Should they, at that time, say "Well, the author didn't want us to port this to a new OS without permission, and we can't get permission, so we're screwed?"


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Thu Sep 28, 2017 8:54 am 
Offline

Joined: Wed Aug 26, 2015 11:18 am
Posts: 87
Location: The Netherlands
@Zarf: would LGPLv3 take care of the things you mention?


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Sat Sep 30, 2017 10:43 am 
Offline

Joined: Sat Oct 04, 2008 9:21 pm
Posts: 224
Marnix wrote:
  1. I don't want other people to make money selling it. I put a lot of time and effort in writing it. I'm sharing it for free and it must remain free.
  2. Any game that someone creates with this system is the sole property of that someone and they can do with it whatever they want, including selling the game.
  3. By default, I don't want someone to take out parts of the source code and use it in another program. If someone feels they need part of the sources for another program they should ask me so I can say yes or no.
  4. I don't mind people changing/improving/expanding the source code, but when they want to release it they must contact me so I can determine whether to make a new release with the changes. This is to have some version control (maybe use Github pull requests for this?).
  5. When someone shares/distributes the original or changed sources it must be under the same license.
  6. I don't want to be liable for anything.

I suggest GPL3. I will make some of the points: There is no good real reason for (3) and (4), although you can still request (but not require) that anyone who releases changes will contact you, which may help with what you wanted to do. For the reasons zarf mentioned (and others), many of the points you listed aren't all that good anyways. Points (5) and (6) are done by GPL3, so that works OK. If you wish, you can allow later versions of the GPL, or you may allow yourself to be a "proxy" to permit later versions or not (a feature I think is new in GPL3). Also, you can trademark it if you want to prevent unofficial versions with the same name. It does not prevent anyone selling it (point (1)), but the GPL3 (as opposed to other licenses, such as LGPL) does avoid some of the important ways that others can earn the money to benefit themself instead of you (again notice what zarf mentions; even if it is legal it does not mean it is useful for anyone). If you wish some of the things that jkj yuio mentions, you may add removable exceptions into the license, and may even require contacting you if they want to. Although if modules are made as separate programs then it might not be an issue anyways.

_________________
.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Sat Sep 30, 2017 11:35 am 
Offline
User avatar

Joined: Sat Jun 25, 2016 12:13 pm
Posts: 152
some valid points, but let me explain my own preference for LGPL;

GPL licences are all about software freedom, but actually they can limit the freedoms of the owner. Something that uses GPL is _less_ compatible with other libraries than something that uses LGPL, and therefore is _more restrictive_ on the freedoms of the owner.

[I realise the owner can always re-release with another licence, but if so, why not do that from the beginning.]

for me, at least, software that i develop and release as open source (whatever the exact licence), i am never against someone else making money from it. That's because i realise there's a _huge_ difference between a product and sales. If they can make money, then good luck to them.

The point being that i don't choose LGPL to specifically control others from monetising, but instead to allow me to incorporate parts that are not compatible with the GPL if i so wish.

Of course, these are my own reasons. I would not be against Marnix choosing GPL or any other.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Licensing question
PostPosted: Tue Oct 10, 2017 8:29 am 
Offline

Joined: Wed Aug 26, 2015 11:18 am
Posts: 87
Location: The Netherlands
I'm working my way through the GPLv3 license tekst and I'm having a bit of difficulty understanding the difference between "propagate" and "convey" as defined in section 0, Definitions.
Especially how they are used in section 2:

Quote:
.......
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
........

I'd appreciate if someone could give me an example of propagate vs convey so I can better understand section 2.

Thanks.


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group