Dear Apache Incubator Community,

I’m writing to start a discussion on donating the NullAway Java nullness
checker project to the Apache Incubator.  NullAway is currently hosted on
GitHub:

https://github.com/uber/NullAway

Here is a brief description of NullAway, adapted from its README:

NullAway is a tool to help eliminate NullPointerExceptions (NPEs) in your
Java code. To use NullAway, first add @Nullable annotations in your code
wherever a field, method parameter, or return value may be null. Given
these annotations, NullAway performs a series of type-based, local checks
to ensure that any pointer that gets dereferenced in your code cannot be
null. NullAway is similar to the type-based nullability checking in the
Kotlin and Swift languages, and the Checker Framework nullness checker for
Java.

NullAway is *fast*. It is built as a plugin to Error Prone and can run on
every single build of your code. In our measurements, the build-time
overhead of running NullAway is usually less than 10%. NullAway is also
practical: it does not prevent all possible NPEs in your code, but it
catches most of the NPEs we have observed in production while imposing a
reasonable annotation burden, giving a great "bang for your buck.”

NullAway has been open source since 2017, and it has a large community of
commercial and open source users.  The Spring Framework and JUnit are two
well-known open-source projects currently using NullAway.  We believe
NullAway would be a good fit for the Apache Incubator, and that shifting
the project to the Apache Incubator could help to grow our community of
contributors and users.

I am the current primary maintainer of NullAway.  I started the project as
a full-time Uber employee, and continued to maintain the project after
leaving Uber to take an academic position.  I am in regular contact with
relevant Uber employees regarding donation of the project, and they are
supportive.

I was hoping to get initial feedback on whether NullAway would be a
suitable Apache Incubator project, and to see whether anyone would be
interested in championing / mentoring the process of shifting to the
incubator.  I look forward to any and all feedback, and I’m happy to answer
questions.  Thank you!

Best regards,
Manu Sridharan
Professor, Computer Science and Engineering
University of California, Riverside
https://manu.sridharan.net

Reply via email to