[PATCH] D53024: [analyzer][www] Add more open projects
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 16 13:59:31 PDT 2018
NoQ added inline comments.
================
Comment at: clang/www/analyzer/open_projects.html:27-32
+ <p>New checkers which were contributed to the analyzer,
+ but have not passed a rigorous evaluation process,
+ are committed as "alpha checkers" (from "alpha version"),
+ and are not enabled by default.
+
+ The development of many such checkers has stalled over the years.
----------------
george.karpenkov wrote:
> NoQ wrote:
> > This is extremely important to get right. Alpha doesn't mean "i did an experiment, let me dump my code so that it wasn't lost, maybe others will pick it up and turn it into a useful checker if they figure out how". Alpha doesn't mean "a checker that power-users can use at their own risk when they want to find more bugs". Alpha doesn't mean "i think this checker is great but maintainers think it's bad so they keep me in alpha but i'm happy because i can write in my resume that i'm an llvm contributor". All of these are super popular misconceptions.
> >
> > Alpha means "i'm working on it". That's it.
> >
> > Let's re-phrase to something like: "When a new checker is being developed incrementally, it is committed into clang and is put into the hidden "alpha" package (from "alpha version"). Ideally, once all desired functionality of the checker is implemented, checker should be moved out of the alpha package and become enabled by default or recommended to opt-in into, but development of many alpha checkers has stalled over the years."
> Let's ignore (3) as a red herring, but I'm not sure I see the difference between (1), (2) and (4). When someone works actively on a checker, but then stops, it immediately transfers from state (4) to state (2) and optionally (1)
This is kinda mostly about the attitude with which people should put stuff into the `alpha` package. Yeah, if someone stops for inevitable reasons, then we're inevitably left with unmaintained experimental code in the repo, i guess that's why this section exists. But contributors shouldn't plan for this from the start. A lot of contributors literally believe that alpha is by design a stockpile of incomplete work and weird experiments and it'll make everybody happy if they add more incomplete work and weird experiments into it, i myself misunderstood this for a long time and i want to address this misconception.
https://reviews.llvm.org/D53024
More information about the cfe-commits
mailing list