Slashdot Mirror


User: Kragen+Sitaker

Kragen+Sitaker's activity in the archive.

Stories
0
Comments
31
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 31

  1. Re: Restrictively Unrestrictive on BSD vs GPL · · Score: 5

    Here's the email I wrote a week ago when I first read this article. It says mostly things other people have said in these comments, but not entirely.

    RMS responded to the email and said, "It is clear that the article you're commenting on was completely confused."

    It is my opinion that this article is not, in any sense, a good article. It consists almost entirely of acrimonious accusations and misstatements of fact that can generously be described as gross misunderstandings.

    I am willing to have this comment posted as a Slashdot article if the Slashdot gods see fit to do so.

    (This is with regard to http://www.daemonnews.org/199905/gpl.html .)

    It appears that much of your article was based on misunderstandings of the GPL. I hope you are willing to post a retraction of those parts of your article.

    [ Rob: You are welcome to post this on Slashdot if you like. ]

    You write:

    The clause about "output from the Program" is confusing and rather open-ended. It says that if a GPL'ed program generates output that may be used as a program, then the output is also GPL'ed. This would apply, for example, if using a parser generator such as ``flex'' or ``bison'' (the GNU equivalents of ``lex'' and ``yacc''). However, this curiously does not seem to apply to binary or object code generated by the GNU compilers, such as ``gcc''. Overall, I'm not sure about this clause of the license, and if I'm missing something here, please enlighten me. At any rate, the last sentence causes the most confusion, as it is completely non-specific.

    This clause confused me for a while, too. What it says is the opposite of what you think it says: it says that the output is not GPLed simply because it came out of a GPLed program.

    So flex and bison output, along with gcc output, is not necessarily GPLed. However, sometimes it is, specifically when the output is part of the program itself. For example, bison output with the default bison parser skeleton is a work based on the bison parser skeleton, which is part of bison. (Recently an exception was made so that bison output with the default parser skeleton was not GPLed, but this was the case for a long time.)

    So you see -- it depends on what the program does. ;)

    You could have written to the FSF for clarification before writing the article.

    This says that if you include non-GPL code in your program, you do not have to release that part of the code as GPL, provided that you distribute that part of code separate from the rest of the program! If the GPL and non-GPL code are distributed together (as is most often logically the case), then the non-GPL code's license, if any, is automatically null and void (may in some cases be illegal) and the entire work is now GPL-infected.

    No, the GPL cannot magically null some other software license. What it can do is permit you to distribute code licensed under the GPL. What this clause says is that you cannot distribute code licensed under the GPL as part of another program unless the whole program is distributed under the GPL.

    So if I link Emacs's buffer-handling functions into a proprietary text editor, I am not permitted to distribute that text editor unless I license that text editor under the GPL. This seems like a reasonable restriction to me; RMS wrote those buffer-handling functions so people could use free software, not so proprietary-software makers could make money off of him.

    What the "distribute them as separate works" thing means is this.

    The XML parser Expat is licensed under the GNU GPL so that it can be linked into GPLed programs. However, if James Clark (Expat's author) wanted to incorporate Expat into Mozilla, he can license Expat under the GPL-conflicting Mozilla Public License as well. Indeed, if he wants to link Expat into some proprietary XML editor, he doesn't have to GPL that XML editor, either. That's because Mozilla and the hypothetical proprietary XML editor would not be "part of a whole which is a work based on the program" -- where the program in question is not Expat, but some other GPLed program that uses Expat.

    Make sense?

    This clause reeks of political extremism, and is not entirely true. When a program or work is released under a license, this means that you are in effect licensed to use the program. If this is the case, then you are not the real owner of your code, the Free Software Foundation is! Particularly when it comes to controlling the ``distribution of derivative or collective works based on the Program''. After all is said and done, the only part of this work that you actually own is the Copyright itself. And that copyright is subject to the terms of this license. Essentially this is the rudimentary philosophy of Communism, in which you can create something, but you only own it as much as everyone else owns it.

    As explained above, this is not correct. You are always free to license your code however you see fit, but if you want to link your code with GPLed code, you need to license your code under the GPL. That doesn't keep you from also, say, licensing your code under the BSD license, or the MPL.

    Also, I think you are mistaken about communism; copyright law is not a child of capitalism, but of feudalism.

    And yet again, stating that you cannot change the license of a GPL'ed program once it has been released under GPL.

    You'd be amazed how often people have tried to do this (with software they didn't write!)

    Remember, though, the GPL provides rights only to users of the software; the author can do whatever they want with it, as explained in section 2.

    It also states that you cannot further license the program or modify the GPL in any way.

    Right. That is, if I have a big juicy piece of code released under the GPL (say, GNU Emacs) and I want to make a KDE version, I can't add a clause to the beginning of the GPL that says, "As a special exception, this code may be freely linked with the Qt library."

    Of course, if I wrote the code, I can license it however I want.

    This sounds much like a Microsoft-style license, in which your actions determine your acceptance of the license. In other words, you don't need to sign anything to be under the control of this license, all you need to do is modify or distribute the program (in the case of Microsoft, merely use the program).

    Actually, you don't even need to modify or distribute the program to be under the control of the GPL. You just need to exist.

    In copyright law, certain rights are reserved for the author of a work, including the rights of first sale and copying. The author is allowed to license other people to do these things in restricted ways or in unrestricted ways.

    When an author decides to use the GPL, that means they are granting everyone in the world a license to use their software under certain conditions -- whether everyone wants to use it or not.

    Microsoft's shrink-wrap licenses are probably not valid because you already bought the software from Microsoft or a Microsoft retailer, which implicitly grants you some rights, before agreeing to the license.

    More political extremism: if you cannot distribute the program in FULL compliance with the GPL, then you cannot distribute it at all. This is nothing more than anti-competitive, anti-capitalism restrictions.

    Anti-competitive? Anti-capitalist? How?

    If I license you the right to print my poem, but only in a magazine, not in a book, then you are not allowed to print it in a book. I don't think that's "anti-competitive" or "anti-capitalist" at all. It's just copyright law. If I license the general public the right to reproduce my software documentation in electronic form, but not in paper form, then you are not allowed to distribute it in paper form -- even if it's about cryptography and the courts say you can only distribute it in paper form, not in electronic form. This provision of the GPL is no different from these examples; indeed (as it says at the top of section 7) it is redundant.

    A rather interesting twist: if part of the license doesn't hold up in the law, the rest of the license still applies. Not sure of the legality of this, and could be up for debate...

    This "severability" term is standard in agreements written by one party. Your credit-card agreement, the airlines' terms of passage, and your bank agreements all contain essentially identical terms.

    Also note that there is a separate, but similar license known as the LGPL or ``Library General Public License'' which covers software libraries. It places the same general terms and conditions on library code as the GPL places on program code. It seems the LGPL was intended to clear confusion in whether a program must be GPL'ed if linked with GPL'ed libraries. Surprisingly, this does not appear to be the case.

    The LGPL was intended to provide more liberal licensing terms than the GPL for certain libraries, so that proprietary programs could be linked against free libraries rather than proprietary libraries.

    There are also libraries released under the GPL; for example, readline. You are not allowed to distribute code linked against these libraries unless that code is also licensed under the GPL.

    The LGPL is not a clarification of the GPL for libraries; it is a separate license. You're not the only person to make this mistake; to clear it up, the FSF recently renamed it the "Lesser General Public License".

    It also places the same restriction on any software that is derived in any way from a GPL'ed program, thereby infecting the derived work with the GPL.

    No. In particular, it doesn't restrict software that is output from a GPLed program (unless that software is itself a GPLed program for other reasons; for example, GNU cc includes some GPLed .y files that can be given as input to bison, producing some software as output. The output software is GPLed in this case.) or software that doesn't contain parts of a GPLed program.

    Once GPL'ed, the code, or any derived work, can never be released under any other license from that point on, no matter how many cycles of modification it has undergone.

    The author can release it under as many other licenses as their little heart desires. You just can't release copies of someone else's code -- or a program incorporating someone else's code -- under a non-GPL license.

    It is my opinion that the General Public License is not so much about ``keeping free software free'' as it is about forcing us to accept the extreme Communistic political philosophy of Richard Stallman and others at the Free Software Foundation.

    This is grossly inaccurate; RMS is not a communist. As far as I know, the other folks who work for the FSF aren't, either.

    But how does the GPL force you to accept anything? It doesn't even force you to accept the GPL. You are welcome to freely choose to violate the GPL and get sued, or follow the GPL and receive its benefits.

    The very spirit of the GPL is to attack the very concept of Capitalism and individualism. There is no concept of intellectual property under the terms of the GPL.

    Intellectual property is contrary to the spirit of capitalism and individualism. (Unless you're a socialist who thinks the spirit of capitalism consists in the exploitation of the weak by the strong; intellectual-property law does that quite well!) Thomas Jefferson was opposed to intellectual property. You can't get much more individualist than that. ;)

    [under the GPL] Your hard work is no more your property than everyone else's.

    This appears to stem from a misconception that the GPL restricts the rights of software authors. I mean, in a sense, it does; to use the GPL is to grant to everyone in the world the right to use your code under certain terms. You no longer have the freedom to prohibit people from using your code unless they pay you a license fee. But you still own the copyright, and you can license the code to people under more liberal licenses if you want. (You can even license it under more restrictive licenses, but people might just go download the GPLed version instead.)

    Indeed, Richard Stallman himself would prefer that we recognize the Linux operating system as ``GNU/Linux'' instead, because of the fact that almost all of the code is GPL'ed.

    This is a misconception. RMS wants people to call it GNU Slash Linux because the OS consists largely of code written by the GNU project. IMHO, he is mistaken; I don't think Linux should be called that, because it consists mostly of code written not by the GNU project, or for Linux either, for that matter.

    [RMS wrote to correct me about this: "Actually, neither of those is the reason. The reason is that the system in question is largely the GNU system."]

    In fact, it should be contested over its shaky sense of legality in these matters. I'm not aware of any court cases involving the GPL so far, so we have yet to see what will happen when such an issue arises.

    The lawyers who have read the GPL seem to think it will hold up. We'll have to see it tested in court; I suspect that will happen this year or next year.

    In summary, despite the disadvantages in certain instances, most open source software licenses contribute to the growth and technological and artistic development of software and computer science in general. Both licenses that have been considered here fall under this category, and as such should be considered a valuable resource and a great achievement for the intellectual development of the scientific and technological communities as a whole. Open source software is all about the sharing of ideas and concepts.

    Hmm, I mostly agree. But I thought open source software was about reducing the cost of software development by having your customers fix all the bugs for you ;)

  2. Maybe a dumb question, but why? on NT faster than Linux in tests · · Score: 1
    You write:

    The thing is... why doesn't Samba test symbolic links in a performance friendly way? It would appear to be brute-forcing it, which seems pretty poor to me.

    Surely there's a low-cost way to check whether a file is a symbolic link or not? Or even do a pass over the filesystem occasionally and check the links that way. Or just cache as it crops up.

    I haven't looked at the Samba code, but the approaches you suggest are vulnerable to race conditions:

    1. I create a subdir in my homedir called "bob".
    2. I open "bob" with Samba from my WinNT box. Samba sees that "bob" is safe and lets me open it.
    3. I close "bob".
    4. I rmdir "bob" and make "bob" a symlink to /
    5. I open "bob" with Samba again. Samba thinks "bob" is still OK and so it shows me /.

    Your suggestion of doing an lstat() or readlink() before following the file is also raceable; I just have to do step (4) in between when Samba lstats bob and when Samba chdirs to bob.

    In most situations, these symlinks aren't a problem; if the server is just a Samba server, there's no way for me to create symlinks, and if I have shell access to the server, I don't need to trick Samba to read any file on the system (that I have access to, anyway; symlink tricks won't let me read files I don't have access to anyway).

  3. "Star Wars US Release Cancelled" on Do Away with Copyrights? · · Score: 1
    You write:
    Nobody is going to spend $100 million to make a film if there's no copyright protection. If you're happy reducing the film industry to the level of amateur efforts like 'Star Wars Macbeth' or 'Hardware Wars', then by all means eliminate copyright. Ditto for fiction, music, etc.

    It is worth noting that the original Macbeth was produced without benefit of copyright.

    It is also worth noting that Linux cost more than a billion dollars to make.

    It's hard to predict what people will do in a new situation. But I know I don't want to live in a world like RMS's The Right to Read world.

  4. my email to the guy on Do Away with Copyrights? · · Score: 1
    Here's what I wrote him:

    I largely agree with your article ( http://cgi.pathfinder .com/fortune/technology/alsop/index.html) proposing the elimination of intellectual property. I have a few things to add:

    • it needs to be done slowly, over a period of five years or so, to avoid scaring the investors off and risking a backlash.
    • trademark is not intended to grant monopolies as patent and copyright are; it is only intended to allow consumers to reliably identify the folks with which they are doing business. Accordingly, I see no reason to eliminate trademark. (Indeed, most of your arguments pertain only to copyright.)
    • eliminating copyright for books would more effectively promote the copying of books than eliminating copyright for software would promote copying of software. Since the distributed versions of software often don't include source code (books always include ``source code'') some method is needed to promote its publication. I suggest the method that was used for books: copyright, but with a term of 18 months, so it doesn't unduly inhibit copying. Copyright protection would only be granted to those works of software for which source code was on deposit at the Library of Congress; when the copyright expired, the source code would be released to the public.
    • you neglected to detail the harmful effects of current copyright and patent law. Perhaps you didn't have enough space; here are a few:
      • the inevitable creation of harmful monopolies like Microsoft (see http://www.tao.ca/wind/rre/0579.html for more, search for my name); you did mention this briefly, but a reasonable person might conclude, after reading your article, that Microsoft was simply an aberration.
      • the necessity to crack down on freedom of the press in order to maintain copyright. (What's a press? It's a machine for copying speech. How do you maintain copyright in this Brave New World of digital technology? Restrict access to devices for copying speech. Several proposals have already been put forth that do just this, and one of them (the Audio Home Recording Act) has been passed into law in the US.)
      • the ultimate necessity to outlaw private computer-mediated communication in order to detect violations of copyright
      • the high costs to each individual to make sure they aren't violating the law. (In a couple of years, you'll need a J.D. and a couple of paralegals to write a novel computer program without violating any patents.)
      • the chilling effect it has on innovation. (The other way you can avoid violating patents is to not use any techniques that weren't published ten years ago. This won't keep you from getting sued, given the incompetence of the patent office, but it will probably keep you from losing the case. Needless to say, if you can't afford to be sued, you need to find another business to be in. Washing windows is probably a good choice.) This will get worse and worse as more and more patents are granted.

    Some of these evils may be excusable if they produce a greater social good -- like encouraging people to innovate and create by offering them financial rewards -- but the evidence is that they actually do the opposite. (Witness the Internet and Linux.)


    --
    < kragen@pobox.com> Kragen Sitaker < http://www.pobox.com/~kragen/>
    This is exactly how the World Wide Web works: the HTML files are the pithy description on the paper tape, and your Web browser is Ronald Reagan.
    -- Neal Stephenson, at http://www.cryptonomicon.com/begi nning_print.html

  5. Re: "the open-source community" on ESR/OSI's letter to Microsoft · · Score: 1

    Look, I agree with everything the letter says, and everything you say in your post. I just don't think the authors should represent themselves as speaking for the open-source community.

  6. "the open-source community" on ESR/OSI's letter to Microsoft · · Score: 2
    While ESR, Larry Augustin, Russ Nelson, L. Peter Deutsch, Larry Wall, and Guido van Rossum are certainly prominent in the open-source community, they are not all of it, and they shouldn't presume to speak for all of it.

    I know from my personal experience that many members of the open-source community hate Microsoft with a mindless passion, and do not agree with some of the statements in this letter. There may even be some thoughtful community members who feel the same way.

    I'm really rather surprised that Larry Wall, Guido van Rossum, and L. Peter Deutsch signed a statement claiming to speak for the open-source community.

    We need to stop trying to represent the open-source community, or the free-software community, as a single cohesive unit that unanimously believes something or other. It's a big community, not a dictatorship, so unanimity is not to be found.

    (I originally posted this as Anonymous Coward due to a Slashdot bug.)