Customization Licenses

NOTE: The following information does NOT constitute legal advice. If you need help, it is recommended to contact a lawyer that specializes in licensing.

Choosing a license is a vital step when releasing your work. Due to how copyright works, not choosing a license does not mean that there are no restrictions, but that all legal restrictions apply. This means that if you want others to use your code, you need to choose a license. SMF feels that helping mod/theme authors to understand what are their rights and obligations towards anything they create is a crucial part of keeping a mod community alive.

Following are quick overviews of the most popular licenses in the Open Source community. Many others exist, so if none of the below seem to fit your situation, you're welcome to look through the list on opensource.org or the choose a license site.

Apache Public License This is a very open license. With it, you allow others to modify your work and redistribute both your work and their changes for free or paid. Anyone who changes the code must keep an acknowledgment of you as an author within the code. This license additionally has some terms relating to protection from patents that shouldn't affect most contributors.


 * Code can be obfuscated or closed: yes
 * Code can be re-licensed: yes (original code is still under Apache Public License, new code may use a more restrictive license)
 * Credit must be retained: yes

Simplified BSD The Simplified BSD license is possibly the closest open source license to the public domain. It is very similar to the Apache Public License, but a lot shorter. If you have no concerns about how your code may be used, distributed, or sold as long as you get credit, this is the ideal license.


 * Code can be obfuscated or closed: yes
 * Code can be re-licensed: yes (original code is still under BSD License, new code may use a more restrictive license)
 * Credit must be retained: yes

GNU Public License (GPL) Possibly the most well-known open source license due to being used by a number of very popular software products. This license has several restrictions on what others may do with your code. The source code can never be closed off and any changes must be distributed under the GPL. Due to these restrictions, there are often issues when combined with code licensed with incompatible restrictions. Version 3.0 of this license adds several controversial terms, so many projects still use version 2.0.


 * Code can be obfuscated or closed: no
 * Code can be re-licensed: no
 * Credit must be retained: yes

GNU Lesser Public License (LGPL) Very similar to the GPL, this license has many of the same restrictions, but can be combined with code licensed differently easier. Unless an overriding concern exists in requiring GPL-compatible licenses, the LGPL is preferred over the GPL.


 * Code can be obfuscated or closed: no
 * Code can be re-licensed: no
 * Credit must be retained: yes

Unlicense ("Public Domain") If you don't have any concerns over what is done with your code, you can release it under UNLICENSE. This is similar to, but not quite identical to "public domain". As law in most countries specifies that all creative works are copyrighted, anything you do is automatically copyrighted from moment it is created. This creates a problem as public domain status isn't a license, it's when copyright has expired on an item. The next best thing is to use the Unlicense.

Note that SMF Customization Team will require use of this license if you are using code provided by others, such as that posted in our Tips and Tricks board.


 * Code can be obfuscated or closed: yes
 * Code can be re-licensed: yes
 * Credit must be retained: no

Closed/Restricted Licenses Since PHP code isn't compiled, there isn't a reliable way to create "closed source". You can, however, use a license that restricts what others can do with your code. For example, you may not want others to change your code, or even redistribute it.

While you are free to choose such a license, it breaks the spirit of Open Source Software. For this reason, we encourage you to choose an open source license.

If you still wish to restrict your code usage and limit distribution, you can choose to not supply a license, which restricts all rights in your contributions. As we require a license statement for contributions, you should clearly note "All Rights Reserved" in your customization's description. As reserving all rights also restricts distribution unless otherwise granted, by submitting to the SMF site, you grant the SMF site the right to distribute your contribution.