PDA

View Full Version : Licensing Question



graciano
19th February 2010, 15:43
HI,
This is a "legal" question.
Imagine i take one example from "Qt Examples":


/************************************************** **************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial Usage
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain
** additional rights. These rights are described in the Nokia Qt LGPL
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
************************************************** **************************/
...
...


According to the GNU General Public License version 3.0 and freedom number four i can change this code and share the changes. Right?

The only restriction would be to make it also under the GPL Licence.

Can someone give me an example of a compact header to use for this purpose.

On the other hand, tell me please if i am reading this worng.

Thanks

squidge
19th February 2010, 17:55
Right, just use the above header in your modified code.

graciano
19th February 2010, 19:04
In the header above several options are covered.
If i'm only interested in the GPL:


#
**
#
** GNU General Public License Usage
#
** Alternatively, this file may be used under the terms of the GNU
#
** General Public License version 3.0 as published by the Free Software
#
** Foundation and appearing in the file LICENSE.GPL included in the
#
** packaging of this file. Please review the following information to
#
** ensure the GNU General Public License version 3.0 requirements will be
#
** met: http://www.gnu.org/copyleft/gpl.html.


Then, from the section "How to Apply These Terms to Your New Programs" in http://www.gnu.org/licenses/gpl.html on could not "goto jail" by using:


<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.



... when changing a single line from a Qt example?

Lykurg
19th February 2010, 19:53
... when changing a single line from a Qt example?
Even if you just add a space, you have to notice that that is not the original file. You have to say that you alter the code. Therefore you don't have to list every change. It's ok if you just leave the header on top, as fatjuicymole said, and add a sentence that you have altered the code and where the original can be found.

graciano
19th February 2010, 21:01
Ok.
Now let's suppose someone wrote an example, good or bad, and wants to share it.
When using the Open Source version of Qt, de default licenssing mode is, i suppose, LGPL.
If so ... every software created with this version should be LGPL. Right?

graciano
19th February 2010, 21:17
Well ... looks i was wrong about the default LGPL.
http://qt.nokia.com/products/licensing

squidge
19th February 2010, 22:58
Ok.Now let's suppose someone wrote an example, good or bad, and wants to share it.
When using the Open Source version of Qt, de default licenssing mode is, i suppose, LGPL.
If so ... every software created with this version should be LGPL. Right?I don't see why, if they abided by the license terms of Qt when they wrote that example, they can distribute there example code under whatever license they feel like - commercial, bsd, gpl, beerware... Its only when you change someone elses code you have to keep original license and header as you can't make restrictions (So you can't say your version is only under GPLv3 if the original was GPLv3 or LGPL for example).

graciano
20th February 2010, 10:59
Forgetting the Qt examples for a while ...
If you write a piece of code, using your imagination and skills, with the Qt Opesource version, what are your legal obligations?

squidge
20th February 2010, 11:35
That depends on how you decide to distribute it. If you distribute as closed source (binary only), then you must comply with LGPL license and so your application must be dynamically linked.
Else you distribute under GPL license and release the source code, which allows static linking.

Either way, any modifications you make to Qt must be made open-source - anyone who wishes to do so must be able to build the exact same DLLs (or static libraries if you use them) as your program requires.

wysota
20th February 2010, 17:12
Forgetting the Qt examples for a while ...
If you write a piece of code, using your imagination and skills, with the Qt Opesource version, what are your legal obligations?

Rule of a thumb:
1. You want to release sources for your application -> go for any licence you want but also obey Qt's GPL or LGPL licence.
2. You don't want to release sources for your application -> go for any licence you want but also obey Qt's LGPL licence (i.e. link Qt dynamically).
3. You want total freedom - buy a commercial licence and distribute your application on whatever licence you see fit.

In any case if you wish to modify Qt itself, you have to retain the original licence (or one that is compatible with it - I think) for Qt (not for you app).

richardcarl78
25th October 2010, 21:22
I would have thought that you were right. I guess you learn something every day. The default LGPL can be a tricky thing. Thanks for sharing your insights on this.