Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I saw a company is using BusyBox and also using Gpl + Lgpl + Mpl packages on it, and then they have there own application running on it. Their application is a closed source package.

You buy the device but its closed source. How come GPL mixed with LGPL+MPL becomes closed source?

I thought the rule is?? Or I am wrong or this following info is wrong?:

GPL: If you use it in your application then you must release your application under the GPL. That doesn't mean you can't also sell it (like they sell Linux CD's) but you must also release the source code for free. That might work for you, but probably not.

LGPL: If you use it in your application then you can still have a closed source proprietary licensed application. But if you modify the LGPL library then you must release your modifications under the LGPL, even though your application can remain closed source.

share|improve this question
First, BusyBox is a program, not a system. Second, BusyBox in particular has a great Busybox license page about this. And the rest is covered in the GPL FAQ. – mctylr Dec 16 '11 at 19:22
BusyBox is the project that has most successfully litigated GPL issues. There have been a number of companies that included BusyBox but failed to provide the BusyBox code to their end users. Of all code to push the envelope with BusyBox is probably the worst choice. – Elin Jul 17 '15 at 23:28
up vote 10 down vote accepted

It is perfectly all right to sell an "aggregrate" of closed-source and open-source software according to the GPL FAQ. If the company compiled a Linux, built their own program on top of it using only LGPL libraries, and sold the resulting product while publishing all GPL/LGPL sources with it, they are not violating the GPL.

The point here is: The GPL does not extend to programs simply running on the same computer and communicating/interacting with the closed-source program. An open-source window manager like BusyBox is of course allowed to manage closed-source windows. As a rule of thumb, the GPL reaches as far as the address space of the licensed code.

share|improve this answer
That's pretty much what I was going so say, I was just going to add a note about tivoization too though. – Mark Booth Dec 16 '11 at 15:33
@thiton: So what you are saying is example: . I can copy this distro and re-distribute it with my own brand name, and let my new Bnome3 Desktop shows up when it boot is legal? (Where i have hundreds of GPL + LGPL + MPL tools mixed to let my Bnome3 Desktop run)? – YumYumYum Dec 16 '11 at 15:46
@Google: Yes, but you need to distribute all the sources for the GPL parts with your distro. – thiton Dec 16 '11 at 16:03
@Google: The GPL requires that derivative works carry 'prominent' notices that they are derivatives. (GPL Section 4 and 5). So, you could brand it as the Bnome3 Desktop, but you'd need a subtitle that says 'Based on Gnome 3', and copyright notices would have to list 'The GNOME Project'. Note that fedora isn't distributed under GPL in one big unit, it's a big cluster of many bits which are each under GPL et al. – ipeet Dec 17 '11 at 0:58
"Rule of thumb" is what keeps lawyers employed. Just saying... – pap Jan 2 '12 at 8:35

GPL is NOT compatible with closed source. If they used GPL-licensed packeges/modules and closed the source, in the general case they would be in violation of the GPL conditions.

share|improve this answer
A large company did this, where Busybox itself is GPL and they used zoneinfo LGPL and there embedded device is closed source, doing business more then many years. Will you still say they are violating GPL condtions? – YumYumYum Dec 16 '11 at 15:10
@Google: Okay, so a company did something for quite a few years. Are you saying that makes it legal? Using that reasoning, exceeding the speed limit for driving would be legal around here. – David Thornley Dec 16 '11 at 15:18
@DavidThornley: Well unfortunately its not me. The company who is doing it is not legal or legal is not clear because in IT Law, there is not 100% answers available, so trying to understand to avoid doing mistake in my projects, where many others seems to be already have done those mistakes (its only because resources are limited, not available for starters to realized while developing, later it becomes like a nightmare, like in my case i am having). – YumYumYum Dec 16 '11 at 15:21

IANAL, but this is what I've learned. I would be very interested to know if any of it is incorrect:

LGPL: If you statically link it it in your application and you distribute the compiled application then you must release the source under the GPL to anyone who receives the binary.

share|improve this answer
According to my understanding, you just described the LGPL. As thiton said, 'the GPL reaches as far as the address space of the licensed code'. – ipeet Dec 17 '11 at 0:53
Simply not correct. If you link against a gpl library you program must be gpl. It doesn't matter if you link statically or dynamically. This is why they invented lpgl to give library authers the option to link without restricting license – Esben Skov Pedersen Jul 17 '15 at 19:54

There are clear cases and then some muddy one for which you'll get more opinion that lawyers you present the case.

Your rules match my understanding, but what will vary is the precise definition of "use". The copyright system on which the license is based isn't about "use" but about "creating a derived work" and some will argue with good arguments that a system made of different programs may be such that the different programs are tied enough that the whole system is a derived work of any one of them while another single program dynamically linked to a library isn't a derived work of the library because the library implement a clearly defined protocol and could be replaced (I've seen libreadline used in such a way with a simple GPLed wrapper to match an application provided interface). Ask your lawyer for advice specific to your case. See you before the judge if the one of the copyright holder isn't of the same opinion.

share|improve this answer

(This answer was not intended for this question, but for a more specific one about git, and covers its specific case in greater detail than this question would practically allow. See comment 599873 for more info. It'll stay here in this form at least until the matter is resolved.)

  • Git is covered by GPLv2.
  • Generally, if you have any questions on FSF's licensing, the way to go is
    • the license itself (it's not some doorstopper and is quite conprehensible. The time invested in learning it will repay tenfold.)
    • FSF FAQ on their licenses, specifically, a FAQ on GPLv2,
    • other related materials on the web, including FSF facilities; watch for their authority though
    • as a last resort (short of a lawyer), FSF itself (they aren't a law firm, of course, so they will only give you general commentary without regard to jurisdiction - as are they free to ignore a request. My practice says they do reply to reasonable inquiries that are not already answered elsewhere, although it can take a while).

  • In your case, the related materials are:
    • GPLv2#section2:

      b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
      These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

      Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

      In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

    • GPLv2 FAQ #NFUseGPLPlugins:

      It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license of the plug-in makes no requirements about the main program.

So, you cannot make your work "contain" git but you can include it as a separate entity that your work uses. VMWare's example shows that the latter includes packaging it into the distribution or a compound file within the distribution (an ISO image it was).

What's the distinction? It took me a while to come to a conclusion. In the end, the paragraph "it is not the intent... to claim rights... rather... to control the distribution of derivative or collective works based on the Program" convinced me that the distinction is if the resulting work is considered a derivative of the GPL'ed part under copyright law. With this last one, GPL can't help you - you need to consult applicable copyright law or follow in another's footsteps.

share|improve this answer
This answer was intended for… . They closed it before I finished the investigation. Since it covers the matter better than the accepted answer in this question but has too many parts specific to that one, I'll try to reopen that one to repost it there on these grounds. – ivan_pozdeev Jul 16 '15 at 12:29
this question doesn't ask about git. FWIW another question mentioned in your comment, doesn't appear to ask about git either (it only mentions similar sounding "libgit.a") – gnat Jul 16 '15 at 13:02
@gnat, well, read it a bit further, and you'll see "git.exe". – ivan_pozdeev Jul 16 '15 at 13:05
I see, thanks! still, mentioning git in the answer here may look confusing for readers, it's as if coming out of thin air. Consider editing to account for that – gnat Jul 16 '15 at 13:14
"This answer was not intended for this question". Then please delete your answer or change it to address the question. – Andy Jul 25 '15 at 19:51

Your Answer


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.