Use of jME under licensing

If I write my own code using the jME API, can I use the GNU General Public License on that code. For instance if I write some code, can I then put the following at the top of my code:



    Copyright © 2008 <My Name Here>



    This program is free software: you can redistribute it and/or modify

    it under the terms of the GNU General Public License as published by

    the Free Software Foundation, either version 3 of the License, or

    (at your option) any later version.



    This program is distributed in the hope that it will be useful,

    but WITHOUT ANY WARRANTY; without even the implied warranty of

    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

    GNU General Public License for more details.



    You should have received a copy of the GNU General Public License

    along with this program.  If not, see <Licenses - GNU Project - Free Software Foundation>.



Thanks for any help!

As long as any unmodified jME code still has their license stuff on it, yes, no problem.

Are you sure you want to use the GPL license? Its restrictions will make alot of people avoid it. GPL is viral, if you put it on one part, the whole thing becomes GPL. This makes your work not reusable, almost like closed-source, but making peoples hearts ache, since they can see the code, but cant use it. GPL was invented for systems software, and software which has solutions which rival closed-source commercial software, thus preventing those to freeload on the open-source.

I don't mean to exhaust the question, but just to make sure I understand… Here is an example:



/**

   Copyright © 2008 Josh Branchaud



   This program is free software: you can redistribute it and/or modify

   it under the terms of the GNU General Public License as published by

   the Free Software Foundation, either version 3 of the License, or

   (at your option) any later version.



   This program is distributed in the hope that it will be useful,

   but WITHOUT ANY WARRANTY; without even the implied warranty of

   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

   GNU General Public License for more details.



   You should have received a copy of the GNU General Public License

   along with this program.  If not, see <Licenses - GNU Project - Free Software Foundation>.

/



/

  • This is an example using jME and SimpleGame.
  • It creates two boxes and displays them with SimpleGame settings.

    */



    /**
  • @author Josh Branchaud
  • @version 11/25/2008

    */



    // imported classes

    import com.jme.app.SimpleGame;

    import com.jme.scene.shape.Box;

    import com.jme.math.Vector3f;



    public class HelloWorld2 extends SimpleGame

    {

       protected void simpleInitGame()

       {

           // creates a box at the origin that is 10 by 5 by 1

           Box box1 = new Box("box1", new Vector3f(0,0,0), new Vector3f(10,5,1));

           // creates a box at (-10,0,0) that is 5 by 5 by 5

           Box box2 = new Box("box2", new Vector3f(-10,0,0), new Vector3f(-5,5,5));

           // adds both of the boxes to the rootNode so that the are displayed at run time

           rootNode.attachChild(box1);

           rootNode.attachChild(box2);

       }



       public static void main(String[] args)

       {

           // creates a HelloWorld2 object called thisWorld

           HelloWorld2 thisWorld = new HelloWorld2();

           // opens a dialog box at run time to pick window specs

           thisWorld.setDialogBehaviour(SimpleGame.ALWAYS_SHOW_PROPS_DIALOG);

           // starts a while loop that updates and renders the display

           thisWorld.start();

       }

    }



    Am I okay in giving that a GNU General Public License under my name? (Given that I wrote the HelloWorld2 class)



    And in response to the post by vear… what are some different licenses that you would suggest then? What license is jME under?

Yes, you can do it like that. Keep in mind though (as described in the text), you have to include the GPL license somewhere in your program.



jME is a "new style" BSD license.



http://www.opensource.org/licenses/bsd-license.php

Here is a page describing the most popular open-source licenses:



http://www.shafqatahmed.com/2008/10/comparison-of-d.html


Also, as long as you are the owner of your code, you can always re-release it under a different license.

Thanks llama, that would have been my next question. This all has been very helpful and informative!

I was reading through the BSD license and I was wondering what exactly this following provision means:



"Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission."

That means you can't use -for instance- my name (some code is in there) to promote your project. Technically you can also not use the jMonkeyEngine name unless you ask. Not that any of us would actually mind. Mark (mojomonkey) won't mind giving you that written permission if it really scares you (I think he offered that to people in the past).

How would I go about contacting mark?

it means that you can't use the jme and its contributors to promote your product. You are allowed to say you use jme and stuff like that. However you cannot write that JME recommends your product or that any of the contributors think your stuff is the best thing since sliced bread.

clarified my post a bit. sorry.




Okay, that makes more sense now.



Should I still try and contact mark to get written permission or just make sure I don't promote my stuff with jME's name?