?
Solved

Can I use GPL or MIT licensed code in commercial product?

Posted on 2011-10-24
15
Medium Priority
?
516 Views
Last Modified: 2013-11-13
I intend on making a module for an e-commerce product.

This product is to be sold to other developers.
I would like to use some code to a "widget" that is GPL and MIT licensed.  
I WILL be providing source code of the "widget".

Is it possible to do that?
0
Comment
Question by:Eddie Shipman
  • 6
  • 6
  • 3
15 Comments
 
LVL 9

Expert Comment

by:crazedsanity
ID: 37024207
In short: yes.  

Saying it is "MIT" or "GPL" licensed is a bit ambiguous.  The MIT license has a few different versions: http://en.wikipedia.org/wiki/MIT_License

The GPL also has a few different versions.  If you're using GPLv2 or less, you're pretty much okay as long as you include a copy of the license and access to the source code. Info on various versions of the GPL: http://www.gnu.org/licenses/licenses.html 
0
 
LVL 8

Expert Comment

by:eager
ID: 37027323
In short, you haven't provided enough information to tell whether you are conforming to the license requirements or not.  What is the "widget" you want to use and how have you incorporated it into or used with your proprietary program?

The MIT license is permissive.  As long as you include the correct copyright statement you can incorporate MIT-licensed open source in a proprietary program.

GPL is much more restrictive.  If the open source code is incorporated into your proprietary program, rather than provided as a separate free-standing program, then the GPL may require you to license your program under the GPL. As @crazedsanity says, there are variants of GPL, in particular the LGPL, which may allow more flexibility in using open source with proprietary code.  Unfortunately,  it is not the case that supplying a copy of the license and source code for a component is sufficient to conform to the GPL requirements when you have incorporated open source code as a module in your proprietary code.  
0
 
LVL 9

Expert Comment

by:crazedsanity
ID: 37027604
I apparently read the information wrong; I was thinking the author was going to be providing source code.... refer to @eager.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 26

Author Comment

by:Eddie Shipman
ID: 37028328
Yes I will be providing source code. The widget is a jquery plugin, so source code that plugin would be provided
0
 
LVL 8

Expert Comment

by:eager
ID: 37028415
As I mentioned, supplying source is not the only issue with conforming to open source licenses.

How is the jquery plugin licensed?

Will you include the jquery source in your application, or will it be dynamically included (i.e., fetched from a web site)?
0
 
LVL 8

Accepted Solution

by:
eager earned 1600 total points
ID: 37029011
Since the widget is licensed both under GPL and MIT (an odd combination) you can include it in your Javascript as long as you print the MIT copyright notice.  Or you can download it from an external site (could be your web site) using a script tag and conform to the GPL requirements to provide source.  
0
 
LVL 9

Assisted Solution

by:crazedsanity
crazedsanity earned 400 total points
ID: 37029244
I believe providing a link to the full license(s) is fine: [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC4].  Linking to those licenses in the source code is prudent, which it seems you've done.
0
 
LVL 8

Expert Comment

by:eager
ID: 37031367
@crazedsanity: The link you provide describes how to conform to the GPL v2.  One of the things it does NOT mention is using links to the license or source.  The license is supposed to be provided to the recipient, along with the source or a written offer to provide the source at nominal cost.
0
 
LVL 9

Expert Comment

by:crazedsanity
ID: 37032650
I'm not a lawyer, but it would seem to me that if GNU.org gives out a list of URLs to licenses, it seems that it would be acceptable to link to the appropriate license: [ http://www.gnu.org/licenses/#LicenseURLs ].

What I've done is to include a file called "LICENSE" or "LICENSE.txt", and have each file indicate that it is covered by GPL and point to that license file.  From the previously-given link [ http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC4 ]:
...and each file should have at least the "copyright" line and a pointer to where the full notice is found.
0
 
LVL 26

Author Closing Comment

by:Eddie Shipman
ID: 37032723
Thanks folks.
0
 
LVL 8

Expert Comment

by:eager
ID: 37032814
Glad this helped.  

@crazedsanity -- whether you are a lawyer or not, the GPL does explain how to conform to its requirements.  Saying that something different is "just the same" doesn't actually make it just the same.  Including a copy of the GPL as license.txt with the sources is good, and is exactly what the GPL v2 recommends, as is a copyright statement.  You also need to deliver the same license text when you distribute binaries.  
0
 
LVL 9

Expert Comment

by:crazedsanity
ID: 37032921
Sorry if it seems I'm dragging this out or being a pain, as that's not my intention.  Just trying to clarify things...

@eager: the wording on the GNU page indicates that providing a pointer to the full notice is acceptable.  From that, I would gather that a pointer might be a HTTP URL or a (relative) filesystem URI.  I understand that saying something is the same doesn't mean it actually is the same, especially when referring to anything even remotely legal.  If you could maybe cite something from the licenses or from GNU that indicates using hyperlinks is wrong, that would be very helpful.
0
 
LVL 8

Expert Comment

by:eager
ID: 37034931
Pointer is not a link:  it is a reference to an accompanying text file.  See the example:  "You should have received a copy of the GNU General Public License along with this program; ...".    You might also look at the gnu.org website under "How to use GNU licenses" where it says, in part, "You should also include a copy of the license itself somewhere in the distribution of your program. All programs, whether they are released under the GPL or LGPL, should include the text version of the GPL. In GNU programs the license is usually in a file called COPYING."  GPL v2, Section 1, says "... and give any other recipients of the Program a copy of this License along with the Program."

All of this says that a link is not sufficient to satisfy the requirements of the GPL v2.  A link is not a copy, no matter how you want to interpret the word "pointer".  

GPL v2 was written in the early 90's, before the web and does not envision delivery of sources or the license electronically.  GPL v3 is more recent and addresses some issues which were not apparent in 1991.  One of these is that it defines some terms in that were not clearly defined in GPL v2, but that is really not relevant. Your comment about the supposed meaning of "pointer" is not in the license but in a descriptive addendum which is not part of the license.

Read "A Quick Guild to GPLv3" on the gnu.org website, in particular, the section titled "More Ways for Developers to Provide Source".  
0
 
LVL 9

Expert Comment

by:crazedsanity
ID: 37037651
@eager: thank you for taking the time for clarifying.  I have many projects that are released under GPL v2, so I appreciate knowing more about it in layman's terms.  Well said.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is about my first experience with programming Arduino.
In this post we will learn different types of Android Layout and some basics of an Android App.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Progress

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question