Thread: Copyright worries (OpenGL)

  1. #1
    Registered User
    Join Date
    May 2009
    Posts
    64

    Copyright worries (OpenGL)

    So, I bought 2 books about Opengl terrain programming. I understand most of the basic and advanced concepts there with the help of the book and their codes.

    I used it on my engine and planning to put my engine in sourceforge. I didn't use most of the codes used by the book because it uses immediate mode which is really slow. So, I rewrite most of the codes and algorithm for building the vertices and drawing it with the use of vertex buffer array and buffers and managed to optimized the code and get a great performance.

    Now, I'm just worried that they ( the author of that book ), sue me. lol.
    Last edited by sarah22; 03-30-2010 at 08:25 AM.

  2. #2
    Crazy Fool Perspective's Avatar
    Join Date
    Jan 2003
    Location
    Canada
    Posts
    2,640
    What is the license agreement for the code in the book?

  3. #3
    Registered User
    Join Date
    May 2009
    Posts
    64
    If you compare my codes and the author coded, you really didn't noticed that I got it from that book because it was completely ported from the old immediate mode to vertex array/vbo

    Is it illegal to do such thing? I got the idea from others do my own and publish it. Sorry, this is the first time I'm going to publish what I mostly doing this past few months.

    Here's the agreement:

    The enclosed software is copyrighted by the copyright holder indicated on the
    software disc. You are licensed to copy the software onto a single computer for use by
    a single user and to a backup disc. You may not reproduce, make copies, or distribute
    copies or rent or lease the software in whole or in part, except with written permission
    of the copyright holder(s). You may transfer the enclosed disc only together with this
    license, and only if you destroy all other copies of the software and the transferee
    agrees to the terms of the license. You may not decompile, reverse assemble, or
    reverse engineer the software.

  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    My opinion? I think it's ok and goes well under the concept of Fair Use.

    - You used code from a book that uses that code exactly to teach you how to do things. That alone is a showstopper for most lawsuits concerning teaching books. But...

    - You also didn't copy the code verbatim. Instead simply reapplied the algorithms under a different concept approach. The judge at this point is already going red eyed at the company that filled the lawsuit on you.

    - Finally, you didn't use that new code to write another teaching book, which could constitute a problem since you would be competing directly with this book. Instead you wrote an engine. Exactly what the book was teaching how to. You applied the knowledge in the book. You did your part and the book authors did theirs. At this point, it becomes decided the court charges are on the publisher. You walk.

    Btw, as far as I'm concerned, those book of yours are already a success story. You should email the authors and thank them as a form of encouragement. Many books out there don't ever deliver what they promise. Yours obviously did!
    Last edited by Mario F.; 03-30-2010 at 09:28 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by sarah22 View Post
    If you compare my codes and the author coded, you really didn't noticed that I got it from that book because it was completely ported from the old immediate mode to vertex array/vbo
    Switching GL code over to use VBOs rather than the immediate mode drawing commands is a pretty substantial rewrite. In that case, IMO, you are just following an algorithm, and not so much copying code. Probably the writers of the book did not invent those either, eg, there are only a few ways to do shadow mapping, but most books on 3D graphics will have a section on one of two or three methods, possibly including example code. They didn't invent the method, they are just describing it, and the example code is part of the description.

    If you take the example code, make it work using VBO's, but draw the exact same object (a robot or whatever) , then that probably deserves investigating a copyright but presumably you are not doing that.

    Could someone guess where you learned your shadow mapping just by looking at your code? Maybe, but I bet they could just as easily guess a bunch of sources you've never even seen. Only so many ways to skin a cat. I doubt very much any author has ever gone after anyone claiming "You learnt programming from me! I want credit now for everything you do!"

    The books I've seen where the author claims to be describing a method invented by him/her, they usually seem to be encouraging people to use it anyway. Remember, they get money for the book, as I am sure they are aware, and (hopefully) the people who actually get publishing contracts have some knowledge to offer their readers. If you take a header/library from a cdrom and use some of the functions verbatim, then you should leave the licence notice intact.

    But that is pretty different than learning by example and adapting to suit your own purposes. As someone pointed out in your last thread, supposedly the linked list is patented, but that is (patently) absurd and clearly not enforced or enforceable. Who would want to?
    Last edited by MK27; 03-30-2010 at 09:29 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  6. #6
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    If I was the author of a book which teaches a certain kind of programming, and the book included examples of how to do that kind of programming, and I heard that somebody bought the book and used my examples of how to do something, and I got upset about it...

    Well, I think that would make me a moron.

    Do you think if the author wanted to protect the code from being used by anybody that he would publish it in a BOOK?
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  7. #7
    {Jaxom,Imriel,Liam}'s Dad Kennedy's Avatar
    Join Date
    Aug 2006
    Location
    Alabama
    Posts
    1,065
    Quote Originally Posted by brewbuck View Post
    Do you think if the author wanted to protect the code from being used by anybody that he would publish it in a BOOK?
    LDD3 -- the copy notice says something like if you use the code that is in this book then you are deriving work from it, thus your code must also wear the label GPL-V2 or above.

    I had some words with the author. I don't think I'd ask him for any help right now. Think he may be a bit ticked off at me.

  8. #8
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by Kennedy View Post
    LDD3 -- the copy notice says something like if you use the code that is in this book then you are deriving work from it, thus your code must also wear the label GPL-V2 or above.

    I had some words with the author. I don't think I'd ask him for any help right now. Think he may be a bit ticked off at me.
    Well, the code has a license agreement of course. I'm just saying that the license agreement is probably not "You can't use it under any conditions." You don't publish code that you don't want anyone to use.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  9. #9
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Copyright or copyleft, is still has to pass the Fair Use barrier. If it does, you can throw away the original license. Completely.

    Edit: should be noted at this point that there's no copyleft concept under the law. Copyleft material is still copyright material. And exactly why it doesn't matter if it is GPL or some commercial license. When it comes to the matter of judging fair use all it matters is the 4-factor balancing test. And I'll be dammed if any judge will condemn someone who builds a 3D engine from code on a book that teaches how to build a 3D engine!
    Last edited by Mario F.; 03-30-2010 at 11:46 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #10
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Mario F.
    should be noted at this point that there's no copyleft concept under the law
    I think you were the first to mention copyleft in this thread though

    Quote Originally Posted by Mario F.
    And I'll be dammed if any judge will condemn someone who builds a 3D engine from code on a book that teaches how to build a 3D engine!
    You might be damned if a reader used a substantial portion of the code without complying with the license. sarah22's description gives me the impression that fair use will apply, but I do not think that it is always the case that code from such a book can be used as if fair use always applies to its use.

    That said, I am not a lawyer and this is not legal opinion.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  11. #11
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by laserlight View Post
    I think you were the first to mention copyleft in this thread though
    No, not really. I was replying to the possibility of a GPL license in Kennedy's reply.

    You might be damned if a reader used a substantial portion of the code without complying with the license. sarah22's description gives me the impression that fair use will apply, but I do not think that it is always the case that code from such a book can be used as if fair use always applies to its use.
    That's something that was crossing my mind too. Say the book ends with the full code for an engine protected under some form of copyright (copyleft or not) and that's what sarah22 used to create their own engine. Well, I must confess I will not be so assertive as before in that case.

    It will depend really on the level of changes to the original code it requires to go from immediate mode to vertex array, or something (I have no idea what it entitles). If the code simply served as a platform for her own work and the end result is an entirely different beast, I don't think how one can support -- in the context of a teaching book -- their copyright was violated.
    Last edited by Mario F.; 03-30-2010 at 12:06 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  12. #12
    Registered User UltraKing227's Avatar
    Join Date
    Jan 2010
    Location
    USA, New york
    Posts
    123
    IF you make something out of the example given AND NOT a copy of the original
    example THEN you are free to distribute or do anything as you like with it.
    however

    IF you use the example given 'as is' AND you distribute it online or commercially,
    THEN you will get sued.
    if you examine these two quotes (i gave) clearly, you will get hold of the
    situtation.
    Last edited by UltraKing227; 03-31-2010 at 04:30 AM.

  13. #13
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    UltraKing227, exactly who are you quoting? Recall that the right to prepare a derivative work ("make something out of the example given") and to distribute it falls under copyright.
    Last edited by laserlight; 03-30-2010 at 12:33 PM.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  14. #14
    chococoder
    Join Date
    Nov 2004
    Posts
    515
    correct, and the GPL attempts to restrict that right by effectively stating that any derivative work IS the original work and therefore belongs to the owners of that original work.

  15. #15
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,612
    The GPL has no business in this conversation at all.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem building Quake source
    By Silvercord in forum Game Programming
    Replies: 16
    Last Post: 07-11-2010, 09:13 AM
  2. Linking OpenGL in Dev-C++
    By linkofazeroth in forum Game Programming
    Replies: 4
    Last Post: 09-13-2005, 10:17 AM
  3. OpenGL Window
    By Morgul in forum Game Programming
    Replies: 1
    Last Post: 05-15-2005, 12:34 PM
  4. OpenGL .dll vs video card dll
    By Silvercord in forum Game Programming
    Replies: 14
    Last Post: 02-12-2003, 07:57 PM
  5. opengl code not working
    By Unregistered in forum Windows Programming
    Replies: 4
    Last Post: 02-14-2002, 10:01 PM