
Many permissive licenses (I'm specifically looking at MIT and BSD3) include a clause that the license file must be included in distributions of the source or the binary. It seems to me that if I have a project on Github, that qualifies as redistribution of the source. My questions are thus: Do I need to include the license files from all my dependencies in my Github repository? Does having them listed as dependencies in my .cabal file "implicitly" include them? Does making a project "PublicDomain" only refer to the code contained in that project, or would it (unintentionally and unlawfully) give distributors of that source code the freedom to not include the BSD3/MIT license files from dependencies? Essentially my goal is to waive all intellectual property rights to most of my Haskell projects, to the extent that, were I to unintentionally sign away my intellectual property, my open-source contributions would be safe - what's the easiest way to do this? Thanks, Ben Foppa

Disclaimer: I'm not a lawyer. On 11/01/14 18:44, Ben Foppa wrote:
Many permissive licenses (I'm specifically looking at MIT and BSD3) include a clause that the license file must be included in distributions of the source or the binary. It seems to me that if I have a project on Github, that qualifies as redistribution of the source. My questions are thus:
You can put things up on GitHub without a license and legally, no one is allowed to do anything with it.
Do I need to include the license files from all my dependencies in my Github repository?
Only if you include the source of dependencies themselves, so most likely you don't have to.
Does having them listed as dependencies in my .cabal file "implicitly" include them?
I'm unsure. Considering you're referring to packages by name, one would imagine that you're restricting the project to that particular source. On the other hand, anyone is free to come in and replace dependencies with their own source, under their own license. I think you're safe releasing code under whatever license you want as long as: * You don't release dependencies with it * You don't build the project and distribute it Once you distribute the binary, you have probably pulled in and used the licensed libraries (unless replaced) so you're subject to the strongest license used. So overall, I think you're safe publishing under whatever license suits you and it's up to the programmer using your code to decide whether or not they want to build and/or distribute it as-is.
Does making a project "PublicDomain" only refer to the code contained in that project, or would it (unintentionally and unlawfully) give distributors of that source code the freedom to not include the BSD3/MIT license files from dependencies?
Making your code public domain would not affect the dependencies at all, after all, someone can come later, take half of your code and use it for something totally different.
Essentially my goal is to waive all intellectual property rights to most of my Haskell projects, to the extent that, were I to unintentionally sign away my intellectual property, my open-source contributions would be safe - what's the easiest way to do this?
I think you'll be fine just choosing the PublicDomain license option. Things you can't do with such an option: * bundle other people's code which isn't under public domain * somehow enforce that only certain libraries will run with your program: the user should be able to replace the BSD3 licensed dependencies with their own if they want to I think in the end, the fact that pretty much every package ever depends on ‘base’ which is BSD3 and PublicDomain option exists in Cabal should be convincing enough that you are in fact able to publish your part of the code under more lenient license.
Thanks, Ben Foppa
If anything's wrong in my post, I hope someone can correct me. -- Mateusz K.

On Sat, Jan 11, 2014 at 11:26 AM, Mateusz Kowalczyk wrote: Disclaimer: I'm not a lawyer. I'm also not a lawyer.
So overall, I think you're safe publishing under whatever license suits you and it's up to the programmer using your code to decide whether or
not they want to build and/or distribute it as-is. I can't comment on the legality of this; it sounds like it may be correct
in a technical sense, but in any case, I would like to plead that you /do
not do this/, for one reason:
Someone may want to use your project (and, transitively, the dependencies
you rely on) in a binary distribution someday, and it's unlikely that they
will think to check all the licenses all the way down.
Granted, that *is* their responsibility, but I think it's irresponsible to
create a product that "silently" causes a license violation based on how
the compiled result is used.
Please make a good faith effort to keep your software license compatible
with the licenses on your dependencies.
This is just my perspective on the question, and not something I'm
interested in debating, but I wanted to put it out there since it will
impact the usability of your software in some situations.
--Rogan Does making a project "PublicDomain" only refer to the code contained in that project, or would it (unintentionally and unlawfully) give
distributors of that source code the freedom to not include the BSD3/MIT
license files from dependencies? Making your code public domain would not affect the dependencies at all,
after all, someone can come later, take half of your code and use it for
something totally different. Essentially my goal is to waive all intellectual property rights to most
of
my Haskell projects, to the extent that, were I to unintentionally sign
away my intellectual property, my open-source contributions would be
safe -
what's the easiest way to do this? I think you'll be fine just choosing the PublicDomain license option.
Things you can't do with such an option: * bundle other people's code which isn't under public domain
* somehow enforce that only certain libraries will run with your
program: the user should be able to replace the BSD3 licensed
dependencies with their own if they want to I think in the end, the fact that pretty much every package ever depends
on ‘base’ which is BSD3 and PublicDomain option exists in Cabal should
be convincing enough that you are in fact able to publish your part of
the code under more lenient license. Thanks,
Ben Foppa If anything's wrong in my post, I hope someone can correct me. --
Mateusz K.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Thanks for your help, everyone!
It sounds like leaving my open-source projects licensed MIT (probably)
protects them from retroactive ownership by a vaguely-worded contract.
Just as a disclaimer for all past, present, future replies:
No information from this thread shall be construed as legal advice; I'm
seeking to understand the *opinions* on what the law appears to be.
On Sat, Jan 11, 2014 at 2:49 PM, Rogan Creswick
On Sat, Jan 11, 2014 at 11:26 AM, Mateusz Kowalczyk < fuuzetsu@fuuzetsu.co.uk> wrote:
Disclaimer: I'm not a lawyer.
I'm also not a lawyer.
So overall, I think you're safe publishing under whatever license suits
you and it's up to the programmer using your code to decide whether or not they want to build and/or distribute it as-is.
I can't comment on the legality of this; it sounds like it may be correct in a technical sense, but in any case, I would like to plead that you /do not do this/, for one reason:
Someone may want to use your project (and, transitively, the dependencies you rely on) in a binary distribution someday, and it's unlikely that they will think to check all the licenses all the way down.
Granted, that *is* their responsibility, but I think it's irresponsible to create a product that "silently" causes a license violation based on how the compiled result is used.
Please make a good faith effort to keep your software license compatible with the licenses on your dependencies.
This is just my perspective on the question, and not something I'm interested in debating, but I wanted to put it out there since it will impact the usability of your software in some situations.
--Rogan
Does making a project "PublicDomain" only refer to the code contained in
that project, or would it (unintentionally and unlawfully) give distributors of that source code the freedom to not include the BSD3/MIT license files from dependencies?
Making your code public domain would not affect the dependencies at all, after all, someone can come later, take half of your code and use it for something totally different.
Essentially my goal is to waive all intellectual property rights to most of my Haskell projects, to the extent that, were I to unintentionally sign away my intellectual property, my open-source contributions would be safe - what's the easiest way to do this?
I think you'll be fine just choosing the PublicDomain license option. Things you can't do with such an option:
* bundle other people's code which isn't under public domain * somehow enforce that only certain libraries will run with your program: the user should be able to replace the BSD3 licensed dependencies with their own if they want to
I think in the end, the fact that pretty much every package ever depends on ‘base’ which is BSD3 and PublicDomain option exists in Cabal should be convincing enough that you are in fact able to publish your part of the code under more lenient license.
Thanks, Ben Foppa
If anything's wrong in my post, I hope someone can correct me.
-- Mateusz K. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (3)
-
Ben Foppa
-
Mateusz Kowalczyk
-
Rogan Creswick