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.

23 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 CRCulver · · Score: 4, Funny

      Impostor. A true Bruce Perens would not have a Slashdot user ID as absurdly high as 3872.

    2. Re:Hi by Anonymous Coward · · Score: 3, Funny

      Are you saying that this linux can run on a computer without windows underneath it, at all ? As in, without a boot disk, without any drivers, and without any services ?

      That sounds preposterous to me.

      If it were true (and I doubt it), then companies would be selling computers without a windows. This clearly is not happening, so there must be some error in your calculations. I hope you realise that windows is more than just Office ? Its a whole system that runs the computer from start to finish, and that is a very difficult thing to acheive. A lot of people dont realise this.

      Microsoft just spent $9 billion and many years to create Vista, so it does not sound reasonable that some new alternative could just snap into existence overnight like that. It would take billions of dollars and a massive effort to achieve. IBM tried, and spent a huge amount of money developing OS/2 but could never keep up with Windows. Apple tried to create their own system for years, but finally gave up recently and moved to Intel and Microsoft.

      Its just not possible that a freeware like the Linux could be extended to the point where it runs the entire computer fron start to finish, without using some of the more critical parts of windows. Not possible.

      I think you need to re-examine your assumptions.

    3. 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

    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 Bruce+Perens · · Score: 3, Interesting

      The BSD license is GPL compliant, and you can link BSD and GPL code together. It's only licenses that make restrictions that the GPL does not make which are incompatible. The problem with allowing restrictions that the GPL doesn't make is that at some point you get enough restrictions it's not Open Source / Free Software any longer. While you can trust a license to always say the same thing, OSI has not always said the same thing and doesn't promise to do so in the future. So, "any OSI approved license" could be anything at all, at some time in the future.

      Bruce

    6. 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:Commitments? by Bruce+Perens · · Score: 5, Insightful

    Most employees aren't legally empowered to commit their company / organisation to anything. They don't have the authority to sign contracts on behalf of the company / organisation.

    Yes. But "my employee did this, and he didn't have authority to do so" hasn't worked very effectively as a defense regarding software license violation and copyright infringement - or anything else. Or those BSA audits would have turned out differently, etc. Ultimately, the stockholders and management are responsible for what the company does even if they are so out of control that their employees do stuff without being instructed to :-)

    Bruce

  3. Re:Bruce Perens? Why Would Anyone Care About Him? by MediaStreams · · Score: 3, Funny

    "An "Ask Slashdot" with the goatse guy would be more enlightening to read."

    LOL, he certainly has had a tremendous and lasting impact on Slashdot. I would love a interview with the guy. Does he use Linux or Windows? BSD or GPL for his open source projects? We've all gotten insight into one side of him. It's long over do to learn about the other.

  4. Header files by hobbit · · Score: 3, Interesting

    Can you #include header files from GPLed code in proprietary code?

    --
    "Wise men talk because they have something to say; fools, because they have to say something" - Plato
  5. Re:Execs aren't going to read this by Bruce+Perens · · Score: 4, Interesting

    When I visit a company to help them develop their Open Source strategy, I schedule a 50-minute talk for the top execs and the head of legal. This talk tells them what I am doing with the middle management, gives them some anti-propaganda to reset their opinions and expectations about Open Source, and establishes who I am working with in the company so that when they have issues about Open Source they know where to go.

    That's about all I can get out of the top execs. But I get a lot of attention from the middle management folks who actually do the work.

    Some of the recent lawsuits have got their attention. But what it often does is cause them to put a "no open source" clause in their default supplier contract. I signed a contract with a big phone company that promised I would not give them any Open Source! Of course, I was giving them advice.

    Bruce

  6. 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

  7. Re:easy answer by Bruce+Perens · · Score: 4, Interesting

    The easy answer to the problem: don't redistribute whatever it is you make.

    It sounds easy, but it is actually very difficult to keep from distributing. You see, a distribution is a transfer between any two legal entities. So, for example, you hire a consultant and give him a copy of the software. Then you decide not to use the consultant any longer. He's annoyed, and he asserts his GPL rights on your entire product, and distributes it. You go to sue, and the copyright holder of the GPL piece gets involved and makes a case that you don't have the rights you think you did. Your NDA does not apply to GPL software because GPL prohibits you from adding incompatible terms.

    In some cases, transfer between divisions, especially partnerships with one or more additional firms, are distribution. So, in practice, I think that purposefully not distributing is too difficult to do reliably. It also does not work against Affero GPL3. If you perform that as a service, you have to give up the source code.

    So, it is much easier to keep your software separate as I advise.

    Thanks

    Bruce

  8. The silly multi-processor workaround by Anonymous Coward · · Score: 5, Interesting

    (AC because I work on what I'm talking about, and this problem hampers me continuously, at my current job and all previous).

    I am dismayed that this is a possible loop-hole to the GPL. There is a very real examples of this today: the T-Mobile G1, and its slightly-unlocked Developer handset counterpart.

    The trouble is, these devices are completely unusable without the binary blob loaded into the other processor. A lot of the functionality is still inaccessible, and worse still the manufacturers can get away without even providing a data sheet. Even worse still - these devices can be totally locked down, signed, and remove the ability to replace the GPL parts.

    It's self-reinforcing, too. The ARM9/ARM11 split (in this specific case) is an increasingly inefficient thing to do, as ARMs are very good at low latency response (FIQs), and the partition is NOT as simple as multiple processors. In the Qualcomm MSM7200 part used in the vast majority of handsets (including the G1), it's another core and they share RAM and all peripherals. There's an awkward memory partition that has to happen, and that's inefficient use of memory. There's a duplication of ARM pipelines and caches. It's not as efficient as people would have you believe.

    In short, it's a bad use of hardware resources just to work-around licensing.

    I hold out little hope that manufacturers will provide access to radio layers, unlock devices, and generally provide data sheets so long as the "it's on another processor" work-around is an acceptable solution. Perhaps market forces will change their mind as soon as one big player decides that the hardware cost is no longer worth it. Perhaps not.

    To be honest, though, I'm slightly happier that there is the workaround and we can see GPL software in handsets, rather than nothing at all.

    Are you actually happy with this solution (or only somewhat happy, like me!), or is it just a recommendation?

    1. Re:The silly multi-processor workaround by afidel · · Score: 5, Interesting

      Actually that split has to do with licensing, they are legally required in most jurisdictions to ship ONLY the tested and certified configuration with no (reasonable) possibility of end user reconfiguration. This is true in the US even for the unlicensed ISM bands, I imagine the licensed bands have even more strict confines if not from the licensing authorities then from the telco's who have to maintain their network.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:The silly multi-processor workaround by Bruce+Perens · · Score: 4, Insightful

      GPL3 fixes this for the GPL part. Which is one reason I take GPL3 seriously for my own work.

    3. 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.
  9. 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

  10. Re:GPLSoftware in Consumer Products by Bruce+Perens · · Score: 4, Interesting

    I do believe the GPL does need to be re-written in a far less verbose manner as many executives still do not understand it.

    Some folks have written GPL equivalents without the preamble. They've not become popular. The problem these days is not really the GPL. It is that there have been thousands of meaningful court cases about software creating precedents helpful or harmful, and there is a lot of rather pernicious legislation like DMCA. So, we have to craft a license that will protect us from a tower of existing legal paper higher than I can figure. The fact that you can still read it in one sitting is pretty impressive. If you read the findings in recent court cases, especially the appeal in the JMRI case, it's pretty clear that judges like the GPL. And that's what we really need. If it doesn't protect you in court, why is it there at all?

    Bruce

  11. Dual licensing is good by EmbeddedJanitor · · Score: 3, Interesting
    We use dual licensing too: GPL2 or get a commercial license if you want to use it in non-GPL environments.

    While the GPL purists might balk at this, it does make the product usable elsewhere (more usage == more testing == good for everyone) and also provides a revenue stream to help further development (good for everyone).

    Being practical is far more important than being purist.

    --
    Engineering is the art of compromise.
  12. Re:IANAL by Bruce+Perens · · Score: 3, Interesting

    How far does that go? I mean, in the extreme, wouldn't that mean it's illegal for a cop to tell kids that they need to obey the speed limit?

    There's a good explanation in Wikipedia:

    In the common law, legal advice is the giving of a formal opinion regarding the substance or procedure of the law by an officer of the court (such as solicitor or barrister), ordinarily in exchange for financial or other tangible compensation. Advice given without remuneration is normally referred to as being pro bono publico (in the public good), or colloquially, pro bono. Legal advice is distinguished from legal information which is the reiteration of legal fact. Legal information can be conveyed by a parking meter, sign or by other forms of notice such as a warning by a law enforcement officer. Printed legal materials, such as directions and how-to manuals, are generally not considered legal advice. Accordingly, directions on how to fill in a motion form and other court documents do not constitute legal advice.

  13. 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

  14. 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