Python Web Framework pissing match

OK, I’ve seen a bit of a rise in pissing matches between Python web framework users in the last few weeks.

I like TurboGears, I’ve used it a lot, and I’ve done a lot of interesting things with it. But I don’t think it’s the framework to end all frameworks. And it certainly doesn’t get to be a better framework when users put down other frameworks or their leaders.

Even if it worked, I don’t want TuboGears to grow at the expense of others.

I happen to genuinely like many of the Django guys. I had lots of fun at the bar with Jacob last year at PyCon, and I respect what they are trying to do with Django — even if it’s not the way I would do it.

The world of Python and web frameworks is better because we have diversity, competition, and innovation.

But if that turns into backbiting, name-calling, and degenerates into some kind of perverse techno-tribalism, we’ll loose what is most important: the ability to see good solutions when they come up, and to cooperate and share with one another when that makes sense.

So, I say we say no to techno-tribalism, and try being nice to one another: Even when we disagree about important issues — no, better, especially when we disagree about important issues.

5 Responses to “Python Web Framework pissing match”


  1. But Mark, pissing matches are publicity! And there’s no such thing as bad publicity.

    Dismissing everything as differences in opinion isn’t really helpful, or even honest, because *why* there are differing opinions does matter — or, if it doesn’t, then why do we even bother forming these opinions?

    Of course, being polite and civil is still essential, since that’s all our communities are built on.

  2. Right on, Mark. These arguments have gotten O-L-D. Frankly, I’m embarrassed for the folks who have participated in the pissing matches lately, on both sides of the aisle. It’s embarrassing for all parties involved, and it’s embarrassing for the Python community in general.

  3. Ian,

    My whole point is about politeness, and about not devolving into techno-tribalism. We need to be willing to see good in other “tribes” and hold our opinions just a bit more loosely.

    Listening to others and really understanding why they do things is hard, but it’s also important. Django’s architectural decisions seem odd to me, but they do have their reasons. And when I finally understood those reasons, I became smarter.

    Of course that doesn’t mean I’ll drop TurboGears, I still think code re-use is worth the trouble it causes. But, Jacob said it very well “there are benefits to straight-forward bundling, and there are others to letting influence be more piecemeal. It’s tradeoffs all the way down.”

    If one way is labled as “just plain wrong” you don’t get to see the trade-offs clearly.

    So, my point was let’s disagree, but let’s do it well! Let’s listen and learn as much as we argue. Then we’ll all be better off.

  4. 4Bruce Eckel

    At the as-yet-unannounced Dynamic Web Frameworks Jam in Crested Butte, CO (either June 5-8 or 12-19) we are planning to investigate TG, Django and Rails. So we can compare and contrast. I find that I learn more by studying different systems, and after this I hope to have a pretty good idea of what a web framework actually is, precisely because I will have seen the differences.

  5. I agree with Ian here. I’d like to add that It would be better to have a single web framework (for me that’s Gluon http://mdp.cti.depaul.edu) but given that we have many, competition for the users is a necessary ingredient for evolution.
    Here are some funny talks on the subject with opposite views: http://www.ted.com/index.php/talks/view/id/93 and http://www.ted.com/index.php/talks/view/id/20

Comments are currently closed.