gvanem / Watt-32

Watt-32 TCP/IP library and samples.
https://www.watt-32.net/
18 stars 8 forks source link

License? #70

Open Midar opened 1 year ago

Midar commented 1 year ago

I tried looking everywhere, but I cannot find the license of Watt-32 documented anywhere. What's the license?

gvanem commented 1 year ago

What's the license?

It's mentioned in the manual.txt. Not good enough?

turol commented 1 year ago

The "you may not sell this" makes it not FOSS. Picking one of the standard licenses would be better.

gvanem commented 1 year ago

Picking one of the standard licenses would be better.

Suggestions are welcome.

turol commented 1 year ago

BSD, MIT and Apache2 are the most common "permissive" licenses. They allow the library to be incorporated in closed-source programs, including commercial programs. They differ in things like patent grants and compatibility with copyleft licenses.

The alternative are copyleft LGPL, GPL and AGPL licenses. They require source code to be always provided under the same license, differing mostly in when source is required. They don't really forbid commercial usage bust most lawyers will not allow them.

gvanem commented 1 year ago

Since I forked this from https://github.com/sezero/watt32 (w/o any licence), it seems difficult now to set a licence here on GitHub / Settings. But I'll look into this later.

Midar commented 1 year ago

Ah, thanks, I didn't see it in manual.txt and was looking for either a LICENSE or COPYING file or a README listing.

Midar commented 1 year ago

@turol It would be nice to have it open source indeed but I think this discussion needs to be opened on the repo this one forks.

iainnicol commented 1 year ago

Hi folks. I'm also interested in having a proper open source licence on Watt-32. My recent background is I've been helping a relicensing effort for Open Watcom. I came across Watt-32 because a version of Watt-32 is distributed with Open Watcom.

To answer an earlier question, setting a licence in GitHub is really straightforward: you create a file called LICENSE or COPYING, either with no extension, or .txt or .md (for markdown). If the contents of that file is a standard open source licence, GitHub will detect that, and label the repository appropriately. The fact that this GitHub repo was forked from sezero's is mostly unimportant.

However, whilst @gvanem is obviously the primary author of Watt-32, they're not the only author. Watt-32 is of course derived from Erick Engelke's WATTCP. Unless all of Erick's copyrightable code has been written (which is possible but I'm guessing incredibly unlikely), then Erick's permission is required.

However, it transpires that Erick release a later version of WATTCP under the LGPL. I've just emailed him, asking if (a) he'd backdate the open source licence, so that Watt-32 can benefit, and (b) double check whether LGPL remains the preference, or whether he and Gisle would prefer a permissive licence.

If Ericke and Gisle can agree on a permissive licence, that's most of the work. However, there are a handful of other contributors over the years, mentioned in the thanks file or in the changelog. More recently, there are other contributors to the git repo, for example including sezero again. It would be Good to seek permission from these other contributors, at least where their contribution was more than about 15 lines of code. I can help with this, just like I have with Open Watcom.

@Midar could you kindly reopen this issue?

iainnicol commented 1 year ago

Oh wow! I got a very quick, positive response from Erick:

It's been more than 30 years since I started that project. A lot has happened since in the free software world and I haven't kept track.

Essentially: I'm open to any free license for the software and would be compatible with the goals we all had.

I remember liking BSD style license, it seems the most open to me. You are not encumbered by anything except you cannot sue the originator!

Gisle, if you're happy to, I think we should go for the MIT licence. As I replied to Erick, the MIT license is identical in spirit, but has two minor advantages: (a) slightly more explicit in granting certain permissions, (b) popularity - everybody seems to use it, so if you want a permissive licence, it's hard to go wrong.

gvanem commented 1 year ago

That good new indeed. Will do. And a long time since Erick ushered a work.

jwt27 commented 1 year ago

Some of the headers are copied/adapted from BSD, and retain the original copyright notice. I'm not an expert on this, but it seems that would complicate things a bit?

iainnicol commented 1 year ago

Some of the headers are copied/adapted from BSD, and retain the original copyright notice. I'm not an expert on this, but it seems that would complicate things a bit?

Thank you for raising this. However it's not a big problem 🙂. BSD and MIT are both permissive licences, and moreover they are are compatible.

Essentially, for attribution, you just have to include both licenses with the binary, instead of one. Either way, you need to include the two different copyright lines.

If people feel strongly, we can go back to Erick and Geoffrey, but unless you do, I don't :-p.

Either way, it was a good spot.

It made me realise due to the age, the BSD files use the Four Clause BSD license, with the advertising clause. We can delete that slightly annoying clause, because Berkeley deleted that clause in 1999.

Midar commented 1 year ago

We can delete that slightly annoying clause, because Berkeley deleted that clause in 1999.

That’s not how licenses work.

iainnicol commented 1 year ago

That’s not how licenses work.

The clause was unequivocally “hereby deleted in its entirety” for “all licensees and distributors”. See 1 and 2.

This is the approach all the BSDs, like FreeBSD and OpenBSD have taken. Whence my recommendation.

iainnicol commented 1 year ago

That said, if you want to update the headers and the license, both at the same time, from 4.4BSD Lite, there's no harm in that.

iainnicol commented 1 year ago

Second thoughts. @Midar maybe you meant we can't delete similar clauses that require advertising of others (who aren't Berkeley), unless we have their separate permission. That I would agree with.

Midar commented 1 year ago

Taking a look of one of the headers: https://github.com/gvanem/Watt-32/blob/21159f1594ff5aa592f215feacaca447657379a9/inc/net/pfil.h#L14

It is not owned by the UCB. So if the UCB removes the clause from their code, that has absolutely zero meaning for the file in question here. So for that file, Matthew R. Green needs to remove the advertising clause and what UCB did has absolutely nothing to do with it.

iainnicol commented 1 year ago

No, sorry, that's a bog standard attribution clause, not the advertising clause. The "obnoxious" advertising clause is clause 3 of the old 4-clause BSD license.

I've done a grep for the word advert, and discovered the following instances of advertising clauses:

81Ă—: California, Berkeley and its contributors. 54Ă—: This product includes software developed by Gisle Vanem 2Ă—: by the University of California, Berkeley. 2Ă—: by Carnegie Mellon University. 1Ă—: This product includes software developed by Charles D. Cranor and 1Ă—: This product includes software developed by the Politecnico 1Ă—: This product includes software developed by Jonathan Stone 1Ă—: software were developed by the Pittsburgh Supercomputing Center.

The numerous Berkeley advertising clauses can be deleted per Berkeley's general deletion of the clause. The next most numerous advertising clause is for Gisle Vanem Bergen, who is the maintainer and part of this conversation.

And then there's a small number of advertising clauses for other institutions / people. And your general point, @Midar, is absolutely right: we can't unilaterally remove those.

iainnicol commented 1 year ago

@gvanem this is slightly, but not totally, tangential. If you want (I'll explain why), you can go to https://support.github.com/contact?flow=detach_fork&subject=Detach%20Fork&tags=rr-forks

That opens a GitHub support Virtual Assistant. You can then click the "Detach/Extract" button, and paste the following URL: https://github.com/sezero/watt32

If you do those steps, that will remove the "forked from sezero/watt32" tag at the top of your repo. To be clear, I don't suggest this to be hostile or anything. Ozkan did good, by putting Watt-32 on GitHub! But the "forked from" line sort of suggests they're the upstream for Watt-32, when you are. After this is done, I think Ozkan can put in a request, so GitHub says their repo is forked from this one (if they like).

iainnicol commented 1 year ago

There are several people that I want to try to track down in the next few weeks or months, to seek permission for relicensing Watt-32. It'll maybe take a while.

We already have permission for Geoffrey Cooper's tinytcp, and Erick Engelke's original WATTCP. So today I thought I should continue with the next easiest to locate people! Namely, the folks who have contributed to Watt-32 in recent years, on GitHub.

So, hello to

Juan Manuel Guerrero (@jmgdjgpp), Jiří Malák (@jmalak), and Ozkan Sezer (@sezero)

Currently Watt-32 is source available freeware, but it is not using an official open source license. Would you be willing to relicense your contributions under the MIT license, or maybe BSD-3-Clause?

Jiří and Ozkan, we've obviously spoken before about Open Watcom. That's how I ended up here: as you'll know, there's a (slightly different) version of Watt-32 bundled with Open Watcom. :-)

Also,

J.W. Jagersma (@jwt27), and Gisle Vanem (@gvanem)

We've already spoken on this issue, but it's always good to hear explicit agreement. Would either the MIT license or BSD-3-Clause work for you? jwt, I want to be clear I don't care very strongly about the particular license, only that it's proper open source.

sezero commented 1 year ago

There are several people that I want to try to track down in the next few weeks or months, to seek permission for relicensing Watt-32. It'll maybe take a while.

We already have permission for Geoffrey Cooper's tinytcp, and Erick Engelke's original WATTCP. So today I thought I should continue with the next easiest to locate people! Namely, the folks who have contributed to Watt-32 in recent years, on GitHub.

So, hello to

Juan Manuel Guerrero (@jmgdjgpp), Jiří Malák (@jmalak), and Ozkan Sezer (@sezero)

Currently Watt-32 is source available freeware, but it is not using an official open source license. Would you be willing to relicense your contributions under the MIT license, or maybe BSD-3-Clause?

Jiří and Ozkan, we've obviously spoken before about Open Watcom. That's how I ended up here: as you'll know, there's a (slightly different) version of Watt-32 bundled with Open Watcom. :-)

I have no objections at all against any re-licensing of my contributions to watt32. Gizle Vanem to decide.

gvanem commented 1 year ago

this is slightly, but not totally, tangential. If you want (I'll explain why), you can go to

I've been busy with other things lately. That's why I've not come around to writing a LICENCE and/or COPYING file. But a contribution is welcome; a PR?

iainnicol commented 1 year ago

I've been busy with other things lately.

Totally understand.

That's why I've not come around to writing a LICENCE and/or COPYING file. But a contribution is welcome; a PR?

I will gladly do that, but not just yet.

Why not just yet? Legal pedantry. You've obviously written most of the code, but unfortunately you can't relicense other people's code.

So what I'm doing, if you'll excuse that pedantry, is contacting other contributors, at least if they might have contributed a significant amount of code.

Soon I'll hopefully have permission from most people, or modest amounts of code that we can rewrite.

And then at that stage, I'll create a PR for you to approve.

Hopefully that (a) makes sense, and (b) isn't annoying for you?

jwt27 commented 1 year ago

Also,

J.W. Jagersma (@jwt27), and Gisle Vanem (@gvanem)

We've already spoken on this issue, but it's always good to hear explicit agreement. Would either the MIT license or BSD-3-Clause work for you? jwt, I want to be clear I don't care very strongly about the particular license, only that it's proper open source.

No objections from me, and I'm fine with either license. Appreciate what you're doing!

jmalak commented 1 year ago

There are several people that I want to try to track down in the next few weeks or months, to seek permission for relicensing Watt-32. It'll maybe take a while.

We already have permission for Geoffrey Cooper's tinytcp, and Erick Engelke's original WATTCP. So today I thought I should continue with the next easiest to locate people! Namely, the folks who have contributed to Watt-32 in recent years, on GitHub.

So, hello to

Juan Manuel Guerrero (@jmgdjgpp), Jiří Malák (@jmalak), and Ozkan Sezer (@sezero)

Currently Watt-32 is source available freeware, but it is not using an official open source license. Would you be willing to relicense your contributions under the MIT license, or maybe BSD-3-Clause?

Jiří and Ozkan, we've obviously spoken before about Open Watcom. That's how I ended up here: as you'll know, there's a (slightly different) version of Watt-32 bundled with Open Watcom. :-)

Also,

J.W. Jagersma (@jwt27), and Gisle Vanem (@gvanem)

We've already spoken on this issue, but it's always good to hear explicit agreement. Would either the MIT license or BSD-3-Clause work for you? jwt, I want to be clear I don't care very strongly about the particular license, only that it's proper open source.

I am not against any change of licence to be more suitable for Watt-32 comunity. Regards Jiří

jmgdjgpp commented 1 year ago

Am Thu, 03 Aug 2023 07:03:19 -0700 schrieb Iain Nicol @.***>:

There are several people that I want to try to track down in the next few weeks or months, to seek permission for relicensing Watt-32. It'll maybe take a while.

We already have permission for Geoffrey Cooper's tinytcp, and Erick Engelke's original WATTCP. So today I thought I should continue with the next easiest to locate people! Namely, the folks who have contributed to Watt-32 in recent years, on GitHub.

So, hello to

Juan Manuel Guerrero @.), Jiří Malák @.), and Ozkan Sezer @.***)

Currently Watt-32 is source available freeware, but it is not using an official open source license. Would you be willing to relicense your contributions under the MIT license, or maybe BSD-3-Clause?

Jiří and Ozkan, we've obviously spoken before about Open Watcom. That's how I ended up here: as you'll know, there's a (slightly different) version of Watt-32 bundled with Open Watcom. :-)

Also,

J.W. Jagersma @.), and Gisle Vanem @.)

We've already spoken on this issue, but it's always good to hear explicit agreement. Would either the MIT license or BSD-3-Clause work for you? jwt, I want to be clear I don't care very strongly about the particular license, only that it's proper open source.

I have no objections against any re-licensing of my contributions to watt32. Gizle Vanem to decide.