GPL summary

When hanging out in chatrooms that are about Open Source development I often notice dicussions about the GPL and people that take part in this discussions but obviously haven’t read the GPL.
Ok, it is a boring read for some and that is why I have compiled a short summary of the GPL to give people an impression of what are the basic ideas.

Preamble
--------

Lately there were a few discussions about the GPL in UOX boards and
in IRC.
As I noticed while following this, many users (mostly ones who just
followed like me) seemed to have a very strong feeling about UOX and
GPL but were obviously lacking knowledge about facts, e.g. asked if
someone could explain GPL.
I know the GPL itself for some is a boring read but it is indeed
already a very condensed text, not like the EULAs commercial companys
try to tie us up with.

Anyway: With this document I am trying to summarize the most
important parts of the GPL for a quick read and then try put the
facts in relation to the UOX projact as it stands now.

Please know that my humble summary can in no way substitute the full
GPL. If you want to be really sure or put your own software under GPL
please point your browser to http://www.gnu.org/copyleft/gpl.html for
the full GPL text.

First here are some snippets from the GPL preamble:

>> GPL exerpts start >>
... the GNU General Public License is intended to guarantee your
freedom to share and change free software--to make sure the software
is free for all its users.
...
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge
for this service if you wish), that you receive source code or can
get it if you want it, that you can change the software or use pieces
of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they
know their rights.
<< GPL exerpts end <<

How does GPL protect the software?
----------------------------------
>> GPL exerpts start >>
We protect your rights with two steps: (1) copyright the software,
and (2) offer you this license which gives you legal permission to
copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on,
we want its recipients to know that what they have is not the
original, so that any problems introduced by others will not reflect
on the original authors' reputations. 

Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making
the program proprietary. To prevent this, we have made it clear that
any patent must be licensed for everyone's free use or not licensed
at all.
<< GPL exerpts end <<

How to put a program under GPL?
-------------------------------

>> GPL exerpts start >>
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is
found. 

>>
one line to give the program's name and an idea of what it does.
Copyright (C) yyyy  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 2
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, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-
1307, USA.
<<

Also add information on how to contact you by electronic and paper
mail.

If the program is interactive, make it output a short notice like
this when it starts in an interactive mode: 

>>
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.  This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.
<<

The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and
`show c'; they could even be mouse-clicks or menu items--whatever
suits your program.
<< GPL exerpts end <<

Can I change and redistribute software that is under GPL?
---------------------------------------------------------

Yes you can, under very strict rules. This part of the GPL is, imo,
the most confusing but here is a part that explains the idea and
shows the restrictions.

>> GPL exerpts start >>
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any
warranty; and give any other recipients of the Program a copy of this
License along with the Program. 

You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for
a fee. 

2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions: 

     a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change. 

     b) You must cause any work that you distribute or publish, that
in whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License. 

     c) If the modified program normally reads commands
interactively when run, you must cause it, when started running for
such interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a notice
that there is no warranty (or else, saying that you provide a
warranty) and that users may redistribute the program under these
conditions, and telling the user how to view a copy of this License.
(Exception: if the Program itself is interactive but does not
normally print such an announcement, your work based on the Program
is not required to print an announcement.)
<< GPL exerpts end <<

What if some of the authors want to remain anonymous?
-----------------------------------------------------

This is absolutely no problem.
There has to be at least one natural or legal person that acts as
copyright holder (copyleft holder in GNU/GPL words =) and can be
contacted by electronic and/or paper mail.
If people contribute to the project and send ideas or code to this
person that doesn't contain copyright notices he/she/it is free to
incorporate this into the software at wish.

If someone wants to contribute but wants his/her/its name to be
permanently stated in the software first easiest thing would be to
ask the copyleft holder to append a change note with your name to the
source.

If the copyleft holder doesn't want to, you can alter the software
according to the GPL (see above) and publish this altered software.
If the copyleft holder then wants to have this changes in later
versions of the software he/she/it/mushroom is forced to keep the
change note with the name in the software.

This applies even if you use a nickname to protect privacy, but
well, it would be unlikely to win a sue based on this...

What can (and will) be done if the GPL is violated?
---------------------------------------------------

"The copyright holder is the one who is legally authorized to take
action to enforce the license."
Well, there is a legal copyright that is being violated in case the
GPL is violated.
Every step that can be taken, depending on the country you live in,
may be taken.

GPL has another aspect that adds to protection.
There are many lawyers out there that have a strong positive feeling
about free software and know that GPL projects often lack funds.
Add to this the feeling of "helping the weak" and the fact that
lawyers can easily gain fame and reputation within the software
industry by successfully protecting GPL software.

Rest assured that GPL projects will find support in protecting their
cause...

Does the GPL say anything about how to run the project?
-------------------------------------------------------

Besides how the licensing notices must be included in the source,
how change notes must be kept and that the sourcecode must be made
available, no.

There is definately nothing about how often or how a copyleft holder
realeases his/her/its spftware, how to provide documentation or how
to incorporate code from others into his/her/its/mushrooms software
releases.

Yeshes conclusion
-----------------

As I see it there is absolutely no reason to discuss wether UOX
should be released this or that and here or there or whatever.
The actual version of UOX3 (0.70.03.22) is complying absolutely to
the GPL as far as I can see and in fact we see new releases quite
often, every one is completely available as source, the history of
changes is good and all that.

But yes, it would be nice if the devs would use a CVS server that
could be reached from the public, even just read only, but that is
completely at the leisure of the devs.
(CVS is a good tool to help developers organizing their work. Repeat
after me: CVS, good. Just picking =) )

As for the new version, well, as it is not used in the public it is
completely the decision of the people working on the project to give
it away or not.
In my opinion, no person that is serious about his/her/its/mushrooms
project would release the sourcecode before the software has reached
a certain finished state.
This has a lot of reasons but one is to avoid being flamed by users
that this or that is not working and another one is to avoid branches
of the software popping up before even a stable base could be provided.

Kommentieren ist momentan nicht möglich.