3 ms·
Look, I love Django, but to be fair this is kind of a bullshit response. There are things I hate about Git, and I could fix them myself, but I don't submit pat
by stevelosh 16y ago
Look, I love Django, but to be fair this is kind of a bullshit response.
There are things I hate about Git, and I could fix them myself, but I don't submit patches to Git. I just use Mercurial instead.
"Send patches" isn't a be-all, end-all response to any criticism of an open source project.
- jacobian 16y agoYou're right. I get kinda pissed when people call me "dammed irresponsible" because I can't find the time to solve some technical problems. It implies a sense of entitlement to my time that rubs me the wrong way. You did exactly the right thing: figured out how to solve the problem regardless. That's something that'll motivate me; calling me stupid or irresponsible won't. So yeah, you're right, it is bullshit, and so is the attitude I responded to. Garbage in, garbage out, I suppose.
- stevelosh 16y agoHaving several open source projects of my own, and contributing to a few more, I definitely know how you feel. Here's what I want to know about this in a nutshell: Does Django (the project as a whole) want to provide the best possible security, within reason, for its contrib.auth module? If not, why not, and why isn't it stated prominently in the documentation? Is bcrypt not the best possible security, or reasonably close to it? If not, why not? I'm not even remotely close to a cryptography expert, so although bcrypt's support for arbitrary work factors seems to provide very good security to me I know I could very well be horribly wrong in this thinking. Is providing bcrypt hashing for passwords in contrib.auth not within the realm of reasonable effort? This could mean rewriting bcrypt in pure Python and including it in contrib, to support Windows users. If not, why not? Perhaps rewriting bcrypt in Pure Python is not easy -- I haven't tried it myself. If bcrypt hashing is secure and reasonable to implement, and Django wants to provide the best security possible (within reason), why is this not a blocking issue for Django 1.3? I genuinely don't know the answers to any of these questions, so I'd really love to know.
- ubernostrum 16y agoHaving several open source projects of my own, and contributing to a few more, I'd like to say that I don't think you're on the right track if you're trying to get a real response with your questions here; you're basically doing the "so, have you stopped beating your wife yet" routine. Don't believe me? Your words: Does Django (the project as a whole) want to provide the best possible security, within reason, for its contrib.auth module? If not, why not, and why isn't it stated prominently in the documentation? Of course we want to provide the best possible security, within reason. But reasonable people can and do disagree on what's "within reason", and Jacob's outlined some technical hurdles regarding bcrypt which -- so far as I'm aware -- no-one in this thread has bothered to offer solutions for. If you're genuinely interested in seeing bcrypt in Django, and have constructive suggestions on how to overcome these technical hurdles, then I'm all ears. If, on the other hand, you're just going to post passive-aggressive stuff framed to make us look like we don't really care about security, well, don't expect me or anyone else to fall all over themselves trying to help you out.
- jacobian 16y agoMmm, that's not how I read Steve's questions -- I took them as honest questions about from someone who doesn't really follow the project and isn't sure where our priorities lie. We have to keep in mind that at this point a bulk of our users don't keep close track of the development process and priorities. Heck, even I have trouble keeping up some times.
- ubernostrum 16y agoAt best I can say it's incredibly poorly phrased if it was trying to raise constructive points. The implication of "if you really cared about security, you'd..." just rubs me the wrong way.
- stevelosh 16y agoI'm sorry. I'm a programmer and think in terms of `if X elif Y else Z` statements. I admitted I might be wrong at pretty much any stage, and Jacob's response convinced me that my "rewrite bcrypt in Python" option is probably not reasonable at this point. How could I have phrased that differently and still asked the same questions?