Hacker News new | ask | show | jobs
by mdaniel 1127 days ago
this is not "open source," it's source available as the repo is missing any licensing terms. I dunno what the legal standing is of these package management fields <https://github.com/psarna/edgemail/blob/master/Cargo.toml#L5> since I believe at least npm defaults to some very liberal license that almost no one looks at any further and puts a sibling license file in their repo with the actual terms

Also, bold move implementing your own smtpd: https://github.com/psarna/edgemail/blob/master/src/smtp.rs#L...

3 comments

Pretty sure that, legally speaking, an author publicly declaring that a piece of publicly published work is offered as open source, coupled in this case with also indicating (albeit indirectly and not obviously) via the Cargo.toml that the work is specifically licensed under “MIT OR Apache”, is more than sufficient to block them from ever successfully pursuing someone else for damages under their copyright for use consistent with those indicated licenses. That declaration effectively does make this “open source” under the plain meaning of that term — the source is openly available, and the author’s clear and openly stated intent is that it is offered as openly available under specific licensure terms — what it probably (or at least properly) is not is “Open Source” per the definition of the OSI.

The author should certainly clarify the license terms if they want this to be widely used, but though I wouldn’t use this for MANY reasons, not one of them is fear of having violated the author’s copyrights.

So the absence of a license means it defaults to exclusive copy right, but can advertising it as open source be construed as a 'license'? Or more broadly can express written or verbal permission count?

Just interested in it hypothetically, in practice specifying a license in the text seems like a no brainer

   > So the absence of a license means it defaults to exclusive copy right
Yes

   >  but can advertising it as open source be construed as a 'license'
I'm pretty sure the answer is no. There are no terms specified, no definition provided to what "open-source" is, and no information as to _what_ is licensed as open-source (i.e. the files, the compilation result, etc.).

General consensus with most licensing schemes is to add a license header to the top of every file, or otherwise specify that all files in a certain repository are subject to that license in a clear manner that everyone accessing these files will have access to (i.e. README file).

Yes, I probably should have omitted the example of the OP because I'm really more interested in the principle than the specific implementation.

My suspicion is that you could probably give verbal or informally written or offered license and that it would be valid from a legal perspective. I'm basing that off the existence of verbal contracts and how there is no process for licenses but instead a very practical consensus on the best way to communicate intent.

EDIT: In a sibling comment I verified this suspicion! Includes a couple links to short articles.

I'm for sure not a lawyer, but in my mental model just saying "open source" is not the same as "open source under what license?" since there have been an absolutely staggering amount of discussions on this very site about the distinction between Apache, AGPL, GPL, LGPL, and that's not even getting into the non-free licenses that are often erroneously labeled as "open source"
Well, I think this case is made pretty unambiguous in that sense given that any interpretation that included licenses with nontrivial requirements would also be clearly deceptive and unenforceable.

And after doing some digging it looks like I am correct in that the ambiguous offer could easily be construed as a license. [1] states > A license can be oral or arise by implication when considering all of the facts and circumstances surrounding the transaction between the copyright owner and the purported licensee.

And [2] also supports that, though I won't do a direct quote. The search that surfaced this was differences between copyright licenses and assignments.

Thanks! I've been curious about this for a while and in the process of editing my reply to you I stumbled on the right searches

[1] https://www.edwardallenlaw.com/difference-between-copyright-...

[2] https://www.justia.com/intellectual-property/copyright/copyr....

According to the Cargo.toml of that project the code is licensed under both MIT or Apache, whichever you choose, however it's not clear which files are under that license or whether this was even intentional. Generally, you'd expect the project to provide one or more LICENSE files and some explanation about the license in the README, along with license headers on top of every file where that licensing is relevant.
An issue for making the licensing more explicit has been created:

https://github.com/psarna/edgemail/issues/1

psarna, thank you for sharing this project. Would you mind adding a LICENSE file to the repo to clarify that the licenses specified in Cargo.toml ("MIT OR Apache-2.0") are how you intended the entire project to be licensed? Software licenses are legal documents, and users would appreciate the reassurance that the project is FOSS.

I agree with LICENSE and README file.

But having license headers on top of every file feels a bit like a corporate lawyer requirement. Is that really common in all open source projects?

   > Is that really common in all open source projects?
Common? Depends. Necessary or correct? That's a whole 'other can of worms:

Depending on the open-source license you're using it's actually _required_ to do that, although many developers (like me) don't actually do it because in reality it really doesn't matter, but strictly speaking it's the correct (and sometimes necessary) thing to do. The overall principle is that it reduces ambiguity. What if a user gets access to source files without access to the rest of the repo? Then they won't be able to know what the license for that code is. Or what if your project mixes in code from other projects for purposes such as dependency vendoring? You need to be explicit in which files are licensed how and by whom.

This stack exchange discussion is somewhat illuminating [0].

As you can see, GPL licenses require a copyright notice and a license notice on every file (although no need for the entire license). Apache v1 requires the license on every file. The MIT license is somewhat ambiguous as the definition for "substantial portions of the Software" is not clearly defined, a possible interpretation is that every single file is a substantial portion of the software, this is why some MIT licensed projects include it, in its entirety, in every single source code file.

IANAL, but Kyle E. Mitchell is, and he has an interesting line-by-line explanation of the MIT license which helped clear some of the ambiguity for me [1].

[0]: https://softwareengineering.stackexchange.com/questions/3170...

[1]: https://writing.kemitchell.com/2016/09/21/MIT-License-Line-b...

The GPL has of course been developed under heavy influence from a lawyer.
Is there any copyleft license that doesn't require this?
I believe this comment prompted a discussion on the repo and now it has a valid license. So, that's a win