Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am on a team that is looking to open source an engine we are building. It's intended as an engine for Online RPG style games. We're writing it to work on both desktops and android platforms.

I've been over to the OSI http://opensource.org/licenses/category to check out the most common licenses. However, this will be my first time going into an open source project and I wanted to know if the community had some insight into which licenses might be best suited.

Key licensing concerns:

  • Removing or limiting our liability (most already seem to cover this, but stating for completeness).
  • We want other developers to be able to take part or all of our project and use it in their own projects with proper accreditation to our project.
  • Licensing should not hinder someone's ability to quickly use the engine. They should be able to download a release and start using it without needing to wait on licensing issues.
  • Game content (gfx, sound, etc.) that is not part of the engine should be allowed to be licensed separately. If someone is using our engine, they can retain full copy right of their content, including engine generated data.
  • Our primary goal is exposure, which is why we're going open source to start with. Both for the project and for the individuals developing it. Are there any licenses that can require accreditation visible to players? Update: As per comments, I mean this to be a requirement for either a splash screen or placement in the credits. Not a constantly visible logo.

While I'd put our primary goal as exposure, for licensing the accreditation is less of a concern.

From what I've read through (and have been able to understand) it doesn't seem like any of the licenses cover anything that is produced by the licensed software. Are there any that state this specifically, or does simply not mentioning it leave it open for other licensing?

Are there any other concerns that we should consider?

Has anyone had any issues using any of these licenses?

share|improve this question
1  
you don't have any copyright over anything produced with your software, so you can't license it. –  Eric B Nov 28 '12 at 2:11
    
I would suggest 'accreditation visible to players' to be 'should mention your company's name in credits' or 'show your company logo visibly anywhere in startup splash screen'. This would be more permissible that the idea of showing it to the player throughout the game. –  Vite Falcon Nov 29 '12 at 16:26
    
@ViteFalcon yes, sorry I wasn't clear about that. That's exactly what I'm looking for. –  Chris Nov 30 '12 at 3:52
add comment

3 Answers

I'm not sure why you've discounted the GPL for this engine; it certainly seems to cover all bases.

Let's look at your individual requirements with reference to the GPL and it's FAQ.

  • Removing or limiting our liability (most already seem to cover this, but stating for completeness).

This is explicitly part of the "no warranty" clause in the GPL.

  • We want other developers to be able to take part or all of our project and use it in their own projects with proper accreditation to our project.

The GPL clearly satisfies the first part of this requirement, and the second part is answered by this FAQ entry: http://www.gnu.org/licenses/gpl-faq.html#IWantCredit.

I want to get credit for my work. I want people to know what I wrote. Can I still get credit if I use the GPL?

You can certainly get credit for the work. Part of releasing a program under the GPL is writing a copyright notice in your own name (assuming you are the copyright holder). The GPL requires all copies to carry an appropriate copyright notice.

  • Licensing should not hinder someone's ability to quickly use the engine. They should be able to download a release and start using it without needing to wait on licensing issues.

No issue under the GPL.

  • Game content (gfx, sound, etc.) that is not part of the engine should be allowed to be licensed separately. If someone is using our engine, they can retain full copy right of their content, including engine generated data.

The GPL doesn't require game content to also be under the GPL. The copyright holder of the game content is perfectly free to license it separately. In fact there are currently existing works that use exactly this kind of setup; Quake being one well-known example: https://github.com/id-Software/Quake/blob/master/readme.txt.

All of the Quake data files remain copyrighted and licensed under the original terms, so you cannot redistribute data from the original game, but if you do a true total conversion, you can create a standalone game based on this code.

  • Our primary goal is exposure, which is why we're going open source to start with. Both for the project and for the individuals developing it. Are there any licenses that can require accreditation visible to players?

Also covered. From GPL V2:

If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

And V3:

If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

share|improve this answer
    
It does look like it covers those basis, however, section 5 (c) of the GPLv3 says the whole work must be licensed under the terms of the GPL. This brings up several questions. If the engine supplied default graphics, and someone wanted to change them might those graphics immediately become open source. We'll have a script engine, and I'd consider scripts game content, but they are source code. So, would scripts have to be open sourced. I think this poses too many unknowns. –  Chris Nov 30 '12 at 4:12
    
I believe that you could use the precedent of the GPL'ed id Software engines here, which do supply default graphics and do have scripts. Basically, as the copyright holder of these works, you are free to select the appropriate license for each. –  Jimmy Shelter Nov 30 '12 at 10:10
add comment

Have a look at Apache License 2.0- it satisfies your needs except a visual accreditation to the players while they are playing.

In fact, visual accreditation to the players will become a deterrent to the use of your work. If OSS suppliers ask for it, the screen will become an advertising bill board, and there will be no room left on the screen for the game!

share|improve this answer
    
Yes, as per Vite Falcon's comment above, my intention was a credits section. Not always annoying the players. –  Chris Nov 30 '12 at 3:51
add comment

Based on your stated requirements, it sounds like you want a BSD-style permissive open source license. The only slightly unusual part is in your wish to "require accreditation visible to players".

I'm not aware of any existing permissive licenses that would include such a requirement (although that doesn't necessarily mean there aren't any). The GNU GPL does include a somewhat similar requirement (see section 2(c) in GPL 2.0 or 5(d) in GPL 3.0), but the GPL is in other ways more restrictive than you seem to want.

What you could do, however, would be to take an existing permissive license (like, say, the 2-clause BSD license) and just graft an extra clause requiring player-visible attribution onto it. Since it's your own code you're licensing, you're free to include any such restrictions you want.

However, a word of warning: if you want your license to be officially accepted as an open source license, you may want to be careful in how you phrase the requirement, lest you inadvertently end up recreating the BSD advertisement clause problem. Specifically, the old 4-clause BSD license used to carry the following requirement:

3. All advertising materials mentioning features or use of this software
   must display the following acknowledgement:  
   This product includes software developed by the <organization>.

Sounds harmless, right? And it is, as long as the software uses only one component with such a license, or maybe two or three. But what if there were, say, 75 of them — as Richard Stallman famously claims to have counted in a old version of NetBSD — each one requiring a different acknowledgement to be displayed?

To avoid this issue, I'd recommend making your attribution requirements fairly flexible. For instance, you could follow the example of the Creative Commons Attribution 3.0 license (which would actually seem a fairly good fit for your requirements, except for the fact that it's not really designed for licensing software), which qualifies its attribution clause with the words:

"The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors."

Whatever wording you settle on, you might also want to show it to the OSI/DFSG folks and ask for comments (and maybe even request formal approval). Of course, if you don't really care that much about whether your license officially qualifies as open source, then you're always free to ignore such issues and just make up whatever requirements you think your target audience will accept.


Ps. One possible option for a suitable existing license, which I only thought of while writing the above, would be the GNU LGPL. It's a more permissive variant of the GPL, specifically intended for libraries and other components that are meant to be usable as parts of other programs without those other programs having to be GPL-licensed, and it does include a user-visible attribution clause of sorts (emphasis mine):

"4. Combined Works.

You may convey a Combined Work under terms of your choice [...] if you also do each of the following:

a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.
[...]"

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.