Merging network and network-bytestring: license question

Hi, While looking into merging the network and network-bytestring packages, I noticed that their licenses differ slightly. I've attached both licenses in the end of this email for reference. How do I merge the two licenses? I own the copyright on network-bytestring, so I could change that license to be the same as the one used for network. Is this the right way to go? Is it possible to move the whole resulting library to the two-clause BSD license, which is more common on Hackage? Would that mean getting approval from everyone who has ever contributed to the code base? Johan ------------------------------ network license ============== The Glasgow Haskell Compiler License Copyright 2002, The University Court of the University of Glasgow. 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 name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW AND THE 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 UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE 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. network-bytestring license ========================= Copyright Johan Tibell 2007 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. 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.

On 29 October 2010 04:34, Johan Tibell
[SNIP] the two-clause BSD license, which is more common on Hackage?
Is it? Wasn't it only recently that you could "officially" specify that your code was licensed under the MIT license in Cabal (and there is still no actual BSD2 option [1]) ? [1]: http://hackage.haskell.org/packages/archive/Cabal/1.8.0.6/doc/html/Distribut... I for one prefer the BSD-2/MIT license over BSD-3; I'm just querying how you determined that it was more common. -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com

I for one prefer the BSD-2/MIT license over BSD-3; I'm just querying how you determined that it was more common.
If you like BSD2, think also about the ISC license which is equivalent to BSD2 and is a recent trend. For more information, please refer: http://en.wikipedia.org/wiki/ISC_license --Kazu

On 10/28/10 1:34 PM, Johan Tibell wrote:
Hi,
While looking into merging the network and network-bytestring packages, I noticed that their licenses differ slightly. I've attached both licenses in the end of this email for reference.
How do I merge the two licenses? I own the copyright on network-bytestring, so I could change that license to be the same as the one used for network. Is this the right way to go? Is it possible to move the whole resulting library to the two-clause BSD license, which is more common on Hackage? Would that mean getting approval from everyone who has ever contributed to the code base?
Why not just stick with network's BSD3 (modifying "the university" to "the copyright holders" or what have you)? This is the first I've heard of the BSD2, is there any particular reason you wish to omit the third clause (thereby allowing people to use your name to promote derivative works)? -- Live well, ~wren

On 29 October 2010 12:41, wren ng thornton
On 10/28/10 1:34 PM, Johan Tibell wrote:
Hi,
While looking into merging the network and network-bytestring packages, I noticed that their licenses differ slightly. I've attached both licenses in the end of this email for reference.
How do I merge the two licenses? I own the copyright on network-bytestring, so I could change that license to be the same as the one used for network. Is this the right way to go? Is it possible to move the whole resulting library to the two-clause BSD license, which is more common on Hackage? Would that mean getting approval from everyone who has ever contributed to the code base?
Why not just stick with network's BSD3 (modifying "the university" to "the copyright holders" or what have you)? This is the first I've heard of the BSD2, is there any particular reason you wish to omit the third clause (thereby allowing people to use your name to promote derivative works)?
I personally think that that third clause is useless; who is really going to bother trying to use my name to promote derivative works? It probably doesn't matter much for Haskell code, but KDE SC software is not allowed to be licensed under the BSD-3 license: http://techbase.kde.org/Policies/Licensing_Policy/Draft#BSD_License -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/28/10 21:51 , Ivan Lazar Miljenovic wrote:
I personally think that that third clause is useless; who is really going to bother trying to use my name to promote derivative works?
It has occurred to me that this clause would have been helpful back in the mid 80s when someone released a hacked-up copy of my Unix BBS software but left me to fix their many bugs. - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzNxnQACgkQIn7hlCsL25Ud0gCgvd2N2cWVO7+kyXYJ5gFr04Id Y5YAoIRZrXxvjlBRof4kb79zSxl9sFgr =pWdZ -----END PGP SIGNATURE-----

On Thu, Oct 28, 2010 at 6:41 PM, wren ng thornton
Why not just stick with network's BSD3 (modifying "the university" to "the copyright holders" or what have you)?
Is that something I'm allowed to do? I'm not the copyright holder.
This is the first I've heard of the BSD2, is there any particular reason you wish to omit the third clause (thereby allowing people to use your name to promote derivative works)?
I don't feel strongly about this. It says here that dropping the third clause is OK: http://www.opensource.org/licenses/bsd-license.php Johan

On 10/28/10 10:24 PM, Johan Tibell wrote:
On Thu, Oct 28, 2010 at 6:41 PM, wren ng thornton
wrote: Why not just stick with network's BSD3 (modifying "the university" to "the copyright holders" or what have you)?
Is that something I'm allowed to do? I'm not the copyright holder.
You are the copyright holder of network-bytestring, and the University of Glasgow is the copyright holder of network, right? Given the verbiage: Neither name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. Additionally stating that: Neither name of Johan Tibell nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. does not compromise the original requirement to get permission from the University to use their name promotionally. Combining the two as "the copyright holders" or "the University, its contributors, nor Johan Tibell" etc, would have the same effect as the two versions of clause 3 stated separately. If someone wanted to use the University's name (or yours) then they'd have to get their (or your) permission in writing, same as if stated separately. Of course, since network-bytestring doesn't have the third clause, presumably you'd be willing to give written permission to anyone who asks. In which case you could just leave the old verbiage with "the University...[or]...its contributors". Under one interpretation you would count as one of "its contributors" anyways once the packages merge. IANAL, but that is the interpretation that makes sense to me given what I know of licensing. -- Live well, ~wren

On October 28, 2010 22:48:56 wren ng thornton wrote:
does not compromise the original requirement to get permission from the University to use their name promotionally. Combining the two as "the copyright holders" or "the University, its contributors, nor Johan Tibell" etc, would have the same effect as the two versions of clause 3 stated separately. If someone wanted to use the University's name (or yours) then they'd have to get their (or your) permission in writing, same as if stated separately.
I would be pretty careful about touching any license wording. It reminds me of a pretty serious spat that went down awhile ago because some BSD wireless code was "re-licensed" under GPL. The individual who did it had thought it was okay as the BSD requirements were a subset of the GPL ones. The issue is that there are three pieces of work. The University's, yours, and the combined work. Touching the license terms makes it unclear what the permissions are with respect to all these parts. Specifically, this would make it not clear that the name Johan Tibell is not sacred to University's code. That is, if extract just the University's portion from the derivative work, I should be able to use it under just the University's license requirements. Adjusting their license in anyway interferes with this as it is no longer clear what the requirements were on just that portion of the code. (IANL either, but that was the understanding I was left with from following the whole BSD GPL re-license thing, and I can see the BSD guy's point) Cheers! -Tyson

On 10/28/10 11:46 PM, Tyson Whitehead wrote:
On October 28, 2010 22:48:56 wren ng thornton wrote:
does not compromise the original requirement to get permission from the University to use their name promotionally. Combining the two as "the copyright holders" or "the University, its contributors, nor Johan Tibell" etc, would have the same effect as the two versions of clause 3 stated separately. If someone wanted to use the University's name (or yours) then they'd have to get their (or your) permission in writing, same as if stated separately.
I would be pretty careful about touching any license wording. It reminds me of a pretty serious spat that went down awhile ago because some BSD wireless code was "re-licensed" under GPL. The individual who did it had thought it was okay as the BSD requirements were a subset of the GPL ones.
Relicensing BSD to GPL is a major change. (Though perfectly legal, in as much as GPL code can always make use of BSD code, and the BSD code still exists separately of the merger (for a while at least).) However, taking BSD3 and merging it with another BSD3 is fairly straightforward. Merging BSD3 with BSD2 is even simpler, though it amounts to the same thing since anyone using the merged package and wanting to promote themselves via Johan's name must still check that the University doesn't care (since implicitly their code is being used in the promotion). This is why I said that under one reading, the merging of the two licenses is exactly the University's license, with Johan counting as yet another contributor. (If Johan's code is lifted to BSD3, then the same would hold the other way around, since anyone wanting to promote themselves via the University would be implicitly making use of his work in their self-promotion.) If you want to be really picky about it then you can take the Apple approach and just put all the licenses in there. Though, over time, that will become meaningless as the two packages begin to melt together and the official history of any particular part becomes unknowable. This is part of the reason why I prefer versions of the BSD3 which refer to "the copyright holders" as opposed to some specific entity.
The issue is that there are three pieces of work. The University's, yours, and the combined work. Touching the license terms makes it unclear what the permissions are with respect to all these parts. Specifically, this would make it not clear that the name Johan Tibell is not sacred to University's code.
But this only holds for so long. Once there's some major refactoring and the parts of network and network-bytestring are mixed beyond recognition, then there is only the combined work. The University's portion cannot be extracted and considered under the University's license. The combined work must have a license of its own, and while this license must respect the licenses of the component works, the particles of the component works have no special status (unless there is some algorithm specifically documented as being the sole product of someone in particular). -- Live well, ~wren

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/29/10 19:12 , wren ng thornton wrote:
But this only holds for so long. Once there's some major refactoring and the parts of network and network-bytestring are mixed beyond recognition, then there is only the combined work. The University's portion cannot be extracted and considered under the University's license. The combined work
Copyright law doesn't operate this way in most jurisdictions. - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzNx8MACgkQIn7hlCsL25XrEQCgkV6iD/du/grRKbJvkIieCrLX nI0AoJSKs2RPCAsnDNzBsO6LzlLgmUPZ =UonA -----END PGP SIGNATURE-----

On 10/31/10 3:47 PM, Brandon S Allbery KF8NH wrote:
On 10/29/10 19:12 , wren ng thornton wrote:
But this only holds for so long. Once there's some major refactoring and the parts of network and network-bytestring are mixed beyond recognition, then there is only the combined work. The University's portion cannot be extracted and considered under the University's license. The combined work
Copyright law doesn't operate this way in most jurisdictions.
Sure it does. After there's been enough mixing, few courts will find enough evidence to say that these three identifiers or that particular algorithm came from such-and-so contributor without any contribution by others. That such-and-so contributed will remain in effect in perpetuity, as will the license under which their contribution is released (for all intents and purposes, US IP law being what it is), but the exact specification of what artifact within the combined work corresponds to the contribution will be lost (barring sufficient evidence from VCSes and the like). Yes, _technically_ there's still an artifact in there somewhere, but a court must decide whether some specific act infringes on the rights of such-and-so, and once enough mixing has happened a reasonable court would not have a lot of evidence that such-and-so's rights were violated (assuming no violation of the general license for the entirety of the combined work). Now, if there is not a lot of mixing or if such-and-so's contribution was a specific algorithm that is recognizably still in use, then the court would be able to identify the specific content of such-and-so's contribution and therefore would be able to reasonably conclude that someone has violated such-and-so's rights (specifically) even if they have not violated the general license for the combined work. The law and the court's ruling on the law are two very different things, especially when it comes to IP for computer programs et al. -- Live well, ~wren

On 29 Oct 2010, at 03:24, Johan Tibell wrote:
On Thu, Oct 28, 2010 at 6:41 PM, wren ng thornton
wrote: Why not just stick with network's BSD3 (modifying "the university" to "the copyright holders" or what have you)?
Is that something I'm allowed to do? I'm not the copyright holder.
The approach taken by Apple on the iPhone is simply to concatenate all of the licences. It does mean there are, like, a hundred copies of BSD-similar text, but it works for them. (See under Settings -> General -> About -> Legal) Regards, Malcolm

On Thu, Oct 28, 2010 at 6:41 PM, wren ng thornton
Why not just stick with network's BSD3 (modifying "the university" to "the copyright holders" or what have you)?
This is in fact the only practical option, as I see it. To do otherwise would involve getting Glasgow's legal department involved, which is sure to be protracted, painful, and rather unlikely to result in a change in the license.
participants (8)
-
Brandon S Allbery KF8NH
-
Bryan O'Sullivan
-
Ivan Lazar Miljenovic
-
Johan Tibell
-
Kazu Yamamoto
-
Malcolm Wallace
-
Tyson Whitehead
-
wren ng thornton