Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

Preview of GPL V3, Part 2 127

Meltr writes "NewsForge.com has published Part 2 of their GPL V3 preview. It clarifies Part 1, mentions the possibility of GPL V2.1, and discusses the system library exception and the issue of patents." We had covered their initial "sneak preview" a month ago.
This discussion has been archived. No new comments can be posted.

NewsForge Preview of GPL V3, Part 2

Comments Filter:
  • by richie123 ( 180501 ) on Friday December 15, 2000 @07:53AM (#556572) Homepage
    I agree that there are several issues like patents, and the ASP loophole that need fixing, but should we be considering changing the rules to the GPL just as more business, and users are getting to understand it? Hopefully RMS can avoid making any controvercial changes that whould devide the community ( I remember a few months back reading a article on advgato that advocated barring use of any GPL'd software by anyone suing any free software author over patent infringement, that I found to be a verry bad idea).
  • by Sludge ( 1234 ) <slashdot@NosPaM.tossed.org> on Friday December 15, 2000 @08:05AM (#556573) Homepage

    The GNU General Public License explicitly states that you can take the terms from any previous or future version of the license and use it in the place of the current version, as a user of the code and resulting software. Doesn't this clause make it impossible to plug holes in the GPL?

    Here is the clause:


    Each version is given a distinguishing number. If the program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions eithre of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this license, you may choose any version ever published by the Free Software Foundation.


  • RMS is not going to change anything without a very extended consultation with the community.

    Bruce

  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Friday December 15, 2000 @08:10AM (#556575) Homepage Journal
    The choice of what license version to use is up to the individual copyright holder. Most of them say "version 2 or any later version", but Linus says "version 2", period, and will make his own choice later when he can see the text of a new license, along with the other copyright holders.

    Thanks

    Bruce

  • Given the recent arguemtns by RMS on the debian-policy list, it's about time that they made it so that binary packages don't need to be shipped with a copy of the GPL, but instead only a URL for where they can find it.

    For those who don't read that list, RMS was making a big fuss about how every single .deb should have a full copy of the GPL even though every Debian user already has the GPL in /usr/share/common-licenses/GPL, there's a chance that someone who doesn't use Debian downloads a package and plays with it, and since they won't necessarily have the GPL on their system, if the package doesn't contain it, they're violating the GPL.
  • RMS hasn't even started writing it. He's at the stage of soliciting your opinion. He has made it clear that he's not going to make any changes without an extended community consultation. The sky will not fall, the rules will not change for existing software because you always have the option of applying the present GPL, people will have a choice of what license version to apply to new software. Choice is good.

    Thanks

    Bruce

  • I heard you had a rather large lawyers bill to pay though, and no cash. Still, i'm glad you put your new patent to good use.
  • Technically, he's right. Sorry, but that's the case.

    Thanks

    Bruce

  • This Slashdot article [slashdot.org] reveals that the Army plans to use Linux in embedded devices. Your code may be used to kill people. IMO the GNU license ought to be modified with an ethics clause. Sure this won't stop Saddam Hussein from using Linux to kill if he can, but it would have stopped the US Army, who respects licensing and copyrights and US law.
  • OK, I'm standing up. Go look up my phone number on my web site or with "whois perens.com", and call me, if I'm not in the shower I'll answer. I changed my signature, but my user-id is still the same. People were getting tired of that old signature.

    Bruce

  • by Anonymous Coward
    There is a common open-source myth that really has to be cleared up.

    Many say that there is a big difference between software and physical objects when it comes to selling, that things should be sold for it's direct cost. In the case of software, just the cost for the CD, manuals and distribution costs (like labour).

    Lets take automobiles as an example. To make a car costs about 1/10 of what it is sold to the end customer for. This means, if you add labour at the factory, material costs, robots etc you just come up with about 1/10 of the customer price tag. If you buy a car for $30.000 the cost for making it at the factory was about $3.000.

    Sounds like making cars is a real moneymaker doesn't it. Despite this most car manufacturers aren't going to great these days. The reason for this is that most of the costs are in intellectual property of different kinds. There are huge costs in developing new cars, engineering, testing etc. These are the big costs, not the product itself.

    The same goes for, say oracle or Microsoft. Sure Gates and Ellison are rich but most of the money you buy office for is put back into the production of new versions. The costs are huge, salaries for thousands of people.

    So indirect costs (and most of all different kind of IP) are often the biggest part of any business so you cannot just calculate with just the material cost.
  • by Delirium Tremens ( 214596 ) on Friday December 15, 2000 @08:25AM (#556583) Journal
    Now that we have a link to the binary form of the new GPL (the Lawyer format), does anybody have a pointer to a clear text form ("ianal" Human-readable format)?

    # more GPLv3.ianal
    GPLv3.ianal: A file or directory in the path name does not exist.
    # ls
    GPLv3.txt
    # more GPLv3.txt
    Can not output: non-printable characters
    #

  • That's why, when you write a program, you make sure you specify what version of the license you're talking about. In things I write, I prefer not to include the "any later version" clause, for a variety of reasons.


    -RickHunter
  • One interesting thing about RMS: he's not a pacifist. Ask him about it sometime.

    The Open Source Definition disallows this sort of license clause. Look at the part concerning "fields of endeavor". When I wrote that part in, I was thinking about people who might want to prohibit use of their software by abortion clinics, or by anti-abortion protesters. The Berkeley SPICE software actually prohibited use by the police of South Africa, and that provision remained in the license long after Apartheid had ended. So, I decided that this sort of license provision wasn't really a good idea.

    Thanks

    Bruce

  • Problem with this is servers can go down. Its very hard for a license.txt to crash.
  • Well, the Open Source Initiative operates a license-discuss mailing list that is open to the public and has been well-advertised. They post licenses there for debate before they are approved. RMS can do the same sort of thing.

    In practice, there aren't that many people who want to really think about licenses and discuss them for an extended period. Those that will tend to represent larger interest groups. Most of the people who participate in those discussions should probably have gone to law school. Sometimes I wonder if I should have, but I like my life :-) .

    RMS doesn't have too much power, because he can't compel anyone to apply a new license to their software. Thus, he must get consensus to be effective, and he has an incentive to engage in dialogue with the community. You could write your own license with all of the legal standing of his, you know, and if you got a greater consensus, people might prefer to use yours over his.

    RMS is hardly elitist. If you write to him and you're civil, he'll answer. He used to answer me back in the 80's and early 90's, when he had no reason to know who I was.

    Thanks

    Bruce

  • by Enahs ( 1606 ) on Friday December 15, 2000 @08:50AM (#556588) Journal
    "The criterion has to be somewhat more general than just allowing libc. But we definitely do not want to permit linking with third-party non-free libraries."

    I'm sorry to ask it, but who are "we"? Certainly not I. The GPL is a bit too restrictive for my tastes. Upon a second reading of the LGPL, it may be a violation of the LGPL to release non-libraries under that license.

    Sure, mod me down as a troll. I really don't care. I have a differing opinion and should be silenced.

    Imagine, if you will, working on a paper for a class. You decide to release this paper under the mythical Free Paper License, so that content providers can use it and so that other students can benefit from your work. So you go to the library and start collecting sources. You start referencing sources. You start quoting sources in your article.

    But wait! You're in violation of your license! Wha...? You heard me. The mythical Free Paper License requires all referenced content to be available under the conditions of either the FPL or the LFPL. ;-) So you start reading the copyright information in the books and find references that work. While you find references that work, you find that they aren't all exactly what you need.

    What to do then? You start writing a supplementary paper that will be available under the Lesser Free Paper License. Unfortunately, at this point your professor balks, stating that your paper should be dependent only on outside sources, and that he/she won't accept a paper that has extra dependencies. So you try to bribe someone else into writing the LFPL paper for you. No luck. So much for making your paper "Free."

    The point of all this? The GPL is too restrictive IMHO. While RMS may see real danger to allowing linking to "non-Free" libraries, I fail to see it. It's no more restrictive than quoting a source in an academic paper that falls under a restrictive licensing/copyright notice.
  • The investment in infrastructure required to copy a disk is much lower than that required to copy a car. If that was not the case, perhaps more people would be designing their own cars and there might be "Free" designs in the Free Software sense.

    Thanks

    Bruce

  • OK, I'll act as if you asked a serious question. The instructions don't need to be under the GPL, using them to build a Beowulf cluster would be fair use under copyright law.

    Bruce

  • Linus says "version 2", period, and will make his own choice later when he can see the text of a new license

    I see the version clause as a necessary evil. If you write a good piece of software, you maximize its utility by specifying "version $foo or later," where $foo is as low as possible. If Linux is GPL 2 and Mozilla is GPL 2.1 or greater, you have an artificial obstacle to sharing.

    Compare this to LGPL clause that permits relicensing under the GPL. You may not want someone to make a GPL fork of your LGPL library, but that's a risk you have to take to realize the goal of the LGPL--linking with GPL code.

  • Actually, quotations in a literary work are treated under copyright law, they are in the "fair use" provisions. So, this is a bad example.

    If you can explain better why you think the LGPL doesn't work for libraries, without resorting to metaphor, I'll try to debate you.

    Thanks

    Bruce

  • FSF actually is more than one person. Read the interview of Eben, a few articles down from this one on the Slashdot front page. He's the attorney who works on the GPL. There is also an executive director, Tim Ney, and a board of directors, and then there's the "kitchen cabinet" like me who will be consulted just to check for mistakes before something's sent to the general public.

    Sure - fame is a powerful force and one that I take advantage of. But people here on Slashdot and in the broader community haven't been afraid to take issue with me, and prove me wrong when necessary. I doubt RMS would be treated any differently.

    Thanks

    Bruce

  • by Enahs ( 1606 )
    'Actually, quotations in a literary work are treated under copyright law, they are in the "fair use" provisions. So, this is a bad example.'

    To tell the truth, that's part of the reason I picked literary works. :-) IMHO the whole point of libraries is to allow one to use a chunk of code without having to include the source within your own code. Other than headers, you shouldn't need to know what's going on. As far as the programmer is concerned, magic happens. :-) OK, so that's a bad example too, but the point I'm attempting to make is that merely linking shouldn't be covered under the GPL IMHO. Or, at least, should be less restrictive.

    As far as the LGPL is concerned, I could be going on a false assumption. I'm human, and an extremely fallible one at that. :-) As I read it, it seems to me that the LGPL requires derived works to be libraries. Again, I could be wrong.
  • Shure you can do that. But it would violate the OSD. The reason is that part of the freedom in Free software is that it should not restrict how you use it.

    The more interesting question is how do you define "Kill people" for example if the US Army used a linux box as a mail server is it being used to kill people? I would say no.

    I'm ignoring the moral issues of when is it moraly acceptable to kill someone and when is it not.

    The cure of the ills of Democracy is more Democracy.

  • Technically, he's right. Sorry, but that's the case.

    He never said that wasn't right; He said that perhaps the GPL should allow having a link to the GPL rather than including it.

  • The Open Source Definition disallows this sort of license clause. Look at the part concerning "fields of endeavor".

    This is one of the clauses I really like about the Debian Free Software Guidelines [debian.org]. (I prefer to refer to the DFSG, as the Open-Patch^H^H^H^H^HSource Definition is weakened by the OSI's role in interpreting it. Yes, I know you wrote them both.) A good free software license should restrict its domain to the software.

    I hate that university research continues to produce software for "non-commercial" use. The GNU GPL has nothing to say about using software, although the waters have been muddied by recent discussions about dynamic linking, plugins, and CORBA-like components. (What, after all, is the difference between dlopen() and system()?) The GNU GPL should stay that way. I'd rather leave the "ASP loophole" in place than muddy the waters even further.

    Likewise, free software licenses should say as little as possible about patents. Every once in a while, Slashdot posts an outrageous patent story and someone says, "Hey, let's amend the GPL to punish patent aggressors." Bad idea. Copyleft to subvert copyright. Patent pools (e.g., mutual defense [mit.edu]) to subvert patents.

  • I only see a danger if we don't take care of the "Occam's knife" hidden here. In one point closed source is here and will not go anywhere. On the other side we cannot allow closed source to overrule the freedom of open and/or free source. These are the two sides of the knife. And we have to care of both. I understand the reasons RMS points to call for a too restrictive license. Yes, we have several clear cases of people or companies undermining a whole software structure by setting or changing the rules of the game. I think that people at freshmeat could show a few of these examples.

    However we cannot put things in the way "whites pass here, niggers pass there". Such Apartheid is exactly what many corporations will wait to kick the free software into a ghetto. One of the main points why these guys got their monopolies crashing is exactly the fact that developers started to develope free apps, based in their software. For example, the case of MPEG4. We linuxists now have a chance to see high quality video due to one tool based in a closed source DLL. And these moments are fundamental. It is less probable that someone will ever give you the MPEG4 specs. It is highly improbable that some corps behind this stuff will ever produce even a priced product in Linux. And we cannot close doors and say "good, be happy with your crap, I don't need it!" This is child's play, no more. It will take monthes to produce a free standard. And it will take years to have it accepted. Oggvorbis is an example of this.

    So, while I may agree that we should harshly restrict some possible escapades from closed source partisans, we should also not fully close the door. Anyway a developer should always have the right to choose a licensing that fits best his needs and desires. Frankly, here I would prefer that we study the matter with more care and avoid stupid hurry-ups.
  • RMS doesn't have too much power, because he can't compel anyone to apply a new license to their software.

    In a sense, can't the GNU project do exactly that? There's a clause I have always wondered about in the standard template people copy into their files to signify that it is GPLed. The interesting phrase is what version you can use:

    ...either version 2 of the License, or (at your option) any later version.

    Most people just copy and paste this into their programs. But what if version 3 of the GPL has some big deficiencies? What if RMS dies, and his evil half-brother tkaes over the FSF and starts adding in exemption clauses that let distributed sources be kept closed?

    IANAL, and that's why I worry a bit about that clause. I hate the idea of licensing my software by a license that doesn't even exist and whose terms I don't know.

    Any ideas?

  • No you are absolutely incorrect. The original purpose of libraries was to use the same piece of code through several programs, what is a huge economy of work. I myself created whole libraries to avoid using one and the same piece of source code in several programs. To use this code I only need a reference to the code. That's what the headers were for.

    Those programs were made by me and mostly used only by me. So why I would close the source out of myself? Besides, while this is a cost in performance, it is much more economical in terms of disk space and memory.

    Later, in the mass advent of computers, this was also used as a way to close source from the eyes of developers. In the long run this came into a mania. One example of this, I met situations when I fought bugs very well inside DLL's and which didn't have any one reference on the SDKs. Debugging it, you come into stuff that was nearly like what was written on the SDK but SLIGHTLY different (one paramater more, one less, a different call order, etc. etc. etc. etc. etc.). Frankly it seemed something like running over the Labyrint. I drop programming on Windows, somewhere in 97-98 because it was getting too hard to do some bug-fighting. 90% of the problems were coming of different DLL versions or well-hidden bugs inside Windows code.

    The fact that now people mainly meet libraries and headers for them is not a rule of the thumb for the creation of such stuff. Back in the 80's there were companies, like Borland, that offered a large bunch of this stuff together with the source code.
  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Friday December 15, 2000 @09:46AM (#556601) Homepage Journal
    the point I'm attempting to make is that merely linking shouldn't be covered under the GPL IMHO

    It's difficult to not cover linking and maintain the quid-pro-quo. The idea is that I am not giving away my code by GPL-ing it, I am inviting others to use it, and I am inviting other programmers to participate in an exchange with me by giving me the same terms on their code that I am giving them on my code. If you don't cover linking, there's no longer anything that provides incentive for an exchange because the other party doesn't have any obligation to me.

    Regarding whether a derived work of a GPL product has to be a library, LGPL section 2(a) in combination with the three paragraphs of section 3 would have a derived work that is not a library not be covered by the LGPL and suggests that the GPL be applied. But given the definition of a library at LGPL section 0, second paragraph, you could make the case that any source-code-available work is a library.

    Thanks

    Bruce

  • It's always the perfect time for hypocrisy! What better way to promote freedom than to introduce yet even more restrictions?! Hopefully this will be the final straw that forced people to see through the facade that is the GPL. The BSD license has never looked better, especially with that bullshit ASP exception proposed for the GPL.
  • Right now you get a lot of rights when you receive a GPLed program. You can create derivative works for your own use which means that you can link them to anything you damn well please.

    If the user is doing the linking of a non-Free module to other Free Software, I don't see

    People make a great deal of the "derivative works" concept in the GPL. But remember that the GPL gets all of it's strength from Copyright law. It is not an EULA -- it is a true License in the legal sense. One of the things that is not copyrightable is a "method of operation". The canonical example of this is the manual transmission shifter pattern. The person who first designed the H which is now universal could not have copyrighted that design decision becuase it was a method of operation.

    I argue that an API *is* a method of operation and is not copyrightable. As such, anyone can utilize that API without creating an infringing derivative work. The GPL, as a license, can't restrict that becaue it can only restrict derivative works.

    An this is a *good* result. What if Microsoft attempted to claim a copyright over their API? Wine could not exist. MS could also demand royalties from anyone who used one their libraries in Free Software. This limitation of Copyright Law is a *good* thing and it protects us.

    Now I'm all for encouraging Free and Open Software. But I'm not willing to give up my rights to do so. Turning the GPL into an overreaching EULA is not the way to go.
  • Well, that (at your option) clause is pretty important because it rules out abuses that tighten the rules. You are suggesting that someone could take over FSF and issue licenses that loosen the current GPL protections. But the GPL says new versions will be similar in spirit to this one, and if they are not, that's a valid challenge to the new license in court.

    Thanks

    Bruce

  • Geez. I just changed my .signature away from the beware imitators version. Can't you give it a rest?

    Thanks

    Bruce

  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Friday December 15, 2000 @10:00AM (#556606) Homepage Journal
    The GPL works by turning copyright law on its head. The difference between the GPL and the BSD licenses is that GPL licensors participate in an exchange of free software, while BSD licensors effectively give their code away in a similar manner to public domain except that there's attribution. Both licenses have their place.

    Thanks

    Bruce

  • Sorry but your point starts with a seriously erroneous assumption. You cannot compare software and physical objects. A piece of software is much more abstract and universal than any possible physical object. I can use one and the same algorithm in a sound app, a video app, on the processement of an image of a star or on the electronic eye of the robot fixing the door to your future new car. So here we get a serious problem. An algorithm, by itself, is a combination of math and logic, something very near to a formula. In its own nature it is useless. I cannot pick an algorithm and do something directly from it. Now if I apply it that's another question. i can use it to produce a combination of commands that come into a more concrete result. However here we also fall in one problem. Do you click mice? How do mice react on it? Click, click?

    The problem is that software is, by itself, abstraction. And today, most of what it produces is also an abstraction, that only we are capable to understand. This whole evergrowing pyramid with a weight of air is the base for what software should be the most opened possible. Closing a critical door of development or claiming fees for a particular algorithm may stop the development of a critical sector per se. And we are still monkeys here. We just came out of the trees and started building the first wheel. If we are going to hamper the paths of development, we may stop in such a creative swamp that things will smell worser than a Middle Age street.
  • But you are confusing API copyrights with a copyrighted implementation of that API that is being linked.

    Bruce

  • I thin the problem with libraries is this: Say you GPL your code, I like it and want to expand on it, but don't want to open my code. So implement some new features in a library which I link to from a modified copy for you code. If I don't r4elease the sorce to the library I have written, then I have gotten something, your code, for nothing. This is not the pourpose of the GPL, it is not a method for giving away your code. The purpose is to get others who are interested to help with development.
  • Oh. Sorry. I'd want to make sure that's a really reliable link. There is little precedent for it in the law.

    Thanks

    Bruce

  • by QuMa ( 19440 ) on Friday December 15, 2000 @10:16AM (#556611)
    'Along with the other copyright holders'? Is it really viable to actually reach everybody who's ever contributed kernel code?

    I don't think linux will get the 'or v3' clause...
  • > Sure, mod me down as a troll. I really don't care. I have a differing opinion and should be silenced.

    Geez, man. Could you fall down and bleed a little louder?

    --
  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Friday December 15, 2000 @10:21AM (#556613) Homepage Journal
    Along with the other copyright holders'? Is it really viable to actually reach everybody who's ever contributed kernel code?

    No, and that's why you should leave the "any later version" part in place.

    Bruce

  • FSF actually is more than one person. Read the interview of Eben, a few articles down from this one on the Slashdot front page. He's the attorney who works on the GPL. There is also an executive director, Tim Ney...

    Thanks for the info. I've always had trouble trusting any organization whose only identifiable figures are a monomaniac and a lawyer, but now I feel much better.

    [wtf is Tim Ney?]

  • Hopefully this will be the final straw that forced people to see through the facade that is the GPL.

    No, the final straw was when Qt was released under the GPL. Suddenly the Slashbots realized that the GPL is the opposite of 'free'. Fortunately the QPL is still applicable, too.

  • Let's say you want to make blocks of plastic that fit together. *cough Lego cough*

    The first piece you make, costs you $15,000. The rest of the peices off the same mold cost $0.001. It was the initial cost, along with R&D time, that makes the item expensive to produce. Making the Nth copy is just pennies.

    i.e.
    You spend 2 YEARS writing a game, on a 2 million dollar budget. The first [gold] CD produced has the high cost. The 2nd, 3rd, etc, cost almost nothing to reproduce, just the physical media.

    In both cases, people expect to sell Y copies at Z price to offset the total cost of production.
  • Bruce, these would be trolls. You don't need to feed them. :)
  • You can meet Tim Ney and Leslie Proctor at almost any "Linux" show these days. Ask at the FSF booth. They put a new face on FSF, in my opinion.

    Thanks

    Bruce


  • I have been writing a Java library that we originally were going to license as GPL. Someone pointed out that the whole project would be mearly an acedemic exercise because users would no doubt be using non-GPL code for just about everything else that might call our library in which case they would be in violation. So we switched to LGPL for genderal industry compatibilty. Would you suggest this is the wisest license for Java software?

    Similarly, with LGPL could someone simply change access to constructors and methods to "public" to circomvent package protection and allow them manipulate/extend the library from their own proprietary packages? This would not be suitable reciprocation IMO. If not, LGPL works perfectly for Java because I can excercise the license through package protection :~)

  • No. Licenses don't make sense if you can modify th e version that applies to a particular instance of software. Which is why the GPL doesn't let you do that. It does, however, make sense to change a license and apply that to new software. Which is why FSF has allowed people to do that - there are a number of licenses which clone text of the GPL and have been authorized to do so.

    Bruce

  • I read at -1 and anyone else can, too.

    Bruce

  • I agree with the point you're making, but the GPLv2 position is
    coherent: the whole of the source for all binaries that you distribute
    should be freely available. This makes sense: users don't really have
    free use of your code if part of the source of the code is
    commercially tied with a restrictive license.

    I lost sympathy with the GPL over the KDE/Qt fiasco (especially in
    its second, QPL, manifestation). Here the whole of the source was
    available under a free license, *but* the free license happened to be
    incompatible with the GPL. OK, old story, I'll just say that I think
    the direction the GPL v3 should be going is to make it tolerant of
    other free licenses.

    I don't see how the dynamic linking problem can be avoided without
    spoiling what makes GPLv2 coherent: namely its focus upon the actual
    distributed binary.

  • I think the LGPL might be the best choice today and I advised the jBoss folks to make the change. When Sun finally decides to apply the GPL to the JDK, it's a different ball game and the GPL might make more sense.

    Thanks

    Bruce

  • Actually, I give a lot of people the benefit of the doubt. Sometimes, you can bring them around that way.

    Bruce

  • One thing that concerns me about the GPL is that it's a very difficult thing to explain to non-technical people, including lawyers. Given that we haven't been too successful in getting judges to understand software IP issues, I'm worried that an attempt to get a judicial interpretation of the GPL will result in a misinterpretation.

    I hope that a new GPL version, in its attempt to close loopholes, doesn't become even more difficult to parse, and thus more likely to result in a bad decision.

  • by Arandir ( 19206 ) on Friday December 15, 2000 @11:56AM (#556626) Homepage Journal
    I am so glad that RMS is still in the comments gathering stage. Some of the proposals I've seen for GPL are very unfree (in both the FSF and the dictionary sense). These proposals seem to be more about protecting the author's sensibilities rather than eliminating the traditional restrictions normally tied to software.

    1) Further restrictions upon linkage. Dynamic and runtime linkage is *using* the software in the manner it was meant to be used. And the freedom to use the software in any way is the FIRST freedom listed by the FSF. It's sensible at times to restrict what libaries an application can link to, because that could co-opt the application and make it unfree. But the reverse is impossible. There is no way to make a libary unfree by using it for an unfree application. No derivative work is being made under copyright law. Nothing is being modified or distributed with additional restrictions. The only thing being hurt is the author's sensibilities.

    In RMS' zeal to prevent proprietary authors from using his libraries, he ends up hurting Free Software authors who use non-GPL licenses. The GPLv3 should be looking at ways to include non-GPL but Free Software authors in the community, instead of seeking further ways to exclude them. As it now stands, software in the public domain or under a BSD, MIT or other "copycenter" license cannot use GPLd libraries, such as readline or Qt/Embedded. Some proposals for the GPLv3 would further alienate these freedom loving folk.

    Looking at the various dynamic (not static) libraries in existance, the only ones that I know of that dictate the terms of the application's licensing are are small subset of "Free" Software libraries. (there may be some proprietary licenses that do this, I am just not aware of any) Microsoft doesn't care how I license my MFC application. RogueWave doesn't care how I license my Tools++ application. Only the FSF demands I use a specific license for my own original and non-derivative works.

    2) New restrictions upon use. That RMS is even contemplating this scares me. By *use* I mean the ASP "loophole". Again, this is another case where the only harm is harm to the author's sensibilities. RMS and the GPLv2 allows me to modify GIMP (as an example) for my own private use. They do not restrict my friends from coming over to my residence and using the modified GIMP on my computer. But the GPLv3 will regulate how my friends can use my modified copy of GIMP if they do so over the internet instead of physically walking to my residence. Where is the logic in this?

    There are parts in the GPL v 2 that need cleaning up and clarifying. Please do so. But don't add new unprecedented restrictions. If the only thing being hurt is your sensibilities then leave it out.
  • I would disagree with you. It is never moraly acceptable to commit murder, but not all killing is murder. It is to my mind acceptable to kill in self defence. It is also moral to kill in war (with some limits).

    It should be pointed out that the commandment is
    "Though shall not Murder" not "Though shall not kill".


    The cure of the ills of Democracy is more Democracy.

  • Fortunately the QPL is still applicable, too.

    But the embedded version is not dual licensed under the QPL. This is a serious mistake on Trolltech's part. Konqueror was just ported to work with Qt/Embedded, and it's cool! But it is ILLEGAL to port Kicker or KWin over. Kicker and KWin are under the BSD license. They cannot link to a GPL library. I have written a Qt application that would be perfect on a palmtop, but it cannot use Qt/Embedded since it is under the BSD license.
  • But if loosening the current GPL protections is against the spirit of the current license, then wouldn't tightening the protections be the same?

    I see the spirit of the GPL as being a set of permissions (with conditions) granted to the user over and beyond what copyright allows. But some of these GPLv3 proposals I have seen would have to add a restriction on top of what copyright imposes, particularly with regards to the ASP "loophole". In or other words, the GPLv2 is a copyright based license, but the GPLv3 could end up being a contract based license.
  • In the future I'll have to distribute the game I'm working on [sourceforge.net] for Windows, Linux and possible other platforms.

    The program depends on a JRE (being written in Java) and several libraries published under the LGPL and zlib/libpng license.

    Now, from the GPL I understand that I can not distribute the JRE along with my program. What I think I am allowed to do is let my program's installer (which is custom license, almost a free one. I understand that I can use that) download the JRE and then install it.

    For the libraries I understand that I can distribute them along as long as I clearly seperate them from the other code. I plan to do this by packaging the libraries as JAR files.

    So my question... am I correct in my assumptions concerning the JRE, Windows installer, LGPL- and zlib/libpng-licenses?

  • Sorry Bruce, wrong. If you leave the "any later version" part in place, you can only hope RMS will think of your interests in future licences. If RMS wanted to add a clause in v3 that you are allowed to use the code for whatever you want, without attribution (unlikely, obviously), nothing would stop him. However, by removing this versioning clause, you protect yourself and your code from changes that aren't to your interests.
    I wouldn't want to sign up at a bank where I give my money to them and have them say, "it's all your money according to the license, but we reserve the right to make a new license that says whatever we want in the future."

    It is a problem that there are multiple copyright holders for Linux, but that's a tradeoff to make for the safety of a major software project.
  • by Valdrax ( 32670 ) on Friday December 15, 2000 @12:22PM (#556632)
    Okay, I'll admit that I apparently don't understand the GPL at all.

    Are the following situations illegal under the GPL?

    1) I write a GPL'ed application that links to a closed-source, proprietary library, such as Motif, and distribute just my application's source.

    2) In updating the code of a commercial, closed-source package at work, I take advantage of a GPL'ed library. I make no changes to the library, and I include the source of the library in the distribution, but due to not wanting to have my company not sue my ass off, I don't include the source to the entire project. The library is not statically linked into the program -- it is installed seperately.

    3a) For this same piece of software, I include several shell scripts to do parts of the functionality with customized versions of a few GPL'ed utilities. I include the source for the GPL'ed utilities, but I do not include to source for the larger package that includes and actually invokes these shell scripts to do certain tasks. The shell scripts are not GPL'ed.

    3b) The shell scripts are GPL'ed, but the app that calls them still isn't.

    4a) I build the closed application with a hacked up version of bison. I include that bison and it's source code, but not the application's.

    4b) I do not include that version of bison or its source.

    5) My closed-source package talks to a CORBA object that defines a well-known interface. That object is replaced with a GPL'ed version on some user's machine.

    If any of these are illegal, then isn't this extremely unfriendly to every known license other than the GPL, including the BSD licenses and public domain licenses?
  • I would disagree with you. It is never moraly acceptable to commit murder, but not all killing is murder. It is to my mind acceptable to kill in self defence. It is also moral to kill in war (with some limits).

    To split a few hairs, I would ask, "acceptable to whom?" Killing another human is never acceptable to my ethical code. It may be to yours. We'll never resolve our differences on this.

    A more useful consideration may be how people actually respond to killing under necessity. Guilt and severe emotional distress are quite common among soldiers, police officers, and others who kill under necessity (self defense, to save innocent lives, etc.). Not everyone has this response, but many do. We should trust this fundamental human reaction and say that while we would not call these people "bad" for what they did, their sense of guilt is real and should be respected.

    The best sense I can make of it is that you can find yourself in a situation in which there is no morally acceptable choice. My philosophy of conscientious objection to military service is that once you are in a war, you may well find yourself facing a situation in which you cannot behave ethically. You must choose between killing someone else and having that other person continue to kill people. Neither killing the other, nor allowing him to continue killing is an acceptable choice. Either leaves you with dirty hands. The ethical thing to do is to plan ahead and avoid the situtation if possible.

    Perhaps you can't avoid the situation. Too bad---no one promised that you would be given the opportunity to get through life with a clean conscience. Many major ethical thinkers, including Aristotle and Calvin, understood that chance and luck play an important part in the ethical life and that you may be damned through no fault of your own, but by circumstances beyond your control.

  • No, it is a good example. Copyrighted works should be treated the same as any other copyrighted works. That current law treats software differently than literary works only illustrates the technical ignorance of some legislaters and judges.

    Fair Use is kept deliberately vague and loosely defined in law, since listing some specific Fair Use rights would imply that any unlisted rights were forbidden. To my mind, and in every direction that I look at it from, dynamically linking to a library is Fair Use. That's the whole point of creating a libary to begin with. If the GPL doesn't want non-GPL applications dynamically linking to GPL code, then it should stop pretending that it is operating under copyright law, and come right out and admit it's really a EULA. Copyright law gives me the right to freely reference a work, and so should the GPL.
  • I believe this is incorrect. The GPL says you can't use a more restrictive license, but the BSD license is less restrictive. I believe non-advertising-clause BSD license is considered compatible with the GPL, which alleviates your concerns here.

    Supreme Lord High Commander of the Interstellar Task Force for the Eradication of Stupidity

  • Oh, hey, that's a great idea. My code can't be used to help my nation, even if I want it to because I'm forced by some other code to GPL it, but it can be used to help out my nation's enemies because they don't respect me.

    Yeah, let me discourage my military from using technology that peopl around the world work to make the best so that they'll be forced to use something like Windows. We've all seen how well that worked out for the Navy.
  • You may think we're 6 hours behind, but in actuality, we are 18 hours ahead. Don't even bother spouting off some nonsense about the calendar date, because that whole system was created by Papists.
  • Somewhat related to 5: 6a) I build a closed-source application that makes use of a library that provides a set of services for which there is a GPL'ed implementation. I don't build against the GPL'ed version, but it is binary compatible. I don't distribute a copy of the library -- maybe the commercial versions are expensive. What if I suggest that the GPL'ed version may be a solution for users but don't include it in my distribution, so that users choose to dynamically link with that GPL'ed library with my approval. 6b) What if I don't endorse it, and a user does it anyway?
  • No, there is a "direction" to compatibility. You can link a GPL application to a BSD library, but you cannot do the reverse. The argument that RMS makes is that someone could write a BSD wrapper for a GPL library, then link a proprietary application to the BSD library, thus circumventing the GPL.
  • I agree with you mostly, but I think voluntary euthanasia is acceptable.
  • This sounds very confused. Show me where in the GPL it says anything about that "direction". The point about a BSD wrapper for a GPL library is bogus as well, because the GPL license still applies no matter how you wrap it.

    Bruce

  • Oh come on. Inclusion of a library in a program is not analogous to a quotation in a literary work. Quotations are required to be brief and attributed inline, while libraries are often a large part of the work and contribute substantial functionality.

    Bruce

  • But if loosening the current GPL protections is against the spirit of the current license, then wouldn't tightening the protections be the same?

    But that is moot because the old license with its looser provisions is still available to you.

    Thanks

    Bruce

  • But the GPL, in the license text not the rationale, makes an assurance that later licenses will be similar in spirit.

    What if there is a legal problem with the GPL and we can't fix it because Linus has restricted the kernel to "version 2 only"? We'll be up the creek. And remember that there have been few court tests of Free Software licenses, so we need to be able to clean up a problem if one comes up. By the time this happens, some of the Linux copyright holders will be dead (if some aren't today) and we'll have to write out and replace some good free code in order to solve the problem.

    Thanks

    Bruce

  • The cost of building a car is very close to the price it is sold for. It is in fact the exact opposite of the software industry!

    In automobiles it is worth an entire engineer's yearly salary to figure out how to replace a 10-cent widget with a 5-cent one. This saving of 5 cents on a 15,000 dollar item is important because the margin is very small.

    Yes there are huge armies of engineers designing the cars, but their cost is still pretty small compared to the materials, labor, shipping, sales commisions, advertising, etc. You have to take into account the enormous numbers of cars sold.

  • GPL could do a lot more than it does now to protect open-source authors from patent abuses. While there are some patent-only companies, most of the worst software patents are held by software companies, and these companies often also use open-source software.

    One thing GPL could do is make companies that use open-source software implicitly license other users to use that software as well. This might seem unenforcable or extreme, but IBM does something like this in its open-source license. The IBM Public License is at http://www10.software.ibm.com/developerworks/opens ource/license10.html [ibm.com]. Here is a relevant snippet:

    Subject to the terms of this Agreement, each Contributor [which includes anyone who incorporates the IBM code in another product] hereby grants Recipient a non- exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
    Similarly, the GPL could be amended to add something like the following:
    (1) "Licensed Patents" are any existing or future patents owned by Licensee that would be infringed by use, distribution or modification of the Licensed Software.
    (2) In consideration of its use of this software, Licensee agrees to grant the author and all other users of the software, current and future, a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Licensed Software.

    This is a purely defensive approach, which works for IBM because it is a big company. Open-source authors are not huge companies, which means that it would be a good idea for the language to create a counter-claim in their favor, in addition to protecting them against liability. Defensive language does little to deter intimidation lawsuits, but if the open-source author can also counter-claim for significant damages, then potential plaintiffs will think twice. An example:

    (3) If Licensee pursues any legal action against the author or other users of the software for alleged patent infringement, and if such action is found to be inconsistent with the grant of license in (2), then Licensee will indemnify and hold harmless the party against whom the action was taken, shall cover the reasonable legal expenses the party incurred in such action, and shall pay liquidated damages equal to three times the maximum amount Licensee sought as damages in such action.
  • by spitzak ( 4019 ) on Friday December 15, 2000 @01:39PM (#556647) Homepage
    I want to release my library fltk [fltk.org] under the LGPL and I do not mind if people use my library to write commercial or closed software, since this ability will make my library more popular, and since the use of my library will make it easier to port to Linux or other platforms. I also know the regular GPL is valuable and release all appliations I write as GPL, but I want to use LGPL here.

    The problem is that the exact words of the LGPL seem to require dynamic linking of my library, so that it can be "replaced by the user". This imho is unacceptable, since my library is not popular and thus must be provided with the appliacation. This requires the application to be "installed", which greatly reduces it's ease of use. Perhaps more important: it means a programmer cannot modify my library (releasing the code modifications) and use it in their closed program, since the shared library would conflict with other users of my library, this completely defeats one of the main advantages of Open Source, which is that you can change it!

    I have taken to adding a disclaimer that says "static linking of my library is allowed, no matter what the LGPL says, and is in fact even encouraged". But I would like to know if there is any better way, or if the LGPL allows this.

    I would prefer not to make my own license just because of this, since we have way too many licenses as is, but this worries me no end...

  • 1) Read Section 3 of the GPLv2. If the library is "normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs" and you are not distributing that library, you are off the hook, otherwise trouble.

    2) Read Section 2 paragraph b "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." If you did not distribute or publish the derived package you would be off the hook, but since you say "commercial" presumably it is to be distributed in return for money. Trouble.

    3a,3b,4a) If you have read this far in the post you should have read section 3. "For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable." All modules means ALL modules. Trouble.

    4b) Same as the answer to Question 1, if bison is something normally distributed with the major components of the OS you are ok, otherwise trouble.

    5) Dynamic linking is hard.. let's go shopping! My best understanding of this case is that you are not in trouble. (You could be in trouble if the original non-GPL object had not existed, but since it does exist I think the fact that a plug-compatible GPL equivalent object exists is irrelevant. I figure I have a 50% chance of being wrong, so someone better correct me.)

    I know it's hard to understand licenses and official fine print like that, but it is still important to read them. :-)

  • The "direction" comes from derivation and ancestry. The word is not in the GPL, but "direction" is an easy metaphor to understand. All code that is distributed as part of a GPL package must not add any additional restrictions, but the package must always be distributed under the terms of the GPL. So I could include a BSD licensed module in a GPL package since the BSD license is compatible with the GPL. But I could not use a GPLd module in a BSD package, because the BSD license would be changing the distribution terms of the module.

    As for the wrapper stuff, that was the argument that RMS used. I do not have his exact quote readily available, so I apologize if I erred in its paraphrase. It was in response to a question as to why Free but non-GPL applications should not be able to link with GPL libraries.
  • I also would like to know in which ways it's harmful to link to closed libraries. Consider these cases:

    1) A call to a URL gives you the exact time based on an atomic clock in Boulder. You call that URL in your code and use the results in some calculation. Does the source to the URL you call have to be under the GPL in order to use the GPL 3.0 for your code, or for someone to make use of your code with the URL in some manner.

    2) Now that URL is a corba/RMI service, but again not GPL'ed. Can I still call it and use the GPL?

    3) Simple case, that I think draws out the real issue - you have a PCI card that does encryption for you with a closed source API (or possibly comes with a closed orb to call as a CORBA service). Can I not use that in a GPL'ed program?

    I think the real issue is twofold - what he really wants is partly to not encourage the use of non-free libraries, but even more importantly he does not want Free (GPL) programs to ever have ties to non-Free programs so that the Free code users can be harmed by alterations/vanishings of the non-Free library. Say the encryption card vendor went out of business and lots of Free programs had been written based on them.

    I guess a side aspect of that is that they are trying to stop the case where the card maker would ship some Free tool bundled with the card and a non-Free part to access the card. Still, by examining the Free portion it seems you could figure out how to work with the card.

    I still don't really see the point of it though. The Free programs could always be patched to use some other library if troubles ensued. Also, it seems like it would NEVER be bad to have a Free program that had "drivers" to use some non-Free code.

    I'm not trying to start a flame war, I like the rest of the GPL but this part seems odd to me, and I'd like to understand the philosophy behind it.
  • The analogy does not work for static libraries. But it does work for dynamic libraries, and is almost perfect for runtime libraries.

    If a take a particular binary and translate its machine code into English, I would find something very similar to "this program references routines in libreadline.so", and "jump to this relocatable address." In neither case is code from the library actually included in the application. All that are there are references. Of course, header files could be written so that using them places library code directly into the application (macros or inlines), but the basic concept of dynamic linkage is still referencing.

    Most literary works do not strictly require the reader to look up and read all of the references in the bibliography or footnotes, while most software applications do. But I don't think the manner in which a work is used has any bearing upon its derivation.
  • You haven't followed the KDE/Qt fiasco in any detail. Formally the
    GPL does not permit combination with any license that applies further
    restrictions, as QPL did. The authors of some packages in the early
    KDE distributions made use of GPLed code and then released their code
    (which made use of Qt) under the GPL. Since they were not the only
    copyright owners, they were not able to waive enforcement of the
    clause (as, I believe, RMS has said that `pure' KDE code was able to).

    I happen to believe that it is possible to interpret GPLv2 in a way
    that permits compatibility with QPL and other free-but-incompatible
    licenses: namely to say that the redistribution of source demanded by
    the GPL is to be interpreted as `separate free distributability' (the
    plausibility of my view comes from the fact that the GPLv2 does not
    directly require that the GPL is applied to the source redistributed,
    the relevant parts are sections 2 and 3, but this requirement is
    inferred from what I regard as ambiguous language in those sections).
    In fact, though, that is not how the FSF or Debian have interpreted
    it.

  • To my code there are times when it is. The Torah and the Rabbis tell us that it is permisable to kill in self deffense, but dictate that it should only be done when you belive that your life or that of another is at risk. So if someone is trying to steal your car it would probably not be alright to shoot at them.

    In war it is generaly considered alright to shoot at other soldiers and military targets, but not civilians.

    The cure of the ills of Democracy is more Democracy.

  • This is a specific exemption in the GPL and it applies only to
    libraries that are a part of the standard part of the OS (the
    convoluted section 3 again). It has been argued that Qt might fall
    under this: it isn't really plausible, and again, neither the FSF or
    Debian interpret the GPL this way.
  • bah.. you would have to release these new changes as a library that people would have to download seperate from the main application. To justify this your changes would have to be something useful outside of this application. For example, if you discovered that Mozilla doesn't support your new graphics file format and you want to allow people to view files in this new format you might write a library and hack the changes into Mozilla which link to this library. People would have to download Mozilla and then download your library seperately. But your library can be used with more things than just Mozilla, any program can support your new file format by including your library. In ways, this is a bad thing, in other ways it is a good thing.
  • I read a lot of scientific paper's Bruce, I really think it is similar.
  • no actually that's exactly what I ment.. I read a lot of scientific papers that totally own Bruce Perens.

  • As it now stands, software in the public domain or under a BSD, MIT or other "copycenter" license cannot use GPLd libraries, such as readline or Qt/Embedded.

    This is wrong; I've actually asked RMS himself about this. It is possible for any software to link to GPL'd software as long as the software is capable of being placed under the GPL. The combined result, after linking must be under the GPL, but the original program can still be placed under a less restrictive license than the GPL.

    For example, if you write a BSD program to link to a GPL library, this is kosher, because one can place BSD-style licensed programs under the GPL. Your code alone still remains under the BSD license, but the combination, with the linking, is under the GPL.

  • Okay, that's interesting, and one I haven't heard before.

    You say "after linking must be under the GPL". Does this mean only temporarily while the user is running the program, or that that the author must distribute it under the GPL after linking it at build time? In other words, would Debian (as an example) offer the application under the BSD license, or would they have to offer it under the GPL? In the case of the latter, the GPL is still effectively telling me what license to use.
  • But the GPLv3 will regulate how my friends can use my modified copy of GIMP if they do so over the internet instead of physically walking to my residence.

    The way I understood it, the use of your modified GIMP across the network counts as a rather wierd kind of "distribution". Thus, there would be no restrictions on how your friends could use your modified GIMP, but you would be required to make its source available to them, the same as if they had downloaded binaries from you and were running them on their machines.

    Personally, I think this is a good thing. I don't see any substantial difference between downloading a binary and running it locally, and running that binary remotely on someone's web server, with the input/output of the program going from/to you. I don't see how you can make the I/O channels of your binary available across the web and claim that your modified GIMP binary is only for your own private use.

    Adding clauses to the GPL preventing this will make the programs covered more free, because it means that improvements will make it back to the community, rather than being hidden behind a false "private use" ASP screen.
  • by /dev/kev ( 9760 ) on Saturday December 16, 2000 @04:04AM (#556680) Homepage
    I'm sorry to ask it, but who are "we"?

    The Free Software Foundation [gnu.org], authors of the GPL.

    The GPL is a bit too restrictive for my tastes.

    Then don't apply it to your software. Or modify it to suit your tastes. Although a modified version may not be free, or may be incompatible with the GPL. This would mean that you couldn't use GPL'd code in your program ,and others couldn't use your code in their GPL'd programs, unless you were willing to license your code under the GPL.

    Upon a second reading of the LGPL, it may be a violation of the LGPL to release non-libraries under that license.

    Nonsense. You can apply any license to any work you like. I could write a book and GPL it if I wanted, even though it doesn't make much sense. The GPL defines "Program" as "any program or other work"; the LGPL defines "Library" as "any such software library or work". The "work" can be anything you have copyright of.

    But wait! You're in violation of your license! Wha...? You heard me. The mythical Free Paper License requires all referenced content to be available under the conditions of either the FPL or the LFPL.

    You can't be in violation of your own copyright license. You can't sue yourself for copyright infringement. The GPL doesn't require that all copies have certain properties, it requires that all people who have obtained the software under the GPL obey certain restrictions. You have not obtained the software under the GPL. In any case, since you're the copyright holder, you could always grant yourself a specific exception. :)
  • Similarly, with LGPL could someone simply change access to constructors and methods to "public" to circomvent package protection and allow them manipulate/extend the library from their own proprietary packages?

    Yep, they could do that. There's no way to prevent this and be OSD-compliant (if you care about that), because the OSD requires the license to allow users to make any change to the code.

    Since each Java class is essentially a shared library of its own, I find the LGPL's definition of a library a little vague. That's why I prefer the MPL, since both the MPL and Java are designed around the unit of an individual file.
  • But this is not how copyright law defines distribution, and the GPLv2 clearly states it is operating under copyright law.

    If my friend uses my modified GIMP over the network, he is not receiving GIMP. No portion of the binary is being transmitted to him. What is the legal difference between his using my GIMP locally on my machine or using it remotely on my machine?

    I don't see any substantial difference between downloading a binary and running it locally, and running that binary remotely on someone's web server

    In the former, I have actually distributed GIMP to you. You now possess a copy of it. In the latter you do not possess a copy of it, since the software has not been transmitted to you.

    ...programs covered more free, because it means that improvements will make it back to the community...

    This is not the freedom of Free Software, but closer to the openness of Open Source. Contributing back to the community is merely a side effect of Free Software, not its goal. Users only have the right to source code for those programs they possess of copy of.

    I do not restrict your freedom by putting a lock on my own door. I can only do that by putting a lock on *your* door.

    There is a way for the GPL to restrict this modified GIMP of mine and still be operating under copyright law. And that is to start regulating Public Performance. This would be a very radical thing to do, and the implications of opening this pandora's box should be thought out long and hard.
  • A common misconception. Only the author of a work is allowed to change the copyright or licensing.

    What you CAN do with a BSD program is to wrap it with a GPL license. But any recipient has full legal authority to remove the "wrapper" from all BSD parts. Because of this, wrapping a bare BSD application with the GPL is pointless. It does serve a purpose, however, when you wish to combine a BSD module with a GPLd module.

    In reference to a Qt/Embedded version of Kicker, the licenses are in conflict. The BSD license gives the users many permissions that the GPL does not. You can indeed by sued by Trolltech for exercising the rights given you by the Kicker authors.

    The BSD license is considered compatible with the GPL because you can include BSD code within GPL code, and distribute the whole under the GPL. But the reverse is not allowed. You cannot include GPL code within BSD code and distribute the whole under the BSD license. You would have to remove the GPL code first. And since Qt/Embedded is GPL, you could not distribute Kicker under the the author's own license without first "removing" Qt/Embedded.
  • You can't modify it and still call it the GPL.

    However, as the copyright holder, you are totally free to impose whatever restrictions you choose. It is perfectly acceptable to say that these restrictions are the same as the GPL, except with the following alterations/additions/whatever. The license you have applied is then not the GPL, but it may still be GPL compatible, depending on the alterations.
  • They only way to prevent owned derivitives is to own the original.

    Under the current copyright system. It is plausible that a system could exist in which derivatives could be protected without requiring ownership.

    Thus the ownership imposed in the GPL is more of a legal hoop that the FSF has to jump through in order to achieve its slated goals of free software. There's nothing wrong or hypocritical with opposing software ownership, and then using it as a means to the end of free software. The GPL only exists as this means as a result of the current copyright system system. It only endorses ownership in as much as it is forced to in order to have legal grounding in the current copyright system. If a solution could be found which did away with software ownership and still preserved the freeness of free software, I'm sure the FSF would jump all over it.

    Personally, though, I've never been sure about how I feel about software ownership.
  • But this is not how copyright law defines distribution, and the GPLv2 clearly states it is operating under copyright law.

    Yes, hence the public performance hoop RMS is thinking of jumping through.

    If my friend uses my modified GIMP over the network, he is not receiving GIMP. No portion of the binary is being transmitted to him. What is the legal difference between his using my GIMP locally on my machine or using it remotely on my machine?

    While he is not receiving your modified GIMP, the use of it is effectively unchanged. When the GPL (both 1 & 2) was written, the only way to use a program was to receive a distribution of the binary (or source) and run it on your computer. This is no longer true. It is possible to use programs over the Internet (ie. ASPs) without ever receiving the binary or source. This situation is just as bad as proprietary non-free software where you get a binary but no source, perhaps worse. Hence RMS wants to fix it.

    This is the crucial point - that it is technically possible to allow people to use a program without ever 'distributing' it to those users, in the copyright sense of distribution.

    This is similar to public performance, because a public performance of a song is not distributing the song to the listeners, but it is allowing them to hear and appreciate the song.

    Contributing back to the community is merely a side effect of Free Software, not its goal.

    Nonsense. That a free work can never be made non-free, either in its original form or as a derived work, is an explicitly stated goal of the FSF. They feel that free licenses like the BSD license aren't useful, because they don't guarantee the freedom of all derivative works like the GPL does.

    Users only have the right to source code for those programs they possess of copy of.

    And users have no right to license derivative works under anything but the GPL. This is a tradeoff between the rights of individuals and the rights of society as a whole, where the rights of society have won. It is more important to ensure that free software stays free than it is to allow derivatives to be licensed freely.

    I do not restrict your freedom by putting a lock on my own door. I can only do that by putting a lock on *your* door.

    No, but you can infringe upon the previous point if you lock your door, and your house contains a modified version of my free program. If that's for private use, fine, but (following the analogy) allowing people to stick their arms through your window to use your program is arguably not private use. By locking your door you can restrict my free access to the source of a derivative of a GPL program.

    And that is to start regulating Public Performance. This would be a very radical thing to do, and the implications of opening this pandora's box should be thought out long and hard.

    I have confidance that RMS will do nothing but that. He's in no hurry.
  • If a solution could be found which did away with software ownership and still preserved the freeness of free software, I'm sure the FSF would jump all over it.

    The only way to guarantee certain attributes of Free Software is to own the software. If you wish that all distributions of your authored software retain access to the source code, you have to have sufficient ownership rights in it order to assert that control. You cannot control something if you do not own it (unless you employ coercion).

    There's nothing wrong or hypocritical with opposing software ownership, and then using it as a means to the end of free software.

    If the FSF viewed software ownership like "fire", then fought fire with fire, that's okay. But reading throught the FSF pages, I get the distinct impression that they believe software ownership to be evil and immoral. If so, then owning software with a GPL label on it is still evil and immoral. It would be like fighting murder with murder. As my Mother always told me, two wrongs do not make a right.

    As an aside, if the FSF ever got its wish and copyright law suddenly disappeared, nothing much would change. The vast majority of proprietary licenses are not predicated on copyright law, but on contract law. Lack of copyright law would not affect the Microsoft EULA in any way. What would happen is that those people who wished to protect their software ownership rights (whether the be Free or proprietary) would find other ways to do so besides relying on government recognition. Take a look at this Free Nation article [freenation.org] for an anarcho-capitalist look at copyright law. The Free Nation site also has other articles on intellectual property from a libertarian perspective, including the one mentioned at GNU.
  • Although dynamic linking allows the user to modify the library, I can't see this being used too much. Most useful modifications add new interfaces to the library, but these won't be used because the application cannot be changed to call them. Other modifications are bug fixes, and I really would rather that the user be forced to tell somebody about the bug, so that there is more chance it will be fixed in more than their copy.

    In my experience dynamic linking makes the programs much larger. Dynamic linking cannot win unless more than one program is using the library, and I think for many useful LGPL libraries this is not true. Don't forget that each incompatable version can be considered a different library. Also you can easily tell that a dynamically linked executable takes much more disk space than a stripped static linked executable for a library like mine, where the functions are numerous and fairly small, because the symbols are actually larger than the linked objects! (it is true that these symbols do not take memory when loaded in).

    I have also found dynamic linking to be a real pain to support. More than half the makefile is to get around problems with making shared libraries. On Windoze we are forced to add horrible kludges and macros to get around stupidity in VC++ design. Conversely, on Unix we have no ability to share symbols between source files without also bloating the library with another public symbol, and I am forced to arrange the code in weird ways to make as many variables static as possible.

    Both systems have the annoying fact that if my library calls another shared library, you need to link that other library, even if you don't link to any functions that use it, this forced us to split the library into a part that uses OpenGL and a part that does not, and also forces me to design it to not call libimage or any other possibly useful library. (I would prefer a shared library system where a call to a missing library produces a crash with "Symbol XYZABC not found")

    I can assure you that retaining binary compatability is a huge pain and seriously damages our ability to improve this product. Every change that would break binary compatability is being pushed to version 2.0, even though some of them are trivial (replacing some shorts with ints for widget positions) and have been wanted for more than a year.

    And dynamic linking does make it a pain to "install" a program. A lot of useful utilites should be able to be downloaded as a single executable, double-clicked by a user with no permission, and they should work! This means all shared libraries must be installed on the machine, and I'm sorry to say my library is not popular enough that anybody can assumme that!

    I actually think dynamic libraries are a mistake, almost all the time. Everybody here laughs at Windoze "DLL hell" but seem to refuse to believe that we are creating the same mess, or worse, on Linux. Dynamic libraries should be reserved for common system interfaces (ie libc). A lot of stuff that is dynamic like OpenGL should be written as a "service" with header files full of macros that shove the correct bytes to the service, and static-linked code to open a socket to the service (and don't complain that sockets are slow, FIX THEM! Also try to design interfaces where return values are not needed all the time, like OpenGL, so that synchronization is not needed and batch transfers can be done).

  • Are you really really sure?

    Yes the markup over materials for computer parts is huge (and many orders of magnitude huger for software), but I don't think it is for cars.

    If it was for cars, you could buy a car that is a "pirated copy from a Chinese company that got the blueprints somehow". The fact is, this does not happen.

  • Yes, if you are the copyright holder you can put whatever conditions you like on your software. The best thing to do if you feel the GPL is too restrictive is to say:

    'You may distribute this software under the terms of the GPL, but I also grant the following extra permissions: blah blah blah.'

    The blah could be whatever you like, allowing unmodified copies to be distributed in binary-only form, etc. But people who still want to use straight GPL can do so, and your code can be incorporated in other GPLed software. (Although the result would probably have to be plain-old-GPL without your extra permissions.)

    Whatever happens, do not make up your own licence. There are far too many already.

Without life, Biology itself would be impossible.

Working...