Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: