Django has, for a long time, operated as a small-ish community. When you're a small community, people generally know what's going on just because they hear things and there's a lot of trust in each other. As projects get larger, you often need a more formal structure.
For example, Django has been slow to release and has even recommended that you run off SVN. That's great when you're an involved person who knows what's going on, but less fun for a casual user of the framework. Django is getting more casual users.
That's great too, but sometimes it requires organizational change. Django hasn't been (and probably will never be) the boisterously-led community that Rails is. It isn't the personality of its leaders. That said, I think we're going to see a lot more communication happening. For some people, Django has dropped the ball here, but the 1.0 plan definitely cleared a lot of things up and I hope we similarly create a 1.1 plan over the coming months to provide a neat roadmap for developers).
In terms of the framework moving forward, I think the 1.0 release will fix a lot of complaints that people have had. One of the problems with the "run-off-svn" mentality is that you're very cautious about putting in big changes. However, with the run-up to 1.0, we've seen qsrf, newforms-admin, geodjango, etc. all merged. I think the 1.0 stable release will give us the opportunity to get through a lot of the other patches on SVN as people use 1.0 in production.
Every community stumbles, we can always do better, and Django is moving forward and post-1.0 is a great time to start changes. As a developer with a post-1.0 item in queue, I'm excited. Yes, it's frustrating when you've contributed a patch just to see it wait in queue. Hopefully version stability will change that.
Now that it's in the final stages of beta you should be good. The major things recently were newforms->forms and newformsadmin->admin which are all now merged up and ready to go so deprecation warnings should be much less.
Looks much better, but Django REALLY needs to release quicker. This slow pace is damning.
Also, Django needs to be more open. There is something fishy going on in Django management, and they don't want to say. I smell a fish, but it's swimming in murky waters and I can't see it.
For example, Geo-Django, a very unessential part of a web application was merged into trunk with no explanation as to why. There are lots of essential things things missing, I really don't see why Geo-Django has to be in there in the first place, and why with such urgency.
You make it sound like Geo-Django was written in lieu of working on other features. Geo-Django is a contrib app and was championed by Justin Bronn who isn't a core contributor. It was included because it's very helpful to some people and if you ever need GIS stuff you'll be thankful to Justin. If you don't need it you'll notice nothing different--don't import anything inside of django.contrib.gis and you won't even experience feature bloat. Most people don't use all of the contrib apps on every site, but it's nice that they are there when you need them.
Then WHY is geodjango in Django! Why is there no useful explanation as to why so many things in Django are "Design Decision Needed", but GeoDjango got accepted with no questions.
As to how things got on that list, that's why Django has BDFLs. Someone has to make these decisions. If you wanted to influence those discussions, the time would have been several months ago on the django-developers list. If you want to influence future decisions, join that list and start arguing for them.
I imagine part of the problem here is that most of the work on 1.0 is being done at in-person sprints. Anyone can attend these, but if you aren't there you miss out on the discussions about what's being worked on and what's ready to merge in to trunk. Because the work is being done in one place, there's less published communication about it on the mailing lists.
The up-side of the sprints is that they're incredibly productive, as you can see by looking at the amount of high quality checkins they generate.
I've contributed more here than you, and I would appreciate some basic civility. Look, YOU go to code.django-project.com. Take a look at most of the items. They all have patches, and they are all queued up, just waiting to be reviewed by the core team. Anything outstanding is only the very big things that are not possible to be done from people who are not willing to spend weeks on it.
So don't come with your arrogant pick one, fix, repeat statement. I've done my best to contribute to Django, and it's certainly not as easy as you seem to think it is.
For someone who has contributed here so much, your original comment could have been clearer. It indeed read like a troll.
However, you've subsequently made an interesting point.
Open source development isn't easy. Project maintainers serve two masters; the development community, and the user community. Django aims to serve it's users with a stable trunk which in turn sets a high bar for contributers.
To this end the project maintainers must carefully consider each and every patch, its tests and documentation. This not only takes time, but OSS projects can also tend towards the direction of the maintainers interest, hence contrib apps like geo. Sometimes great submissions are nixed simply because they fall outside of the maintainers field of vision.
Fair? Perhaps not to those with high quality contributions stuck in limbo, but the rest of the project by and large depends on it.
Other projects rapidly incorporate all submissions, maintain a volatile trunk and release from stable branches. Django just isn't that type of project, but in return we've got an exceptionally stable, superbly documented, extensible framework.
Why is there always this sensitivity when it comes to Django? As soon as anyone says anything mildly critical or wonders at some stuff, someone will popup and violently attack the person. It makes me wonder...
This is an attitude that we're very keen on discouraging - if you look at the schedule for DjangoCon we've deliberately included talks about Django's deficiencies: Cal Henderson on "Why I hate Django" and Mark Ramm on "A Turbogears guy on what Django should learn from Zope."
i agree. I said once that Django is bloated, and I prefer something small and fast like cherrypy, and got downvoted within seconds. Once you start getting downvoted the herd mentality starts creeping in a bit, and you get downvoted even more.
Appart Django, criticizing Apple will get you downvoted even faster.
Do you suppose there's a sort of reverse Conway's Law for version control? Compared to most DVCSs, SVN maked merging branches expensive and required more decisions about the code to be made ahead of time. Gridlock happens, and branches can languish if they haven't been planned properly and agreed to from the outset. Sounds a bit like some of the things that have been said about Django's roadmap and central planning, no? (And the documentation support is excellent as well, for both Django and SVN.)
Django has, for a long time, operated as a small-ish community. When you're a small community, people generally know what's going on just because they hear things and there's a lot of trust in each other. As projects get larger, you often need a more formal structure.
For example, Django has been slow to release and has even recommended that you run off SVN. That's great when you're an involved person who knows what's going on, but less fun for a casual user of the framework. Django is getting more casual users.
That's great too, but sometimes it requires organizational change. Django hasn't been (and probably will never be) the boisterously-led community that Rails is. It isn't the personality of its leaders. That said, I think we're going to see a lot more communication happening. For some people, Django has dropped the ball here, but the 1.0 plan definitely cleared a lot of things up and I hope we similarly create a 1.1 plan over the coming months to provide a neat roadmap for developers).
In terms of the framework moving forward, I think the 1.0 release will fix a lot of complaints that people have had. One of the problems with the "run-off-svn" mentality is that you're very cautious about putting in big changes. However, with the run-up to 1.0, we've seen qsrf, newforms-admin, geodjango, etc. all merged. I think the 1.0 stable release will give us the opportunity to get through a lot of the other patches on SVN as people use 1.0 in production.
Every community stumbles, we can always do better, and Django is moving forward and post-1.0 is a great time to start changes. As a developer with a post-1.0 item in queue, I'm excited. Yes, it's frustrating when you've contributed a patch just to see it wait in queue. Hopefully version stability will change that.