From time to time licenses and copyright are discussed again when it comes to find a license for some collaborative work, in the (O)TTD(P) domain mostly when it comes to NewGRFs. So I try to give a somewhat brief overview.
The idea for this article was born back when there was the big discussion about the future license of OpenGFX. At that time there wasn't even the now well-established online content service of OpenTTD, BaNaNaS, nor was there the DevZone.
In that time (late 2008) we, mostly dihedral and myself, tried to come up with a NewGRF collection which can be freely distributed. The #openttdcoop grfpack is similar to this, so is BaNaNaS now - though both in principle only require that they themselves may distribute the NewGRFs they offer. Thus the right to re-distribute a NewGRF found on BaNaNaS or in the #openttdcoop grfpack is not automatically granted. We contacted many NewGRF authors and asked them to attach a free license to their NewGRFs (most didn't have any license back then).
Though the initial motivation, ease to extend the #openttdcoop grfpack, is now obsoleted by BaNaNaS in a convenient way, all the arguments exchanged back then remain valid. We read a lot of licenses and had a lot of license discussions with various people. Further, even though copyright is a tedious and boring topic for most people (including myself), copyright and license issues don't and didn't get better or easier during the last years.
Copyright and Licenses
What is copyright?
Everyone who creates something somewhat original or sufficiently alters existing work automatically has the copyright on his or her work. Some countries and legislations allow to transfer the copyright entirely, others (only) allow to transfer the exclusive rights to use the work. This is a technical (or rather legal) detail and shall not be of much importance here; but in essence it means, and only that is important for our purpose: ALL work is copyrighted.
What is a license?
A license is a piece of text which accompanies some work which tells the recipient or user what she or he may and may not do with the work - in our case the piece of software or sprites or NewGRFs and alike. By default NOTHING is allowed, and everything not explicitly mentioned or conceded by the author or artist in the license is forbidden.
Fair use: What may I do?
Use which cannot be forbidden are uses which are covered by the fair use doctrine in US law and which has equivalents in other legislations:
For the purpose of our community this meanscopies (...), for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright.
- You may copy the work for your own use on your own machines.
- You may post screenshots of the (unmodified) work.
- You may for your private enjoyment alone do with the work what you like, including any modification
- Give the work (software, NewGRF,...) to other people
- Neither give modified versions of the work to other people by any means (forum posting, links, e-mail, etc).
- Make available parts of the work to others (source code, de-compiled nfo, sprites,...)
For everything else you need explicit permission by the author. If it comes to concept studies or code snippets to explain stuff or screenshots and sprites with modified content which includes work from other people, it seems to be established community practice to give explicit credit to the authors or artists whose work you use. Prior to publishing the finished work (e.g. as a NewGRF or AI) you should of course make sure that you have permission to actually (re)use these works by the other people whom you build upon - and you should always give them credit - that's the least you can do.
Why a license?
As a community usually lives from a process where people build upon the work which other people created, or people jointly work on a NewGRF (or AI, or OpenTTD, TTDPatch themselves,...), and contributors may even change over the course of years for the larger projects, a license needs to be found which actually allows other people to continue and re-use the work. On the other hand, no one in our community actually makes money with the work which goes into projects targeting NewGRFs, AIs, or the programmes themselves, thus the "only" merit which one can get is credits and appreciation.
Also today, a number of old NewGRFs have no license at all, thus for every use one needs to contact the author. Even as of today there are a number of NewGRFs where it turned out to be impossible to contact the authors or at least all authors - which basically boils down to 'you may do nothing' with the NewGRF - unless, of course, a license was shipped along with the NewGRF which specified what we may and may not do. This is very unfortunate, especially as this is also true for some very nice NewGRFs which other people might want to build upon or which other people than the original authors like to update:
Case study: OpenGFX
Here it proved very crucial to be allowed to continue work by others without their express consent. OpenGFX was started many years ago and has a large list of contributors. Among them those which cannot be contacted anymore - which required that their contributions needed to be drawn anew due to a lack of license for them. But the choice of the GPL v2 made sure that we could continue with the project unhindered. Anyone will always be able and allowed to continue with the project without any violation of any laws or copyright infringement - provided the license remains GPL v2. Besides that, choosing the same license as OpenTTD made sure that there can never be any problems in distributing OpenTTD with that base set as they of course are compatible licenses.
Case study: TTRS
TTRS, the total town replacement set, is another example where a well-chosen license helped to keep the set up to date. It was originally written by Zimmlock and others and placed under a CC-BY equivalent license:
This simple statement allowed FooBar and me to add support for the parameter GUI as well as a switch to treat banks as normal houses for the sake of compatibility with FIRS. I'm sure this is in the spirit of the original set writers and artists - but it could not have been done without this license.If you enjoy TTRS-v3, think of the artists and coder who made that possible. The set was drawn by Zimmlock (most of the graphics), George, the Tycoonez.com:munity, Oz, Red*Star, Purno and Pikkabird, and was coded by Csaboka. TTRS-v3 has been made for the Transport Tycoon fans; you are free to use it at your disposal, as long as you give the right credits. That includes modifications and enhangements to individual drawings and code slices (see license.txt for the legal words).
Some licenses in review
Thus, let's review a few licenses which can make sure that the work for the community won't get lost and will live past the presence of a single author.
Creative Commons Licenses
Creative Commons licenses allow a bit of differentiation, while all of them require to give credit to the author by anyone who somehow re-uses or re-distributes that piece of work:
Additionally, you can choose any mix of the following in order to fine-tune the rights granted:
- Non - commercial use only.
This choice excludes the NewGRF also from being included in cover-DVDs of computer magazines and alike which ship e.g. OpenTTD bundled with base sets and a hand-selected set of NewGRF.
- No derivatives may be made.
This actually is in terms of NewGRFs or AIs or similar content a very bad decision. The work is lost and won't live beyond the author as it cannot be supported anymore.
- Share derivatives only under the same or similar conditions
GNU General Public License
The GNU license exists basically in two versions, version 2 and version 3.
The GNU General Public License v2 is the older and (still) more wide-spread license and is the same license the core programmes of the TTD community, OpenTTD and TTDPatch are released under. It's a viral license as in that it requires derivative work to use the same license (unless express permission is given by the authors to use another one).
A piece of work licensed under the GPL allows you
- to (re)distribute the work
- to modify the work and publish it
- keep the copyright notices
- give credits and clearly indicate your own modifications
- make the sources publicly available along with the binary/NewGRF
This is an easy license: Copyright notices in the code must be retained and must not be removed, but no other obligations. Binary distributions (like compiled NewGRFs) may be made without the need to lay open the source coded to anyone under any conditions.
There's also the modified BSD-style license which removes the need for excessive credits in advertisement material (like adding them to postings about new versions of a NewGRF would be). The need to give credits in the readme and to retain original copyright in sources is untouched by this.
It comes in two versions, Version 2 is similar to the GPL. You're allowed
- to (re)distribute the work
- to modify the work and publish it
- document how it differs from the original version
- make source code available and in particular offer it to the original author
- you use this license or a compatible one
If you are currently making a NewGRF or already have one which misses license information you can simply download the license's text from one of the following licenses and include it with your NewGRF:
- CC BY: Attribution
- CC BY-SA: Attribution and share under same conditions
- CC BY-NC-SA: Attribution, no commercial use and share under same conditions (incompatible with GPL)
- GPL v2: Attribution, public sources
- GPL v3: Attribution, public sources
- BSD-style: Attribution
- Artistic License: Attribution, public sources
Chosing the GPL, modified BSD, Artistic or the CC-BY license makes sure that the NewGRFs remain the intellectual property of the respective artists and authors (i.e. you!). At the same time it allows others to continue or bug fix the work under the condition that exactly the same conditions are granted: give credits, indicate what you added and for GPL also making the source available; thus the work will not get lost for the community. All it takes is to mention the license in the readme and possibly add the corresponding license.txt to your set.
Thanks for critical review of this article go to Alberth, frosch, michi_cc and FooBar and for earlier versions - as far as my memory serves me - to Ammler, Rubidium, Yexo, orudge and anyone whom I forgot