15

I have a module which I have written for my company. It takes data from our back office solution and imports it into Magento. It also takes orders from Magento and imports them into the back office software. I have done some reading up on the types of licences I can use but don't know which one to use. My basic requirements are:

  1. I don't want someone copying / distributing the code as their own work.
  2. The code is written by myself but calls core magento functions.
  3. The module will be free to download but in order to use it you will need a web service Url which my company will provide (after payment has been received).
  4. I want to be able to distribute this to all versions of Magento (except GO (I think)).

Two questions with the above in mind:

  1. Which licence would best suit my needs? (I haven't found a definitive list of them all to read them).
  2. How do I enforce this licence? Is adding some terms to the top of each script enough to ensure the licence is in place?

If this information is contained somewhere then please feel free to link me to it but I couldn't find anything after my searches that answers my situation specifically.

  • license can also be spelled as licence oxforddictionaries.com/definition/english/licence. I am from the UK ;) – webnoob Jul 1 '13 at 13:26
  • Then we can revert if you like. – philwinkle Jul 1 '13 at 13:27
  • 1
    @David - Thanks, didn't have permission to create a tag. – webnoob Jul 1 '13 at 13:43
  • 1
    Personally, I prefer -se for verbs and -ce for nouns (compare advise / advice), but your dictionary notes that -ce is "acceptable" spelling of the verb. Collins lists the -ce form only as a noun. – TRiG Jul 1 '13 at 16:44
10

Disclaimer: I'm not a lawyer, so don't take this as legal advice. The information given is based on my experience and personal research in the industry. :)

My suggestion would be to use the OSL-3.0 license. This is the same license which the Magento CE core is distributed under (http://www.magentocommerce.com/license/), and covers what I think you want based on the information given. Parts of Magento, such as the default/base theme, are distributed under the AFL for reasons Roy outlined here: http://www.magentocommerce.com/license/

You can find the full OSL-3.0 license here: http://opensource.org/licenses/OSL-3.0.

For releasing extensions on Magento Connect, you must choose one of the following license types (the top item listed is the one I'm suggesting):

  • Open Software License (OSL)
  • Mozilla Public License (MPL)
  • Massachusetts Institute of Technology License (MITL)
  • GNU Lesser General Public License (LGPL)
  • GNU General Public License (GPL)
  • Berkeley Software Distribution License (BSDL)
  • Apache Software License (ASL)
  • Academic Free License (AFL)

There is also the option to "specify another (commercial) license if you distribute the extension package as paid" — but as it notes, it must be paid, which means this is not an option for you.

I would recommend you take a look at the full OSL (linked to above), but here are a few applicable things to note about it:

  • The license grants users the rights to make, use, and sell copies of both the original and derivative works. Since you have no plans on charging for the module, this should not be a problem.
  • The license requires that all attribution notices stay intact in both original and derivative works. I.e. any re-distributed copies (including modified, extended, etc) must maintain all copyright, patent, trademark and licensing notices identified as "Attribution Notices"

So the big question is: How do you apply this to your code? I would give a few pointers:

  • Make sure you distribute a full copy of the OSL-3.0 license in your module's source code contained in a LICENSE.txt file.
  • Include a header at the top of every code file giving an "Attribution Notice" or "Notice of License" This should declare the license which the code is distributed under, provide a basic disclaimer (if needed) and provide copyright information and a link to the license.
  • As a point of reference, you can take a quick look at the header which Magento CE employs in all of the code it licenses under the Open Software License.
  • 1
    @philwinkle - was wondering as I was writing if you were filling out the same box as I was… :) – davidalger Jul 1 '13 at 13:47
8

Edit 7/16/13:

Github has just released a great overview of all of the major licensing models in order to help you make a more informed choice:

http://choosealicense.com/

http://choosealicense.com/licenses/


I'm not an attorney. You should talk to one.

With that out of the way - there are too many free software licenses to list. There are 4 major Open Software licenses (and I await the onslaught of edits to extend this list for those I've forgotten):

  • Apache
  • OSL 3.0
  • MIT
  • New BSD

And many of your favorite open source software products probably use one of those 4 above.

How do I make the choice?

Jeff Atwood has done a great job of comparing the licenses on his Coding Horror blog: http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html

There is a 'license chooser' web app available, too: http://three.org/openart/license_chooser/

Phil Haack distills all of this down to the following four types of licenses; I tend to agree with him:

Proprietary - The code is mine! You can’t look at it. You can’t reverse engineer it. Mine Mine Mine!

GPL - You can do whatever you want with the code, but if you distribute the code or binaries, you must make your changes open via the GPL license.

New BSD - Use at your own risk. Do whatever the hell you want with the code, just keep the license intact, credit me, and never sue me if the software blows your foot off. The MIT license is a notable alternative to the New BSD and is very very similar.

Public Domain - Do whatever you want with the code. Period. No need to mention me ever again. You can forget I ever existed.

For all intents and purposes it sounds to me like New BSD/MIT is what you're looking for, however, only you can make this decision.

For the record, Magento is AFL 3.0, but used to be OSL 3.0. http://www.magentocommerce.com/license/

Arguably, the most important feature of these licenses is GPL Compatibility. The Free Software Foundation endorses many others on their own site - cited here in this Wiki: http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses

In short:

You need to make your own choice. No one can take a short question on StackExchange and interpret your individual needs. In general, if you don't want your software shared over public networks, you want to look at OSL 3.0 and its variants.

Once I've chosen a license, how do I apply it?

Include attribution and license notice at the top of all of your files. Include a LICENSE.TXT and a link to a license notice on your own site.

  • Correction: Magento is not AFL. They distribute the AFL via a LICENSE_AFL.txt file in the root, but I think that's for included code which falls under the AFL. Magento is (and has been since at least 1.3) licensed under the OSL 3.0. Even the 1.8 alpha references the OSL 3.0 in it's license headers. ;) – davidalger Jul 1 '13 at 13:50
  • Actually…we're both right. Certain extensions and the base themes were changed to the AFL in late 2008 to prevent forcing 3rd party developers from being forced to release sub-sidiary (non-distributed) works source code. Ref: magentocommerce.com/boards/viewthread/21377 – davidalger Jul 1 '13 at 13:52
  • 2
    Roy Rubin had a great writeup on why AFL vs. OSL - see his comment after the blog post: fabrizioballiano.net/2008/02/27/… – philwinkle Jul 1 '13 at 13:57
  • Very good link… I'd never seen that blog post before. – davidalger Jul 1 '13 at 14:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.