Slashdot Mirror


Bruce Perens On Combining GPL and Proprietary Software

jammag writes "Combining GPL and proprietary software is ever more common, especially in the world of embedded devices like cell phones. But the question is: how to combine them legally. As sticky as the issue is, there is an answer, as self titled "open source strategic consultant" Bruce Perens explains. The proper procedure entails fully understanding what type of open source software you're using, and knowing why you need to combine these disparate licenses. The problem, he notes, is that many companies don't know or care about doing this legally. 'They're used to just "clicking yes" with no regard to what they're committing themselves and their company to.' Hopefully Perens' guide can be read by more company execs — resulting in fewer lawsuits going forward (but we're not holding our breath)." update 21:31 GMT by SM: Bruce wrote in to make sure we knew he was not a lawyer, even though he is weighing in on a legal issue; updated to reflect.

15 of 218 comments (clear)

  1. Hi by Bruce+Perens · · Score: 5, Informative
    I'm here at my desk, if anyone has questions :-)

    Bruce

    1. Re:Hi by Bruce+Perens · · Score: 5, Informative

      Any comments about the applicability of the LGPL? It used to be very popular in embedded systems.

      LGPL, especially the current LGPL3, is a good license to use when you want people to combine your work with proprietary software, and software with incompatible licenses in general. Sometimes you don't want this. My latest (unannounced) product is dual-licensed, so I need a "modifications must be free software" license like GPL or GPL3, so that the proprietary folks have an incentive to buy a commercial license. That way, I get to provide Free Software to folks who want to make Free Software with it, and commercial license fees from the folks who don't want to make Free Software pay for me to do it.

      Bruce

    2. Re:Hi by morgan_greywolf · · Score: 2, Informative

      Bruce was actually one of the most vocal advocates of the LGPL license back when he initiated the UserLinux project. The main reason UserLinux had picked GNOME and GTK as the primary desktop and GUI toolkit for UserLinux revolved around GTK's LGPL license (Qt was not available under this license at the time)

    3. Re:Hi by osu-neko · · Score: 2, Informative

      A lot of us read /. for quite a while before deciding to actually sign up...

      --
      "Convictions are more dangerous enemies of truth than lies."
    4. Re:Hi by Greyfox · · Score: 4, Informative
      Early on a lot of us were quite happy posting as Anonymous Cowards and only made user IDs so we could filter Jon "Columbine" Katz out. If Bruce's snapping point was after the second or third story and mine was only after that fucker managed to draw a parallel between a video game and the tragedy at Columbine, it would explain both why his user ID is so high and why mine is that much higher.

      Eventually Jon Katz stories were found to be against the Geneva Convention, which is why there is no longer an option to filter him out. It's actually illegal to post a Jon Katz story now. They were going to use them at Gitmo for a while, but Dick decided that was a little too evil. They went with shocking guys' junk with jumper cables instead.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    5. Re:Hi by Creepy · · Score: 2, Informative

      That is essentially what Linux and gcc are - if you make changes to them, you need to abide by the GPL for those changes, but they have an exception so that if you, say, build software with gcc and run it on Linux, you can do so commercially if you want to. For example, if you modify the Embedded Linux kernel to add a GSM stack, you need to release the source, but if you create the GSM stack as part of a standalone library or kernel plugin (like a modprobe driver), you don't.

      In general, if you use any GPL license, you need to provide ALL source for your application unless it has an exception. GPL can be applied to libraries applications and plugins (but only as long as the parent application has the same license - in this case GPL)

      LGPL allows a library to be linked dynamically with an application without requiring the application to provide source code. It applies ONLY to libraries and plugins to that library if the library itself is also LGPL (and you can't legally create an LGPL plugin for a proprietary app, which was brought up during vetting of the latest LGPL). LGPL explicitly forbids creating and using static libraries and the older LGPL 2 almost certainly forbids NeXT/Mac embedded frameworks (they are dynamically linked, but they would likely violate the license because they are technically part of the application bundle and not a separate library) - this was disambiguated in LGPL 3.0.

      BSD is sorta free - if you use older code or license (pre-1999) as a basis, you will still be restricted by the BSD-old license requiring you to acknowledge the product contains software developed at UC Berkeley in all advertising materials.

      zlib/libpng is another nearly restriction-less license - as long as you don't say you wrote it when you did not, don't remove the notification from the source, and add a notification that you've changed the source if you did, you can use it any way you want to.

    6. Re:Hi by Bruce+Perens · · Score: 2, Informative

      What constitutes derivative works of GPL'd code?

      Copyright law does not say. Indeed, most of copyright law was written before software and it doesn't necessarily make sense in the context of software.

      So, you can not rely on an API being a reliable boundary between one piece of software and another, except if you use GPL3. FSF has actually provided you a way to reliably use an API as a boundary. This is contrary to those bad things other posters were saying about FSF. The API has to be a full open standard.

      Bruce

    7. Re:Hi by Bruce+Perens · · Score: 4, Informative

      No problem. But let me explain what I think the real situation is when you link BSD and GPL stuff together. Say you do so. You then continue to accept BSD-licensed modifications to your program, and operate in general as a BSD-licensed project. So that you can grant to others all of the rights that they expect from BSD-licensed software, including the right to link in software under GPL-incompatible licenses, you put a note somewhere that developers will notice. The note says "IF YOU ADD SOFTWARE UNDER A LICENSE THAT IS NOT GPL-COMPATIBLE, YOU MUST REMOVE LIBREADLINE."

      This, IMO, is not a big deal for a BSD project. You can't combine GPL software with just anything, and this has not changed because the GPL software was linked with some BSD software.

      The situation is different if the GPL software is a critical part of the program that can't be removed easily. But that is not libreadline. And I would not expect a BSD project to put GPL software in that role.

      If you want to talk about one-sided situations, I'd point first at the situation in which proprietary software developers use BSD code without giving anything back. The GPL is intended to prevent just this sort of situation.

      Thanks

      Bruce

  2. Re:Tried and failed by Bruce+Perens · · Score: 4, Informative

    The FSF were the wrong folks to do this with, because they do not want to help you make proprietary software. I will help you make both Free and Proprietary if you wish, and I'll make sure they don't get mixed in a harmful way. I charge for the service - I've got to make a living. You also need an attorney, if you don't yet have one. Part of the time I'd be working with your attorney, and part with you.

    Bruce

  3. Re:IANAL by Bruce+Perens · · Score: 5, Informative

    Does anyone know why we always give those "IANAL" disclaimers?

    In the United States, it is not legal for anyone but an attorney whom you have retained, and who is admitted to the applicable Bar Association, to give you legal advice. Thus, people like me make clear that they are not attorneys, and that our advice, although it concerns the law, is something less than legal advice. It's your responsibility to check it out with your lawyer. I would be happy to talk with your lawyer, too.

    Bruce

  4. Re:easy answer by Bruce+Perens · · Score: 2, Informative
    You thought it was a joke. But I hear it sincerely from people in big companies. Thus, I had the explanation ready.

    Thanks

    Bruce

  5. Re:GPLSoftware in Consumer Products by Bruce+Perens · · Score: 4, Informative
    JMRI's web site has the findings in the JMRI case. Very educational reading. Groklaw has a lot of this stuff for relevant cases.

    Bruce

  6. Re:The silly multi-processor workaround by afidel · · Score: 4, Informative

    15.204(b) - A transmission system consisting of an intentional radiator, an external radio frequency power amplifier, and an antenna, may be authorized, marketed and used under this part. However, when a transmission system is authorized as a system, it must always be marketed as a complete system and must always be used in the configuration in which it was authorized. An external radio frequency power amplifier shall be marketed only in the system configuration with which the amplifier is authorized and shall not be marketed as a separate product.

    This part has been interpreted by the lawyers as including the software of the system since it includes things like the ability to boost the power on the internal amp beyond the tested and certified configuration in most cases. I believe ETSI has similar language.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  7. Re:Bruce Perens? Why Would Anyone Care About Him? by Bruce+Perens · · Score: 3, Informative

    My web presence is driven mostly by an account at Dreamhost, a nice net hosting company that runs Debian and charges very little. I also have a cheap ($30/month) dedicated server at corenetworks.net also running Debian, which currently runs the one application that wouldn't work at Dreamhost because I need to run my own server on a low-numbered IP port.

    There are 3 workstations in the house, and one server. The upstairs workstation that Valerie and I use, and my office workstation downstairs and the server are running Debian. There is an HP Ethernet connected scanner/printer that connects to Samba on the server for storing scans and prints using IPP from CUPS. There is an old machine running XP that is only for Quicken, and TurboTax once a year, and for the situations once in a while where I have to see how web sites look in IE or programs run on Windows. I could probably host Quicken on Linux with Wine or Codeweavers, which would leave only Turbotax (which doesn't run for long enough each year for Codeweavers to support it).

    My main laptop is an Acer Aspire One running Debian, with two 8-hour batteries and its original 3-hour battery. I fly a lot. I have a PowerMac laptop that someone gave me, for testing how things look or work on Macintosh, but it's not seen any work yet. There is an older laptop hanging around, and I just gave 5 or 6 laptops to the Alameda Computer Recycling Center. There is also a Nokia 770 running Linux, and I've an old Motorola A780 cellphone running Linux. I have a number of embedded systems boards that run Linux, sitting in my workshop. I have a little music player that plays Ogg. My 2007 Prius has had the video input hack, and displays the video output of my ham radio on the console screen. I could connect Linux to it, if I had more time to play.

    I really like Debian. I try to practice what I preach, things pretty much are run entirely on Free Software here, except for the personal finances. The company finances do run on GnuCash, and I have GnuCash doing e-banking, so perhaps someday we'll ditch Quicken. Turbotax is pretty much the perfect proprietary program - not written for love, not written by programmers at all, deep and current information, high liability. It would be hard to make a good Free substitute for it without a sugar daddy of major proportions, like the government.

    But this didn't give you much more insight into me, did it :-) I'll get a real interview sometime.

    Bruce

  8. Re:Bruce Perens? Why Would Anyone Care About Him? by Bruce+Perens · · Score: 2, Informative

    Previous to this netbook, I had a Sony Vaio with a Celeron 1GHz from about 2004. The netbook might be a little slower, I'm not sure. It came with 160M disk - bigger than the Sony, and 1G ram, same as the Sony. Using Debian the netbook does everything I want. I doubt this would be the case with XP or Limpus. The keyboard is big enough for my big fingers to touch-type upon, and the display is sufficient. I tend to use big fonts on it.

    It didn't play HDTV video well at the full screen resolution in the one test I've done so far - I don't know if this is strictly a hardware limitation or if the Intel 945G graphics driver could be improved. Maybe DVD video, with its lower resolution, would work. Video in the smaller box generally offered by youtube and its ilk is fine.

    It is, however, rather slow at building the Linux kernel, which I was only doing to optimize the netbook itself. For building my own, smaller, software, it works fine. So, using it for development is fine, using it to write documents or presentation with OpenOffice.org3 is fine, email and web are fine. I had to build a wifi driver that is out of tree, and I compiled a few drivers into the kernel that were usually modules so that the "expansion" flash card slot worked correctly. I think the other, non-expansion (because the card sticks out) flash card slot might not be working correctly yet. I just plug in a USB card reader in its place. I am running 2.6.28, which has the MTRR fix (see perens.com/blog for the MTRR discussion) and the best power management. I did some tuning with powertune.