The crux of the GPL problem

The crux of the GPL problem

Summary: Last Friday, I wrote a piece describing why I wouldn't use GPLv3 software. As some pointed out, most of my complaints centered around the fact that I would never use a GPLv3 product as part of a development project, as I mostly opposed two things: a) that I can't control the software that runs on custom hardware when using GPLv3 code, and b) that I can't static or dynamic link to pure GPL code (version 2 or 3, a restriction that doesn't apply to LGPL code of either license version).

SHARE:
TOPICS: Software
44

Last Friday, I wrote a piece describing why I wouldn't use GPLv3 software. As some pointed out, most of my complaints centered around the fact that I would never use a GPLv3 product as part of a development project, as I mostly opposed two things: a) that I can't control the software that runs on custom hardware when using GPLv3 code, and b) that I can't static or dynamic link to pure GPL code (version 2 or 3, a restriction that doesn't apply to LGPL code of either license version). Given that I am a programmer and thus am more likely to want to program against the software products I use, and given that at least some of the resulting code is likely to be proprietary (I work for Microsoft, a clear reflection of the fact that I am not instinctively opposed to proprietary software), that means I am unlikely to USE GPLv3 software for that reason (or much pure GPLv2 software, either).

But, so what? If I don't like the license, don't use it, as I noted in my last blog and am noting again here. I have every right to choose my software poison, as it were, just as much as free software advocates have the right to choose the recipe of theirs.

That, however, doesn't change the fact that I find a position which actively tries to discourage proprietary software to be wrong, both from a practical and MORAL standpoint (hey, if Stallman can use the language of morality, so can I). I posed the following scenario in the Talkbacks to my previous blog. Say a borough or neighborhood decides they want to build a park. Since parks involve both allocations of land and resources to buy park equipment, they aren't cheap, so the community must decide how to build something that suits everyone in the neighborhood.

Now, assume there is a group in that neighborhood who is vegetarian. Further, this group isn't just vegetarian, but has a strong dislike for those who aren't vegetarian. Therefore, they insist that no one be allowed to eat meat while in the park (they managed to get those who insisted that no one who eats meat anywhere, in the park or otherwise, to back down). If the neighborhood doesn't agree to these terms, they will go off and build a park that is exclusively vegetarian, cost inefficiencies and wasted space be damned.

They have a right to do that, as it is their money they will spend on the park. Why, however, does the fact that others eat meat affect the decision not to eat meat among vegetarians? Further, however many ways you slice it, an exclusivity stance is wasteful of human effort, as now the neighborhood will have two parks.

That has parallels to software development. Let's pretend that I am building a hardware device that will enable VoIP communications. SIP is the chosen protocol for that device, and a great GPLv3 library covered under a pure GPLv3 license has been found which provides SIP functionality (let's also assume that I WANT this device to be user modifiable, so that takes item a) off the table). According to the rules of GPLv3, however, if I merely link to that library in my own product, the product MUST be released under a GPLv3 license.

There are good foundation principles underlying the GPL. I agree with the power of community development, and I think it's important for a GPL license to require that true modifications be returned to the community (clearly, a linked product doesn't qualify). That ensures that the product continues to be advanced as a community development project. I also agree with the GPL's attempts to ensure that patents are not likely to hold up development, or bind users to unexpected fees from third parties. Community developed projects have a harder time amassing patent arsenals, and besides, patents in most cases ARE a hindrance to the software development process (in my opinion, of course).

What I fail to understand, however, is why the FSF feels it necessary to make it so that proprietary software CANNOT use the GPLed code. As I described previously, that's just bad-tempered wall building on the part of people who believe that proprietary software is evil and a form of enslavement. MOST reading this blog don't believe that. However, MOST with an appreciation for open source software seem perfectly willing to allow an organization that claims to speak for the combined forces of community development speak as if that is the case.

As I've noted in the past, if you added up the use value (a term used by Eric Raymond, and yes, I know he is part of the open source camp, not the free software camp) of all the software ever created, MOST of it would have been derived from proprietary software. How much of the typical software stack is proprietary, if you had to add it up? That's a lot of bang for the software buck.

I've described in a past series of articles why proprietary software has certain advantages, but suffice to say, proprietary software HAS been a tremendous source of innovation, driven by the incentives created by the proprietary software model.

Why, then, is it so important to create a code stream that is, to proprietary software, like touching the third rail in a subway system? To my mind, the more proprietary software that uses a FREE and OPEN base, the more of the software stack that becomes truly open. Likewise, all that innovation ATOP an open base creates new ideas as to how to extend the open base. Leverage those financial incentives as opposed to trying to stamp them out completely, in other words.

If I had to distill my discomfort with the GPLv3, it would be that it fails to fix problems with GPLv2 (the linking problem for pure GPL code, which I don't think should EVER be the case), even as it creates some new ones. The FSF encourages people to use the pure GPL license, and let's not pretend that sizable numbers won't use it. I've seen a number of products which use open source subcomponents, some of which use an LGPL license, others that use a pure GPL license. It's a simple fact, however, that, practically speaking, the product as a whole MUST conform to the pure GPL restrictions...unless someone is willing to rewrite the GPL portions and release them under an LGPL license (which has its own pitfalls...how do you prove you didn't use knowledge from the original product?).

I believe in the power of a software commons. Pure GPLv3 software doesn't add to that commons, as it creates a common infrastructure that is beyond the use of a demonstrated driver of innovation in the software arts.

So, to reiterate, I won't USE GPLv3 software, at least if I can avoid it, simply because I don't agree with a principle designed simply to divide the forces of software innovation into incompatible camps.

Not that such a position will amount to a hill of beans with most free software advocates, many of whom will stop at the point where they realize I am a Microsoft employee (I guess the mind control chip HR installed on my hire date doesn't quite function properly). But, that's what I think, and since I write a blog on ZDNet, you get to see my reasons here.

Topic: Software

John Carroll

About John Carroll

John Carroll has delivered his opinion on ZDNet since the last millennium. Since May 2008, he is no longer a Microsoft employee. He is currently working at a unified messaging-related startup.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

44 comments
Log in or register to join the discussion
  • Capitalism in practice?

    I don't know, but doesn't the fact that we have multiple parks is capitalism in pratice? Unlike Communist bloc where there is only one pencil manufacturer, we have multiple pencil manufacturers. Isn't the fact that having multiple pencil manufacturer is a waste of space and resources and everyone lose out on economic of scales?

    Using the park analogy, one can argue that we have multiple parks, all with different admission requirements. For example, one park for BSD, another for GPL, one park for Novell's proprietary license, another for Microsoft etc etc etc. So if your park is BSD, members from virtually every other park can visit you. Some park, say GPL park, may have high entrance requirement.

    All parks have basically the same basic recreational equipments. The Eclipse park, GPL park and Microsoft park are probably the biggest and most popular parks. So why don't we kill all parks on the ground of wastefulness, and force everyone to give up proprietary software, free software and just create one big park call the "Public Domain" Park?
    sinleeh@...
    • Granted

      ...competing parks are standard in capitalism. However, what is the point of open source / free software? Is it JUST to compete with proprietary software, or is it supposed to create a public domain of knowledge that helps to push the software state of the art forward?

      Besides, I can't think of any proprietary software APIs that prevent me from building code on top of it that isn't "owned" by the copyright holder. In a sense, requiring that linking code be released under a GPL transfers ownership of that code to the community, which is little different in kind than a license that says all code that links to Oracle dlls is owned by Oracle corporation.

      Compete with proprietary software and even other open source / free software projects. Just don't tell me that code that is COMPLETELY unrelated to the base product must be GPLed. That's anti-software and anti-technological advance, presuming that the only technological innovation worth having is one slapped with a GPL label on it.
      John Carroll
      • Why are you fighting over a molehill

        Even the FSF distributes only three libraries that are not under the LGPL - Bison (which has a linking exception), gettext (for which there are other implementations), and the GIMP plug-in library (which if you're not writing a GIMP plug-in is immaterial). So, mainly you are complaining about not being able to tightly couple applications, and I think you'd find it difficult to argue that the application you'd wrap around our application is completely unrelated to our application.

        In short, you've produced a mountain of panic over a molehill of code. What a lot of work you've done over next to nothing.
        John Le'Brecage
      • Last call

        "version 3 protects it from Microsoft's future attempts to make re distributors collect Microsoft royalties from the program's users."

        Once more, GPLv3 is not written to help MS or MS programmers. It is not written to compete with MS or any proprietary developer. There is provision to grandfather the MS/Novell deal but that's it. I though that was nice of R.S. Also, Novell (with a so so Q2) looks forward to GPLv3.
        xstep
      • MS API's are proprietary

        And MS's lawyers will come down on you if you try to use them in an unlicensed manner. (Just ask the Unit Test add-in writer.)

        As John Le'Brecage has pointed out to you time and again, your whole argument is merely about price.

        If your code is completely unrelated then distribute it by itself. You can even distribute your code and say "you really need this [complete with handy URL to get it] to make this run, but due to license restrictions, I can't include it in my download". Is that really so darned difficult?

        Also, if you find something that's GPL v 3 licensed that you just absolutely, positively, have to have you can go to the copyright owner and try to negotiate a different license for some other form of lucre.
        Robert Crocker
        • But you are NOT required to give your code away

          I've been using MS APIs for years and at no point have ihad to give my code away to anyone. Do you grasp the difference?
          No_Ax_to_Grind
  • Nothing to see here. Move along.

    All points answered in previous talkbacks.
    dave.leigh@...
    • True...

      ...but I needed to say it a different way.
      John Carroll
  • I return the favour with my own question.

    John C, if you were to contract out the necessary bits of code contained in a GPL program, so that you could hold them as property; would you pay the programmer? Certainly I hope you would.

    Why do you object so strongly to GPL authors being paid in code rather than cash?

    The two suggestions you make for the GPL-3 enable certain entities, who wants code to pay in [u]less[/u] code than we believe we should be paid, to do so. That's not fair proper. We should be paid what we're worth and if our price is too high - you can go seek a person who thinks less of themselves and their work. We don't mind. There ar eplenty who will pay our code-wage.
    John Le'Brecage
  • Inovation?

    What are you talking about? Midgets standing on the shoulders of Giants? How many times do you have to be reminded of the MS operative word: ANT-TRUST? Nothing at all was innovative about the first MS windows or LISA (pre MAC). Oh the PC was very innovative but MS did not invent that nor did they invent TCP/IP. In fact, the first versions of MS windows did not come with the tools on disk to network. What was innovative if you must, was the fact that MS invented a software product ecosystem with razor wire hackers cut though everyday. Nothing shared or free but the permission to USE one copy per machine/user.

    #1, The FSF, GPL, and the like never set out to fight MS or any other proprietary software developer.

    #2, The point is FREE software and protecting the right to develop and SHARE it. For FREE no razor wire needed.

    A free compiler is Innovative. A distribution with access to over 20,000 FREE applications is innovative. ODF and even PDF are proven innovative. After all, when MS would not give anything but .doc people used PDF to share and the reader was and is FREE. Now, users can read and write to PDF and MS formats in a free software environment. That is innovative. A OS that can boot as a live OS on CD/DVD, and a little flash drive that fits in your pocket is very innovative.

    What's your point? Why don't you get it?
    xstep
  • Stream this

    http://www.linux.com/blob.pl?id=f5022e81db1e8d3d17a765a1f599f6ba

    Might help.
    xstep
  • Get your wallet out

    and offer the owner of the code a good incentive to give you a copy of that particular piece of code with a different licence. You can then take the code and lock it up as you wish.
    Or do you, as most proprietory coders want, want to be a leech and have it for free so you can make money at someone else's expense?
    (i'm talking from a GPL2 stance here as I can't comment in GPL3 yet)
    deaf_e_kate
    • A most excellent suggestion!

      There are plenty of programmers out there that will take their payment in code OR in cash; hence the popularity of dual licensing.
      dave.leigh@...
      • unfortunately...

        they all want it for free, hypocrites the lot of them. They are real tight a****s
        deaf_e_kate
  • Believe as they do... and say.

    I can sympathize with the feeling expressed in this paragraph:

    "What I fail to understand, however, is why the FSF feels it necessary to make it so that proprietary software CANNOT use the GPLed code. As I described previously, that?s just bad-tempered wall building on the part of people who believe that proprietary software is evil and a form of enslavement.

    [You (accurately) identify what you said you don't understand.
    If someone believes "proprietary software is evil", wouldn't he want to assure that evil doesn't afflict the purity of the good, and therefore "make it so that proprietary software CANNOT use the GPLed code."]

    MOST reading this blog don?t believe that. However, MOST with an appreciation for open source software seem perfectly willing to allow an organization that claims to speak for the combined forces of community development speak as if that is the case."



    I take them at their word, myself. They want to see proprietary software destroyed, and the only issue for the FSF is making certain this circular firing squad kills off most programmers' day jobs on the same day.

    There will be some employed left, those on the fringes who adapt generally available software to specific locations, but the better the software is adapted to specific lines of business, the less that will remain to be done.

    When the millions have lost their jobs, the thousands won't be far behind. And the result will be... utopia with high unemployment.


    At any rate, you're wandering with your lantern looking for reasonable people. Do you want to set a deadline for finding them(?), after which you'll agree with me that we're looking at a quasi-religious rather than pragmatic group?
    Anton Philidor
    • Riddle me this...

      What has pragmatism gotten GPL developers that standing up for ourselves has not? Obviously nothing of equal worth to their code otherwise they'd write purely proprietary code and go the commercial route for distribution. Try offering us something of value over and above a paycheque and signing the sum total of the output of our brains away.
      John Le'Brecage
    • RE:Believe as they do... and say.

      I respect your opinion Anton, but I don't understand why you must regularly accuse people that use OSS as being unreasonable.

      Is it unreasonable if MS doesn't give me a cop of Vista for free? is it also unreasonable for them to not give me the source so I can change it to meet my needs?

      NO, it is not unreasonable for them to do so because we live in a country built on personal freedoms. they can set whatever terms they like as long as it doesn't interfere with others personal freedoms.

      It is much the same for OSS developers. The only difference is that instead of charging dollars, they are charging by using a reciprocation rules. GPL'd software can be used and modified if you like, but if you distribute it you have to give those modifications back to the community and the original creator of the code in question.

      Microsoft isn't unreasonable for wanting cash and cash equivalents for use of their product and GPL developers aren't unreasonable for wanting code and code equivalents in return for theirs.

      I personally like a lot of GPL'd software and use it regularly use it, but I'm not religious about it. I use it because it works and does what I want. I use it because in many cases, it's more secure, stable, and faster. It's not always true, but in many cases it is.

      Do I want MS to go away? Personally, it doesn't matter to me. I don't care. If Linux goes away, I'll find something new. I pay for Linux on some of my machines. I submit bug reports and suggestions. I also pay for Windows and other proprietary software. I make money from both in terms of support.

      while there may be some unreasonable people on the OSS side that post to the blogs at zdnet, there are also unreasonable people on the MS side that post to zdnet. I know of one who uses statements like '... we're looking at a quai-religious rather than pragmatic group"
      jtiner
      • From reading Anton's posts,

        I gather that he thinks anyone doing programming for free is going to bring about the downfall of all programming jobs. For some reason, I should charge for everything I do because someone else may be trying to earn a living doing the exact same thing I am doing.
        Patrick Jones
    • subtitle: Why can't I steal other peoples code?

      "They want to see proprietary software destroyed, and the only issue for the FSF is
      making certain this circular firing squad kills off most programmers' day jobs on
      the same day."

      "They" want to create an alternative to proprietary code using a vision of shared
      code. Nothing the FSF does destroys proprietary software, it may only undermine
      its value. In many cases this value is artificially high and maintained through
      market abuse that has been found to be illegal (e.g. MS), and has destroyed other
      proprietary companies (e.g. BeOS).

      People that create code can choose to license it under whatever license they feel
      like. It is their IP. If they choose the GPL they are saying others can use their IP
      only if they agree to make their additions public.

      I'm not sure why JC isn't arguing that MS code that enters the public domain (say
      by a disgruntled employee) should not also be able to be used by anyone for
      whatever purpose they like, including incorporating it into their own software
      products.

      In regard to employment it is a fallacy to believe less jobs are created with open
      source projects. RedHat and Novell's Linux distributions are thriving where the
      latter proprietary product is failing (in part to MS's deliberate attacks outline in the
      EC competition case), and the former is achieving in a market littered with a trail
      of carcasses of failed OS companies.

      Open Source projects, including many licensed under the GPL, give all of us an
      unprecedented opportunity to create value on top of extremely inexpensive yet
      reliable OS and middleware infrastructure. An opportunity denied previously and
      an opportunity some would like to continue to deny us with patent litigation
      threats.

      My company uses extensive GPL licensed software to deliver solutions and we
      happily abide by the conditions of the GPL. We create value through providing
      services. Many of our customers appreciate not having to pay hundreds of dollars
      more for proprietary solutions that offer no extra value, have restrictive EULAs and
      treat them like criminals (e.g. activation).
      Richard Flude
      • Following your logic.

        In response to my observation about FSF's implacable opposition to proprietary software, you wrote:

        "'They' want to create an alternative to proprietary code using a vision of shared code. Nothing the FSF does destroys proprietary software, it may only undermine its value."

        If the FSF were unable to have a deleterious effect on proprietary software, its leadership would be disappointed.

        Also, proprietary software's value is significantly monetary, the ability to sell the software for what the market is willing to pay. If that value is sufficiently undermined, the software ceases to have sufficient revenue for the effort to continue.

        So undermining proprietary software's value is an attempt to destroy it.


        You also wrote:

        "In regard to employment it is a fallacy to believe less jobs are created with open source projects. RedHat and Novell's Linux distributions are thriving where the latter proprietary product is failing (in part to MS's deliberate attacks outline in the EC competition case), and the former is achieving in a market littered with a trail of carcasses of failed OS companies."

        Does either Red Hat or Novell pay a fair wage to everyone working on the development of the software products the companies sell?

        From the (limited) perspective of those companies, open source is a means to save money on staff costs. Jobs and salaries.


        Also, the EC's two cases concerned protocols for workstation servers and the inclusion of media capabilities (and a player) in Windows. I'm not certain how either charge is related to your discussion.

        And Red Hat and (to a lesser extent) SuSE are thriving, but in servers as replacements for Ubnix in server software. The market is large enough that Microsoft is able to thrive as well, the company's comparatively recent server product having become the second or third most profitable for Microsoft.

        Microsoft is competing with Linux in the server market, but taking such a gradual approach that the company is now selling a competitorm (SuSE) and improving interoperability and providing reassurance on IP issues.

        So I'm not certain what your argument is on that topic, as well.


        On operating systems more broadly, my view is that a proprietary Unix-based operating system would have had a good chance to defeat Microsoft sometime in the past 10 years. I also think that such software didn't come into existence because of insufficient interest among the Unix-oriented in making a profit.

        The absence of such a competitor is a loss.

        And because open source software obtains insufficient revenue to justify substantial investment in marketing, it cannot become that competitor and even prevents such a for-profit Unix-based competitor (other than a hardware company like Apple) from arising.

        Open source has much for which to answer. And for which Microsoft should be grateful.
        Anton Philidor