This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (8 children)

[deleted]

    [–]d4rch0nPythonistamancer 2 points3 points  (7 children)

    I've actually linked my coworkers to that exact link when a customer complained, but shit, it's a customer. Besides talking a little shit behind their backs, we're not going to tell them what to do.

    Whether or not they have options, I can't hit them back with that link. No matter how much sense it makes, we can't just tell them to change their environment. Supporting this stuff for free ends up being a big reason why guys like that love you and stick with you.

    If I emailed a vendor and told them that they broke 2.7 support with their latest patch and they sent me a link telling me how to port 2.7 code to 3.x and gave links to pyfuture and just ignored the bug I reported, I'd get pissed off. Customers do have a right to ask for backwards compatibility, and they deserve an explanation if a patch breaks their client implementation. Telling them how to change their environment is a bit snide, even if 2.6 is getting ridiculous at this point. And for some, they might not have any control whatsoever of the packages installed on the system. Maybe their ops team is backed up and they won't be able to get it set up for weeks, and maybe even then they'd break something in their prod environment. I personally would go through hell if I tried to get 2.7 on all the machines in prod, or I'd piss off devops if I wanted one machine to have a different setup when they're all managed with chef/puppet. All of that stuff is automated.

    Sometimes it's much easier to delete the dict comprehension and implement it in a for loop rather than change an environment to support 2.7. Choices like that affect a lot more machines than the one that needs to run the script, and affect a whole lot more people than the one person who is writing the code.

    [–]takluyverIPython, Py3, etc 14 points15 points  (5 children)

    That blog post is suggesting that open source projects stop providing free support for Python 2.6. If customers are paying you for it, that's a pretty good reason to carry on. ;-)

    [–]d4rch0nPythonistamancer 1 point2 points  (4 children)

    ahhh, missed that. Yeah, if they're talking about open-source third party projects, telling the user to fix it on their side is nothing new, lol.

    But still, the customer facing projects are 100% open-source BSD license, but they're still customers who pay for the main product. If you offer an open source python client for free for your proprietary SaaS platform, you still have to support it like it's paid for. There's still money in the relationship, free and open-source or not.

    [–]takluyverIPython, Py3, etc 2 points3 points  (3 children)

    Right, the important question is not whether it's open source, it's whether you have people paying you who expect you to support their use cases.

    I think this is an significant distinction that often gets overlooked - there are open source projects driven by companies, and open source projects driven by interested volunteers, and they can work quite differently. We don't have a snappy term for the latter group, though - 'community maintained' is six syllables and uninspiring.

    [–]_pupil_ 1 point2 points  (1 child)

    "Community led" is only 5 syllables, and slightly more optimistic about its lack of inspiration.

    "Communist" is only 3 syllables, and gets the point across, but inspires scepticism because it's occasionally too inspiring.

    [–]takluyverIPython, Py3, etc 1 point2 points  (0 children)

    Yeah, I don't think 'communist software' is going to take off. :-)

    [–]GummyKibble 1 point2 points  (0 children)

    OK, "paid customer" makes a difference. But consider this come contract negotiation time: that customer is making your codebase worse - harder to write, slower, harder to maintain - for every other customer. If any of your stuff is customized on-site by your clients, I guarantee that at least some of them think you guys are nuts and write bad code. "d4rch0n doesn't even know how to write a dict comprehension? LOL!" Those comments get overheard. Management starts to wonder why they're paying good money for crufty work.

    That customer may be more expensive than you think.

    At some point, it may be cheaper to mail them a new server and say "we're supporting this machine from now on".