Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I was using a popular music package (Ableton Live) when I opened the legal section of the helpfile and saw that the program contained code licenses that appeared to be both free as in freedom and free as in beer. I cannot find an online copy, alas, but if necessary I can list the licensed packages.

As far as I can see there are 3 possibilities here:

  1. A fairly large company is violating code licensing - highly unlikely, if that were so why would they include the license text?

  2. It's actually legit for some reason to charge money for and close source of a package that contains opensource code - this is news to me, definitely.

  3. I am misunderstanding something - highly probable.

share|improve this question
    
Facebook did... –  Dynamic Jan 1 '13 at 18:18
1  
No kidding - which? –  jamesson Jan 1 '13 at 18:24
    
I meant Facebook is written on open source software. –  Dynamic Jan 1 '13 at 22:36
    
Which project(s)? –  jamesson Jan 6 '13 at 19:41
    
#2 actually seems like two different possibilities - you can sell open source (even GPL) software, and you can give away closed source software for free. Charging money and closing the source are two distinct things. –  Brian Marshall Jan 8 '13 at 0:47

2 Answers 2

up vote 19 down vote accepted

It depends on which license.

There are some free software licenses that are specifically designed to prevent people from doing stuff like that, such as the GNU GPL. They're known as "viral" licenses, because their licensing terms spread to any code you use them with, which keeps you from using a GPL library in a non-GPL (or compatible) program.

Other licenses are more concerned with freely sharing code than with pushing a particular ideology. Somewhere in the middle of the spectrum, you have the MPL (Mozilla Public License,) which is non-viral and can be used in proprietary projects, but the license terms require that the MPL code itself remain covered by the MPL, and that any modifications (such as improvements, bugfixes, ports, etc) that you make to the MPL code must be published freely. The idea here is "you get this code freely, so if you improve it, you should contribute your improvements back to the community as payment."

And at the far end of the spectrum are the completely open licenses, such as the BSD, MIT and Zlib licenses. They essentially say "this code is free for anyone to use however they want." (With a few restrictions, of course, but there's really not much to them.) People using these licenses are making free use of their code the highest priority.

So not all free software licenses are created equal. Take a look at the licenses that are being used here, and what their terms are, and you'll get a better idea of whether or not the developer is complying with them by using them in a proprietary project.

Also, there's a fourth possibility: The "fairly large company" could have licensed the product under different terms. A software license is designed to limit users of the software, not the creator of the software, and it's not unheard of for someone to release an open-source library under GPL-style terms, and then also sell commercial licenses for it to people who want to use it in a proprietary project, without their codebase being "infected" by a viral license.

share|improve this answer
    
extremely handy - thanks! –  jamesson Jan 1 '13 at 18:23
    
Spot on. The split is between free software and open software. Free as in freedom = GPL. Open (ala "free as in beer") = BSD/Mozilla. See Gratis versus libre. –  Philip Jan 2 '13 at 16:49
    
@Philip. Completely wrong. All the licenses you mentioned (GPL, BSD, MPL) are libre ("free as in freedom"). All also tend to have the side-effect of making the software freely available ("free as in beer"). However, GPL is copyleft, while BSD is permissive. (MPL is somewhere in the middle, I think.) –  TRiG Feb 6 '13 at 16:45
1  
@TRiG Your last line is correct, however Stallman's argument is that the GPL is "free as in freedom", ie "Libre". The retort from the open-source movement was that they didn't want viral licenses. They wanted "free as in beer". Ok, example: If BSD is "libre", then how come Apple's OSX, which was built off of BSD, is now proprietary? That doesn't seem very "liberated" to me. BSD was open source software that Apple took, put a lock on it (their proprietary license), and called it their own. They could do this because BSD was free as in beer. Get it? The link does a better job explaining. –  Philip Feb 6 '13 at 23:04
    
@Philip. No, it was because BSD was free libre, and was permissive, while GPL stuff is free libre, and copyleft. Free beer has nothing to do with it, that's just an inevitable side-effect of free libre (usually). –  TRiG May 19 '13 at 9:56

Disclaimer: I am not a lawyer. From working with lawyers in the past, software developers tend to guess the intent of legal documents and work of that whereas lawyers (1) read what is written and (2) use the legal rather than common definitions of words. Be careful.

As Mason said, it depends on the license used by the open source software. There are many common license types. Most allow others to use their code as long as they indemnify the author and include attribution (such as the license contents in a help file or About dialog). The more restrictive licenses may demand any further changes are also open source (such as GPL).

Many companies use open source components as part of closed source software. As long as the closed source software complies with the license terms, just like it would with commercial components, it is usable.

If you are looking to use these components yourself, there are other things to consider, too. For example, in the statement "Am I allowed to create closed-source software with open-source code?", it depends on what is meant by "with". Is the package using compiled libraries? Is it using the source code directly? Is it modifying the source code or including it in yours? Any form of code modification or intermingling is much trickier from a legal or licensing perspective.

Also, is the code being distributed to customers (such as run on their servers, PCs or mobiles) or is it being used in a server in the cloud? Distributing software may be restricted or limited. Other laws apart from the software license may apply, too, such as US export restrictions (although I think I am getting beyond the question now).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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