Properly licensing your Liberated Pixel Cup game entry

Properly licensing your Liberated Pixel Cup game entry

So you're working on your Liberated Pixel Cup game entry submission. To ensure that LPC games remain free for everyone to use, we have some fairly strict rules around licensing. We've put together this guide to help you make sure you properly comply with licensing for Liberated Pixel Cup. These things aren't just important for entering into Liberated Pixel Cup, they're also generally good policy!

The following commands and advice assume you're working from the toplevel directory of your code repository / package, so keep that in mind!

The first thing you want to do is include the appropriate license files. You want to save both the plaintext version of GPL 3.0 and a copy of CC BY-SA 3.0 in plaintext format (it's a little known fact that Creative Commons does in fact have plaintext versions of its core licenses). Assuming you're operating from the command line, this is as simple as running:

wget http://www.gnu.org/licenses/gpl-3.0.txt
wget http://creativecommons.org/licenses/by-sa/3.0/legalcode.txt -O cc-by-sa-3.0.txt

Next, you should create a COPYING.txt file that clarifies the licensing of your program and its assets. This template should be good enough to get you started:

========================
Software and source code
========================

  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 <http://www.gnu.org/licenses/>.

  For details on authorship, see AUTHORS.txt


========================================
Artwork, music, and other assets/content
========================================

Artwork, music, and other non-software assets/content in this
repository are dual licensed under the Creative Commons
Attribution-ShareAlike 3.0 Unported and 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.

You should have received a copy of the GNU General Public License
along with this work.  If not, see <http://www.gnu.org/licenses/>.
Likewise, you should have received a copy of the Creative Commons
Attribution-ShareAlike 3.0 Unported legalcode with this work.  If not,
see <http://creativecommons.org/licenses/by-sa/3.0/>.

For details on authorship of various resources, see AUTHORS.txt

If you are just using assets from the Liberated Pixel Cup proper, these will all be dual-licensed to GPLv3 and CC BY-SA 3.0, so the above should be correct. If not, but you have compatibly licensed assets that you are using, you should add a section titled "Additional assets" and explain the differences in licensing.

Next, create a file called AUTHORS.txt and fill in the following:

Code authors
============

This program was written by the following people:
 - Aeva Q. Hacker
 - Gregory P. Codefellow


Asset attribution
=================

Assets were authored by the following people:

Lanea Zimmerman
 - grass.png
 - holek.png
 - treetop.png
 - trunk.png
 - princess.png

Charles Sanchez
 - bat.png
 - bee.png
 - big_worm.png
 - eyeball.png

… and so on. So, change the code attribution section to the group of people who worked on your project. Next, fill in the asset attribution section. This might seem tedious, but it shouldn't be too hard. Two things that should make things simpler:

Aside from that, if you used assets from OpenGameArt or elsewhere, just attribute properly in the pattern shown above.

There's only one more thing you need to do to properly mark your project, and that's to add a license notice to your source code files. In whatever commenting system is appropriate for your programming language, add lines like the following (in this case, we used python-style comments):

# <one line to give the program's name and a brief idea of what it does.>
# Copyright (C) <year>  <name of author>
# 
# 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 <http://www.gnu.org/licenses/>.

(…obviously filling in fields in the first two lines.)

At this point, you've fulfilled all requirements for properly licensing your Liberated Pixel Cup project! However, there's one more thing you might wish to add as it's good practice: adding a README file. Open up a file called README.txt, and insert something like the following:

=============
Project title
=============

Something something description of your project goes here!

Blah blah you might insert other information here like:
 - Source repository: http://example.org/foo/gitchekcout/ 
 - Mailing list: http://example.org/mygame/mailinglist/

Building and running
--------------------

Insert information here on how to build and run your game.  Something
like:

  $ sudo package-manager install some-dependencies
  $ ./configure && make

then run the program like:

  $ ./rungame

At this point you're good! Good luck on your entries, all!