what license to release a physics engine under?

Community Forums/General Help/what license to release a physics engine under?

Nate the Great(Posted 2009) [#1]
hey,

I just realized that I am going to need a license to release my physics engine, so I naturally googled it but I can't find any useful information. So since some of you people seem to know your stuff when it comes to licensing software, I have a few questions.

1. If I make a readme that states the license I am using does that mean it is licensed and the user is bound to that or do I have to get it published in some way?

2. What license would you recommend for a physics engine that is not very strict but still a little limiting. Maybe something like you must provide a link to my site or give credit in some way to this physics engine? Sorry I have no idea what I am talking about so I really need help with this.


thanks


xlsior(Posted 2009) [#2]
The real question: What kind of restrictions / allowances do you want to make? One very big potential sticking point that could determine which license you do or don't want to use:

If someone includes your library, do you allow them to sell the finished product commercially or not?

Very common ones:
GPL, LGPL, MIT, BSD, Apache

If your library is GPL, then any program that uses it also needs to give away their full source code - which can stop some people from using it.
LGPL allows people to include your library as a DLL and keep the source of their own program closed.
BSD and MIT do allow closed source programs to use your code, but require the license copyright info to be included in the documentation or credits of the program.

You can also just call your program 'Freeware', and put a custom license term in there stating that you wish to have credit and/or a link to your website in exchange for the code if anyone uses it.

The downside of coming up with a custom license (instead one of the main common ones) is that it can keep some entities from using your library because it's too much hassle to get their legal department to sign off on a custom license -- if it's GPL or BSD they may already have a general OK to use 'em.

In general BSD / MIT are the 'nicest' licenses for developers, because it gives them a lot of freedom. LGPL is in the middle, and GPL / Apache are more restrictive since they require any user to release the code of any program using those bits as well. For this reason, GPL is sometimes referred to as a 'viral' license.


Yasha(Posted 2009) [#3]
In answer to question 1 - the licence is whatever you say it is, no publishing or application necessary. Existing licences like GPL, MIT, BSD are "templates" if you will - you grab them and stick them on your work. You don't have to apply to use them (unless someone has put a proprietary licence on the use of their licence text... possible but weird). Either you can specify an existing licence or write your own (with of course the disadvantage pointed out above), but there's no restriction on either, and you can have multiple licences for the user to choose between, or allow exceptions for specific users, or whatever.

Licence effectively is the business end of copyright. Just as copyright is automatic in most jurisdictions, the licence is whatever you say it is from the moment the work is released.


Nate the Great(Posted 2009) [#4]
ok thanks yasha and xlisor,

I am thinking BSD would be best then? as it allows for a lot of flexibility and does not force any code to be open source and all you have to do is include a little txt file with the license info in it.

Am I right about this?