Advertisement

GPL type license for closed source?

Started by April 19, 2007 11:19 PM
15 comments, last by Vorpy 17 years, 7 months ago
Hi, in short: What license is appropriate for a free non-commercial closed-source project? In my spare time, I'm writing a "modest" game engine that I will hopefully be able to use to create "modest" games, and to license to small-scale developers. As well as licensing the engine to commercial developers, I would like non-profit groups to be able to use it for free. I'm thinking (if the engine is good enough) that modding types will be able to make their "mods" on the free engine, and then if they decide that their "mod" is good enough to sell, they can purchase a cheap commercial license and develop it into a real game. To do this I'm thinking I would need 3 separate licences a) Full source commercial license (Modest Price) b) Closed source (only headers, static libs, DLLs) commercial license (Cheap Price) c) Closed source (only headers, static libs, DLLs) non-commercial license (Free!) I'm not yet concerned about (a) and (b), they're still a pipe-dream for now ;) Licence (c) is mostly just compiled code (static libs/DLLs), but some of the headers will contain extensive templated code (which is in effect, source code. I'm not sure what effect this has). People should be able to use the code (headers/libs/dlls) however they like: * as long as it is non-commercial * they give appropriate credit * and possibly, any changes to the original files are disclosed (not sure if I need this one) However, people should be free to use code in closed source projects too, so a viral license that forces people to be open source isn't appropriate. If I use GPL, will it force the users of my code to be GPL, or will the GPL just cover any modifications they make to the original code? Also, what is the implication of GPL'ing something that can't be edited (libs/dlls)?
Being viral isn't the issue (the LGPL would be non-viral) - the GPL (and LGPL) allows for commercial use, which isn't what you want. The same goes for any Open Source licence. Presumably there are some other not-for-commercial-use licences out there though.

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

Advertisement
There are a few Creative Commons licences that might interest you. Their license chooser is at http://creativecommons.org/license/

If you intend to follow a multi-license system, you will need to consult with an IP lawyer after you find some licenses that you believe meet your needs.
Quote: Original post by Hodgman
Also, what is the implication of GPL'ing something that can't be edited (libs/dlls)?

You must provide the source at no cost.
Quote: Original post by mdwh
the GPL (and LGPL) allows for commercial use

I thought the GPL was explicitly non-commercial (can only charge for the cost of distribution?), and only the LGPL allowed commercial use?

Quote: Original post by frob
Quote: Original post by Hodgman
Also, what is the implication of GPL'ing something that can't be edited (libs/dlls)?

You must provide the source at no cost.

So if I GPL something that can't be edited, I have to give people a mechanism to edit it? Darn.

Quote: Original post by frob
There are a few Creative Commons licences that might interest you. Their license chooser is at http://creativecommons.org/license/

If you intend to follow a multi-license system, you will need to consult with an IP lawyer after you find some licenses that you believe meet your needs.

I've heard a few F/OSS people complain about the CC licenses, but they seem pretty good to me. I like how they have licences specifically for different jurisdictions too.

I guess I'll have to spend a bit more time researching this. Thanks for the replies ;)
You are misunderstanding the purpose of the GPL. The GPL requires the source code be provided with the product, and allows the user to do whatever they want with it as long as they only distribute the product and any derivative works under the GPL. Anyone possessing some code under the GPL can sell that code under the GPL for whatever amount of money they want. But the buyer can then do the same, so market forces would tend to make the price collapse to just cover the distribution costs (or free).

If you produce something original, you can license it under the GPL and at the same time license it under different licenses. If you really want to make money from this sort of thing you should probably consult a lawyer. Some commercial products are distributed under terms similiar to what you are describing. I believe the fmod sound library is licensed under almost exactly the sort of terms you are describing (they use their own licenses).

You can't GPL something that can't be edited since the whole point of the GPL is to allow the software to be freely edited by anyone who receives it and to ensure that any derivative works are also freely editable. If you don't want to distribute the source code then there's no reason to use the GPL. The LGPL is just slightly weaker, in that it allows certain derivative works (programs that link to an LGPL'd dll) to be distributed without restrictions (the dll and any modifications stay under the LGPL).
Advertisement
I am not a lawyer. That being said:


Quote: Original post by Hodgman
However, people should be free to use code in closed source projects too, so a viral license that forces people to be open source isn't appropriate.


I don't get this. If you own the code, you can license it under any terms you deem appropriate. It's perfectly possible to license it under the terms of the GPL to whoever wants to use it in a GPL-compatible project, while at the same time selling a proprietary version under different terms, that would allow proprietary projects to make use of your code for a fee (or your first born, or for free, etc). This is the approach taken by Trolltech, MySQL AB, etc.


Quote: Original post by Hodgman
I thought the GPL was explicitly non-commercial (can only charge for the cost of distribution?), and only the LGPL allowed commercial use?


You can't charge additional fees (other than shipping, etc) for the source, but it's perfectly legal to sell GPL software.

Just to make it clear: the FSF licenses do not deal with the "commercial" side of things: they all allow for so-called commercial software. They're tools to promote the use of free (as in free speech) software, not free (as in free beer) one.


Quote: Original post by Hodgman
So if I GPL something that can't be edited, I have to give people a mechanism to edit it? Darn.


The GPL forbids that you place any additional restriction on your users. If you deny them the right to edit it, then it isn't GPL compatible. You'll probably want to read the license again, because that's a rather important aspect of it.

Generally speaking, trying to twist licenses isn't going to work. You can't take all the freedoms the GPL grants for yourself and then deny them to your users: the whole point of the GPL is to prevent that.


Quote: Original post by Hodgman
I've heard a few F/OSS people complain about the CC licenses, but they seem pretty good to me. I like how they have licences specifically for different jurisdictions too.


Some people complain about the CC licenses because some of them just FOSS, as they don't allow modification, or commercial use, etc.


Hope this helps.
Quote: Original post by Vorpy
You are misunderstanding the purpose of the GPL
...
If you don't want to distribute the source code then there's no reason to use the GPL.

Thanks. The headers are source code though (they contain all of the meta-programming) and the lib files are object code. The GPL states that I must "Accompany it [the distro] with the complete corresponding machine-readable source code". Seeing as it says "machine-readable" I thought I could get away with distributing the machine-readable object code (libs) instead of the human-readable cpp source.
The headers still contain a lot of templated code that would be used by the client application, which could be enhanced by end-users without the cpp files.

Quote: Original post by let_bound
I am not a lawyer.

Heh, don't worry, I don't think any IP advice given over the internet should be taken as "the truth". I'm just looking for some tips.

Quote: Just to make it clear: the FSF licenses do not deal with the "commercial" side of things: they all allow for so-called commercial software. They're tools to promote the use of free (as in free speech) software, not free (as in free beer) one

Ok, thanks. I guess I'm looking for a free-beer but not free-speech license. FOSS people must hate me.

Quote: Original post by let_bound
I don't get this. If you own the code, you can license it under any terms you deem appropriate.

The terms I deem appropriate are in the OP, basically I want to let people use my headers/libs, but only for non-profit and if they attribute the source. My problem is I would rather use an existing licence that people know (like GPL) rather than to draw up one myself (via a lawyer) like I would for a commercial license.

Quote: The GPL forbids that you place any additional restriction on your users. If you deny them the right to edit it, then it isn't GPL compatible. You'll probably want to read the license again, because that's a rather important aspect of it.

They're free to edit the headers, or to try to edit the libs (with a hex-editor) ;-P
I just don't want to release the cpp files, yet.


[edit]
Seeing as all these files are covered by copyright, even if I did release them without a license, people wouldn't be able to (legally) use them anyway, right? So I guess releasing the headers/libs isn't that much of a big deal.

[Edited by - Hodgman on April 23, 2007 2:17:00 AM]
Quote: Original post by Hodgman
Quote: Original post by Vorpy
You are misunderstanding the purpose of the GPL
...
If you don't want to distribute the source code then there's no reason to use the GPL.

Thanks. The headers are source code though (they contain all of the meta-programming) and the lib files are object code. The GPL states that I must "Accompany it [the distro] with the complete corresponding machine-readable source code". Seeing as it says "machine-readable" I thought I could get away with distributing the machine-readable object code (libs) instead of the human-readable cpp source.


Machine-readable source code such as a zip archive or other files on a digital medium. This is as opposed to printing it out and giving them a mostly useless box of paper (as a few companies have tried to do in law suits) or offering some other less-than-useful access to the source code.

Incidentally, the two places that refer to "machine-readable source code" also state "on a medium customarily used for software interchange" in their clauses for this very reason.
First, for the record, asking for a "GPL type" license that is "closed source", is like asking for "water" that is "not wet". It's a strong contradiction :)

Anyway I don't think any of the popular OSS licenses have any restriction on whether you can sell the product commercially. I would recommend just writing your own.

Here's the license that I got when I bought the Torque Game Engine. It looks to be really close to what you want. Take inspiration from them :)

Quote:
End User License Agreement (EULA)



Torque Game Engine (TGE) "Indie" Game End User License Agreement (EULA)



The TGE Indie License is intended to be used for games only, by very small independent companies or individuals funding their own game development. Any other use is governed by the Torque Commercial Product License.



The use of the Garagegames.com Torque Game Engine ("Engine") is governed by this license agreement ("Agreement"). You must read and agree to this Agreement terms BEFORE installing the Engine to your hard drive or using the Engine in any way. If you do not agree to the license terms, do not download, install or use the Engine. It is important that you print out a copy of this Agreement on your date of acquisition as a record of the governing terms and conditions. Please make copies for all those in your organization who need to be familiar with the license terms.



BY CLICKING THE ACCEPTANCE BUTTON OR INSTALLING OR USING THE ENGINE, THE INDIVIDUAL ACCESSING THE ENGINE ("LICENSEE") IS CONSENTING TO BE BOUND BY AND BECOME A PARTY TO THIS AGREEMENT.



1. LICENSE AGREEMENT



This sets forth the entire agreement between Garagegames.com, Inc. ("Licensor") and the Licensee relating to the use of the Engine source code shipped on hard media or downloadable from the Licensor website, www.garagegames.com, or affiliates.



2. LICENSE GRANT.



Licensor grants Licensee a single seat to an individual, a limited non-exclusive, non-transferable license to use the Torque Game Engine ("Engine") for the purposes of making source code and object code for an unlimited number of electronic single or multi-user Games ("Games").



(a) Licensee may publicly sell, distribute, release, publish, transmit and/or exploit any Games created hereunder.



(b) Licensee may have the Games published in any channel by any publisher with no royalties. Licensee does not have to offer the Games to GarageGames for publication.



3. RESTRICTIONS.



The following restrictions apply to the use of this Engine:



(a) This license is granted to individuals only, and cannot be owned by corporate or business entities.



(b) Licensee may not use the Indie License if the annual revenue of the Company employing, partnering, or affiliated in any way with the Licensee is greater than $250,000 annually. Companies that grow to greater than $250,000 annually must upgrade to the Torque Commercial Product License for each seat of the Torque.



(c) Licensee may not: (i) create any derivative works of the Engine, including translations or localizations, other than the Games; (ii) reverse engineer, or otherwise attempt to derive the algorithms for the Engine (iii) redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer rights to the Engine; or (iv) remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in the Engine.



(d) Licensee may not distribute the source code or documentation to the engine in any manner, unless recipient also has a license to the Engine.



(e) Licensee may not release Products intended for operation on Game Console Systems including the Microsoft XBox, Sony Playstation 2, Nintendo GameCube, or their successors without first obtaining a separate Torque Game Engine Console License from GarageGames.



(f) Licensee may not be a government contractor, government entity, large coporation, or small company performing subcontract work for any of these entities without obtaining a Commercial License. Small companies cannot take royalty advances or development fees from large companies or corporate entities for Games using the Engine without first obtaining a Commercial License for all programmers.



4. FEES.



(a) The TGE Indie Game License fee for the Engine is $100 per each programmer using or accessing the source code to the Game(s) There are no additional royalties. Licensee does not have to show the Games or publish the Games with GarageGames.



(b) Licensee agrees to display a full screen, unmodified Torque Game Engine logo for no less than four full seconds in the start up sequence of any game created and released with the Engine.



(c) Licensee agrees to include in the "About" box or in the credits screen: (i) a link to www.garagegames.com, and (ii) the wording "This game powered by the Torque Game Engine."



(d) Licensor may use Licensees name in connection with the Games and in any customer reference list or in any press release issued by Licensor regarding the licensing of the Engine.



5. TERMINATION.



Without prejudice to any other rights, Licensor may terminate this Agreement if Licensee breaches any of its terms and conditions. Upon termination, Licensee shall destroy all copies of the Engine. Licensees access to the Torque Private SDK forums and CVS access to source upgrades may be pulled at GarageGames sole discretion that Licensee is not abiding by reasonable rules and etiquette regarding such access.



6. DISCLAIMER OF WARRANTY.





THE SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OR GUARANTEED UPDATES OF ANY KIND, INCLUDING WITHOUT LIMITATION THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS THE RESPONSIBILITY OF LICENSEE. SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, LICENSEE AND NOT LICENSOR OR ITS SUPPLIERS OR RESELLERS ASSUMES THE ENTIRE COST OF ANY SERVICE AND REPAIR. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.



7. LIMITATION OF LIABILITY.



TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR OR ITS SUPPLIERS OR RESELLERS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED. IN ANY CASE, LICENSORS ENTIRE LIABILITY UNDER ANY PROVISION OF THIS AGREEMENT SHALL NOT EXCEED IN THE AGGREGATE THE SUM OF THE FEES LICENSEE PAID FOR THIS LICENSE (IF ANY). SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT BE APPLICABLE. LICENSOR IS NOT RESPONSIBLE FOR ANY LIABILITY ARISING OUT OF CONTENT PROVIDED BY LICENSEE OR A THIRD PARTY THAT IS INCORPORATED WITH THE SOFTWARE AND/OR ANY MATERIAL LINKED THROUGH SUCH CONTENT.



8. LICENSEES REPRESENTATIONS, WARRANTIES & INDEMNIFICATION.



Licensee shall defend, indemnify and hold harmless Licensor, its parent, subsidiaries, affiliated companies and partners and their respective officers, directors, employees and agents from and against any and all liabilities, damages, costs and fees (including reasonable attorneys fees) resulting from or relating to: (i) any third party claims or lawsuits related to the Games and assignment of intellectual property ownership hereunder; (ii) any third party claims or lawsuits related to any and all obligations Licensee has undertaken to perform hereunder; or (iii) a breach of any representations and warranties Licensee has made hereunder. Such indemnification obligation of Licensee is conditioned upon Licensor immediately notifying Licensee in a writing that sets forth with specificity the claim or action to which such indemnification obligation applies. Licensee will have the right to control the defense of each such claim and any lawsuit or proceeding arising there from. In no event will Licensee settle any such claim or lawsuit or proceeding arising there from without the prior written approval of Licensor.



10. MISCELLANEOUS.



This Agreement may be amended only by a writing signed by both parties. This Agreement shall be governed by the laws of the State of Oregon, U.S.A., excluding its conflict of law provisions. Unless otherwise agreed in writing, all disputes relating to this Agreement (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration in Lane County, Oregon, with the losing party paying all costs of arbitration. This Agreement shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods. If any provision in this Agreement should be held illegal or unenforceable by a court having jurisdiction, such provision shall be modified to the extent necessary to render it enforceable without losing its intent, or severed from this Agreement if no such modification is possible, and other provisions of this Agreement shall remain in full force and effect. A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, shall not waive such term or condition or any subsequent breach thereof. The provisions of this Agreement which require or contemplate performance after the expiration or termination of this Agreement shall be enforceable notwithstanding said expiration or termination. Licensee may not assign or otherwise transfer by operation of law or otherwise this Agreement or any rights or obligations herein. This Agreement shall be binding upon and shall inure to the benefit of the parties, their successors and permitted assigns. Neither party shall be in default or be liable for any delay, failure in performance (excepting the obligation to pay) or interruption of service resulting directly or indirectly from any cause beyond its reasonable control. The relationship between Licensor and Licensee is that of independent contractors and neither Licensee nor its agents shall have any authority to bind Licensor in any way. If any dispute arises under this Agreement, the prevailing party shall be reimbursed by the other party for any and all legal fees and costs associated therewith.



11. LICENSEE OUTSIDE THE U.S.



If Licensee is located outside the U.S., then the provisions of this Section shall apply. Licensee is responsible for complying with any local laws in its jurisdiction which might impact its right to import, export or use the Software, and Licensee represents that it has complied with any regulations or registration procedures required by applicable law to make this license enforceable. The language of this Agreement is English.

This topic is closed to new replies.

Advertisement