Almost no Apache 2.0-licensed Rust project includes a NOTICE file, how come?

Hi all,

A lot of code in the Rust ecosystem is dual licensed under MIT and APACHE-2.0.

However, very few projects include a NOTICE file as per APACHE-2.0 section 4 (d).

My understanding is that if a licensee choose the APACHE-2.0 license, this allows distribution of Derivative Works in binary-only form of Rust projects without giving any attribution or credit.

This is not necessarily a bad thing. I am mostly curious if it is intentional. I suspect it is not intentional. I think most people would like to be given credit for their work. Instead, I think most projects simply reproduce the same licensing terms as most other projects without giving it a lot of thought. So I would love to hear how users of this board reasons about this topic.

Have you considered adding a NOTICE file to your own projects? If yes, why or why not did you add such a file?

(If you disagree with my analysis of APACHE-2.0, I would greatly appreciate if you could point out what section and sentence or paragraph that requires attribution when distributing Derivative Works only in binary ("Object") form.)

Not sure I have ever seen a NOTICE file. Or if I have I have never given any thought. Certainly I have never included one myself.

As far as I can tell the fact that a it repo is published means that whatever info should be in a NOTICE file already exists in the repo history. So I have no intension to start adding such a file.

Where do you get the "allows distribution of Derivative Works in binary-only form of Rust projects without giving any attribution or credit." thing from? I see no such clause in the licence.

Para 4d says you need the notice if there is one in the original. It also allows for that notice to be built into the binary and displayed some how: "within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. " That is to say, no need for a separate NOTICE file to be delivered with a binary.

There is that if again. Presumably my derived work might not have such a display. That being a modification I make. So it will not have notices anywhere.

I will digest the rest of your reply and respond to it and any other replies later, but I would like to clarify the following early in the thread:

Where do you get the "allows distribution of Derivative Works in binary-only form of Rust projects without giving any attribution or credit." thing from? I see no such clause in the licence.

Let's say I take the code of an APACHE-2.0 licensed Rust project without a NOTICE file, make improvements, and then start selling compiled binaries of this project. This is allowed by the license. I just need to make sure I meet the conditions in Section 4.

Giving a copy of the license as per (a) does not require giving credit to the original project. The vanilla license does not contains the names of any project authors.

I do not need to do anything with (b) since I am not distributing any changed files.

(c) does not apply since I am not distributing anything in Source form.

(d) does not apply since the project does not have a NOTICE file.

So the license allows distribution of Derivative Works in binary-only form of Rust projects without giving any attribution or credit, if there is no NOTICE file.

1 Like