• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 05:19:36 am

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


License?

Started by ensignavenger, April 13, 2012, 12:11:10 pm

ensignavenger

Hi!  I am just discovering your work.  I am doing research and designing a Virtual Game Table for playing games like Dungeons and Dragons.  Something like MapTool (RPTools.net) except in 3d and hopefully easier to extend with a module interface an Python.  I am planning on using the Panda3D engine, and thus came across your project. 

Anyway, I am wondering what license your source code is under?  Are you using a BSD-like license like the Panda3D engine, or something else?  I want to know because I might re-sue some of your source code.  I could not find any license information on your site or in the repo, or on the forums, so I thought I'd just ask :)

Kivutar

We haven't chosen a license yet. I'm not good at choosing licenses. But we should have one, to protect the users and the code. This must be decided with the other team members.

What I would like to promote:
- I want this code to be useful to people, especially beginners developers. Because this is how I learned.
- I want this engine to be attractive for new developers so we can build a community of modders and core hackers.
- I want game makers to be able to create games for Linux, because i'm part of this community and we lack Japanese style games.

What I would like to prevent:
- Violating one of the license of the tools that we are using.
- People claiming to be the authors of our code.
- Seeing a company using our code for big profit while i'm starving.

Other remarks:
- All the graphical contents produced by Lijj are part of a 'sample game' that will be provided with the engine to new users to start with, like an RPG Maker RTP.
- Our git is still full of copyrighted content, and we'll have to remove it before pasting a license on this.

@lirmot, @Lijj, what do you have to say?
Tethical, an online FFT clone

lirmont

The only thing I don't want to be forced to do by a license is to provide any and all additions I make (above and beyond getting Tethical to a stable, play-tested release); I don't mind providing them to contributers, but I do not want to provide free work to people who only want to consume and have no desire to help create.

You could decide on a dollar value for revenue generated by using the Tethical engine after which X-amount would need to be paid to some fund. At least, I read that's what the Unreal Engine 3 did (and the number was after the first $50,000 is earned, if I remember correctly). The HeroEngine Choto posted is a flat 30% of all revenue (but they're probably able to easily track that since it's centrailized, and that's probably why it can be so much).

Pickle Girl Fanboy

What license(s) is Panda 3D under?  What does it alllow you to do?  That's the most important question.

ensignavenger

Panda3D is under the modified BSD license.  http://www.panda3d.org/license.php 

Basically, you can do whatever you want to with it (including re-licensing your derivative works under a stricter license), just retain the original copyright notice and don't imply that Carnegie Mellon endorses your product.

I would strongly encourage sticking to one of the OSI certified licenses, rather than trying to create your own.  I would use one of the more popular ones, if you can, just to keep it simple.

Basically, MIT and BSD style licenses are the most free- they let you release commercial works based on the engine, and not have to release any changes you don't want to.

Apache License- you don't have to share modifications, but has attribution requirements.  There is some discussion and uncertainty about the Apache licensees compatibility with the GPL license.  I think the Free Software Foundation says it is compatible with the GPLv3, but no earlier versions.

Mozilla Public License- File level copyleft.  Meaning if you change a file you have to share the changes made to that file.

LGPL requires you to release changes made to the code/modules and any code that is statically linked to it.  Code that is dynamically linked does not have to be released.  There is a lot of concern about this license not allowing you to release applications to Apples App Store and on Game consoles, because of static linking.  It is often avoided because of uncertainty and the complexities of it.  Ogre3d changed from the LGPL to the MIT license because of these problems.

GPL- requires you to release all derivative works under the GPL.

NOTE: I am not a lawyer, nor do I play one on TV :)  However, the above represents my understanding of the general requirements of the above open source licenses based on many years of working with Open Source software.  See https://en.wikipedia.org/wiki/Comparison_of_free_software_licenses for a more complete analysis).  This is meant as a starting point.

Since the Panda3d engine is Modified BSD, I would recommend using a similar BSD style license for your code.  It is true that doing so might result in a commercial company picking up and using your code- but most (though unfortunately not all) will contribute at least something back (bug fixes and some times even some features). 

My plans are to create a program and release it under an OSI certified license (Though I have not yet decided which one).  I plan to contribute back bug fixes and features to any project that I use.  However, I will avoid using restrictively licensed code, because I plan on eventually making a release for the iPad and possibly other game consoles.  I also plan on doing commercial adventure modules based on the engine, and I want to be able to distribute them as stand alone games and not have to release additional sources.

If the BSD style license of the Panda3d engine is too liberal for you, I would recommend looking at the Mozilla Public License.  http://www.mozilla.org/MPL/2.0/FAQ.html

I hope this helps you in your discussion.  Even if I don't use any of your code, I hope you don't mind my getting ideas from it.  I am pretty much a beginner, so I find examples very helpful!


Pickle Girl Fanboy

Quote from: Kivutar on April 16, 2012, 04:04:28 amWhat I would like to promote:
- I want this code to be useful to people, especially beginners developers. Because this is how I learned.
- I want this engine to be attractive for new developers so we can build a community of modders and core hackers.
- I want game makers to be able to create games for Linux, because i'm part of this community and we lack Japanese style games.

What I would like to prevent:
- Violating one of the license of the tools that we are using.
- People claiming to be the authors of our code.
- Seeing a company using our code for big profit while i'm starving.

Licence you require must do the following.
For commercial works (by commercial I mean you sell the game):
*Pay a licensing fee, probably to the developers.  Currently, this is: Kivutar, Lirmont, and Lijj (if you use his artwork and other media).
**They will decide what the payment scheme is, if they decide to require payment.
*Credit the developers
OR
*Port the code that is not specific to your artwork and media back into Tethical.
*Credit the developers

For non-commercial works:
*OPTIONAL License your works under the same license we use for Tethical.  This is to maintain the feedback cycle which benefits this community.
*OPTIONAL Share your source code.

PGF's Verdict:
*Use the latest GPL for non-commercial works.
**Unless you're worried about Voldemort starting a rival community of his own, in which case use a non-derivative but still open-source-if-you-credit-us-and-use-the-same-license-as-us license.
***I seriously fucking doubt that Voldemort will learn Python, and, even if he does, it will be unmaintainable and closed source (thereby breaking our license), and he'll drive away his most professional hackers and coders because he's an immature, easily-trolled asshat.
***So I say again: use the latest GPL for non-commercial works.
*Offer a conditional BSD license that requires derivative commercial works to either pay a licensing fee to the developers, port their code that isn't art/media/game-specific back into Tethical, or both (PLEASE SPECIFY); and requires commercial derivative works to credit our devs.

So am I talking out my butt or what?

Kivutar

I would like to license Tethical under the AGPLv3. At least the client and the server, wich are on github.

As lirmont don't want to share his code except to contributors, he should not license it for now: this prevents anybody to do anything harmfull for now.

@ensignavenger: Your project look interesting and as you plan to release some parts with an OSI license I won't prevent you from using the code. Just study it and use the parts you need. I will double license my code under BSD for you when you need it.

Is everybody ok with that?

This summer I leave my real life job. I will have free time to work on tethical for let's say, half a year. Cleaning the repo from copyrighted content will be my priority.

PS: do you plan to port Panda3d to the iPad and consoles? I'm very interested in that. I'd love to rework Tethical client for touch screens or wiimotes.
Tethical, an online FFT clone

lirmont

@kivutar: The only code I mean that I don't want to provide would be future contributions to the actual Tethical engine. If I develop several extra battle modes or an in-depth feature for in-battle equipment display after the Tethical engine reaches a stable release, I don't want to be forced to just hand those over to people who have not contributed any time (be it code, ideas, or feedback) to the engine's development process. I have no problem providing source for things like the control panel (as I consider it a future part of the engine). I am only concerned about my future additions to the engine, and I think AGPLv3 will force me to provide a link to the deriative work (Tethical's engine + my extra battle modes, for example). I can plan a plugin system to get around that, if you're okay with that.

Kivutar

Oh I see. We should remove the project from github then and setup our own git server.
Tethical, an online FFT clone

ensignavenger

Sure, I think I understand your desires, even if it hasn't been expressed in a clear license yet.  I will work with you guys if I decide to use any of your code to contribute any changes that you can use back to you. 

I am still trying to get tethical to work on my machine :)  (Another post on the install forums)  But from what I have read, it has a lot in common with what I want to do. (Tile based movement, turn based combat, etc.)  There may be a lot of design decisions that I make differently, as I plan t support a wide variety of game rules and systems, so I plan to make my code very modular. Whereas you seem to be focused on one type of game.

As far as porting to iOS, the thought has crossed my mind.  I know there has been some start on that in the Panda3d community, but it seems to have stalled.  I don't have a Mac and I know very little C++, so it might be a while before I get to that.  Eventually, I would like to see it done, though (whether it is myself learning to do it or some one else doing it, I may even sponsor the work on it financially at some point). I may start with an Android port, though.  Win8 ARM shouldn't be a hard port to do, either.


Kivutar

Tethical, an online FFT clone

Pickle Girl Fanboy

Random question: How would someone make money off a game that is open source?  Using tethical as an example, if I made a game using tethical as the engine, and just used a bunch of python scripting to tell a story, would my python scripts - since they're specific to the media I created - be part of Tethical, a derived work, or what?

lirmont

As an example of relantionship differences, the engine uses maps, events (i.e. python scripts called in maps, for example), and the database; they all exist as separate entities outside of the engine (and therefore do not contribute to a derivative work; you'd need to just link to the engine's source in AGPLv3). Currently, there is no plugin system, so adding a new feature uses the engine and does not exist as a separate entity from the engine; the derivative work is the combination of the orginal engine's source plus the code of the new feature you wrote (and therefore you'd need to license it as AGPLv3, providng a link to the derivative work). In the case of a plugin system, the code from a new feature can be rolled into a plugin, making it a standalone entity; the engine uses a plugin (and therefore the plugin does not contribute to a derivative work; you'd need to just link to the engine's source in AGPLv3).

ensignavenger

Of course, you can still make money selling GPL/AGPL software.  RedHat does this with Linux, where they sell licenses to RedHat Linux, which is basically the same thing as CentOS, because it is all GPL.  RedHat still owns their trademark, so the CentOS developers can't use that, but they can use all of the GPL source code.  RedHat also offers support if you buy RedHat Linux.  There are companies that rip people off selling GPL software- you used to see it a lot on ebay (Maybe it still happens).  They sell something like Gimp, maybe they change the name of it and the logo, maybe not.  Often, they don't even provide good support.  It is legal though, because all they have to do is provide the source code (and any changes they may have made to it).

Regarding a game, you would still own the copyright on all of your artwork, models, and the story/dialogue.  You would also own the name (if you trademark it).  So those are significant assets to sell.



Kivutar

@lirmont: Actualy there is an unfinished plugin system: if the engine find a python class in the folder of the active game, it overrides the class from the engine. It is a naive way to make the engine extensible, we may replace it with something more reliable.

@PGF: Compagnies who want to produce proprietary software using the engine (and modding the engine) still can contact us (the copyright owners) to ask for a double license. Then we start trading. If i'am right.

@ensignavenger: It is Planeshift economical model, isn't it?
Tethical, an online FFT clone