Hi, as there seems to be some interest and I'm tired of my local type checker to yell at openstack code I went ahead and created a review for basic mypy support in the kolla-ansible project. This is very basic and still disables stuff so we don't get flooded with warnings, but you have to start somewhere: https://review.opendev.org/c/openstack/kolla-ansible/+/914984 maybe you can also use it as a blueprint for the introduction of more type checking in other openstack projects. I'd be eager to support this effort as I believe this to be a major milestone to attract more developers and also to improve code quality and robustness. It's also really selfish because I waste huge amounts of time wading through openstack project source code and oftentimes having trouble understanding the code, because of - sorry to have to say this - bad coding practices like inscrutable variable names, no Types being used etc. This might not be a problem for longtime contributors being familiar with the code for years. But it's a huge barrier to entry. I'm mostly involved with kolla, but I try to do bugfixing or at least verification of reported bugs in all openstack projects we use and rely upon. When users report problems in kolla, and often they report them in kolla, as we are an integration project, instead of directly upstream, I need a lot of time to get familiar with the source code, especially as we usually have a lot of abstraction layer upon abstraction layer. Type Hints would make this way easier and faster. HTH PS: I find the discouraging comments in this thread, especially from "leadership" very concerning. Even if you have good reasons from past experience to have your opinion, I think this is a textbook example of a self-fulfilling prophecy: Every large initiative is doomed to fail because some initiatives in the past did fail and the survivors talk down any new initiative for fear of being hurt again by it. So nothing get's done. This is self referential logic which is just not good for anything, really. Imho: If we never try anything we can't improve anything. I take the recent resurrection of the eventlet library as a good example. There was a good amount of "this can't be fixed" being uttered between the lines. But rather fast at least some upstream bugs could be sorted out, because some people _did_ step up. Is the problem completely fixed? No! Is it better? yes! I think many IT professionals - myself included - suffer from this either/or logic: either the problem is completely fixed, or the solution is useless. But in reality problems have a lot of grey area, problems can get smaller, by being solved one entity at a time, not globally and once and for all. And I think we as IT workers tend to dismiss not 100% solutions to fast. If you don't have time to do something yourself that is fine. Discouraging people with war stories from old times is not really productive imho. There are some good tips like running for the TC but also not really something countering the "core idea" of this proposal (or I missed it), so I honestly wonder what the fuss is all about. There is a call to action, and maybe my Review up there is some of that action, I hope more can follow. And I say that as someone who was his own share to tell of old information technology war stories what does and does not work. But I have made the experience that sometimes you need to let new developers find new ways to old problems, and sometimes things work now that did not in the past, for various reasons. I believe this is something we usually call "progress". PPS: Here's a war story of mine: I can tell you from experience, a very large code base without type checking is error prone and doomed to failure in the long run. ;) So let's make stuff better. Not because the old stuff is bad. But because we today know how to do stuff better, standing of the shoulders of giants and all that. PPPS: sorry for the long rant, if you made it this far :) kind regards Sven Kieske Senior Cloud Engineer Mail: kieske@osism.tech Web: https://osism.tech OSISM GmbH Teckstraße 62 / 70190 Stuttgart / Deutschland Geschäftsführer: Christian Berendt Unternehmenssitz: Stuttgart Amtsgericht: Stuttgart, HRB 756139