←back to thread

310 points brylie | 5 comments | | HN request time: 0s | source
Show context
danpalmer ◴[] No.43512772[source]
> Plain is a fork of Django

Why. This makes me sad. Plain looks great, but Django's strength is its maturity and amazing, enduring community built on contributions from thousands. Forking it will at best split contributions and mean infrequent merges, and at worst means Plain users lose out on Django improvements and Django users lose out on Plain patches.

It seems like Plain could be just a set of Django packages known to work together, and perhaps a new wrapper script replacing `django-admin`, but instead it appears it is a true fork.

Plain basically looks great. I love Django, and this is a long list of things that I'd need on top of Django anyway. Would I use a framework on top of a framework like this? I'm not sure. I just wish it was built in a way that contributed to the Django community instead of one that divides it.

replies(12): >>43512813 #>>43512854 #>>43512920 #>>43513037 #>>43513063 #>>43513104 #>>43513224 #>>43513342 #>>43513446 #>>43514468 #>>43516716 #>>43516766 #
brokegrammer ◴[] No.43513224[source]
I'm a Django user and I'm happy to see a fork because while Django is mature, it's also stagnating because the project isn't able to break things by introducing new features.

I don't think Plain will replace Django anytime soon but it might help guide decisions.

Plain being backed by a for-profit company is also great because projects like Django could use more marketing. Vercel figured this out a long time ago.

replies(2): >>43513343 #>>43516898 #
1. danpalmer ◴[] No.43513343[source]
I'm not sure Django is stagnating. It recently added task queues as a concept, which was desperately needed, but there's not a lot else that's truly necessary. The important thing for me here is that Django has a very mature extension model – apps, packages, backends, etc – that mean that most functionality can and should be implemented as separate packages that plug in well. Almost all the Plain features are either built-in to Django already, or would do better as separate packages, and would likely receive push-back from being included in Django for that reason. Is that stagnation? To me that's maturity, and something I appreciate in a framework.
replies(3): >>43513565 #>>43513602 #>>43513661 #
2. n3storm ◴[] No.43513565[source]
In fact Laravel is constantly lending stuff from Django and RoR. Like model attributes.
3. jarofgreen ◴[] No.43513602[source]
> It recently added task queues as a concept

It took me a while to find any information on this, so for others:

https://forum.djangoproject.com/t/django-tasks-bringing-back...

https://github.com/django/deps/blob/main/accepted/0014-backg...

replies(1): >>43514298 #
4. brokegrammer ◴[] No.43513661[source]
It's definitely stagnating. Compare how easy it was to add the admin interface when the framework was still young, vs adding the background workers feature you mentioned.

A lot more testing needs to be done before adding anything. The community should welcome projects like Plain, that can move fast and break things, which in turn might inspire Django.

5. jonatron ◴[] No.43514298[source]
Django-tasks seems to be moving very slowly, it doesn't have database indexes yet. If you look at the problems with Celery: https://steve.dignam.xyz/2023/05/20/many-problems-with-celer... and the complicated compatibility matrix https://docs.celeryq.dev/projects/kombu/en/main/introduction... , task queues are still a pain point.