On Wednesday, March 11, 2015 at 12:00:25 PM UTC-4, Carl Meyer wrote:
>
> It certainly sounds like there's an opportunity here for someone to 
> provide extra-extended security-backport support for certain Django 
> releases (beyond the ~3.5 years we'll typically support an LTS release 
> under current policy), to accommodate these enterprise users on dead (to 
> upstream) Python versions. 
>
> I remain quite unconvinced that this "someone" should be the Django core 
> team. I think the core team's limited energies are better spent 
> continuing to move Django forward. 
>


Sure, I both understand and respect that. The problem is that it moves the 
problem further up the stack and closer to the end-users.

The platform vendor (Red Hat, SUSE, etc.) won't take on the responsibility 
for every package, or likely any package that doesn't directly support 
something they are trying to sell to a customer. Hence why the major 
vendors don't ship a copy for themselves.

The community-supported add-ons are all volunteer efforts, most often by 
amateur packagers who are only in rare occasions equipped to do real 
engineering work to backport patches. These people rely on the upstreams 
continuing to support the packages so they can package the updated 
releases. Sometimes this leads to an upstream killing off support for a 
release and the add-on repository being unable to upgrade. This is bad for 
everyone, because over time this *will* (not may) end up with packages in 
the wild with known vulnerabilities and little-to-no way to address it.

So the responsibility then goes to the framework developers who have more 
engineering knowledge about the subject but generally fewer resources to 
spare. So the answer there is that "someone else" needs to step up and take 
over the security maintenance. Unfortunately, that now brings it up to the 
application developers.

Application developers rarely know the internals of the packages they 
depend on; generally they consume the public API and don't think twice 
about the rest of the implementation. Similar to the framework developers, 
they have limited resources best spent on delivering something their 
customers can use. With a lack of knowledge of the framework, they're not 
generally equipped to do the maintenance themselves. Traditionally, this 
results in a functional equivalent to the worst-case of the add-on 
repository situation above: application developers just bundle a version of 
the framework that worked when they implemented it and *never update it*. 
This inevitably ends with something that appears to work for their users 
but will eventually bit-rot and become a liability.

Lastly, we have the application users. Let's be honest: do we want 
end-users responsible for maintaining the complete stack? They're going to 
do what they always do: find and install one version (no matter how old) 
and just use it until something goes wrong, at which point they have no one 
to call who knows the system and can fix it for them.




When looking at the big picture, the best thing for end-users is for the 
lowest levels of this stack to take control of maintenance for it. In cases 
where the stack is critical infrastructure (like the Python interpreter 
itself), the OS vendor will take it over, even to the degree of maintaining 
it past its upstream end-of-life. Where it's not critical infrastructure, 
the upstream developers are the best-equipped to manage maintenance. 
Further up in the stack than that, you have a very unbalanced scale of 
decreasing knowledge vs increasing need for stability.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/24c3984b-32a7-4ea2-9680-d7b44c3c09c9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to