• Forum
  • Lounge
  • Deciphering Software Licensing Legal-ese

 
Deciphering Software Licensing Legal-ese

closed account (3hM2Nwbp)
Questions are in lines 11 to 14, thanks.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//Boost Software License - Version 1.0 - August 17th, 2003

/*
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

  Ambiguous - What is a "Derivative Work" ?
  If I use boost's smart pointers in a project,
  does that mean that any parties obtaining a copy
  of the source are free to redistribute it freely??

*/

/*
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

  This must be in place unless distributing binaries, got it.

*/

/*
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

  OK! This part I can understand!

*/
No, it means that you cannot remove the copyright notices.

The Boost license basically says that you can do anything you want with the code except claim you wrote it yourself.

If you start with their code, and modify it heavily, it still is only a modified version of their code, or in other words, a "derivative work". It would be dishonest to remove the original author(s) copyright. (If you do modify it, it is expected that you will add your name to the list of copyright holders, since you have copyright to your changes.)

Hope this helps.
closed account (3hM2Nwbp)
Thanks for the reply, but if that copyright stays intact, then anyone I distribute the code to has equal rights to redistribute the code to others, unless I'm completely misreading the first clause. I've also read on some sites that the GPL considers simply linking to a library to be grounds for a derivative work.

1
2
3
4
5
6
7
8
9
10
11
class SomeOtherImpressiveClass;
class SomeImpressiveClass
{
 private:
  boost::shared_ptr<SomeOtherImpressiveClass> boostUsage;
 public:
  SomeImpressiveClass()
  {
    // SomeImpressiveClass is now belong to boost's license?
  }
};


Edit- I ask this because the company that I work for wants a cheap solution made for a production services logger and (I know for a fact) that they have, and will fight to get whatever they can get for free. This project would be a freelance thing on the side, but I wouldn't like them getting a premature copy (unit tests, etc) of the source without me having any rights as to what they do with it.
Last edited on
No they don't. The original author(s) do not have any right over code you write -- which is reasonable.

The GPL is a completely different licensing scheme, where the original author(s) do assert themselves over your code, claiming that if you use their code at all you must 'keep it free' (or something like that) -- that is, they presume ownership of the whole, including stuff they didn't write, because they wrote some part of it.

Even if that were the case, though, you cannot just remove copyrights you don't like...

The GNU system is a rather extremist anti-copyright system, which uses copyright to force rms's political views. While he makes some good points, his propaganda is often over the top... And I should leave it at that.


The Boost license is specifically designed to provide you with almost unfettered usage -- meaning you can certainly use it in commercial, closed-source applications, provided you retain their copyright in their code. This isn't much of a surprise provision, since it is already part of existing copyright laws. You can read more about Boost licensing here:
http://www.boost.org/users/license.html

Hope this helps more.
closed account (3hM2Nwbp)
Ahh! I see now, thanks so much Duoas! What lit the spark was their code - not my code that uses their code.
Last edited on
I like the ultra-permissive WTFPL (Do What The F*ck You Want To Public License), but I don't really know how to use it so I tend to use the 2-clause BSD/Simplified BSD/FreeBSD license.
http://www.freebsd.org/copyright/freebsd-license.html

@Duoas,
I don't like to put a license header at the top of every file, so I tend to do something like:
1
2
3
4
5
6
/*
 * File:	foo/bar.c -- describes the purpose of this file
 * Authors:	J. Programmer <jprogrammer@example.com>
 * License:	This file is licensed under the FreeBSD license. See the file
 *		COPYING for details.
 */

Is that OK?
Last edited on
closed account (iw0XoG1T)
Thanks for this thread.

I have breezed the
http://www.boost.org/users/license.html
page before but I did not read it carefully. That license has to be the best one I have ever read for me personality. The license encourages the reuse of the code not only by individuals but also by for-profit corporations.

I know if I publish something it would be my hope that it would be used (reuse has to be the greatest compliment), and a lack of a written copyright or license doesn't help (at least in the US where about twenty years ago we adopted the international copyright laws which basically state that everything is copyrighted unless it specifically states otherwise).

This is definitely the license that I am going to use -- It is short, clear, and doesn't prohibit anything.

Personally I really despise the anti-corporate licenses because they are so wordy they discourage use.
Last edited on
I am *not* a language lawer, so everything I say here is not *canon*, but I think you all have it right.

@chrisname
That is how Boost does it (and how I do it), so I think it is perfectly valid and legal. The boost link I gave already has commentary by lawers on that very subject (as it pertains to Boost, but the argument applicable to licences in general).

@chwsks
The wordiness of the GPL is part of Stallman's anti-them stuff. He is clearly not a lawyer, and it evidences itself in his "license", which is more propaganda than legal document. (But it is still a valid legal document -- don't get me wrong.) Let me see if I can find one of the dissections of it...

Well, here's a start:
http://en.wikipedia.org/wiki/GNU_General_Public_License#Criticism
Notice how rms responds to the "viral" complaint against it. 'It's not viral, dude, it's like a beautiful flower that spreads freedom.'

LOL
@Duoas,
Thanks.
'It's not viral, dude, it's like a beautiful flower that spreads freedom.'


Lol, he sounds like a hippie...
closed account (3hM2Nwbp)
firedraco wrote:
like a hippie...


[joke]
He must:
* Write software that he cannot collect royalties from (no value for the dollar)
* Must spend a considerable amount of time at it (no job)
* Created something that goes against the present cultural norm
* Speaks like a hippie
* Looks like a hippie (source= http://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Rms_at_pitt.jpg/220px-Rms_at_pitt.jpg)

So therefore...
[/joke]
Last edited on
closed account (3hM2Nwbp)
I had to revoke the solved mark on this one. I've found that a library that I've built an abstraction layer for is infected by the GPL. Then, I found this article written by an attorney: www.rosenlaw.com/html/GPL.pdf

Is there any truth to what is stated in there? (If I link dynamically with the MySQL C++ Connector, in my case) would the abstraction layer be considered a derivative work and spread the GPL throughout everything else? I'm sorry but this is just so confusing. I'm fairly sure that it was designed to be as confusing as possible to mislead people like me :(
AFAIK, if you dynamically link to the GPL code, you are safe, but if you statically link, then there are possible legal issues. (That is why the GCC runtime is, even on Windows, set by default to dynamically link. You have to use a special compiler switch to tell it that you want the GPL'ed GCC runtime to be statically linked into your executable.)

Just using the GPL'ed code is one thing. Incorperating it into your code is another.

So if all you are doing is building an interface to the GPL'ed code, you should be safe. (Remember though, IANAL.)

Sorry I can't be more helpful. If you have specific concerns, it is worth the cost to get a lawyer and/or ask questions over at http://www.gnu.org/

Good luck!
This (free) book can help you: http://oreilly.com/catalog/osfreesoft/book/
It's a bit old but it should be quite helpful. It explains some software licenses
Topic archived. No new replies allowed.