Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

GPL FAQ 217

An AC sent in this: "The FSF has posted a new FAQ at gnu.org covering the GPL. It explains their perspective on a lot of the issues discussed on Slashdot in the last couple of days."
This discussion has been archived. No new comments can be posted.

GPL FAQ

Comments Filter:
  • by Anonymous Coward
    "Does gnu.org have a GPL FAQ?"

    err, doh!

  • I think the problem is that there are limits on what contracts are legal. It's perfectly valid to make claims on "derived works" or works that are "part of the same program," but it's unclear whether it'd be valid to make claims on "dynamically linked modules" if a court later determines that dynamically linked modules are in fact completely separate programs. I'm not an expert in contract law, but generally you can't write anything you want into your contract (as with the question in the FAQ about non-free input/output - even if you want to say your program's GPL covers output, you cannot legally do that).
  • We should put this on T-shirts

    I take it you wear rather large T-shirts?
  • I am an attorney, but this is not legal advice. Ifyou need legal advice, contact an attorney licensed in your own jurisdiction.


    We regularly see arguments based upon what the FSF or RMS claims. Keep in mind, though, that there are about 5 billion people on the planet whose opinion counts more . . .


    Put aside the ideology, and whether you lvoe or hate the GPL. I'm talking about rules of legal construction. The author of a document had a full opportunity to make it say what it means. The author's view on interpretation just plain doesn't count, and has no legal weight. While there are situations in which the author *might* be called to testify (perhaps for "state of mind" evidence), ambiguities or doubts are construed *against* the author.


    This doesn't necessarily mean that the FSF comments are useless. If a point is not arguable, the FSF explanation could be useful. But if the purpose is to *resolve* the meaning, the opinion of the FSF, and RMS in particular, is worth less than the paper it isn't written on . . .


    hawk

  • It's a very simple disconnect. In the first case, the GPL gives you the freedom to charge money for the program - this is what allows vendors like CheapBytes [cheapbytes.com] to sell Linux distribution CDs composed entirely of free software and turn a profit.

    What is disallowed is a viral licensing fee, like that used by shareware authors ("You can try this program and redistribute it, but if you use it for more than 30 days, you owe me $20."). You can't require that anyone who receives the software (not necessarily from you!) has to pay you money. The difference is that you might agree only to send the software to someone if they pay you money (CheapBytes would quickly go out of business if they were required to give away CDs for free), but you can't control what they do with the software afterwards. Imagine what would happen if CheapBytes required everyone who redistributed code from the CDs they sell to pay them a fee for the privlege of doing so!

    The GPL does not enforce that software be available at no cost, but the market forces inherent in free software do (would you buy a Red Hat CD for $50, without any manuals or support, if you could get the same for about five bucks with shipping or download it off the Net for pennies?)

  • 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
    If the FSF did try to pull such a stunt, a strong argument could be made that the 'any later version' clause can be ignored: the software author would have a promise in writing that the new GPL would not contain any such backdoors, and the FSF would have violated that promise.
  • The good news is that you are allowed to charge for sending floppies in the mail. The FSF made money for years selling tapes of GNU software. The fact of the matter is that Anonymous FTP is the only method of transport that should actually lose you money.

  • The actual text of the GPL is actually fairly short. The entire document is less than 2989 words and the actual legalese in the Terms and Conditions section is a mere 2031 words long.

    Unfortunately the GPL is written using legal terms and wording that most developers don't understand, and so it is that over the years a lot of false beliefs about the GPL have cropped up. I, for one, am glad to finally see a comprehensive FAQ that is intelligible for people who aren't legal experts.

    Your post is a good example of why this sort of FAQ was necessary. Using GPLed software on a proprietary system has never been a violation of the GPL, nor are you in violation if you distribute GPLed software alongside proprietary software, and the FSF has never stated that the output of GPLed programs was covered by the GPL (except in the case of Bison where large parts of the Bison source are actually what is output by Bison). And yet, over the years many people, either out of ignorance or malice, have made claims like the ones in your post. In the past the only way to refute those claims was with the text of the GPL itself (which, being a legal document, is hard to parse). Now there is a much clearer FAQ. This FAQ, however, is not a legal document. It is simply an explanation of the legal document. These mythical "clauses" that you state that the FSF has added are merely explanations of what the actual legal document states.

    However, if you allow your software to be modified freely to take input and give output in any format, distributed freely with proprietary software, and run on proprietary systems, you allow it to be incorporated into proprietary systems. Any attempt to prohibit this can only prohibit certain direct methods, unless you want to either cripple it for end-users or open up the "intent" can of worms and make any case a chess game between lawyers (if it doesn't invalidate the contract altogether).

    First of all the GPL does not allow GPLed software to be distributed "freely." In fact, distribution is the one thing that a copyright holder is allowed to control. GPLed software can only be distributed under the terms of the GPL (meaning it must come with source code). You can include proprietary programs on the same CD, and they are not covered by the GPL.

    As for the rest of your argument. The GPL doesn't cover "using" the software at all. You are free to "use" it on proprietary systems, or free systems, or to not use it at all. What you aren't allowed to do is "distribute" the software without following the terms of the GPL.

    In other words, it isn't the GPL that has problems, it is merely your understanding of what the GPL does and does not allow. As a practical example Vidomi would be perfectly within their rights to "use" VirtualDub however they want, including extending it with their own software. However, the second they try to "distribute" software that links with the GPLed VirtualDub they are violating the GPL.

    As for whether or not the GPL will stand in court, remember the FSF gets to pick and choose the case that they use to set a legal precedent on the GPL. In other words they are looking for a stupid, underfunded software company with a clear violation of the GPL (Vidomi fits this perfectly). Also remember that organizations with very well paid lawyers (Apple, Microsoft, IBM) have already caved to FSF demands. Those folks, at least, are acting like the GPL had teeth. And also remember that there are several groups that have vested interest in making sure that the GPL is enforceable. The FSF certainly fits this bill, but many other companies have put large pieces of software under the GPL (Sun's StarOffice for example).

    I wouldn't count on the GPL not being enforceable.

  • They would much rather have you assign copyright, but PD is a workable fallback strategy if you don't want to do that. They are assuming that the majority of the resulting work is not public-domain and thus they can still enforce the license.

    Thanks

    Bruce

  • I'm not saying he doesn't have a platform, and I never would expect him to use neutral language. If he made us all look like Fruitcakes, he wouldn't get the invitations he gets. We both lectured at Cambridge (the one in England) a few months ago. Dinner in the great hall and everything.

    Bruce

  • I should have said "outside of the research lab". I think we didn't have them on VAX Unix or the Sun workstation in '84, and that's what Free Software ran on at the time. But RMS was at MIT and no doubt did have experience with Multics, so you have made your point.

    Bruce

  • When the GPL was being written, nobody was using DLLs or object brokers and "linking" was much more straightforward than it is today. This must be better addressed in a future version of the GPL.

    Thanks

    Bruce

  • MS is trying to paint FSF and the GPL as dangerous, and RMS responds with a sensible, calm, reasonable, and friendly document that is 100% positive information. Knowing Richard, this has to be an extremely frustrating time for him. There have been times when he hasn't been able to rise above the frustration as he has with this document. I'm very happy to see it.

    Thanks

    Bruce

  • Yep, although not all that often.

    I added a BJ10ex driver to Ghostscript. Start of a GEM driver for GNUplot (never finished that). Tweaks to GD to make it work more how I expected.
    Mostly tweaky things, rather than big chunks of functionality.
  • It is far from purely academic. Yes, it does mean that I cannot follow the proprietary software business model of forcing people to pay to get software, but it does mean I can charge people, for example, for the convenience of the software in a box with a manual, etc. The obvious example is RedHat- I can download a RedHat distro for free, but I can also buy it from a store, as I have on at least one occasion. And, to judge from the shelves at my local electronics store, I'm not the only one. So yes, people do pay for GPLed software, they just don't have to.

    There is also the scenario of a piece of software which has never been distributed. In that case, I can force my first customer (and only my first customer) to buy the software from me at my price without violating the GPL. Every subsequent customer, however, has (at least in theory) the option of getting it from my prior customers at a price of their chosing. I will grant you that this scenario, however, is more or less "purely academic".

  • Yes, but that's entirely beside the point. We're talking about GPL license terms, not the economics of open source. The fact is that the GPL permits the selling of the software (unlike a lot of other freeware licenses). Whether or not it is economically workable in the long run, a large number of companies have made a significant amount of revenue doing it. More importantly, a lot of people have benefitted from the convenience of a boxed distribution- Linux never would have approached its current popularity if you could not sell it. Take a look at the Linux shelf at your local electronics store- all those boxes aren't going away, whether Red Hat goes under or not.

    In short, the success of Linux is built in part on this "purely academic" distinction.

  • Er, no. Charging a monthly fee requires a licensing agreement or contract of some sort enforcing the payment of the fee. This would constitute an additional restriction on the software, which the GPL does not allow. The copyright holder could, of course, release it under a modified GPL which allowed this, but that would be such a severe change that it would no longer be the GPL.

  • Regarding point 1, I earlier understood you to mean that you would require the buyer of the software to also buy the service contract. If this is correct, my point still stands, because that requirement in and of itself violates the spirit of the GPL. If I misunderstood, and you meant the service contract to be optional and separate from the software, then you are correct.

    Regarding point 2, this is pretty irrelevant to the discussion, but I can't resist. The passage you quote does not suggest that assigning copyright to the FSF is equivalent to putting the software in the public domain. Read that passage again, and notice the use of the word "or". They are describing two options, one of which is to assign copyright to the FSF, and the other of which is to put the code in the public domain. Either one ensures a relatively simple copyright status for potential defense of the GPL.

    Also, they aren't explicit enough about this, but they are only talking about contributions to FSF-copyrighted GNU software, not GPLed software in general.

  • You're right, it's not "free speech." It's free software. I fail to see how it's worse than a standard closed-source license, though- the rights granted by the GPL are a strict superset of the rights granted by a normal closed-source source license.

  • First of all, I agree with you- corporations are a necessary and important part of modern society, and a key driving force for technological development. However, they are not the only ones.

    Specifically, you slipped up on your examples, badly. The WWW was invented by Tim Berners-Lee as an academic information-sharing tool, while he was at CERN, an entirely non-corporate particle physics research lab. As for "all the cool technologies" that we see today, the computer sort of springs to mind (ENIAC and its predecessors were the product of government and university, not corporate, research). I'll grant you the second point.

    Like you, I detest the neo-communist drivel which occasionally springs up in the Slashdot forums, but you're setting up a straw man. I seriously doubt that more than a small minority of Slashdotters would seriously contend that the world would be a better place without corporations. I can't speak for the FSF, but there's nothing explicitly anticorporate in their agenda (though they do explicitly oppose the software industry status quo), and the section of the GPL which launched this thread was placed there specifically to allow the making of money, hardly a resounding blow for the end of capitalist society.

    As for the "how does one make money" question, I've already addressed that elsewhere, and I will pause only to note that RedHat is making money, so it is clearly possible.

  • RedHat just reached break-even, and its revenues are continuing to grow. Get your facts straight.

  • I suspect that the GNU people didn't intend the FAQ as a response to Mundie. That having been said, this FAQ is the best reply to Mundie's FUD that I've seen yet. It is succinct, informative, non-inflamatory, and talks in terms that people can understand without an extensive legal background.

    We should distribute this far and wide. We should put this on T-shirts and posters. We should make folders and notebooks with this stuff on it. We should take out full page ads in the Technology section and put this in there. We should put it on cerial boxes if we possibly can.

    It won't promote the GPL much, but it will allow people to make informed opinions about the GPL, which is as good as a victory in my book.

    ObJectBridge [sourceforge.net] (GPL'd Java ODMG) needs volunteers.

  • It is a purely academic distinction. Honestly, people simply DON"T pay for GPLed software.

    Well that depends, doesn't it? I paid three bucks for a copy of Mandrake 8.0 GPL edition from Cheapbytes. Am I paying for the software, or am I paying Cheapbytes for the service of putting it on a CD-ROM?

    If I buy a copy of Mandrake 8.0 from Mandrake herself, for $50 (or whatever), am I paying for the GPL software AND the proprietary software (and other stuff), or just for the proprietary software (and other stuff)?

    You might be right; maybe people don't pay for the GPL software; instead they're paying for services rendered or for documentation or for the pretty packaging or something else. But they're paying for something, and that says a lot in my mind.

    ObJectBridge [sourceforge.net] (GPL'd Java ODMG) needs volunteers.

  • COM+ is a "major component of the operating system", so therefore you can write GPL programs that link to it.
    --
  • Thanks for your response, which as usual is very well stated.

    IANAL, but as Bruce Perens has repeatedly pointed out, intent goes a long way into making the linking situation more clear, at least until you hit the network interface.

    But it's entirely unclear what the intent of the "major component of the operating system" clause is once you get past a typical 1980s-style Unix system. Having built in object brokers (COM+) and virtual machines (Java) and add-on compilers (VC) and API personalities (Interix) don't help. And I'm really just throwing logs into the GPL v3 fire on that issue alone.
    --
  • Still, a GPL program that says "obtain MSVCP70.DLL somehow" on it's face seems to defy the licence. As does a GPL program that requires the Borland compiler, or a Java 2 program on a platform which doesn't ship with Java 2.

    Generally the way the GPL has dealt with this has been to require a specific exception from the author in addition to the licence. If this exception is missing (see KDE), people freak, and it also prevents the author from using standard GPL code without the exception.

    And if an implied or explicit compiler library exception is OK, why isn't one for "Money Guzzler Inc."'s libraries?

    Likewise, does it really help the cause of Free Software to (say) prohibit GPL plug-ins for Netscape?

    Saying "this is effectively that" probably doesn't hold contract law water, so hopefully GPL3 will deal with these issues in a flexible manner.
    --
  • by IntlHarvester ( 11985 ) on Wednesday May 23, 2001 @09:41PM (#201882) Journal
    I'm writting a Windows application with Microsoft Visual C++ and I will be releasing it under the GPL. Is dynamically linking my program with the Visual C++ run-time library permitted under the GPL?

    Yes, because that run-time library normally accompanies the compiler you are using


    So even though the VC runtimes aren't "a major component of the operating system", because they are distributed seperately, according to this I can still use them.

    Can I use the GPL for a plug-in for a non-free program?

    If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. So you can use the GPL for a plug-in, and there are no special requirements.


    OK, so I can't turn VirtuaDub into COM component. But if I register it with COM+ and run it in a seperate process, then it's OK?

    I'd like to modify GPL-covered programs and link them with the portability libraries from Money Guzzler Inc. I cannot distribute the source code for these libraries, so any user who wanted to change these versions would have to buy those libraries. Why doesn't the GPL permit this?

    So I can use operating system runtimes, and Visual C++ runtimes, but I can't use 3rd party runtimes that don't happen to ship with a compiler. I take from this I probably could write a J2SE GPL application (using included libraries) but not a J2EE version (which might be from a 3rd party). So, the question is -- Is Microsoft's GPLed software shipping with Interix legal?!?
    --
  • their "ethical position" is that selling people useful software is evil.

    Not at all - AFAIK, RMS et al. have no problems with RedHat, SuSe, or Debian selling people useful free software. As has been wisely pointed out above, their position is that providing software without the source code and the right to make and distribute changes is unethical.

    The GPL is not about gaining some consideration for use, but denying a certain use to a certain group. It is designed purely as a deliberate attack on proprietary software developers.

    It denies a certain use, which would by default be denied anyway under a normal software license, to a certain class of developers who are only interested in profiting off of the free software community. Any software developer who is willing to give back to the community is allowed additional rights to GPL'd software that would not be otherwise available to them.

    they deliberately prohibit the use it's wanted for.

    TANSTAAFL (look it up). Heaven forbid we deny proprietary software developers anything that they want...

    By traditional contract standards, this is not at all reasonable.

    That's good, because the GPL isn't a contract, it's a license. You don't even have to accept the license in order to use the software, so it's still a more open licensing scheme than almost all proprietary software.

    It's not an offer of contract in good faith, it's an attempt to place something essentially in the public domain, except restricted from the use of people and businesses they are politically opposed to. The other party can hardly be blamed for not treating it as a sincere attempt at a mutually-agreeable arrangement.

    If the FSF feels politically opposed to someone using their work without contributing back something of their own, then they are entirely within their rights to take that position - a position which isn't particularly unreasonable, either. The other party can hardly bitch if they were planning to pull a fast one using GPL'd code, and are now being required to give back something in exchange for all the benefits they've gained from using other peoples' code. The GPL enforces a mutual exchange of code as opposed to what would otherwise be a unilateral taking code without giving anything back. "Our code for your code" sounds pretty mutually even-handed, but if you don't like those terms, don't use our code and quit whining about it.

    Caution: contents may be quarrelsome and meticulous!

  • Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the FSF? If I hold copyright on a GPL'ed program, should I do this, too?

    They do it so that there is a single copyright owner, so that owner can enforce.

    If you own the copyright to a GPL program and want to incorporate other peoples' patches into it and rerelease it, then you should have everyone sign the copyright to those patches over to you. (Or have everyone, including you, sign their code over to FSF.) The idea is to have one owner of the program.

    Our lawyers have told us that to be in the best position to enforce the GPL in court against violators, we should keep the copyright status of the program as simple as possible. We do this by asking each contributor to either assign the copyright on his contribution to the FSF, or disclaim copyright on it and thus put it in the public domain.

    It sounds like you're not doing what your lawyers suggested. Having a program where parts of it are owned by you, parts are owned by FSF, and parts are public domain, doesn't seem like a "simple as possible" copyright status.


    ---
  • Just suppose the outrage here on /. if MS snarfed up some of the GCC code, and slammed it together with some Beowulf supporting software, modified the mess to make it taste better and started running Windows XP compile farms on it.

    If the compile farm was for Microsoft's internal use, I don't think there would be a significant amount of outrage.

    If the compile farm was available to other parties (e.g. anyone on the Internet) then you do indeed get into the interesting case of "public performance." It's coming up a lot with ASPs. This does appear to be one of the things on RMS' mind that will be addressed somehow in GPL version 3. IMHO, there is no elegant way to handle this and I think RMS is going to have a hard time.

    A company contracts to write software for another firm. The copyright of the software is specified by contract to reside with the hiring firm. The hiring firm desires the software for internal use (perhaps a bank is hiring a software company to develop its transaction system). The software company is perfectly able to use GNU GPL'd source in this application, modify it, AND NOT RELEASE IT. There is never a release of the software since the copyright holder is a legal entity, no more so than if I modify software for my own use and never give it to anyone.

    There is nothing wrong with this scenario, and it should not generate outrage. The purpose of GPL is maximize the rights of users. In the your scenario, the user's rights are indeed maximized, since the bank has the source code.

    It is ok that the bank does not release the source code to anyone else, because there isn't anyone else being "held hostage" by their dependence on the binary.


    ---
  • So tommorow Linus could take the Linux kernel along with all the changes others have contributed to it and start selling it without releasing the source?

    If he has only been accepting patches for which the patch creator signed the copyright over to Linus, then yes, he can do that.

    If he's not the sole copyright owner, then he would have an extremely difficult time doing this, since it would require him to reach an agreement with a lot of different people who own the parts of the code. Or he would have to remove/replace their stuff, sorta like the BSD people did with AT&T's code.

    Isn't this the exact opposite to what the GPL is for?

    The only people that would be effected by such a decision on Linus' part, would be people who decided to purchase a non-free release of Linux. Yes, those purchasers would not get the benefits of GPL. So what? Having to think before you write a check isn't a new phenomenon.


    ---
  • I don't see what makes you say that the GPL is "not a contract". It's not just a "waiver of rights" on the part of the author, it's a list of rights and obligations for both the author and the user of the GPL'ed software.
    At least two things make the GPL not a contract (at least, not according to the US legal system's definition of "contract"):
    1. A contract requires an explicit offer and acceptance. For example, if you go to a restaurant and see "Hamburger, $10.00", and you tell the waiter, "I'll have a hamburger", you and the restaurant have entered into a contract; they offered a hamburger for ten bucks, and you accepted the offer. You don't have to accept the terms of the GPL -- or even read them -- in order to receive a GPLed program. But if you violate the terms of the GPL and then try to claim, "I didn't know this was GPLed software, I never read the LICENSE file", the judge can say, "Even if you didn't know it was GPLed, you should have known it was copyrighted, and you should have known that if you didn't have some kind of permission from the copyright-holder, you weren't allowed to distribute copies or derivative works at all. Guilty!"
    2. A contract requires an exchange. If I say, "I promise to give you $20 next week, on the condition that you spend $10 of it on a hamburger", and you say "OK", there is no contract between us, because you have not actually given me anything in exchange. The conditional waiver of rights in the GPL is like this. When the FSF says "if you write a work based on GCC, you must distribute it with a GPL-compatible license", it feels like you are giving something to the FSF by distributing your GCC derivative under the GPL instead of locking up the source and selling binaries for thousands of dollars a copy. However, from a legal point of view, it's the other way around: since the copyright holder has the right to control derivative works, the FSF is doing you a favor by letting you distribute your GCC derivative at all. Since you're not giving anything that the FSF doesn't have the legal right to take, there's no exchange and no contract.

    --
  • A contract has to have several elements in order to be a contract. These are (a) a 'meeting of the minds' or an agreement, (b) consideration (c) offer and acceptance and (d) mutuality of obligations.

    From the FindLaw Legal Dictionary [findlaw.com]
    Contract: an agreement between two or more parties that creates in each party a duty to do or not do something and a right to performance of the other's duty or a remedy for the breach of the other's duty.

    License: a grant by the holder of a copyright or patent to another of any of the rights embodied in the copyright or patent short of an assignment of all rights.

    A license is different from a contract. It is a grant of rights which dosn't need to be made for consideration. Implicit in a license is that the rights granted are rights reserved to to grantor.

    The GPL is a license and not a contract. There is no consideration, the rights granted are gratis even though they come with limitations.
  • It says right in the GPL, if you are distributing unmodified binaries from someone else in a noncommercial fashion, you don't have to do anything.
    So it's safe to give cousin in Yemen a copy of the software, and he can get the source himself.
  • I don't see why people are afraid of the GPL. It's a COPYRIGHT license. It uses copyrights, not patents. If you see a piece of GPLed code that you like, rewrite it, that'll make it yours.

    I can see a point where 95% of the software is GPLed, because it's so damned easy to write an application when you can borrow code. But that last 5%? That'll be by people who don't like the GPL, or who for some reason want or need closed source software.

    They'll still be able to write closed-source software, by not using any GPLed code. It's only a problem if they feel they have to use someone else's code.

    But, really, I don't care that some company can't copy GPLed code - wah... (I don't really care about them copying my GPLed code, I write (when not at work) silly fractal zoomers and filesystems for emulators... Not exactly big-buck stuff.)
  • In order to retain copyright over the program, you should request bug-fixers to assign their copyright to you.

    On the other hand, if it's more like a collaboration than accepting a bug-fix or two, then you probably shouldn't have the right to dual-license it-- imagine how many people would be pissed if Linus dual-licensed the Linux kernel. IIRC, Linus doesn't ask collaborators to assign their copyright to him, so he doesn't have the right to dual-license it.

    Then, of course, there's the grey bits in between.
  • And in the spirit of truly recursive acronyms (GNU -> GNU's Not Unix), they should have the answer to that be "Yes, there is a FAQ on the GPL, you can read it at [this link]". Of course that link would be a self-referential link...

  • by RovingSlug ( 26517 ) on Thursday May 24, 2001 @03:08AM (#201901)
    Q1. Can I use the source code in any way I like?
    A1. That's right.

    Q2. Can I hold you responsible if it doesn't do what I expect it to do?
    A2. Nope.

    Q3. Fair enough, thanks.
    A3. No problem.

    --------
    K.I.S.S.
  • by James Lanfear ( 34124 ) on Thursday May 24, 2001 @01:22AM (#201903)
    Multicians.org [multicians.org] lists Dynamic Linking as one of Multics' features [multicians.org]. A quick Google search turned up a number of pages referring to Multics having DLL-style shared libraries, and at least one claims that it was essentially nothing but shared libraries. Since Multics pre-dates Unix by ~4 years ('65 vs. '69), I think this counts.
  • So tommorow Linus could take the Linux kernel along with all the changes others have contributed to it and start selling it without releasing the source? Isn't this the exact opposite to what the GPL is for?

    Yep. But he can't take back any already-released source. Thus, an open fork could be immediately started. This is part of the reason for the restrictions on revoking individuals' licenses on already-distributed software; once the GPL is applied to a piece of code, that particular piece of code is open forever, even if all future revisions are kept closed. Nothing can stop someone from taking that last open piece of code and improving it forever.
  • by Platinum Dragon ( 34829 ) on Wednesday May 23, 2001 @09:25PM (#201905) Journal
    Question 1:
    Does the GPL allow me to sell copies of the program for money?

    Answer: Yes


    And anyone can do this; otherwise, the more commercially-oriented Linux distributors would be s-c-r-e-w-e-d. I can sell, say, GNU tar and some related utilities to my bud Roger for $10, with the source.

    Question 2:
    Does the GPL allow me to require that anyone who receives the software must pay me a fee and/or notify me?
    Answer: No


    In short, if I give a copy of GNU tar to Roger, the FSF can't go after Roger for money, especially if I made certain modifications to GNU tar that I didn't hand back to the FSF, but I did make available under the terms of the GPL should the FSF care enough to incorporate them on their own. Once again, the concept behind the GPL is to promote and enforce the availability of the code to users, forever. Allowing the copyright holder to run around to every user of the software, even those who received the software from a completely different source, would go a long way to closing code back up by attaching financial requirements to all users of the software, not to mention a bureaucratic nightmare for everyone involved.

    It is simply silly to allow people to sell software but prohibit them from trying to enforce payment for that software. However you look at it simply doesn't make sense.

    You're looking at this from a purely commercial perspective. A company may wish to sell a GPL'd piece of software they wrote, and include a value-add to encourage people to get the software from them - exclusive on-site tech support, fridge magnets, bonus copies of proprietary software, something, anything. The developer, individual or company, may wish to make some money where they can, but still make it possible for users to spread and improve the software. And again, remember that the GPL is written with the primary intent of keeping source code available at all times, not with helping create the next Cisco or Microsoft. Not everyone's driven purely by the desire to make a buck at any cost:)
  • "So even though the VC runtimes aren't "a major component of the operating system", because they are distributed seperately, according to this I can still use them. "

    When you bought VC you got the right to distribute these runtimes royalty free. It's up to as the copyright holder to dictate the terms of their use.

    "But if I register it with COM+ and run it in a seperate process, then it's OK?"

    A tougher call. I think the intent of the fork and exec was to pipe to other stand alone programs. RMS did not intend to hold you to the GPL if you did shell and executed a program and then capture the results. My take is that a COM object is not really a stand alone program and therefore might not fit under description. It's a close call though.

    As in most legal disputes intent plays a major role. The intent of the copyright holder and the intent of the supposed violator will be a huge factor when the case goes to court.
  • "You know why? Because if developers point out to their bosses that linking to GPL'd libraries in any way forces them to release their code under GPL, they'll stop using it. (see the FAQ) "

    Well that was the original intent of the GPL no?
    If you are not willing to release your code under the GPL don't go near it. Write your own code or use other code. I think most people who write GPLed software do so because they don't want companies to profit from their code.
  • There is nothing wrong with improving the wording of your contract as the legal and technological landscape changes. I would rather have this situation then to have a useless license that is obselete because someone invented a new technology.
  • I would think that it would depend on how tightly the two were integrated. Clearly the intent of the GPL is that if you use GPL software to build your product and you distribute it then you have to GPL your stuff. If you are building a COM object because you want to circumvent the license then a court might find against you. According to the FAQ it will be up to a judge to decide what constitutes extension and integration.
  • So you mean VC has a viral aspect of it too. It's impossible to create GPLed software using VC and quite possibly it's impossible to create GPLed software for windows.
  • are you sure that's true? It seems like it ought to be doable from my reading of the GPL. Do you have any links that talk about this?
  • Well it does not forbid them entirely and it seems to be dependent on the interface.
  • The GPL isn't about freedom. It's about forced openness, right in the FSF's own words.

    Freedom to live in peace => forced non-violence.

    Freedom to use, modify and distribute software => forced non-closedness.

    The only way you can ever guarantee some freedoms is by restricting other, hopefully more unreasonable, freedoms.
  • You dont even have to put it on an anonymous ftp site. Hell, if you distribute the source code on the cds that you sell you dont even have to supply an alternative way to distribute the source. I see absolutely no problem with selling GPL software on CD. Sure, some people will put your software on an anonymous ftp site and allow downloads, but there are plenty more people who will pay for the CD.
  • by QuantumG ( 50515 ) <qg@biodome.org> on Wednesday May 23, 2001 @10:14PM (#201926) Homepage Journal
    Hmm. I just had a brainstorm. You know shareware, or should I say nagware. You get a program, it constantly bugs you to register (ie, pay money). It bugs you day and night but you just ignore it. A few people actually get sick of this and pay the money to make it go away. I hear some people even feel guilty about this little box popping up and pay to make it go away. So if that is a valid business model (and I'm not saying it is) then what's wrong with doing the same thing with Free Software. You cant say "you have used this product for 30 days, you must now pay me" but you can say "you are getting a lot of use out of this product, please fork me cash" .. you are not demanding money, you're just requesting it. Sure, people are gunna get pissed off and go and grab the source code and take out the annoying nag box, but so what? Isn't it developers that we specifically want to grab the source? If you can fix the source so the nag box doesn't come up then surely you can fix a few bugs, implement some new features, whatever, and contribute that back to the project. Developers have paid for the software with their contribution of code, and end users (well, at least some of them) have contributed with cash. Isn't that the best of both worlds?
  • by QuantumG ( 50515 ) <qg@biodome.org> on Wednesday May 23, 2001 @11:42PM (#201927) Homepage Journal
    While we're at it, let's toss out the legal system and switch over to the ten commandments. Ok......
    1. This is your license, you shall have no other licenses before it.
    2. You shall not make binaries without accompanying it with source.
    3. Do not take the name of the GPL unless you really mean it.
    4. Remember the source and value it above all things.
    5. Honor your source and your freedom to modify it.
    6. Do not close the source.
    7. Do not link with unfree source.
    8. Do not rip code without due credit.
    9. Do not break the license or try to weasel out of it.
    10. Respect other people's licenses as they respect yours.

  • Unfortunately, the GPL also has the crappy restriction that I (as the non-copyright holder) can't add my closed source plugin to it.

    This would seem to me to be completely valid thing to do: Say I write a great plugin for the GIMP that requires a slightly enhanced pluging API. I release my changes to the source code (people can merge or fork), and then allow people to buy the plugin if they want it. Others can recreate my plugin in an open manner, if they care enough, and everyone can use the better API.

    However, the GPL would seem to make it nigh impossible to get a third-party plugin market started for the GIMP in the same way that Bryce et. al. sell plugins for Photoshop.

    I see how you could argue that closed software should not be allowed to depend on open, as this would only enable closed source people to piggy-back on open software, but I just can't understand the converse situation.

    What is the GIMP and open source in general gaining from not having commercial plugins? Absolutely nothing. Instead, professionals are locked into using closed source. Great! good one FSF! That worked really well, now didn't it?

    This just seems like a stupid argument, so I'm probably missing something.

    What?
  • http://www.gnu.org/copyleft/gpl-faq.html#GPLAndPlu gins
  • Most of the C runtime DLLs are distributed with the OS (with the exception of the C++ STL stuff on Windows 95...grrr...but that's just because it wasn't around back then.).


    Do a "dir c:\winnt\system32\MSV*.*" on a fresh install and you'll see them there.


    Since they ship with the OS, obviously Microsoft considers them an OS component.

  • The way they have worked in the past is to include the dlls in every damn application and/or service pack they release, and to keep them backward compatible enough (yeah, right) to, in theory, allow programs to work with older versions.


    Sometimes they introduce a new one, like the C++ STL runtime that was introduced after Win95. In such cases, they are so aggressive at getting it out in other applications that it is near impossible to find a machine without it. Installing nearly any Microsoft product will put it there.

  • by psychonaut ( 65759 ) on Wednesday May 23, 2001 @09:25PM (#201936)

    From the FAQ:

    Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the FSF? If I hold copyright on a GPL'ed program, should I do this, too? If so, how?

    Our lawyers have told us that to be in the best position to enforce the GPL in court against violators, we should keep the copyright status of the program as simple as possible. We do this by asking each contributor to either assign the copyright on his contribution to the FSF, or disclaim copyright on it and thus put it in the public domain.

    They seem to be missing an important point here. If everyone's contribution is placed in the public domain, then the GPL licence cannot be enforced. Anybody who wanted to could take the public domain code and incorporate it into their proprietary system without legal repercussions. What they are suggesting works only for relatively tiny public-domain contributions to a relatively large GPLed project.


    Regards,

  • I've always thought that dating Unix back to "the 60s", like you often hear, is ridiculous.

    As you can read here [bell-labs.com], they were just designing Unix in the Summer of 1969. The first programs were written using an Assembler on a GECOS system in 1970. C didn't exist, even as a concept, until 1972. Pipes came along in 1972, also. Unix was fairly unrecognizable until 1972-1974 or so.

    Dating Unix "back to the 1960s" is like dating heavier-than-air flight to Michaelangelo.

    But, you're right, the issue is should Stallman have anticipated this problem in the early 80's. And the answer is a resounding yes.

    Multics had Shared libraries in the mid 60s. The DEC operating system that Stallman first developed Emacs on (TOPS-10) had them in the mid 70s. They were already old-hat by the 80's, regardless of when you first learned of them.

  • I'm not so sure that COM objects fall into the category of a dynamic library. Granted, the code lives in DLL's, but it is a wholly individual package. The object could be used from almost any Windows scripting language and almost any Windows compiled language. Its execution is therefore independent, more like the allowed fork & exec, than a function call.

    Furthermore, what about SOAP calls? If a program used a remote SOAP method from an object that may have been placed under GPL, it is unreasonable to say that the program using the remote object must be GPL as well. Again, it fits the fork & exec model more than a function call in to a dynamically loaded library.
  • RE: I want to distribute binaries of a GPL-covered program without accompanying sources. Instead of sending source code later to users who order it, can I just put the source on an Internet server?

    I assume that this doesn't apply to the case where I put the binaries & source on the Internet, Jane Doe downloads it off of the internet, gives it to her brother John who lives at the north pole without internet access. It's Jane who has the responsibility to get John the source, not me, right?

    Basically, I believe it means that you should probably be prepared to distribute source every way you distribute binaries. If you ship floppies full of binaries in the mail, expect to ship floppies full of source. If you don't, don't worry about it.

    This answer should be clarified, I think.
  • Yeah, as if cars had seatbelts back in the 1940s.

    It's a quote from "The Matrix" - DUH!.

    BTW, if you're going to go offtopic and flamey at someone's sig, don't do it at score 2.

    OT was intended to show Off topic (too bad the moderators were too dumb to catch that one. Oh well....). And I post at 2 because that's where slashcode puts me, based on my Karma, tho as an AC you probably wouldn't know about that.

    --
  • Why does the FSF require that contributors to FSF-copyrighted programs assign copyright to the FSF?

    If I hold copyright on a GPL'ed program, should I do this, too? If so, how? Our lawyers have told us that to be in the best position to enforce the GPL in court against violators, we should keep the copyright status of the program as simple as possible. We do this by asking each contributor to either assign the copyright on his contribution to the FSF, or disclaim copyright on it and thus put it in the public domain.

    So, what the FSF is saying is that if you contribute to our software, you give up your rights to whatever you write. This does not seem in line with Free Software. In fact, in the FAQ it states that you should get credit for what you have written and include a copyright notice.

    The closer I read this FAQ, the more I think about releasing my software under a different license.

    ÕÕ

  • From the FAQ:

    Consider this situation:
    X releases V1 of a project under the GPL.
    Y contributes to the development of V2 with changes and new code based on V1.
    X wants to switch to a non-GPL license.

    Does X need Y's permission?
    Yes. Y was required to release its version under the GNU GPL, as a consequence of basing it on X's version V1. Nothing required Y to agree to any other license for its code. Therefore, X must get Y's permission before releasing the code under another license.

    Of course, if X is the Free Software Foundation, they wouldn't ask for Y's permission. Instead they would request that Y give up all rights they have to the software they wrote.

    Is this a case of "Do as I say, not as I do"?

    ÕÕ

  • When the GPL was being written, nobody was using DLLs or object brokers and "linking" was much more straightforward than it is today. This must be better addressed in a future version of the GPL.

    It won't matter.

    These things are all governed by whether the work is or is not a derivative work in the copyright sense, and it does not matter in the slightest what the GPL or RMS' lawyers say about it.

    Recall, the GPL does not extend copyrights by engaging the user in a contract before use, as would be the case in an EULA.

    Instead, the GPL removes some rights that are held intrinsically by the author of copyright. In particular, it allows redistribution as long as the source is redistributed and GPLd, and it allows redistribution of derivatives as long as the derivative is GPLd.

    But, if it is determined than dynamic linking, or component plug-ins, are NOT derivative works, then the GPL library or component architecture is irrelevant wrt the licensing of a calling program or plug-in.

    Copyright protects expression, not ideas, methods, or function. To protect those, you need patent level of protection, or you need to supercede copyright by entering a contract with the user (such as an EULA or NDA). The GPL is not a contract - it is a specific waiver of some rights normally held by authors of copyright.

    To re-iterate - the issue is what constitutes a derivative in computer systems in the copyright sense, and this sets bounds on what the GPL can cover.
  • I have a question. If I am the copyright holder of a program I created, and I accept bug fixes to this program from other people, can I release this program under a dual license later? Do I still own the whole copyright after accepting bug fixes?

    Short answer: no.

    The long answer is given in the FAQ: http://www.gnu.org/copyleft/gpl-faq.html#Consider [gnu.org].

    (I take it that you released the first version under the GPL.)

  • Now, I'm certainly no expert on any of the varieties listed, but perhaps there is one that allows the author to collect on profitable usage and distribution of his/her work.

    Not sure about that. Looking at the Open Souce Definition [opensource.org] you find just at the beginning:

    1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

    Rationale: By constraining the license to require free redistribution, we eliminate the temptation to throw way many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect.
    So, with _any_ OSI-approved licence, you can certainly sell your program, but you cannot prevent others from doing the same, and you cannot force these others to give you part of what they get by selling your software.

    You can _ask_ for money, however, hoping that enough distributors and final users consider honorable and/or convenient feed you with some cash so that you can continue work on your program.
    The various 'foundations' behind large software suites/programs get money in this way, I think. OTOH Eazel just tried it at the end of its history and failed (possibly because they did not have an established product yet?).

  • Not really...

    --- ACT ONE ---
    Here I am, a developer with free time to devote to open source. Ah, what a good DLL you have, and it is GPL, too. Pity the GUI is crap. Let's start a new open-source project for a better GUI, to use your nice DLL.
    --- ACT TWO ---
    Uhm, if would be nice to change this interface in the DLL, to make it work better with my open-source GUI. What ? This would screw the integration with your own proprietary GUI? Well, that is your problem, not mine. Others open source developers are with me, this is the RIGHT THING(tm) to do. Ah, your company developers will not support this? OK, let's fork the project right now. Good bye!

    The only way to control where a piece of free software goes is by owning the majority of the work gone into it. But then, this is just fair.

  • Well, having something on the market , even without any chance of other people learning about inner-workings of this product, is already a contribution for you and millions of other people are able to enjoy benefits of using it.

    Pointing out that the public gets something out of the deal is not the same thing as proving that the deal is fair, or the deal that was agreed to. In particular, we the public are not getting from the deal the eventual return to the public intellectual commons of more than was taken from it. That is not, as you seem to suggest, an element of the equation which we should just shrug and forget about, since companies seem disinclined to honor it; it is highly likely that had that provision not been part of the patent and copyright laws the Founding Fathers instituted, that the US would have had no intellectual property laws.

    Unfortunately, it so often happens that what was once accepted grudgingly, as a necessary evil, is with the passage of time mistaken for the point of the enterprise. The notion that it is still allowable for companies to fence off the intellectual commons because at least we have the opportunity to buy it back is ... let's just call it an exercise in Advanced Point-Missing.

    Why this suspicion and negativity about private enterprise?

    Because experience has so often justified it. Demanding proof that private enterprise has abused the law and the public for its own benefit is like proving that you're surrounded by air: if you can't notice it for yourself, I'm not sure what I could possibly do to make it clearer.

    Remember, so far all other attempts at implementing social and economical system different than capitalism failed rather terribly (or in this context, they all turned out to be much less effective at stimulating progress.)

    Funny, that's exactly what I don't remember.

  • by Antaeus Feldspar ( 118374 ) on Wednesday May 23, 2001 @09:49PM (#201961) Homepage
    It is simply silly to allow people to sell software but prohibit them from trying to enforce payment for that software. However you look at it simply doesn't make sense.

    Yes, it does, but it doesn't if you can't let go of the cathedral model.

    What you're implying is that an honor system, where people take free software and understand their obligations to repay with money, is doomed to failure.

    If this is so, then what chance does the other honor system, where enterprises make improvements to the intellectual commons but then contribute back to it, have? At least our culture is such that people thoroughly understand the idea that goods and services are exchanged for money, and that an obligation exists whether or not it's enforced.

    But between ridiculously incompetent and venal administration of the patent system and constant overhaul of the copyright system at the direction of moneyed interests, the companies are not only successfully crippling enforcement of their obligation, they're managing to sell the Big Lie that such an obligation never existed.

    And that is why the GPL is necessary in the first place: if you claim individual consumers cannot be trusted under an honor system to pay a price they know they owe, how can conglomerates trying to steal a march on their competitors be trusted with a more abstract obligation to contribute to the intellectual commons?

  • But it links to a discussion by Richard Stallman, where it's "Library GPL".

    From that discussion:

    Since the name "Library GPL" conveys the wrong idea about this question, we are planning to change the name to "Lesser GPL."

  • This raises an interesting question: Can the owner/developer/hacker of an original code that he previously released under normal copyright, change that to GPL and/or release an update to that same code/functionality under GPL (for whatever reason)?

    Wouldn't that pull the rug out of a few previous customers, who paid for version 1.0 but now can get 2.0 for, er, free??

    Hmmm, my head hurts, now, great...

  • If I want to go ahead and design a really cool lawn mower and publish it on the web, or put circulars in people's mailboxen, then I certainly do have that right, don't you agree?

    I disagree that it would not be in the companies' best interest to hire the guy who wrote the neat sorting algorithm. If that were true guys like Torvalds would be penniless.

    I actually believe that we need a new paradigm here. One that doesn't pre-suppose that corporations are the only ones who control where the money flows; that programmers Must get hired by big sw firms as a preliminary first step in their career. You are defending the 'rights' of corporations to make money. I am saying that that isn't a right. Developers could choose to do just what Lawnmower Man did and give away their stuff for free, and there had better be no law to prevent that, because it would be antithetical to the concept of a free society and a laissez-faire government. Which I had previously supposed Conservatives such as yourself fawned over so much. Er, not the freedom part but the lack of regulations part.
  • by Bluesee ( 173416 ) <michaelpatrickkenny@NOsPam.yahoo.com> on Wednesday May 23, 2001 @10:18PM (#201971)
    It's interesting to see that, as more people become aware of the concept of GPL, and the difference between LGPL and GPL, how they are startled by the simplicity and the power of it. I'm not saying you just figured it out, but I sure remember when I did.

    Now, you immediately take a position that is the polar opposite of mine, and I suspect that it's because I am not a programmer dependent on software to make a living. Taken from your side, and given the fact that any change that threatens the status quo is a bit frightening, the GPL could be perceived as a threat. It represents a potential sea-change in the software industry. It says that sw will not be dominated, as it has in the past, by large (er, monolithic), pyramidal corporations where wealth funnels to the top and guys like yourself would be guaranteed a nice salary with perks and maybe a stock option or two, but certainly no glory.

    It points to a genuine New Economy, albeit intrinsically in the fabric of a Free society all along, that values software solely on the basis of its utility and merit, and not on the proprietary nature of er, IP (cringe). It de-commodifies software and commodifies it at the same time: the actual text of a program is now free, but the person who developed that killer-app is now worth more; the software is now commodified, but the coin is not gold, it is more and better software.

    Who knows where this would lead? But it should be an attractive alternative to all programmers who are willing to assume the risks involved with such an undertaking (lawsuits seem to be one crag in the ocean, but that should disappear if the courts support the letter of the GPL).

    Okay, let me address your single statement...

    It just makes it impossible to make money by making software.

    By what I just said, I think I explained how that can happen. The difference is that the coders and only the coders stand to gain. Shareholders in xyz.com must figure out a way to merely package and support thier product. I admit that the temptation to want to keep proprietary the product you just linked to a GPL program is strong when there is a direct bottom line impact, but you need to know that when your company enters into a bargain with the GPL devil.

    Muahahahahaha!
  • But this post is just FUD. Freedom is a funny thing. Ever hear the phrase "your right to swing your fist ends at the tip of my nose"? Maximizing liberty means restraining certain actions, i.e., those which take away liberty. Otherwise we have nothing but the rule of the strongest/most monopolistic. You could say "the GPL is coercing me to be free" much like you could say "these murder statutes inhibit my god-given right to kill people", but that's just silly.

    Bryguy
  • So tell me this: what does LGPL stand for? The FAQ [gnu.org] says

    "... there are a few programs [...] that use looser licenses, such as the Lesser GPL."

    But it links to a discussion [gnu.org] by Richard Stallman, where it's "Library GPL".

    Does this matter? Perhaps not; geekspeak, with its morass of TLAs, is a language unto itself. All we need is an emergency vowel drop, and it'll be ready for verbal use ...

  • Well, I think it's important to also consider the other Open Source Licenses [opensource.org] that there are out there.

    Now, I'm certainly no expert on any of the varieties listed, but perhaps there is one that allows the author to collect on profitable usage and distribution of his/her work.

    I know that if I wrote some significant piece of Linux software I would very likely wish to release the source in the public domain, however I would like to also share in the profit if someone else is making money from my work.

    However, looking at it from another angle (the one the GNU people likely look at it from,) I would submit that while not being able to enforce payment on a product that may be sold may not be in the best interest of profitable commerce, it is in the best interest of adding value to the product for a target audience, in this case Hackers. The goal of GNU-Licensed software is not to produce profit, but to produce further development of a free *NIX-like OS and applications for it. The reason you can sell GNU software (provided it includes source code) without breaching the license is simply that the GNU-License developers don't mind if you make a few bucks as long as you're supporting their couse, namely distribution GNU source code.



    An example of why open source is good (even if it's not free!): I happen to like Outlook Express quite a bit. Being a Microsoft product, it is most certainly closed source. However it is also freely distributed, despite Microsoft's typical draconian EUA's and legal stuff like that.

    Essentially it's freeware. Nontheless, I like it enough that I would pay for it... provided I could fix those GD-*#%! bugs in the IMAP code and perhaps add some features (and subtract others). As a developer, I am sure I would be perfectly capable of affecting those desired changes... and I would prefer to not have to wait for microsoft to do it for me... What I'm saying is that opening the source code adds something very valuable to the product. If it wasn't already available for free, I'd gladly pay for a copy of the source code if it allowed me to modify the program for my own personal use. Even better would be if I could even sell my enhanced version and simply pay microsoft a small royalty. Open source can certainly be profitable, but profit is not the intention of the GPL. That is left to other Open Source Licenses.



    I intended to put in my $.02 but think I just overpaid!
  • I have written an application that links with many different components, that have different licenses. I am very confused as to what licensing requirments are placed on my program. Can you please tell me what licenses I may use?
    -
    To answer this question, we would need to see a list of each component that your program uses, the license of that component, and a brief (a few sentences for each should suffice) describing how your library uses that component.


    This is just silly. For a lot of these little programs peoplem ay as well just post their source and say "have at it!".
    ---
  • Although that quote is on the page I linked, here is a more direct link [gnu.org].

    Ryan T. Sammartino

  • by ryants ( 310088 ) on Wednesday May 23, 2001 @10:13PM (#202004)
    If everyone's contribution is placed in the public domain, then the GPL licence cannot be enforced.

    Indeed. In fact, that very thing is said right here [gnu.org]:

    The simplest way to make a program free is to put it in the public domain. Then people who get it from sharers can share it with others. But this also allows bad citizens to do what they like to do: sell binary-only versions under typical don't-share-with-your-neighbor licenses.
    Strange.. almost like they didn't read their own philosophy pages.

    Ryan T. Sammartino

  • No, because the FSF are doing exactly what they suggest, ie getting the permission of contributors to FSF code before making changes to the licence. In this case, the permission part is done by making a condition of having contributions be a part of the "official" FSF release have their copyrights transfered over to the FSF.

    ...which is probably the only viable way of making sure the licence control remains with the maintainer of the code for any large project, as it should be.

    Also be aware that there is a different between FSF/GNU code and GPL'd code. If you release something under the GPL, it is your code. You may do with it whatever you want, including change the licence. You can choose whether or not to accept modifications to your officially maintained version of the code, and if so what restrictions to place on such modifications - ie should the author of the modifications give up their copyrights, keep in touch with you, etc, etc.

    If a contributor doesn't want to transfer the copyright to you, they have the right, because the GPL allows it, to release their own version of your program with their modifications. They don't have to submit the changes to you.

    For a real life example of this happening, which involves the FSF and GNU software, see the history of XEmacs (formerly Lucid Emacs.) The original program, GNU Emacs, was copyrighted by the FSF, and Stallman wanted to make sure all modifications were also copyrighted by the FSF to make it easier to protect the copyrights of the entire package. The authors of the modifications that begat Lucid Emacs didn't want to give up those rights, so they released, and are maintaining, their own version. That version is GPL protected, and if the FSF were, erm, bought by Microsoft-AOL-Time-Warner-Fox-Worldcom tomorrow and told that no new versions of EMACS should be released under the GPL, it wouldn't affect XEmacs in the slightest.

    (Which is somewhat ironic as I know both parties in the XEmacs/GNU Emacs saga are unhappy about the situation, but it does have the side effect of making it much more difficult for up-to-date versions of EMACS to ever be removed from free circulation.)
    --

  • by Sycraft-fu ( 314770 ) on Thursday May 24, 2001 @02:11AM (#202006)
    Here's the thing I think many /.ers are missing: When you get a compiler the liscence gives you explicit rights to make use of the inclided libraries in your programs. For example, I have a copy of Inprise C-Builder and they have 2 different liscences for the different DLLs. Some of the DLLs, they permit unlimited use of. You may distribute them with your programs with no royalites. However some DLLs, like many of the database DLLs you may NOT distribute freely. The idea is that you're using the C-builder to write a database interface taht is only going to run on the server. So you can send off your executable code, but you can't pack the DLLs with it. If someone wants to use it, they'll need to install C-builder (or maybe just Interdev) on the box they intend it for. They also have some other restrictions on what you can and can't do. For example, most if not all of the compiler libraries also come with their full source code, incase you want to change them around. However you may NOT distribute the source, even for the DLLs that you can distribute.

    This is no different than most other libraries. For example, Microsoft gives you permission to use and distribute the DirectX libraries without royalties. However some companies have DLL/ActiveX controls that they want royalties for. You have to pay a one time fee, a per copy sold, or both. So what it all boils down to is that the copyright holder (the programmer) has the right to make just about any rules they like for their program. The only right you have by default is to use all the code/DLLs for your personal use. If they grant you additional right, the so be it, however if restrictions come with those you have to take them too.

    So, how does this apply to the GPL situation here? Well basically if you decide to use GPL'd code in your program, you need to release the code to your program. The reason is, of course, you do not have permission to distribute the program otherwise. If you distribute the program without distrubiting the source, you've violated teh GPL. Since you've done that you now have nothing that grants you the right to distribute the software, and you're violating copyright law.

    So, yes this does mean that Microsoft could decide to charge ryaloties for any and all programs made with Visual C++. However if they did, you'd jsut see everyone jump ship to an alternate compiler like CBuilder.

    Now, of course this is just my take on thing, the courts may decide differently.

  • I don't understand why the GPL itself can't be more specific. The FAQ already lists some concrete cases where the GPL applies and doesn't apply to a program that uses GPL'ed code. Why can't a number of those explicit cases be defined in the GPL itself? For concreteness, the cases could be defined in terms of GNU/Linux software terminology with the additional clause "or analogous mechanisms on other operating systems or platforms". Static linking, dynamic linking, dynamic loading, invocation as a standalone program, and invocation through a system like CORBA could all be clarified that way.

    I can only think that the FSF likes to be a bit vague about what can and cannot be done with GPL'ed software. But I think that makes the GPL less useful than it could be: authors placing their software under the GPL deserve the clearest license possible.

  • They chose the former, making the GPL nearly meaningless, rather than choosing the latter, and scaring off everybody even thinking of touching GPL'd software. Now it's just a matter of who gets better lawyers and the quirks of the judge.

    If that is the intent, it would represent both bad faith and bad judgement. If two parties enter into a contract in good faith, they should aim to clarify each other's rights and obligations. And except perhaps for some clueless companies, anybody with legal counsel will get the advice that if it isn't clearly permitted by the license, they should not do it. That is, in my opinion, also the ethically correct position.

    I hope that you are wrong and that the FSF merely hasn't gotten around to incorporating these clarifications into the next version of the GPL. Being deliberately vague would, I think, undermine their ethical position and be quite harmful to the GNU project.

  • It won't matter. These things are all governed by whether the work is or is not a derivative work in the copyright sense, and it does not matter in the slightest what the GPL or RMS' lawyers say about it. [...] Recall, the GPL does not extend copyrights by engaging the user in a contract before use, as would be the case in an EULA.

    I don't see what makes you say that the GPL is "not a contract". It's not just a "waiver of rights" on the part of the author, it's a list of rights and obligations for both the author and the user of the GPL'ed software.

    As far as I can tell, the GPL is a contract, no different from the MS EULA, shrink-wrap, or click-through agreements. Recent legislation has, in fact, strengthened these kinds of contracts. And as a contract, it can require you to do certain things unrelated to "derived software", like place some of your software under the GPL. Many other software licenses, in fact, make claims on something you have that's definitely not a derivative work: your money.

  • The GPL is not about gaining some consideration for use, but denying a certain use to a certain group.

    Of course, the GPL is about gaining consideration: it's your potential contributions for your ability to use the software. That's an equitable trade, and it isn't denying you anything. If you don't like it, don't enter into the contract.

    They have no willingness to negotiate, and despite offering it to proprietary software developers, they deliberately prohibit the use it's wanted for.

    It's not offered to "proprietary software developers". And, as you should have learned as a child, not all your wants are met by the world. Other people have wants, too.

    By traditional contract standards, this is not at all reasonable.

    By your reasoning, I should be able to copy Microsoft Windows freely and widely. After all, their EULA is keeping me from doing what I want with it, and Microsoft won't negotiate their EULA with me.

  • What the FSF really wants is to decide on a case by case basis what uses are and aren't good for promoting Free Software. This is impossible.

    If GPL'd software can't be used on a proprietary OS, we lose a lot of bootstrapping potential. Hmm... we'd put some a clause in to allow that.

    If GPL'd software can't be distributed or stored alongside proprietary Oops! Put in a clause for it!

    If the GPL makes any claim on the output of GPL'd software, only full-fledged FSF fanatics will use it. We'd better make sure not to do that.

    However, if you allow your software to be modified freely to take input and give output in any format, distributed freely with proprietary software, and run on proprietary systems, you allow it to be incorporated into proprietary systems. Any attempt to prohibit this can only prohibit certain direct methods, unless you want to either cripple it for end-users or open up the "intent" can of worms and make any case a chess game between lawyers (if it doesn't invalidate the contract altogether).

    So they can either have a license with proprietary incorporation loopholes, or they can have a license with "legitimate use" litigation loopholes. They chose the former, making the GPL nearly meaningless, rather than choosing the latter, and scaring off everybody even thinking of touching GPL'd software. Now it's just a matter of who gets better lawyers and the quirks of the judge.

    I've never believed that the GPL would survive a direct court challenge. I certainly don't think it'll be used successfully to sue someone who segregates their proprietary and GPL'd source, though anything is possible in court.
    --
  • So we recommend that you approach them when the program is only half-done, saying, "If you will agree to releasing this as free software, I will finish it." Don't think of this as a bluff. To prevail, you must have the courage to say, "My program will have liberty, or never be born."

    To release a non-free program is always ethically tainted,

    I'd like to modify GPL-covered programs and link them with the portability libraries from Money Guzzler Inc. [...]

    A major goal of the GPL is to build up the Free World [...]

    In general, proprietary software projects hinder [...] the cause of freedom.

    Yeah, reasonable and friendly, 100% positive information using neutral language.

    This is the same-old I Can't Believe It's Not Communism bullshit, with weighted words and little digs at every opportunity, and always The Cause. This guy makes us all look like fruitcakes.
    --
  • "good faith" and "GPL" don't even belong on the same page, and their "ethical position" is that selling people useful software is evil. Not inefficient, not annoying, not less than ideal, but baby-eating evil.

    The GPL is not about gaining some consideration for use, but denying a certain use to a certain group. It is designed purely as a deliberate attack on proprietary software developers.

    They have no willingness to negotiate, and despite offering it to proprietary software developers, they deliberately prohibit the use it's wanted for.

    By traditional contract standards, this is not at all reasonable.

    It's not an offer of contract in good faith, it's an attempt to place something essentially in the public domain, except restricted from the use of people and businesses they are politically opposed to. The other party can hardly be blamed for not treating it as a sincere attempt at a mutually-agreeable arrangement.
    --
  • This doesn't make sense. If you don't want to GPL your software, don't use someone else's GPLed software. How is that an attack?

    The GNU project, which the GPL was written for, is an attempt to clone existing proprietary systems. Not to produce something new, but to legally create freely redistributable copies of existing works which the creators restrict to secure a profit to fund their development efforts. The only restriction on these copies is that the proprietary developers may not incorporate them into their work.

    This is an attack. A deliberate, carefully designed attack.

    So is the propaganda campaign characterizing proprietary development as evil and urging other programmers to participate in such cloning projects.
    --
  • You must distribute source code with binaries to this program.

    If someone spends 1 day downloading the binaries for your linux distro, but stops the download before the 2-day download of the sources is done, you have to hunt him down and forcibly copy the source code onto his computer.

    All software distributed with this program must be licensed under this license.

    Yeah, no putting any non-GPL software on the same internet!

    You may not restrict the distribution of this software in any other way.

    So you may not restrict others from taking and distributing your hard-drive containing this software, however, any derivative works of this software may be restricted at will.

    While we're at it, let's toss out the legal system and switch over to the ten commandments.
    --
  • I have a question. If I am the copyright holder of a program I created, and I accept bug fixes to this program from other people, can I release this program under a dual license later? Do I still own the whole copyright after accepting bug fixes?
  • Here's an issue that I've been mulling over....

    What is "release" of the software? The new FAQ collection contains the following quote:
    *begin quote*

    Does the GPL required that source code of modified versions be posted to the public? The GPL does not require you to release the modified program. You are free to make modifications and use them privately, without ever releasing them. But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the users, under the GPL. Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

    *end quote*
    Now then. Here is what I can see as a reasonable definition of "release".

    When the entity holding the copyright on the derivative work makes the derivative work available to an entity or entities not holding the copyright.

    However, this has implications that are not clear.

    For instance, the copyright holder may be an institution utilizing the derivative work internally (think any GPL derived tools used by a major corporation, developed by that corporation and not released to any other entity in any form).

    That scenario isn't terribly frightening, but I guarantee that it goes against the spirit of community involvement. Just suppose the outrage here on /. if MS snarfed up some of the GCC code, and slammed it together with some Beowulf supporting software, modified the mess to make it taste better and started running Windows XP compile farms on it.

    Now imagine a second possibility.

    A company contracts to write software for another firm. The copyright of the software is specified by contract to reside with the hiring firm. The hiring firm desires the software for internal use (perhaps a bank is hiring a software company to develop its transaction system). The software company is perfectly able to use GNU GPL'd source in this application, modify it, AND NOT RELEASE IT. There is never a release of the software since the copyright holder is a legal entity, no more so than if I modify software for my own use and never give it to anyone.

    this by the way provides a possible model for incorporating use of GPL'd software into business.

    I know this will be a controversial view, it goes against the spirit of the GNU GPL; however, it appears to be supported by the wording of the license....


    Nietzsche on Diku:
    sn; at god ba g
    :Backstab >KILLS< god.
  • "good faith" and "GPL" don't even belong on the same page, and their "ethical position" is that selling people useful software is evil. Not inefficient, not annoying, not less than ideal, but baby-eating evil.

    Their position is that selling people software without giving them access to the source code is unethical.

    It is designed purely as a deliberate attack on proprietary software developers.

    This doesn't make sense. If you don't want to GPL your software, don't use someone else's GPLed software. How is that an attack?


    Failure is its own reward.

  • The GPL is not about gaining some consideration for use, but denying a certain use to a certain group. It is designed purely as a deliberate attack on proprietary software developers.

    An attack on developers? I'd laugh in your general direction, but that would be redundant. How can anything that is entirely opt-in be construed as an attack? Don't like the license? Write your own code. Don't like the philosophy of the FSF? Use a different license. No one here is trying to ram RMS doctrine down your throat so stop trying to ram Microsoft's down mine.

    They have no willingness to negotiate, and despite offering it to proprietary software developers, they deliberately prohibit the use it's wanted for.

    I hate to point this out, but no one's forcing proprietary software developers to use code licensed under the GPL. The contract isn't intended to be reasonable and why should it be? Remember, just because developers of GPLed software don't want to hand over all rights to a company doesn't mean they're "bargaining" in bad faith.

    By traditional contract standards, this is not at all reasonable.

    By traditional contract standards, providing services without payment is generally considered rare. Any company attempting to enforce such a contract would probably be seen as unreasonable. Why is this case any different?

  • It is a purely academic distinction.

    True, but many of us (including RMS, myself, and a few hundred thousand other nerds out there) have built quite a structure on such distinctions. It's what technocrates do; or at least, it's what I do: In a very real sense, I pick nits for a living.

    Honestly, people simply DON"T pay for GPLed software.

    Again true, though they do pay for handy CDs, and for customization, and troubleshooting, and so forth. The key is that the FSF doesn't object to us making money aiding the spread of GPLed software, but doesn't want anyone to profit by restricting its spread.

    -- MarkusQ

  • by MarkusQ ( 450076 ) on Wednesday May 23, 2001 @09:18PM (#202053) Journal
    It's not quite as silly as it may sound. You may say

    "I will send you a copy of program X for N units of currency;"

    you may not say

    "Hey, I see you got a copy of program X from somewhere--you now owe me N units of currency."

    -- MarkusQ

  • by MarkusQ ( 450076 ) on Wednesday May 23, 2001 @09:53PM (#202054) Journal
    Hardly. Open Source is a very savvy capitalistic move in a chess game between the centralists (e.g. Microsoft) and the individualists (John Galt, RMS, and a lot of /.); the net effect of this move is to forestall the collective from locking us out of our chosen profession. Both sides are playing to win, just like all good capitalists. They were willing to risk our stake to assure their gain. Rather than whining like marxists, we countered with an offer to put their stakes at risk to protect our livelihoods.

    Very few programers make mounds of cash selling software. But we do make a nice living in a world where there is lots of source code. Open Source tilts the scales in our favour.

    Sounds a heck of a lot like enlightened self-interest to me!

    --MarkusQ

  • The GPL and BSD style licenses represent to basic differences in thought. Mr. Stallman and those who support the GPL are trying to make a social change. The other side of the coin, the BSD style licenses, are simply trying to provide software that people will use. Generally both sides code for the love of coding, it's just the GPL supports want an additional end result beyond that (social change). This not a bad thing, it just produces variety.

    I personally subscribe more to the BSD style of licenses then the GPL. I could care less about social change (hey I'm a programmer), but I do want people to use and improve my code. I generally avoid using any GPLed code in my own projects because I do not want to have to release code under the GPL.

    That being said, to each his own.

  • This is an interesting idea, but I sure hope it never happens. It just doesn't seem to fit with the spirit of free software.

    And I refuse, (when humanly possible) to use nagware/shareware. Dealing with popup boxes and "shareware delays" just plain sucks. If your software nags users then it sucks and people aren't going to use it or they'll just modify it and re-release it.

  • by Obelisk1010 ( 451553 ) on Wednesday May 23, 2001 @11:02PM (#202057)
    So the distinction comes down to which process the GPL'd componant is run. This distinction isn't a grand as it once was... in fact it's a throw-away architectural issue in many cases. It would be very easy to argue that such a distinction is moot [COM+/shared memory]. The key distinction becoming the separation of the code into distinct files.

    I'd bet against the FSF on this issue if it actually gets to court.

    And, I'll bet the judge's head will explode when the experts put up block memory diagrams to 'illustrate' the differences.

One man's constant is another man's variable. -- A.J. Perlis

Working...