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
