Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

Free Software Licensing Quiz 95

mpawlo writes: "How much do you know about free software licensing? Time to find out! In a quiz presented by the Free Software Foundation you can test your abilities. How should Joan license her web browser?"
This discussion has been archived. No new comments can be posted.

Free Software Licensing Quiz

Comments Filter:
  • That was complicated and ugly - but considering how much effort some of my Windows IT brethren have been putting into Licensing 6.0, it's not too bad.
  • A quiz is great for educational purposes, but I think this test only will be mastered (and even taken) by the pro's. Someone (don't look at me!) should construct a test with easier and more general questions on free software and related licensing issues. I guess such an easier test could encourage more people to use and develop free software. The test linked above will most probably discourage newbies from free software rather than encourage them. Great quiz for pro's, though.

    Regards

    Mikael
    • most probably discourage newbies from free software

      Especially question 1.

      Q: Which of the following does not satisfy Fred's obligation to make source code available:

      A: He can put the source code on his web site, and put the URL on the CD.

      Huh?

      If I share software with you I can't simply tell you where the source is, I have to give it to you or make a written offer? Why can't I just share and get on with my life?
      • Agreed. While the FSF is technically right here, the example is silly. Are any software authors, even the FSF, really going to sue someone for giving binaries as a birthday present to a friend without source? For that matter, what cheapskate would give free software as a gift? This makes no sense even keeping the gratis vs. libre issues in mind.

        I dare say that this example may highlight a situation where the GPL needs to be updated. Binary-only distribution to personal aquaintances of unmodified versions should be perfectly fine.
        • "Are any software authors" should read "any free/open-source authors"

          Darn it, that's what happens when I skip around while editing.
        • While the FSF is technically right here, the example is silly. Are any software authors, even the FSF, really going to sue someone for giving binaries as a birthday present to a friend without source?

          The example is not silly at all. People do distribute CDs of binaries without source code. The FSF won't sue someone who uses the GNU GPL to license their software in cases where the FSF is not the copyright holder (which is the vast majority of GNU GPL-covered software). Even in cases where the FSF holds the copyright, usually these cases are not settled by lawsuit. Usually infringements are settled by someone pointing out the GPL's terms and asking for compliance (sometimes with the assistance of Eben Moglen, general counsel for the FSF, who said, "[a] quiet initial contact is usually sufficient to resolve the problem." [columbia.edu]).

          Also, the problem doesn't come up merely by not distributing source code with binaries, but by not making it available at all. One can comply with the GPL in ways other than distributing source code with binaries. Distributing both source code and binaries simultaneously from the same location is probably the most convenient way to comply.

          For that matter, what cheapskate would give free software as a gift? This makes no sense even keeping the
          gratis vs. libre issues in mind.

          It makes sense when you consider that not everyone gives gifts to demonstrate how rich they are. Some people give gifts to show that they care about their friend's wishes. Sometimes this involves buying something, sometimes it involves spending time making something that has no price attached to it. Giving someone a copy of Debian GNU/Linux [debian.org] who can not get it on their own [debian.org] is one way to help them have software freedom.

          I dare say that this example may highlight a situation where the GPL needs to be updated. Binary-only distribution to personal aquaintances of unmodified versions
          should be perfectly fine.

          No, the GPL does not need amending here. People need to be able to excercise all of their software freedoms including the ones that require source code: studying how the program works, adapting it to their needs, improving the program, and releasing their improvements to the community (known as freedoms #1 and #3 in the definition of Free Software [gnu.org]). In order to come as close as one can to guaranteeing source code availability and offer reasonable practical alternatives, the GNU GPL includes the terms discussed in the first quiz question.

          • Also, the problem doesn't come up merely by not distributing source code with binaries, but by not making it available at all. One can comply with the GPL in ways other than distributing source code with binaries. Distributing both source code and binaries simultaneously from the same location is probably the most convenient way to comply.

            No. The FAQ explicitly states that you must offer the source through mail for a small fee if you do not ship source with the binaries. It doesn't matter how you distribute the thing.

            You're supposed to provide the source code by mail-order on a physical medium, if someone orders it. You are welcome to offer people a way to copy the corresponding source code by FTP, in addition to the mail-order option, but FTP access to the source is not sufficient to satisfy section 3 of the GPL.

            When a user orders the source, you have to make sure to get the source to that user. If a particular user can conveniently get the source from you by anonymous FTP, fine--that does the job. But not every user is on a network. The rest of the users are just as entitled to get the source code from you, which means you must be prepared to send it to them by post.

            If the FTP access is convenient enough, perhaps no one will choose to mail-order a copy. If so, you will never have to ship one. But you cannot assume that.

            Of course, it's easiest to just send the source with the binary in the first place.


            Now, a lot of people would think that if you distribute the binary via FTP, having a source package right next to it would be 'distributing source with the binary', just with the option for the user of actually taking it or refraining as they see fit. I strongly suspect that FSF:s interpretation rather is that the source must accompany the binary in the same, single, package. The argument for mail is that people may not have access to a network (which they evidently had thirty seconds earlier, when downloading the binary). At the same time, there seems to be no specification as to what physical medium to use; I could mail a QIC40 tape with the source and not having to worry if you can dredge up a tape unit able to read it. Yes, this is stupid.

            Oh, BTW, if question #8 is about static linking, please make this clear; as it stands, you can answer either way, depending on how you interpret the question.

            /Janne
            • No. The FAQ explicitly states that you must offer the source through mail for a small fee if you do not ship source with the binaries. It doesn't matter how you distribute the thing.

              Actually, when it comes to distributing binaries without source code and you want to go with the written offer option, section 3b of the GNU GPL says the applicable cost is "no more than your cost of physically performing source distribution". So you don't have to charge anything if you don't want to.

              But on a larger issue, your rejection is simultaneously unclear and doesn't invalidate anything you quoted from me. I'm fully aware of the requirement of offering source code through the mail when someone orders it (I never contested this requirement). You read something into my words that was not there. I was not trying to present a complete list of alternatives (the GNU GPL itself is fine for that).

              Now, a lot of people would think that if you distribute the binary via FTP, having a source package right next to it would be 'distributing source with the binary', just with the option for the user of actually taking it or refraining as they see fit. I strongly suspect that FSF:s interpretation rather is that the source must accompany the binary in the same, single, package.

              Consider your suspicions allayed. One question [gnu.org] speaks to your suspicions. Distributing two archives as you describe is fine. Distributing source code in the same archive as the binaries is also fine. Network distribution makes it possible for the binary archive to be accessible where the source archive is not (this can happen via FTP, not just via web sites). This presents a problem and is easily solved by distributing source code and binaries together in the same archive.

              The argument for mail is that people may not have access to a network (which they evidently had thirty seconds earlier, when downloading the binary).

              When the GNU GPL was written not everyone had network access that allowed them to download all the source code they want to GPL'd programs. People still don't have that level of access. Networks do go down, some people pay per byte and have to ration their usage, and a variety of other limitations. The GPL has to account for people passing copies of GPL-covered software via other means too. I don't know about you but I have manually passed out copies of GPL-covered software to people (I always put the complete machine-readable source code on the same medium as the binaries if I'm distributing binaries). These people deserve source code too.

              At the same time, there seems to be no specification as to what physical medium to use; I could mail a QIC40 tape with the source and not having to worry if you can dredge up a tape unit able to read it. Yes, this is stupid.

              If you're only distributing source code, you would want to distribute it in a medium people could use otherwise people would not want your source code. If you're distributing binaries, section 3a specifies "a medium customarily used for software interchange", section 3b specifies a written offer (valid for at least 3 years) that offers source distribution on "a medium customarily used for software interchange", and section 3c talks about passing on a copy of the information you received in accordance with section 3b.

              Oh, BTW, if question #8 is about
              static linking, please make this clear; as it stands, you can answer either way, depending on how you interpret the question.

              It appears you are trying to send a message to the editors of the quiz. You should know that I did not write the quiz.

              Question 4 sets the scene here, "FooCorp distributes a modified version LibIdo library linked to their proprietary program Frobber.". The GNU LGPL notes in the preamble, "When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library." and thus subject to the terms of the license of the work being linked in (in that quiz scenario, the LGPL).

              Section 6 of the GNU LGPL requires the license under which you distribute a "work that uses the Library" to allow for "modification of the work for the customer's own use and reverse engineering for debugging such modifications". So it would not matter whether Frobber links in the modified LibIdo statically or dynamically, either way Frobber is a derivative of the modified LibIdo and that LibIdo is a derivative of Peter's library. Therefore, in the end, the proper answer to the question #8 is "yes".

              • The GPL has to account for people passing copies of GPL-covered software via other means too. I don't know about you but I have manually passed out copies of GPL-covered software to people (I always put the complete machine-readable source code on the same medium as the binaries if I'm distributing binaries). These people deserve source code too.

                But then doesn't this make you their distributor?

                If I get a CD from GPLCorp Inc. that contains only binaries, make copies of the CD, and give away the copies to a group of people, is GPLCorp Inc. still responsible for sending source to all of these people? Or have GPLCorp Inc.'s resposibilities ended with providing a source CD only to me, and am I now the point of contact for all of these people? I should hope it's the latter.
                • But then doesn't this make you their distributor?

                  Yes, I am distributing the GPL-covered program to these people. They can request source code from me. If I am unprepared to satisfy that request it is my responsibility to not distribute the program to them in the first place.

              • OK, first, I totally missed that section on electronic distribution. Seems that if you offer the software through FTP, offering the source on the same site will fulfill any obligations. That'll teach me to actually find the facts before spouting. :)

                As I read it, I don't think the mail requierement is in force when distributing over the net. In any case, the 'customary medium' for source distribution today is the net, not a physical medium - I don't even own a CD-ROM, and I haven't used an actual floppy for at least a year.

                The thing about #8 is still very confusing. I wasn't trying to send a message; I apparently thought LGPL allowed different things than it actually does. What, exactly _is_ the point of LGPL if you can't link an LGPL lib with proprietary code without opening that code? Seems there is room to define a license like "This is GPL, with the exception that you may freely dynamically (ie. at runtime) link this software with software bearing any license without any obligations of the GPL having any effect on that software".

                /Janne
                • What, exactly _is_ the point of LGPL if you can't link an LGPL lib with proprietary code without opening that code?

                  The FSF has an essay directly answering your question: Why you should not use the Library GPL for your next library? [gnu.org]. The GNU LGPL was renamed after this essay was written to stand for the Lesser General Public License to reflect that it does less to ensure software freedom.

                  Seems there is room to define a license like "This is GPL, with the exception that you may freely dynamically (ie. at runtime) link this software with software bearing any license without any obligations of the GPL having any effect on that software".

                  Such a license would go against the whole point in using the GNU GPL. Free Software developers have to make advantages for one another and produce software that is Free Software. Linking with non-free software is antithetical to the Free Software movement because this movement maintains everyone should have the four fundamental freedoms of Free Software for all of their software. Distributing software linked with non-free software prevents people from having complete software freedom (more specifically, studying, modifying, and distributing source code).

                  • Such a license would go against the whole point in using the GNU GPL. Free Software developers have to make advantages for one another and produce software that is Free Software. Linking with non-free software is antithetical to the Free Software movement because this movement maintains everyone should have the four fundamental freedoms of Free Software for all of their software. Distributing software linked with non-free software prevents people from having complete software freedom (more specifically, studying, modifying, and distributing source code).

                    Granted. However, given that I need to develop closed software, I need to know whether I can use LGPL licenced components or if I have to look at other options. What really worries me is that gcc (and glibc) may be too restrictive, licence wise, to develop closed software at all - in which case I kind of wonder why FSF have not gone after those who do so.

                    In any case, if we release any libraries or other code, the alternative is probably a non-FSF license, seeing how the LGPL does not do what we need.

                    /Janne
                    • What really worries me is that gcc (and glibc) may be too restrictive, licence wise, to develop closed software at all - in which case I kind of wonder why FSF have not gone after those who do so.

                      Copyright law doesn't allow the FSF to stop you from using gcc to compile non-free software. For years, NeXT (now Apple) used gcc to compile NeXTSTEP and OPENSTEP (which, contrary to whatever you may read into the name, is a proprietary operating system). It was a completely seperate issue that NeXT tried to extend gcc without abiding by the GNU GPL [gnu.org] by proposing to distribute their Objective C front end as .o files.

                • My guess is you could do this, but it wouldn't be the GPL anymore. The license is something you create yourself... the thing is, when creating your own license, you have many chances of having loopholes which the users may abuse. If you use the GPL, it's because you want it. If someone wants to use GPLed software source, they have to accept the limitations; if they're not happy with it they can create their own source.
      • If I share software with you I can't simply tell you where the source is, I have to give it to you or make a written offer? Why can't I just share and get on with my life?

        Why can't you ship source code and the binaries from the same location and get on with your life? One way to comply with the GNU GPL is to make source code available from the same location as the binaries. Websites become unavailable for various reasons and if people have only the binary and a pointer to the source code on a website, it's possible they would not be able to obtain the source code that compiles to the binary they have. This is not unheard of when people distribute binaries via CD. But my experience is most people don't find it difficult to ship source code and binaries from the same location.

        • Jbn-o,

          The hypothetical situation given deals with a single individual giving another individual a single CD[-R] of binaries for personal use on a non-commercial basis. It's unlikely there's "shipping" going on, and location is hardly the issue. There are no stores, companies, or businesses explicitly mentioned in this example.
          • It's unlikely there's "shipping" going on...

            So long as Fred and Joan aren't a part of the same organization, distribution has occurred. The GNU GPL calls such an event "distribution" and that is the term I should have used.

            ...and location is hardly the issue.

            Distributing source code and binaries from the same place is apropos because the GNU GPL says it is. See section 3 of the GNU GPL which includes:

            If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

            In the quiz scenario, Fred distributes a CD with binaries of Joan's web browser to his unnamed friend. Giving out source code on the same CD as the binaries would have counted as distribution of the source code. Hence choice 2 ("He [Fred] can give out source on the same CD as the binaries.") is not the correct answer to the quiz question.

      • If I share software with you I can't simply tell you where the source is, I have to give it to you or make a written offer?

        Say my sister doesn't have access to the Internet. Given only a URL, how is she supposed to fetch the source code? (Read More... [gnu.org])

        • She could join the 21st century?

          Actually, I think you missed the full extent of the original question.

          If I give your sister a built version of a GPL program, I'm suddenly obligated to provide her with a copy of the source code.

          Indeed, I'm potentially obligated to provide her with the exact source for the version I gave her, even if she asks for the source several years later. Presuming that the source is non-trivial, perhaps I'd even have to buy a CD-burner to provide her with the source...

          Of course your sister isn't likely to take me to court over this, but under the strict terms of the GPL, I'm undertaking a new obligation every time I share a program that I like (whether I am the original author or not).

          • One main point of putting code under the GPL is to ensure that source is available. If you want no restrictions there is always the public domain.

            Making a copy of a copyrighted program for your sister is a violation of copyright laws, like
            giving a copy Microsoft Word to someone.

            With GPL'd programs you are allowed to make the copy if you fulfill certain obligations, including making the source available.
      • But didn't it make a difference that he was putting a URL to *his* website on the CD? If he had made the URL point to the author's website where she made the software available in the first place then maybe the answer would have been different. IANFL so I don't know.
        • But didn't it make a difference that he was putting a URL to *his* website on the CD?

          Put briefly, no. That makes no difference. Nowhere in the GNU GPL does it say Fred can distribute a URL pointing to the source code to satisfy his obligation to make source code available. Therefore choice 1 is the correct answer to that question.

  • by glenstar ( 569572 ) on Sunday May 26, 2002 @03:07PM (#3587979)
    Joan wants to distribute copies of her browser statically linked to Postfix (a mail server)...

    What in the hell is Joan thinking of linking a web browser to a mail server? I think Joan is automatically disqualified from ever developing software, much less having the ability to determine which license to use.

  • I got 7of9! Yes! My final fantasy came true ;-)
  • Whelp, I got 90% right which I suppose means I understand the basics (these weren't obscure cases) but considering the amount of time it took me I'm going to stick with BSD licensed stuff.

    Atleast with that I'm guarenteed that contributions back to software I wrote a majority of won't prevent me from using the damn stuff myself.
    • [All spelling in context.] Atleast with [the BSD licenses] I'm guarenteed that contributions back to software I wrote a majority of won't prevent me from using the damn stuff myself.

      Someone could patent the code they contribute to your project and not license that patent to you. The BSD licenses do nothing to help you with software patents. The GNU GPL covers this situation.

      I understand your desire for a simple permissive software license, but ensuring software freedom requires more complex licensing terms than what the BSD licenses provide.

      • If patented code is contributed to a BSD project but is not licensed back to you in reciprocation, then:

        1) you still have the original code, and
        2) it is unclear how the patented code was 'contributed' to the project in the first place.

        Rather, it seems that the people who developed the patented code did exactly what they are allowed, which is they used the BSD code freely.

        In the end, no one is deprived anything by using the BSD code. The source to the public code is still available, and the binaries that the new code is based on is available from the company that developed the new code.
        • 1) you still have the original code

          This doesn't respond to the point made earlier and it doesn't acknowledge the power of patents. The point made earlier [slashdot.org] was that with the BSD licenses, you can always benefit from someone else's contribution. So still being able to use the code without the patented contribution in no way addresses that point because you are talking about the program without discussing the patented contribution. Also, what you gain with copyright (i.e., "still hav[ing] the original code") you can lose with a patent. Copyright law and patent law are completely separate areas of law that can conflict. A patent holder (whether it is the one that "contributed" to your BSD-covered program or someone else) can write their patent so broadly it encompasses your extant work, thus preventing you from distributing your work, forcing you into a costly licensing fee, compelling a court appearance, or cross-licensing your patents with them (the real value of software patents is in cross-licensing [cam.ac.uk]).

          2) it is unclear how the patented code was 'contributed' to the project in the first place.

          The code could have been sent to you to make it known to you, informing you of its existance in a way where they can win a copyright infringement suit (see Lawrence Rosen's column in the December 2001 "Linux Journal" magazine for details on this) as well as a patent infringement suit. Whatever the reason, they have a patent on that improvement and you probably don't. Patents are written broadly enough to encompass an idea (not just a particular expression of that idea), so it's entirely possible (even likely) you won't be able to reimplement the improvement without infringing on the patent.

          Rather, it seems that the people who developed the patented code did exactly what they are allowed, which is they used the BSD code freely.

          There's no doubt they acted within the limits of the BSD licenses, that was never the question. The question was whether you want that to happen to your program: Do you want to maintain the ability to share improvements to your program even in the face of software patents? Do you want the other users of your software to be able to share and modify the patented improvements? If so, the BSD licenses are not an appropriate license choice for your program.

      • Ensuring freedom for who, exactly? When I develop software "for free", I want people to use it. The more people use common libraries, the less we are faced with a diversity of protocols and formats. That means commercial organisations too - FSF/OSS developers spend most of their time playing "compatibility catchup".

        But most importantly, the GPL fails in its efforts to encourage code sharing, because it locks out the largest potential resource of high-quality, useful code: business.

        Business can't use GPL code in its products, and is skeptical about LGPL (with good reason: see section 6 of the LGPL!). So it doesn't use (L)GPL code, doesn't contribute back (via testing, maintenance or extension), and neither side benefits. The only time businesses LIKE the GPL is when they release their own code, because it restricts competitors from using it.

        BSD licenses OTOH allow everyone to share. Sure, some people abuse the situation. But the community loses nothing in real terms.

        • Looking at the overall gist of your post, it's clear you don't understand a good deal about Free Software or why the GNU GPL says what it says. You should read the essays at the GNU project's philosophy page [gnu.org] and learn about the Free Software movement.

          Ensuring freedom for who, exactly?

          All computer users. The Free Software movement's message of software freedom is aimed at all computer users.

          When I develop software "for free", I want people to use it.

          The Free Software movement is not just interested in popularity. The primary motivation of the GNU project is to give users freedom. Also, talking about developing software "for free" suggests you are talking about software in terms of price. The Free Software movement focuses on freedom, not price.

          But most importantly, the GPL fails in its efforts to encourage code sharing, because it locks out the largest potential resource of high-quality, useful code: business.

          The GNU GPL is a very (if not the most) widely used Free Software license. Lots of people find it works for code sharing very well. However, it is not the job of the Free Software movement to look out for business interests in the way you want them to (treating businesses as charities is the work of another movement). If businesses want software developed, they can work hard and develop it themselves or hire someone to write it for them. If they want to share and share alike, they are welcome to get a head start and develop a derivative of a GNU GPL-covered work. Many businesses have chosen the latter route; the GNU GPL does not "lock out" business users, unless you define "business" to exclude IBM, Microsoft, Apple, and a host of commercial GNU/Linux distributors (just to name a few) all of whom make and/or distribute GNU GPL-covered software.

          BSD licenses OTOH allow everyone to share. Sure, some people abuse the situation. But the community loses nothing in real terms.

          The second sentence of that quote denies the validity of what you said in the first and third sentences of that same quote. Anytime someone distributes new BSD-covered code they are distributing Free Software, and that's great. Unfortunately they've chosen a license that allows for proprietary derivatives (even incompatible proprietary derivatives—a practice commonly referred to as "embrace and extend"). The community cannot freely use the changes made to these derivatives and the developers of the new BSD-licensed work have essentially treated some organization as a charity, not insisted on developing software as equals.

          • I am fully versed in the FSF's philosophies. I just disagree with them. I do not find the GPL in the interests of "all computer users" because it has serious (negative) implications for creativity, standardization, and the sharing process.

            RMS's rampant anti-Copyright arguments are fatally flawed in their assumption that software can exist in a form beneficial for all, without an economic model. RMS has also brainwashed people into accepting his explanation of "free speech" versus "free beer". The GPL enforces (not merely permits) "free speech", but also "free beer".

            What this means for the man in the street is Bad News. Seeing a need, an industry can produce software to fulfil that need. In doing so it engages in economic activity, providing jobs to people like (surprise surprise) us. But if it must use the GPL, it can only be guaranteed a single sale. The first purchaser is permitted the rights to modify and redistribute the software, and resell [gnu.org] it. No, not just it - but infinite copies, at any price (s)he choses. So it comes down to the fact that business cannot survive under an "only GPL" model.

            On the flip side of the coin, let's assume that business is NOT involved. Free Software developers have got together and made a product. The end user STILL loses. Why? Because free software is notoriously shit compared to commercial alternatives when it comes to usability. It is typically made by geeks, for geeks. More specifically, the free software movement today is characterised by following. All of the features present in "productivity apps" (those which are of interest to normal home users) have debuted in commercial software, and the ideas simply copied.

            All of this goes to say that the GPL stifles creativity. When there is no economic incentive, creativity declines.

            Very few people benefit from the "freedom" offered by GPL software, unless we're talking "free beer". The vast majority of end users do not have the means to use the source code, and are confused and intimidated by the GPL. This reduces the sharing process. I am bound by severe legal constraints if I choose to give a copy of a GPL application to someone. I must include the source code (inconvenient, since I may not have chosen to obtain it), or provide an offer to provide the person with the source code. The GPL says it is NOT sufficient that I merely direct the recipient to the web site of the original source code (even if I haven't made any modifications), because as the distributor the onus is on ME to provide the source.

            So much for easy sharing.

            Which brings me to standardization, the central topic of my original post. Contrary to your belief, I don't want businesses to be treated as charities. I want meaningful contribution in both directions. And given the history of the situation, I don't believe this can be achieved using the GPL.

            The FSF can treat itself as a sole light in the darkness of Copyright, fighting to bring a new age of Enlightenment to desktops near and far. And it can fail, because its efforts are continually divided by the (perceived) requirement to provide compatibility.

            Or it can make reasonable efforts to reconcile its philosophy with that of the rest of the world, and work together nicely for a better future. And that means a give-and-take relationship with industry. "You can't have this unless you give us the commercial product its going to be a tiny part of" is not a give-and-take relationship.

            The BSD license allows a business to benefit from free software. And it allows the business to contribute back in a manner it sees fit. A business almost certainly doesn't want to spend millions developing a commercial product, and then give it away for free (speech and/or beer), but it is likely to be willing to contribute extensions, fixes, and code that doesn't threaten its commercial model back into the free software space.

            Or, to put it another way: if you don't give them anything, why the hell should they give something to you?

            There are very few companies that can, or do, practice "embrace and extend". It only works effectively if you are a monopoly.

  • Jesus Fuck.

    Since when did legal studies become the main concern for computer afficianados?

    That quiz has to be a goof. I think Microsoft hacked into FSF's servers to scare people away from open-source.

    There is something very, very wrong here.

    These legalisms are paralyzing to a fertile, inquisitive mind.
    • Since when did legal studies become the main concern for computer afficianados[sic]?

      I was thinking just the opposite: When was it reasonable to be ignorant of the laws that control what you can do with a computer? When was it a good idea to not know about the terms of widely-used Free Software licenses? Maybe the computer afficionados you know would be better off knowing what copyright law says and what penalties lie in wait for them if they violate someone's copyright. Being ignorant of the DMCA is particularly unwise in the USA, just ask Dmitry Sklyarov [freesklyarov.org] about the pleasures of being held in jail away from home.

      I think Microsoft hacked into FSF's servers to scare people away from open-source.

      Funny. I think the FSF put that up with the mindset of helping people to better understand the GNU GPL and GNU LGPL, and to increase the number of volunteers helping them with license issues (as they ask for if you answer all the questions correctly). Also, the FSF doesn't do "open-source" they do Free Software. There's a big difference [gnu.org].

      These legalisms are paralyzing to a fertile, inquisitive mind.

      These legalisms are just another part of life to learn about, organize protests around, and work within. A mind will not stay "fertile" if it is ignorant of the rules of society. It is shameful, not helpful, to remain ignorant of the law.

      • You are correct. I misspelled "afficionados".

        In every other objection you have, you are dead wrong.

        A basic knowledge of the law is necessary to live in a civilized society.

        My point, which you failed to understand, is that when legal considerations become so pervasive and convoluted, so that one must be a specialist ,i.e. a lawyer, to properly understand them, the law is no longer helpful, but a detriment and distraction to the task at hand, in this case computer programming.

        The law is not an end in itself, but is supposed to be a tool to allow us to live our lives peacefully.

        You and I obviously have different points of views. You see computing as a symbol to be used in political action. I just see computing as something intellectually interesting in and of itself, of which the social, legal, economic and political aspects play a smallish part.

        Your bringing up the Skylarov case only strngthens my point. Skylarov's problem was not an ignorance of the law, as he deliberately tried to present his ideas in what he thought was a legal manner. Skylarov got caught up in a confusing and malicious legal fight, when all he wanted to do was investigate some interesting encryptation problems.

        I like what the FSF and GNU stand for. I just wonder if they are taking the wrong approach, by piling legalisms on legalisms.

        The point is not to get hackers to become lawyers. The point should be to get the lawyers off of the hackers' backs.

        It is not shameful to be ignorant of the law when the laws in question are deliberately obscure.

        • Re:Lawyers (Score:2, Informative)

          by jbn-o ( 555068 )
          ...[W]hen legal considerations become so pervasive and convoluted, so that one must be a specialist ,i.e. a lawyer, to properly understand them, the law is no longer helpful, but a detriment and distraction to the task at hand, in this case computer programming.

          Some might say the same thing about computer programming or using a computer recreationally. Fortunately we don't need to be experts to understand a great deal about copyright, we need to study it, ask questions, have discussions, and learn. There are so many interesting intersections between computing, economics, law, and politics, I sincerely doubt a reasonable person could find only "smallish" interests after reading some good books.

          Understanding a system is the first step to changing it. Try to understand what's going on with copyright law by reading non-technical books written for a general audience like Lawrence Lessig's "The Future of Ideas" or Siva Vaidhyanathan's "Copywrongs and Copyrights". Both of them contain plenty of commonly accessible examples on where the law and computing intersect. Then try reading the references they point to, such as US Supreme Court cases and important appellate court decisions. I've found that the more I persist by reading and learning, the more I come to understand the ins and outs of copyright law and the more I appreciate the effort.

          • It's fine that you are interested in the legal issues of intellectual property. I happen to have a particular interest in the economic aspects of said topic.

            That is one reason I find open-source model so compelling. From an economic point-of-view, it is a new paradigm of software development. It is also a fairly simple and elegant solution that does not get bogged down in itself. The system itself is of tangential interest. It is interesting to specialists such as myself. But at its heart it is interesting because non-specialists can easily apply it to get stuff done. When Linus Torvalds was developing Linux as open-source, he wasn't really doing it for idealistic reasons. He was just a computer hacker trying to get a cool massive hack hacked.

            The problem with the GPL is that it is starting to take itself too seriously. You, personally, might have a special interest in its arcane intricacies, but for the end-user, it has become cumbersome.

            The fact that people have to take obscure and confusing tests and still be confused by the GPL does not suggest that those people are idiots. The end user is not made to serve the GPL. The GPL is meant to serve the end user. Confusion means that it is broken. Even from a legal point of view, the GPL is untested.

            It's fine for you to enjoy the ins and outs of copyright law. It is a shame if it is necessary for every creator of intellectual property to become an expert in it. I don't mean to say people should not have a basic understanding of these issues. But the legal framework involved has become so confusing as to be counterproductive.

            Getting back to the original subject, the GPL quiz, it is poorly written and indicative of sloppy legal thinking. Bad contracts and laws can be just as frustrating as bad code. It is especially frustrating when you don't want to parse legalisms as a requirement to parse computer code.

            End Rant.
  • The correct answer to question 9 is 1. No one is alleging that FooCorp is infringing any patents.

    • Sorry, please try again.

      FooCorp owns this patent. Because the GPL is meant to protect Free Software from licensing issues, FooCorp must make this patent free for use; so that derivatives of their work can make use of this patented technology. So the third response is the correct one.
  • I'm developing a video game to be released under the GNU General Public License. The binary (executable + video and sound assets) will be about 256 KB, and the source code for the executable portion of the file plus the custom build tools is about 256 KB. The problem is that the "source code" for the whole project, as defined by the GPL, may exceed 50 MB (primarily large lossless video and sound files), and because this is my first project, I can't afford very much web space. I can't re-license the software because it uses the LZO compression library, which is licensed under the GNU GPL, not the Lesser GPL. (I can switch to any other packer library with similar speed, but I don't want to have to go all the way back to RLE compression.)

    If the source code is several orders of magnitude bigger than the binary and requires manual processing in the build process, how should I distribute my software electronically in order to comply with the letter and spirit of the GNU GPL?

    • I would suggest talking to a lawyer about it (and/or contacting the FSF), but don't forget snail mail.

      You can put just what you need online and provide the complete "source" via CD in the mail if requested. Remember that you can charge for the materials necessary to mail them a copy so that it's not an undue financial burden. If your game turns out to be quite popular, check around for hosting; there are folks out there who have the bandwidth and need a reason for people to come check out their services.

      If it doesn't turn out to be that popular a game or folks just don't care about the source (it happens a lot), then it's a moot point anyway. But in the event that it is popular, there are options open to you. If anything, I would think the FSF would rather shell out the server space than let a popular piece of GPL goodness get mired down in programmer exhaustion.
      • You can put just what you need online and provide the complete "source" via CD in the mail if requested.

        I've considered that, but the GPL FAQ [gnu.org] states: "The GPL insists that redistributors of binaries without sources provide an offer in writing to send the sources, because that's the only way we can make sure that users can get the sources. So if you want to distribute binaries by anonymous FTP, you have to distribute sources along with them."

        In other words, if I distribute binaries electronically, I have to either distribute source code electronically or restrict binary distribution to those who own a printer.

        From the GPL FAQ: "This should not be hard. If you can find a site to distribute your program, you can surely find one that has room for the sources." I'm not sure that the authors of the GPL had situations in mind where the source code is several orders of magnitude larger than the binary.

        If it doesn't turn out to be that popular a game or folks just don't care about the source (it happens a lot), then it's a moot point anyway.

        If I do not comply with the letter of the GPL from the outset, I am infringing the copyright on the LZO library, and Markus F.X.J. Oberhumer can sue me for up to $150,000 in statutory damages under U.S. copyright law [cornell.edu].

        The only way I can truly make this a moot point is if I can make a case that the way I store asset files (essentially a file system within the ROM) counts as "mere aggregation" under the GPL.

        • The GPL insists that redistributors of binaries without sources provide an offer in writing to send the sources...

          You assume that an offer in writing cannot be in electronic form. Is a README file or LICENSE file not "in writing?" There is no provision of which I am aware that mandates a piece of paper dictating your intentions.

          IANAL, but if LICENSE files did not constitute a legally binding contract, how would the BSDL or the GPL ever have an effect? As I said before, I would suggest contacting a lawyer and/or the FSF, but I don't think this is as big a problem as you are making it.
    • Stick the video and sound assets into a seperate file (like iD did with their .pak files with quake). This may have other benefits, but in particular it means that the assets don't have to be GPL'd, so you're in compliance with the letter of the law. If you want to (and I presume you do), provide compressed versions of the assets (eg make the asset library a simple zip file). Technically now the assets wouldn't be covered by the GPL, just everything else. If you are concerned about that, just write an exception into your copy of the GPL. It's sacred, but not *that* sacred. :)
      • Stick the video and sound assets into a seperate file

        The target system uses interchangeable ROM cartridges and has only one ROM connector. I don't want the user to have to swap cartridges several times during game play, and I don't want to have to provide two expensive ROM cartridges in each package.

        (like iD did with their .pak files with quake)

        I'm already storing asset files in .gbfs archives. (The .gbfs format [pineight.com] is an archive format I designed, somewhat similar to .tar, .pak, .zip, .jar, .dat used by other programs.) However, because a program on the target system can access only one file (the ROM), I have to concatenate the asset files to the end of the executable. Does concatenating several files count as "linking" if I also provide a tool to extract the individual .exe and .gbfs files?

        If you want to (and I presume you do), provide compressed versions of the assets (eg make the asset library a simple zip file).

        I already do that, but the assets are already 20 MB zipped before counting the lossy compression used to pack the assets into the pak file. Lossy compression of source code is not permitted by the GPL, as a lossy compressed audio or image file is no longer "the preferred form for making modifications to the work."

        If you are concerned about that, just write an exception into your copy of the GPL.

        I am not authorized to do that. The program includes a library (M.F.X.J. Oberhumer's LZO [oberhumer.com]) under the GNU GPL, and I am not permitted to link it against anything not under the GPL. I cannot contact Mr. Oberhumer because he does not accept mail not encrypted with PGP [oberhumer.com], and I cannot use PGP because I don't know anybody who would sign my keys.

        If concatenating several files in a reversible manner does not count as "linking," then I don't have a problem.

    • ...[H]ow should I distribute my software electronically in order to comply with the letter and spirit of the GNU GPL?

      Exactly what part of the GNU GPL are you referring to? I'm not aware of the part of the GNU GPL that requires "electronic" distribution. Also, if the work is not a derivative of anything GPL'd, the GNU GPL would not apply to you (assuming you are the copyright holder on this work). It would only apply to those you distribute your work to.

      • I'm not aware of the part of the GNU GPL that requires "electronic" distribution.

        But the GPL FAQ states [gnu.org] that if the binaries are distributed electronically, the source code must also be distributed electronically. The sheer size of the source code may prohibit me from distributing the software electronically at all.

        Also, if the work is not a derivative of anything GPL'd, the GNU GPL would not apply to you (assuming you are the copyright holder on this work)

        I am not. Read what I had written: "I can't re-license the software because it uses the LZO compression library, which is licensed under the GNU GPL." The LZO library [oberhumer.com] was written by Markus F.X.J. Oberhumer, who does not have a plain e-mail address [oberhumer.com].

        This is a non-problem if and only if reversibly concatenating an executable with asset files counts as either "mere aggregation" and/or "just data" [gnu.org] under the GPL.

        • The sheer size of the source code may prohibit me from distributing the software electronically at all.

          So don't distribute your work electronically. Distribute source and binaries together simultaneously by burning both onto CD-Rs. Someone else might volunteer to redistribute the work electronically for you. So much of this issue centers on your erroneous belief that the GNU GPL requires you to distribute electronically.

          I am not [the only copyright holder to this work]. Read what I had written...

          I did read it, quite carefully. I figured at least one of the following things might have occured to you:

          • The last paragraph of section 3 of the GNU GPL says that "offering equivalent access to copy the source code from the same place" will meet your requirement to distribute complete source code to your work. That place can be a CD-R.
          • If you really want to contact Oberhumer (which no longer seems necessary), you could try e-mailing plaintext because Oberhumer's "...mailfilter may throw away messages from unknown senders unless you do use this key." [oberhumer.com] (emphasis mine). You may get lucky.
          • You could accede to Oberhumer's wishes and try GPG [gnupg.org]. Contrary to your claim [slashdot.org] "I cannot contact Mr. Oberhumer because he does not accept mail not encrypted with PGP", there is no requirement to use PGP. Oberhumer supplies information for contact with GPG on the page you pointed me to [oberhumer.com]. GPG is a a Free Software PGP replacement.
          • You could see if Oberhumer supplies a postal address with your copy of the software then try sending a letter. Low-tech, yes, but it could work to make initial contact.
          This is a non-problem if and only if reversibly concatenating an executable with asset files counts as either "mere aggregation" and/or "just data" under the GPL.

          I very much doubt that distributing a single file would count the way you want it to be counted. That's a question for the FSF, albeit a rather academic one considering that this whole issue is a non-problem if you drop the phony electronic distribution requirement (that never really existed) and distribute your program via inexpensive CD-Rs (which have approximately 600MB more capacity than you said you need to distribute your program).

          • So don't distribute your work electronically.

            Would you get one of, say, the media player apps if you couldn't get it for free online?

            So much of this issue centers on your erroneous belief that the GNU GPL requires you to distribute electronically.

            I understand that the GNU GPL does not require this, but the behavior of the typical Internet surfer does. The typical Internet surfer would rather just click the little X button in the upper right corner of her browser than order a CD on an impulse. And if I start selling CDs online, I have to pay upwards of $200 per year for an SSL certificate to protect my e-commerce from the man in the middle, don't I?

            You could accede to Oberhumer's wishes and try GPG

            I have considered this path. However, when I looked into GPG, I found no way of getting my key signed by a prominent GPG user, or even by any GPG user. Isn't that a prerequisite for entering the "web of trust" or whatever they call it?

            phony electronic distribution requirement

            You try selling a game that doesn't have a downloadable playable demo. Players like to know what they're getting into before they buy something.

            • Would you get one of, say, the media player apps if you couldn't get it for free online?

              Yes, if it were Free Software and priced reasonably, but that's completely beside the point. This is a market issue, not a problem for the GNU GPL. Ultimately network distribution is something you don't have the budget to do in the way you want to do it. So instead of wallowing in what you can't afford to do, try distributing your program in a way you can afford.

              I understand that the GNU GPL does not require this...

              Then this thread was always completely outside the context of the GNU GPL. This thread is becoming less and less apropos for this discussion topic.

              I have to pay upwards of $200 per year for an SSL certificate to protect my e-commerce from the man in the middle, don't I?

              Well, if you can't afford that, you'll have to reconsider doing e-commerce that way (maybe you won't do e-commerce at all). This isn't brain surgery and you're not running a huge store. It's also not my responsibility to come up with a viable business plan for you.

              I have considered this path [using GPG in combination with contacting Oberhumer].

              Your posts convey no sense of this at all. In fact you tried to take me to task by pointing me to a webpage you thought would corroborate your assumption you could only contact this person via PGP encrypted e-mail. It turns out that wasn't the case; apparently you didn't read that page too closely.

              However, when I looked into GPG, I found no way of getting my key signed by a prominent GPG user, or even by any GPG user. Isn't that a prerequisite for entering the "web of trust" or whatever they call it?

              Briefly: No it is not, and if you read documentation on GPG you'll see you what you need to use encrypted and signed e-mail.

              But again, there's a more important issue here. You need to ask yourself whether you need to contact Oberhumer at all. I don't think you do. You don't need to obtain another license for Oberhumer's work because you have no genuine problem complying with the GPL. This was the only reason for contact and since this turned out to be another non-problem, the need to contact Oberhumer vanishes.

              You try selling a game that doesn't have a downloadable playable demo. Players like to know what they're getting into before they buy something.

              Welcome to the free market. Nobody owes you bandwidth or storage.

    • I don't think there is a problem. The compressed video and sound are fine, as they are playable using the open-source code and can easily be considered the "usual form of the source". For instance you can easily imagine a game devloper who just keeps the compressed versions.

      I think in fact you are trying to make a bogus example to show that the GPL won't work. It works fine.

      • The compressed video and sound are fine, as they are playable using the open-source code and can easily be considered the "usual form of the source".

        From the GPL: "The source code for a work means the preferred form of the work for making modifications to it." Would you rather make modifications to a sound recording using a single stereo Ogg file, using a single stereo PCM WAV file, or using WAV files of the individual tracks (one per instrument) plus the script for the mixer [ucsd.edu]?

        I think in fact you are trying to make a bogus example to show that the GPL won't work. It works fine.

    • If your software is GPL'ed I believe that sourceforge will be more than happy to host your project for you, including multimedia files. As far as I remember they allow you to have up to 250MB stored at any time.

      As an additional bonus you get to use all the nice features of sourceforge.

      • If your software is GPL'ed I believe that sourceforge will be more than happy to host your project for you, including multimedia files.

        I had thought they would reject my project because I abandoned the first project I tried to host with them. But if not, thanks for the tip. It's much more helpful than jbn-o's defeatist "then don't distribute your software electronically, and if you can't afford SSL, don't sell it online either" stance.

        • I had thought they would reject my project because I abandoned the first project I tried to host with them.

          Hardly, they're here for us to use for sharing free software. That is their primary intent with the sourceforge site. Should you abandon this project and the next two or three projects, then you have still contributed ideas and source to the free software community.

    • How much space would you get on SourceForge?

      Check out http://www.webgroupmedia.com/. They aren't perfect, but for $5 a month, it works well for some things.

A person with one watch knows what time it is; a person with two watches is never sure. Proverb

Working...