3

I am currently studding OpengGL with OpenGL Supebible 5th edition. I've found interested for me some C++ code that is distributed with the book (see also on google code). That code is under New BSD License. I am writing my software on C# with SharpGL wrapper and I'd like to know following things:

  1. Can I rewrite that C++ to C#? edid: I'am interesting in using such things like GLBatch, GLShaderManager and some other thing from GLTools. Problem is that library is on C++, but I use C#.
  2. How do I have to mark my source code if I put it somewhere like to my github account?
  3. What disclaimer should be?

Original disclaimer looks like:

/* GLShaderManager.h

Copyright (c) 2009, Richard S. Wright Jr.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list 
of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list 
of conditions and the following disclaimer in the documentation and/or other 
materials provided with the distribution.

Neither the name of Richard S. Wright Jr. nor the names of other contributors may be used 
to endorse or promote products derived from this software without specific prior 
written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

Edit: Should my copyright looks like after rewriting something like that?

Copyright (c) 2014, My Name

Copyright (c) 2009, Richard S. Wright Jr.
All rights reserved.

Redistribution...................
4
  • 1
    Sharing your research helps everyone. Tell us what you've tried and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer. Also see How to Ask
    – gnat
    Commented Apr 24, 2014 at 19:39
  • According to the copyright notice, you may rewrite it (that's a modification) if you keep the copyright notice and refrain from using the authors to endorse your own software. However, I am not a lawyer.
    – Doval
    Commented Apr 24, 2014 at 19:47
  • @Doval It's little confusing for my to keep the disclaimer above fully rewritten code. How should I place my copyright If I'd like?
    – Frank
    Commented Apr 24, 2014 at 19:50
  • Well, I'm not a lawyer, so I'd just copy and paste it as-is on top of any file based on the original code.
    – Doval
    Commented Apr 24, 2014 at 19:54

2 Answers 2

3

That's the original 3-clause BSD license, not the newer 2-clause. The key difference is the requirement for attribution.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Means do whatever you want, so long as you provide a copy of that copyright notice and don't use Richard's name in promoting the software.


So what should you do?

Copy / re-write whatever code you need.

In your copyright.txt file, include the same block as you listed in the question and then put your copyright statement above Richard's.

If you have any documentation, you'll need to include that same copyright statement because that's what he wrote in his version of the license. A great way to do this is in an acknowledgements section.

Don't advertise your version as being endorsed or super-duper-wonderful because you borrowed the code from their project. (That's the "endorse or promote" clause).

3
  • Thanks for reply. How should "new" copyright looks like? (plz see my new edit)
    – Frank
    Commented Apr 24, 2014 at 20:56
  • @HnatiukDmitriy - that would work, but I would use the BSD 2-clause instead of 3-clause. 3-clause gets icky after multiple contributions due to the 3rd clause.
    – user53019
    Commented Apr 24, 2014 at 21:10
  • Agreed. Read in conjunction with my answer.
    – david.pfx
    Commented May 31, 2014 at 3:51
1

With most open source licences you can do what you like with the code as long as it's for your own personal use. However if you plan on distributing the code (or any significant part of it) to others then you can only do that in the way that the licence allows.

BSD is pretty easy to comply with. What you are proposing should be just fine. If in doubt, contact the author and ask.

As I tell people repeatedly, if you make no money out of it and harm no-one then just do your best, acknowledge the work of others and don't worry too much. If you make money out of your product or services and/or if you may cause damage to someone, you must take competent legal advice. That won't protect you, but it will warn you about the risks and possibly help to mitigate them.

If you write new code which is based on close study of code written by someone else but is not a copy or adaptation of it, you may be able to argue that you don't need a licence. That's only something to consider if at some future time you want to use the code in ways that might breach the BSD licence.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.