Benjamin M. A'Lee wrote:
On Fri, Dec 14, 2007 at 08:06:35PM -0700, Theo de Raadt wrote:
That's bullshit. Read it again. The BSD license gives the recipient
some abilities, but retains others. One of those is that the source
code must retain the license. Other restrictions... why do we care?
Our code is still alive.
HP and Cisco has included OpenSSH -- with changes they did not give
back we are sure -- in all their router products, and none of you
would argue that the world is not a richer place because of that. As
a result of our giving nature, the internet at large is much more
secure now.
This is my point exactly: why should a GPL developer be forced to give
their *changes* back? They're still required to acknowledge your
copyright, but if HP and Cisco are permitted to keep changes to
themselves, why shouldn't the GNU project or the Linux kernel do so (or,
rather, release their changes to the code under a licence that isn't
useful to OpenBSD).
Please note that I don't think it's at all fair for a free software
project to behave like that, and modifications to OpenBSD code should be
given back to OpenBSD, but if a proprietary company doesn't have to give
changes back to OpenBSD in a way that's useful to OpenBSD, why should
GNU or Linux be required to do so?
You aren't getting it.
The licence stipulates that one set of rules apply if you redistribute
the source code, and another set of rules apply if you distribute a
binary. This is why different rules apply to GPL developers. Their own
licence requires them to redistribute source, so they must follow the
part of the BSD licence which applies to source redistribution.
That said, I'm not completely getting it either.
Everything to follow is conjecture on my part and may not be accurate or
correct.
Theo would probably know whether or not attaching an additional GPL
licence actually results in more restrictions being applied to the code.
To me, the BSD licence was there first and supersedes the GPL. And I see
no requirement in the BSD licence to retain additional restrictions or
grant additional freedoms placed on the code by subsequent contributors
after the initial BSD release. To me, any person could ignore the GPL in
any code appearing in a file which was originally licenced BSD. Or just
strip the GPL out of the file and leave the original BSD licence, for
that matter.
The opposite seems to be true as well - a file originally released under
the GPL which then has a BSD licence tacked onto it would not suddenly
allow people to distribute the program only in binary form.
Neither licence appears to me to allow subsequent authors to create
additional restrictions or freedoms.
But then, what prevents a GPL author from creating a separate new file
with clean GPL code and then adding some glue to the original BSD file
to reference the new file?
Or, along a different path of thought, a closed developer that was
selling software built on BSD code seemingly could not prevent others
from distributing BSD based binaries from their package for free. The
BSD licence doesn't indicate that binary redistributions can be
restricted to paying customers only. The binaries could be picked out
and distributed for free by anyone who followed the second clause
requirements of the BSD licence. Only new code that the closed developer
distributed under a "pay-for" licence could be legally restricted to
paying customers. I suppose the problem for the end user is proving
which binaries contain only BSD licenced code.
The fallacy of my confusion here will probably be immediately obvious
ten minutes after I send this off. Oh well, here I go sticking my head
out. I'm ready for the clue stick! Thanks in advance.
Breeno