User:Norv/dev/Licensing customizations

From Online Manual

Jump to: navigation, search

Themes

How to license a theme?

Lets say I'm a designer (hey, we can imagine!), and I take Curve, and start to modify it. I remove lots of files. I modify template files. I make my own images and css and js. Now, what I should do, is to decide what license I want my work under. Then, make it so, while complying with BSD.


Choose the license

SMF 2.0 and later, and SMF official themes, are Free and Open Source software, licensed as BSD 3 clause. This means you can create custom themes for SMF licensed under any terms of your choice. The only requirement is that you respect the authorship and credit due to SMF developers: never strip the acknowledgment of copyright and original license from the files you are customizing.

You can choose any license for your themes. For a quick guide, please see:

Once you have decided, add a license.txt file to your package, with the contents of your chosen license. For example, I may want this theme to be Mozilla 1.1. That means I'll add in a file license.txt the contents of the license, from Mozilla site, http://www.mozilla.org/MPL/MPL-1.1.html (see the plain text version link for quickness). You don't need to do anything else, just add it to your package, to the root of the package. If you wish, you can also fill the appendix, but you don't have to.

For example, I might want to create a model for myself, to keep and license always my packages this way, and I'll take the time one day to fill this part of the file (at the end of the file):

  • The Original Code is http://my_smf_stuff/my_nice_theme.
  • The Initial Developer of the Original Code is Norv.
  • Portions created by Initial Developer are Copyright (C) Norv 2011. All Rights Reserved.

License the templates

This section is meant to offer examples, you don't have to follow them if you do not want to, but in case you want to keep things very clear, you can do the following. Lets say I want to license my template files in addition to that (I might not have to, but I could do it, I would like to make sure any file is clearly stating my copyright and license).

/**
 * My Nicest Theme
 * @license MPL 1.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is http://my_smf_stuff/.
 *
 * The Initial Developer of the Original Code is Norv.
 * Portions created by the Initial Developer are Copyright (C) 2011 the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 * 
 * Based on:
 * SMF Curve theme
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 */

Give or take small details, my template files should look this way. If I don't want BSD, myself, of course. (I chose my own license, MPL 1.1). MPL recommended text for code is long, as you can see. :). No biggie, I'll only have to figure it out once, then use it from there in all my files.

If I want to license my theme as BSD, and I wish to add my headers to the files, then to keep it simple, my template files would be:

/**
 * My Nicest Theme
 * @copyright Norv with a themer hat.
 *
 * Based on SMF Curve theme
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 */

If I don't modify the header at all, for template files, then the template file is and remains BSD licensed.

/**
 * Simple Machines Forum (SMF)
 *
 * @package SMF
 * @author Simple Machines
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 * @version 2.0
 */

This is unmodified SMF's statement. This declares the file still BSD. I recommend to license your files specifically, instead of leaving it unmodified, in case you wish a different license. However, as long as you included a license.txt of your choice in the whole package, you have made it clear that you have licensed your entire theme under the license in license file.