wimleers / fileconveyor

File Conveyor is a daemon written in Python to detect, process and sync files. In particular, it's designed to sync files to CDNs. Amazon S3 and Rackspace Cloud Files, as well as any Origin Pull or (S)FTP Push CDN, are supported. Originally written for my bachelor thesis at Hasselt University in Belgium.
https://wimleers.com/fileconveyor
The Unlicense
340 stars 95 forks source link

Clarify license: GPL or Unlicense? What about dependencies? #82

Closed benoitbryon closed 13 years ago

benoitbryon commented 13 years ago

At first, it seems that the license is public domain "UNLICENSE". See : https://github.com/wimleers/fileconveyor/blob/d1c55b89a1b0d2649ab9e3eb36ac68a2fb208354/code/UNLICENSE

But I saw at least two references to GPL (which version?):

In dependencies, as far as I understood, there are parts of code from external software, such as Django or Django-storages. What about their license? Is that ok not to mention the BSD license of Django or Django-storage? What about their respective authors?

I am not an expert in licensing, so these are true questions. But I guess the answer could help if one wants to redistribute this software.

wimleers commented 13 years ago

The story here is short and simple.

I wanted File Conveyor to be open source. I'm a Drupal developer. Drupal uses GPL v2. Hence I also wanted to use GPL v2 for File Conveyor. Hence I did. I even got a letter of approval for this from my university, because that was required by a company to prevent any legal issues.

Then, Symantec contacted me because they wanted to use File Conveyor in their research projects (damn, I should also mention that on the homepage — no idea why I forgot to mention this). However, to be able to do so, they had to be allowed to use the project without contributing back. If a piece of open source code they'd use required contributing back, it'd stand no chance. Hence, I simply added the UNLICENSE (and again got approval for this first from my university). Now, this clearly makes no sense. Dual-licensing only makes sense of neither of the "licenses" is a public domain license. So, what should happen in reality, is that the UNLICENSE applies to File Conveyor's code, but that various other licenses apply to the 3rd party code.

This is also stated in the README.txt — albeit without the historical details:

License
-------
This application is dual-licensed under the GPL and the UNLICENSE.

This application depends on various pieces of 3rd party code:
- parts of Django (dependencies/django). Django is released under the modified
  BSD license, which is GPL-compatible.
- boto (dependencies/boto). boto is released under the MIT license, which is
  GPL-compatible.
- django-storages (dependencies/storages). django-storages is released under
  the modified BSD license, which is GPL-compatible.
- python-cloudfiles (dependencies/cloudfiles). python-cloudfiles is released
  under the MIT license, which is GPL-compatible.

Hence it made sense to initially release the source code under the GPL.
Clearly, the 3rd party code is not UNLICENSEd; only the newly written code is.

So … since I'm also no software licenses expert: how do you propose we proceed with this?

benoitbryon commented 13 years ago

Ooops, I read the docs too fast and missed the licensing part. Your answer sounds good. So I do not propose changes.

wimleers commented 12 years ago

You propose no changes at all? So the statement in the README is sufficient?

benoitbryon commented 12 years ago

I don't have better proposal. If this question is frequent, maybe an entry in the FAQ? But "RTFM" sounds like a good answer ;)

Note: later, I may propose some changes in the documentation (splitting the doc in smaller files to improve readability). But I guess it is off-topic here.

wimleers commented 12 years ago

Fair enough :)