darcs

Issue 176 license needs exception for openssl

Title license needs exception for openssl
Priority bug Status needs-implementation
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, fx, kowey, markstos, mikedlr, thorkilnaur, tommy, twb, zedek, zooko
Assigned To
Topics Community

Created on 2006-05-22.12:59:24 by fx, last changed 2014-04-10.16:09:02 by god.

Files
File name Uploaded Type Edit Remove
exceptions-granted-2008-06-06T10:25 kowey, 2008-06-06.09:17:10 application/octet-stream
exceptions-granted-2008-06-09T09:26 kowey, 2008-06-09.08:19:37 application/octet-stream
exceptions-granted-2008-06-09T10:53 kowey, 2008-06-09.09:45:50 application/octet-stream
exceptions-granted-2008-06-13T08:23 kowey, 2008-06-13.07:17:13 application/octet-stream
exceptions-granted-2008-06-19T07:05 kowey, 2008-06-19.07:07:09 application/octet-stream
exceptions-granted-2008-06-30T07:42 kowey, 2008-06-30.07:43:52 application/octet-stream
exceptions-granted-2008-07-01T14:32 kowey, 2008-07-01.14:33:36 application/octet-stream
exceptions-granted-2008-07-02T08:34 kowey, 2008-07-02.08:35:47 application/octet-stream
Messages
msg670 (view) Author: fx Date: 2006-05-22.12:59:22
Darcs on this system (Ubuntu) links against the openssl library via
libcurl, and it looks from configure.ac as though it can be linked
explicitly when configured for git.  The openssl licence is
incompatible with the GPL, so the binary isn't legally distributable.

While you can link with a libcurl built using gnutls rather than
openssl, it would be best to add an exception to the licence to allow
linking with openssl.  You could follow the exception used for GNU
wget:

  In addition, as a special exception, the Free Software Foundation
  gives permission to link the code of its release of Wget with the
  OpenSSL project's "OpenSSL" library (or with modified versions of it
  that use the same license as the "OpenSSL" library), and distribute
  the linked executables.  You must obey the GNU General Public License
  in all respects for all of the code used other than "OpenSSL".  If you
  modify this file, you may extend this exception to your version of the
  file, but you are not obligated to do so.  If you do not wish to do
  so, delete this exception statement from your version.
msg711 (view) Author: zooko Date: 2006-06-26.22:04:27
I've requested and received permission to use a special exception like this from
most darcs authors.  I haven't yet checked for which significant darcs authors
haven't yet given me this permission.  Here is the ....  Oh shoot the list of
darcs authors who have given me permission is incomplete because some of them
are written on a hard drive that is in transit via UPS right now.

I'll get back to this issue next week.
msg814 (view) Author: zooko Date: 2006-07-13.17:03:30
fixing assignment.

I still haven't set up my workstation and thus gained access to my e-mail
archive that contains all the licence grants so far.  I'll (probably) get back
to this issue next week...
msg884 (view) Author: zooko Date: 2006-08-11.05:45:54
Yay, my workstation is back on line and I will resume work on this.  My next
step is to compare the list of people who've given me licence exceptions with
the list of authors.
msg1855 (view) Author: kowey Date: 2007-07-17.12:21:34
Thanks for taking care of this!  Could you follow up on it, please?
msg2219 (view) Author: zooko Date: 2007-10-31.16:23:01
Okay!  So my current status is that my workstation died again, so now I once
again don't have access to the list of contributors who had e-mailed me
permission to relicense.

I don't know exactly when I'll have a weekend to repair my workstation, so
perhaps in the meantime I should just ask everyone for permission again.

Could someone who knows more than me please generate a list of authors (with
e-mail addresses) who have contributed a sufficiently substantial amount to
darcs that their permission is required to add this licensing clause?

Thanks!
msg2221 (view) Author: kowey Date: 2007-10-31.16:33:41
Right now you can generate a list of authors by patch count in the darcs source
(./list_authors stats).

Patch count might not be a good measure of significance (maybe somebody
submitted the one Patch That Changed Our Lives).  Maybe a more useful estimate
would be be based on the size of the patch (which is still bad, but the only
thing I can think of that we could automate...)
msg2806 (view) Author: markstos Date: 2008-01-27.05:56:43
Zooko,

Any more progress on this? I'm upgrading this to "urgent" because of the legal
nature of the issue. You can add my name to the list of contributors who approve
the exception. 

The AUTHORS file lists about 120 contributors at this point...
msg2814 (view) Author: zooko Date: 2008-01-27.15:05:26
On Jan 26, 2008, at 10:56 PM, Mark Stosberg wrote:

> Any more progress on this? I'm upgrading this to "urgent" because  
> of the legal
> nature of the issue. You can add my name to the list of  
> contributors who approve
> the exception.

I haven't done anything on it since my last update to the ticket.

At this point there's nothing that makes me more likely to succeed at  
this task than anyone else.  However, I've earlier offered to do it,  
and I will do it, but I request that someone else do the job of  
"deciding which authors have contributed a significant enough  
contribution that their approval is required to amend the licence".   
This is a fuzzy, legal, human judgment, not a precise mathematical  
judgment.  I am ill-equipped to do this step, as I know practically  
nothing about the history of the darcs source code.

> The AUTHORS file lists about 120 contributors at this point...

I guess this is an upper bound on the number of people whose approval  
we require!

Regards,

Zooko
msg2836 (view) Author: droundy Date: 2008-01-28.15:23:42
I don't agree that this is so very urgent.  As far as I can tell, it only
affects distributors of darcs binaries who link with builds of libcurl that link
with openssl on systems where openssl is not part of the operating system. 
Which I guess means that perhaps it only affects Windows.  Even then, it's quite
possible to simply avoid the use of openssl.

I did recently add a configure option to link directly with openssl (for its
SHA1 code), but tests suggest that this has no performance benefit over the
gnulib code and it's not a big deal.  We could more easily remove that configure
option than relicense darcs.

David
msg2838 (view) Author: markstos Date: 2008-01-28.15:34:37
Thanks for the response, David.

Since we don't ship OpenSSL with the code base, perhaps having a configure
option is not a problem for us either--- that's a decision the user or packager
is making. 

Perhaps this is "Not our bug" then, but something for packagers to work out? 

I had the sense that this issue might be preventing us from being legitimately
included in some Linux distributions, but it seems I am wrong about that. 

I'm not excited about the administrative effort for a licensing exception, either.
msg2840 (view) Author: zooko Date: 2008-01-28.15:44:47
I would still be happy to do the work of writing to folks and asking  
them for permission, if only someone else will tell me to whom I  
should write.

Regards,

Zooko
msg2843 (view) Author: zooko Date: 2008-01-28.15:46:47
> I had the sense that this issue might be preventing us from being  
> legitimately
> included in some Linux distributions, but it seems I am wrong about  
> that.

I believe there are differences of opinions on this (as on many  
licensing issues which have not been tried in court).

Another advantage of adding a licence exception would be to encourage  
people to combine darcs with Eclipse and redistribute the resulting  
combined work.

Regards,

Zooko
msg2845 (view) Author: droundy Date: 2008-01-28.15:48:36
On Mon, Jan 28, 2008 at 03:34:38PM -0000, Mark Stosberg wrote:
> Since we don't ship OpenSSL with the code base, perhaps having a
> configure option is not a problem for us either--- that's a decision the
> user or packager is making.
> 
> Perhaps this is "Not our bug" then, but something for packagers to work
> out?

Right, at least in a sense.  We might consider it our bug, if this means
that packagers can't legally package convenient and useful darcs packages.
The only platform where this might seem likely would be windows.  Of
course, it also means that statically-linked linux binaries can't use
openssl, and there are people who provide statically-linked linux binaries,
it's just that they're much less needed on linux than under windows, and
it's not the end of the world for the statically-linked linux binaries to
not allow access over https.

> I had the sense that this issue might be preventing us from being
> legitimately included in some Linux distributions, but it seems I am
> wrong about that.

It depends on the distribution and how they package darcs.  Debian, for
instance, has two libcurl packages, one linked with openssl, and one
without.  Thus darcs can be built and used without openssl, and it's
unambiguously not a derived product of openssl.  But through the magic of
dynamic linking, the openssl-based libcurl can be swapped in by the user
all very legally (I believe... IANAL).

I believe most linux distributions are in the same (safe) boat.  Gentoo,
and other source-based distributions, have no problem at all.

> I'm not excited about the administrative effort for a licensing
> exception, either.

Indeed.
-- 
David Roundy
Department of Physics
Oregon State University
msg2848 (view) Author: markstos Date: 2008-01-28.16:06:19
> I would still be happy to do the work of writing to folks and asking  
> them for permission, if only someone else will tell me to whom I  
> should write.

Could we narrow down the list to people have just contributed code that would
possibly use SSL? I believe that's the 'push', 'pull', 'get' and 'put' commands.

For example, I usually contribute docs and tests. Although I'm a contributor, I
don't feel I even need to be involved in this decision. 

Also, I sort of assumed I was giving over copyright ownership to the project
when I commit code, rather than gaining copyright on a small piece of the project.
msg2849 (view) Author: droundy Date: 2008-01-28.16:22:37
On Mon, Jan 28, 2008 at 04:06:20PM -0000, Mark Stosberg wrote:
> Could we narrow down the list to people have just contributed code that would
> possibly use SSL? I believe that's the 'push', 'pull', 'get' and 'put' commands.

Alas, no.  Any code that is placed in compiled darcs would need to be
relicensed, since it's unambigous (to me, anyhow) that darcs itself is a
single work.

> Also, I sort of assumed I was giving over copyright ownership to the
> project when I commit code, rather than gaining copyright on a small
> piece of the project.

The problem is that "the project" is not very well-defined.  And in a very
real sense, the only constitution the project has is the license chosen for
the code.  And since that license has no provision for changing itself
(other than switching to a later GPL), we have to do this by consensus.

Note that we certainly could relicense files one at a time.  And then we
could rewrite files that have code from folks who don't agree with the
change (or inspect them to determine that none of those contributions are
still there).  But I don't think this is the best use of Zooko's time.
-- 
David Roundy
Department of Physics
Oregon State University
msg2851 (view) Author: zooko Date: 2008-01-28.16:23:35
On Jan 28, 2008, at 9:06 AM, Mark Stosberg wrote:

> Also, I sort of assumed I was giving over copyright ownership to  
> the project
> when I commit code, rather than gaining copyright on a small piece  
> of the project.

Furthermore, I doubt that there are any darcs contributors who  
intended to prevent David from allowing darcs to be linked with  
OpenSSL or Eclipse.

So perhaps a fair way to proceed is to announce on the -devel list  
that contributors are henceforth understood to be giving their  
copyright to David so that he can do things like this, and that if  
anyone objects to linking darcs with OpenSSL or Eclipse, they should  
speak up.

Regards,

Zooko
msg2855 (view) Author: zooko Date: 2008-01-28.19:10:10
> Note that we certainly could relicense files one at a time.  And  
> then we
> could rewrite files that have code from folks who don't agree with the
> change (or inspect them to determine that none of those  
> contributions are
> still there).  But I don't think this is the best use of Zooko's time.

I would guess that there aren't any contributors who object to  
allowing darcs to be combined with OpenSSL and Eclipse.

I don't mind spending my time writing to folks requesting permission,  
because I value having a low "barrier to entry" -- licensing hassles  
or uncertainties can prevent people from starting on something that  
could have become a valuable work, even if those hassles or  
uncertainties could have been overcome by additional workarounds or  
simply by being more willing to brave the uncertainty.

Regards,

Zooko
msg4828 (view) Author: kowey Date: 2008-05-22.09:55:31
Zooko: please note the new release/openssl-ok file in the darcs repository.

I encourage you to keep your notes there (and submit patches!) so that they are
not as easily lost ;-)
msg4999 (view) Author: kowey Date: 2008-06-09.08:19:37
Zooko, if you still have that list of authors who have granted you permission, I
would like to combine it with mine.  

I still have 62 people who have not gotten back to us, and would like to reduce
that list further before we start evaluating their changes on a case-by-case basis.
Attachments
msg5000 (view) Author: zooko Date: 2008-06-09.17:09:35
On Jun 9, 2008, at 1:19 AM, Eric Kow wrote:

> Zooko, if you still have that list of authors who have granted you  
> permission, I
> would like to combine it with mine.

I'm sorry, but it is on a hard drive which failed.  So, it may be  
actually destroyed, or more likely it is sitting there in suspended  
animation until some far off year when I pay someone to try to scrape  
the data out of that hard drive.  :-(

Regards,

Zooko
msg5101 (view) Author: mikedlr Date: 2008-06-18.21:54:14
What are the possibilities for compiling against gnu-tls instead of openSSL to
just avoid the license problem?
msg5103 (view) Author: droundy Date: 2008-06-18.21:56:53
On Wed, Jun 18, 2008 at 09:54:16PM -0000, Michael wrote:
> What are the possibilities for compiling against gnu-tls instead of openSSL to
> just avoid the license problem?

That's fine.  The license problem only exists for people who want to
use openssl.

David
msg7159 (view) Author: twb Date: 2009-01-22.03:36:17
I maintain Debian's Darcs package, from which the Ubuntu package is
derived (by Iain Lane).  In the Darcs 2.2.0 release (which I am
preparing now), this issue will be addressed by the change below.
This change WILL NOT apply to Debian 5.0, as it is well into freeze.
I expect this change will propagate to Ubuntu in the near future.

Once licensing of Darcs is quite definitely cleared up, I will
consider readding libcurl4-openssl-dev as an alternative build
dependency.

I apologize for my slow handling of this issue.  I only found this bug
report recently; before I read it I thought the only thing we could do
about it was get licensing exceptions from every contributor.

--- darcs-2.1.0/debian/control  2009-01-22 13:26:21.000000000 +1100
+++ darcs-2.2.0/debian/control  2009-01-22 14:29:08.000000000 +1100
@@ -8,7 +8,7 @@
 Build-Depends: debhelper (>= 7), cdbs, ghc6 (>= 6.8.2-7),
  libghc6-html-dev, libghc6-http-dev, libghc6-parsec-dev,
  libghc6-regex-compat-dev, libghc6-http-dev, libghc6-mtl-dev,
- libghc6-quickcheck-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev,
+ libghc6-quickcheck-dev, libcurl4-gnutls-dev,
  libkrb5-dev, texlive, tex4ht
 Homepage: http://darcs.net/
 Vcs-Darcs: http://repos.mornfall.net/darcs/debian
msg8722 (view) Author: kowey Date: 2009-09-06.20:55:52
I (sigh) guess we could still work on this, although the fact that you could
just not use openssl makes me tempted to wont-fix this.

A first action to take would be to get a list of new patch authors since the
last time our exceptions file was generated.

Note that our switching to Cabal makes a few more authors moot since they only
contributed makefile/configure changes
msg17327 (view) Author: god Date: 2014-04-10.16:09:01
Possible workaround for this would be to switch to GnuTLS library. Which
is especially tempting with recent heartbleed hype.
History
Date User Action Args
2006-05-22 12:59:24fxcreate
2006-06-26 22:04:30zookosetstatus: unread -> unknown
nosy: + zooko, zedek
messages: + msg711
2006-07-13 17:03:34zookosetnosy: droundy, tommy, fx, zooko, zedek
messages: + msg814
assignedto: zedek -> zooko
2006-08-11 05:46:01zookosetnosy: droundy, tommy, fx, zooko, zedek
messages: + msg884
2007-07-17 12:21:36koweysetnosy: + kowey, beschmi
messages: + msg1855
2007-08-04 07:52:10koweysettitle: licence needs exception for openssl -> license needs exception for openssl
2007-10-31 16:23:05zookosetassignedto: zooko -> droundy
messages: + msg2219
2007-10-31 16:33:43koweysetmessages: + msg2221
2007-10-31 16:34:19koweysetassignedto: droundy -> (no value)
2008-01-27 05:56:44markstossetpriority: bug -> urgent
status: unknown -> has-patch
messages: + msg2806
nosy: + markstos
assignedto: zooko
2008-01-27 15:05:27zookosetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2814
2008-01-28 02:16:58markstossetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
assignedto: zooko -> (no value)
2008-01-28 15:23:44droundysetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2836
2008-01-28 15:34:38markstossetpriority: urgent -> bug
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2838
2008-01-28 15:44:48zookosetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2840
2008-01-28 15:46:48zookosetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2843
2008-01-28 15:48:37droundysetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2845
2008-01-28 16:06:20markstossetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2848
2008-01-28 16:22:38droundysetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2849
2008-01-28 16:23:36zookosetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2851
2008-01-28 19:10:12zookosetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, zedek
messages: + msg2855
2008-05-22 09:55:33koweysetnosy: + dagit
messages: + msg4828
2008-05-22 14:23:31koweysetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
assignedto: zooko
2008-06-05 12:07:48koweysetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
assignedto: zooko -> kowey
2008-06-06 09:17:11koweysetfiles: + exceptions-granted-2008-06-06T10:25
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
2008-06-09 08:19:39koweysetfiles: + exceptions-granted-2008-06-09T09:26
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
messages: + msg4999
2008-06-09 09:45:53koweysetfiles: + exceptions-granted-2008-06-09T10:53
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
2008-06-09 17:09:37zookosetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
messages: + msg5000
2008-06-13 07:17:14koweysetfiles: + exceptions-granted-2008-06-13T08:23
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek
2008-06-18 21:54:16mikedlrsetnosy: + mikedlr
messages: + msg5101
2008-06-18 21:56:55droundysetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek, mikedlr
messages: + msg5103
2008-06-19 07:07:11koweysetfiles: + exceptions-granted-2008-06-19T07:05
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek, mikedlr
2008-06-30 07:43:56koweysetfiles: + exceptions-granted-2008-06-30T07:42
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek, mikedlr
2008-07-01 14:33:38koweysetfiles: + exceptions-granted-2008-07-01T14:32
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek, mikedlr
2008-07-02 08:35:50koweysetfiles: + exceptions-granted-2008-07-02T08:34
nosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek, mikedlr
2009-01-22 03:33:06twbsetnosy: + dmitry.kurochkin, twb, simon, thorkilnaur
2009-01-22 03:36:22twbsetnosy: droundy, tommy, beschmi, kowey, markstos, fx, zooko, dagit, zedek, simon, twb, thorkilnaur, dmitry.kurochkin, mikedlr
messages: + msg7159
2009-08-06 17:34:39adminsetnosy: + jast, Serware, darcs-devel, mornfall, - droundy, fx, zedek, twb, mikedlr
2009-08-06 20:31:59adminsetnosy: - beschmi
2009-08-10 21:45:25adminsetnosy: + fx, mikedlr, twb, zedek, - darcs-devel, jast, Serware, mornfall
2009-08-10 23:54:13adminsetnosy: - dagit
2009-08-25 17:39:39adminsetnosy: + darcs-devel, - simon
2009-08-27 14:15:15adminsetnosy: tommy, kowey, markstos, fx, darcs-devel, zooko, zedek, twb, thorkilnaur, dmitry.kurochkin, mikedlr
2009-09-06 20:55:56koweysetstatus: has-patch -> needs-reproduction
nosy: tommy, kowey, markstos, fx, darcs-devel, zooko, zedek, twb, thorkilnaur, dmitry.kurochkin, mikedlr
topic: + Community
messages: + msg8722
assignedto: kowey ->
2012-05-03 06:38:49koweysetstatus: needs-reproduction -> needs-implementation
2014-04-10 16:09:02godsetmessages: + msg17327