Hacker News new | comments | ask | show | jobs | submit login
Django Awarded MOSS Grant from Mozilla (djangoproject.com)
302 points by cdnsteve on Dec 11, 2015 | hide | past | web | favorite | 101 comments



I know purists and more experienced developers will disagree, but for a clueless beginner like myself with no real-life connections to the developer community, it's awesome how external projects have been integrated into official Django releases as they become widely adopted and production ready. From staticfiles, through migrations (developer of South took this one to Kickstarter too) and now channels and DRF. Python 3 followed a similar path with virtualenv.

Does any other framework ecosystem work the same way? I don't follow Rails or other ones as closely as I do Python and Django.


Whether you're a fan or merely tolerate the Python environment, to me the biggest advantage of Django above literally every other web framework I've worked with, is the fact that the developers are extremely serious about maintenance, compatibility, and documentation, things which matter in large, long-lived projects much more than the newest bell and whistle.

The core team has been willing to rip out and improve central infrastructure but never at the cost of unreasonable backward incompatibilities, and all changes are documented. Upgrading is never easy on large projects but it's been the easiest in Django. And the third-party packages pretty much fill every niche in a very modular way.

I see other devs complaining about their current frameworks' lack of documentation or testing and I feel like I'm in a parallel universe. I can never go back trivially to year-old JS code (and Rails isn't that much better) without some level of breakage or a new way of doing things.

Of course other technologies share a similar position on the matter, but they generally don't move as fast as Django does.


The one thing that constantly impresses me in Django is how the devs handle changes. As much as possible they follow a deprecation schedule, provide opt-in support for future changes ("load url from future" for the url template tag change was introduced in Django 1.3 for a breaking change set to be default in 1.5), and document these changes.

For the most part they've not had to make huge changes because they've made good decisions at the beginning and resisted doing silly things in the core. Contrast with Rails and their scriptaculous past, which was dumped for coffeescript, which I'm pretty sure will be dumped soon (coffeescript is fading from the js mindset now for react/jsx/angular/typescript).


> compatibility

You're joking, right? They break compatibility with every minor version, forcing tens of thousands of developers to waste valuable hours each time they update.

If there's something to learn from this project, it's that if you find your niche and gain enough momentum, you can piss on your user base and they'll say it's raining.


Name one single framework that is perpetually backwards compatible while being even remotely modern.


I think the major difference with Rails is that major new features and maintenance of the framework is extracted from a wildly successful service (Basecamp).

A quick Googling estimates that Basecamp generates 10 million+ a month[0] in revenue.

That's the one thing I like about Rails. Features and design decisions tend to come from real life use cases. The core developers have every reason in the world to make it the best it can be because their entire business depends on it.

https://www.quora.com/How-many-paid-customers-does-Basecamp-...


Good for Mozilla, putting their money where their mouth is and setting an example. It would be great if they or someone with sufficient reputation setup a way to make it easy for others to contribute financially to FOSS projects, a central payment clearinghouse.

In my for-profit organization, we thought we should contribute to the free / open source projects that we were using and which were helping us make money. We wanted to pay our share.

We started by putting together a list, and that's pretty much where it ended. The list was enormous. Try it yourself, and don't forget the components of other products that are FOSS. EDIT: Here's Mozilla's attempt at making such a list, which they label "incomplete":

https://wiki.mozilla.org/MOSS/Projects_in_use_by_Mozilla

On one hand, it reflects the incredible contribution of FOSS software. On the other there was no way, in a busy workplace, we were going to spend days tracking down all those FOSS developers, finding ways to send them money, and implementing it.


Yeah, it's a fantastic step and we're very happy they piloted the program. The Django Software Foundation has also hired a part-time fundraiser to try and make the project self-sustaining; we're trying to make the project sustainable as a whole and not just a timesink for those who are lucky enough to have unpaid spare time.


Maybe something like Humble Bundle where you donate a certain amount and you either pick who you want to get a share of it, or Humble Bundle gives it to everyone involved the best they can. I guess humbloss or something? Then even if your list expands, you just keep adding projects. Of course the service can get a cut for themselves as well. Lots of "GoFundMe" and "KickStarter" services, and even one's based around github and bitcoin, but I wonder where the one's for Open Source groups are? Anyone?


On one hand, awesome to see Django getting first class Websockets support.

On the other hand this feels a bit like "Build the web applications of today, tomorrow!" I think that's an inherent problem with kitchen sink frameworks; new things that come along have be shoehorned into the old way of doing things, except when they can't, and then you have to restructure your foundation. I stopped using Django a couple years ago because the kind of apps I wanted to build were REST APIs, websockets, a little static file serving, and connections to realtime backends like redis pubsubs or RabbitMQ. Django wasn't great at any of those, yet carried a lot of baggage from stuff I didn't need (e.g. form handing, templates).

I would recommend Flask and/or its underlying Werkzeug library (my personal preference) over Django.


I agree a little bit, but also part of building out a framework is making choices for people - waiting, looking at the problem space, and picking a solution that most people will be happy with.

There are some projects that Django is not the right solution for and something like Flask/Werkzeug is definitely better, for sure, but I'm hopeful that the work being done here will help out the majority of people; it brings a lot more than just WebSocket support to the table, that's just the headline feature most people run with.


Django has a community and leaders that care, and Django continues to get better.

Flask is basically abandoned, despite continually receiving undocumented commits.

Flask hasn't even had a PyPi release, or even a Git tag for that matter, since June, 2013. The documentation is also far behind.


Flask is not abandoned. It receives far less commits than Django because 95% of features common to Flask apps are in modules which are not part of Flask core. Flask plugins are thriving... The last commit in Flask-SQLAlchemy for example was 2 hours ago.

The other main difference is Django is developed as part of a large organization, Flask is not. Get the right people together and that could be fixed easily...


Most of Flask's heavy lifting is done by Werkzeug, which had its last PyPi release a month ago.

I use Werkzeug directly rather than Flask, so I can't speak to whether Flask is abandonware or not, but I'm very happy with Werkzeug. With very little effort, I get to build just enough framework for my application, without having to be shoehorned into someone else's tradeoffs.


Very interesting. I'm going to give Werkzeug a try.

Have you tried out Falcon, btw? If so, how does it compare to Werkzeug?


I haven't tried Falcon. I hear it's fast.


That doesn't seem to be the case: https://github.com/mitsuhiko/flask/graphs/contributors. The owner seems to be fairly active, but it is surprising that there hasn't been a release in two years. It is a micro-framework though so how much can they really add, and the apps and ecosystem around it hasn't stagnated at all.


> ... so how much can they really add

They add tons. There are many commits, bug fixes, etc. It's just that there A) hasn't been a release to PyPi, B) is an inordinate quantity of unmerged pull requests, C) are many undocumented changes, and D) issues like https://github.com/mitsuhiko/flask/issues/1272 that are over a year old (I left a comment https://github.com/mitsuhiko/flask/issues/1575#issuecomment-... explaining the vicious circle that I believe is created by not releasing to PyPi). I commit to Django (and donate), but I would never commit to Flask when it makes no attempt at Industry Standards™ like PyPi releases.

I shouldn't have said it's "abandoned", because that's an insult to the parts of the community that are very active.


Why is flask abandoned? Can't software just be done at some point?


We have been concerned about that as well - we have our infra built around Flask already.

Im wondering what's a suitable alternative.... with SQLAlchemy and Celery/RQ integration?


Pyramid?


I've felt a similar pull away from django on a number of apps. Just looking through the Channel docs [0] however, many of the reasons I get frustrated with Django (primarily the lack of a solid websocket/SSE story) are being addressed. Frankly, I'm addicted to Django's built in auth & admin UI, and I'm thrilled I won't have to bolt on a kludged solution if I want to get some realtime behavior. My frankenstein chat system of Node & Django can be put out of its misery... someday.

[0] http://channels.readthedocs.org/en/latest/concepts.html


I was thinking the same thing about building the technology of today in the future with respect to integrating Django REST Framework rather than GraphQL.


Congrats to Django, and thanks to Mozilla!

This is the best news! Thanks @ Andrew Godwin (since I see him in here) for all the work you've done on Django over the past N years. I've contributed small amounts of money to the fellowship program 3 or 4 times now, but the sum of that program's entire fundraising for 2015 is almost tripled by this single grant, and the purpose of this grant money is so exciting. Channels is awesome; so is Django REST Framework. Adding the best of these things to the core and tightening some of the architecture sounds exciting. It helps to position Django for continued relevance, web services and real-time applications become more popular.


Don't get me wrong, these are amazing news love the project, but I'm a bit confused on how Mozilla works. Just the other day they were requesting donations, now they are donating money?

Why ask for donations if you are expecting to donate the money away instead of using it to improve your products?

I donated to mozilla a few weeks ago, but now I wonder if I should have just donated directly to django instead, skip the middleman that is not adding anything.


> Just the other day they were requesting donations, now they are donating money?

Nonprofits often fund themselves through donations, and award grants as a means of advancing their mission.

> I donated to mozilla a few weeks ago, but now I wonder if I should have just donated directly to django instead, skip the middleman that is not adding anything.

If your primary concern was the mission of the Django project, you should have donated to Django directly. If it was the mission of the Mozilla project, then donating to Mozilla makes sense. That the Mozilla project determined that one of the ways in which it should expend resources to achieve its goals was to give grants to other OSS projects for specific, identified tasks does not, in any way, change that the funds are being used to support the mission of the Mozilla project.


That's a very narrow way of looking at it. Mozilla is both a producer and consumer of OSS, these donations are them being a good citizen of OSS by helping the projects they utilize in the production, management and marketing of their own projects. You aren't skipping any middleman, especially one that isn't adding anything.


These money probably come from Mozilla Corporation and not the Mozilla Foundation, so from Firefox's revenue. Firefox is a self sustainable project and isn't developed from donations. And the MOSS program is one way to give back to the projects that Mozilla depends on.

How many companies do you know that are giving back to the open-source projects they depend on? I don't know that many, so I think those that do should be praised for it.


> Why ask for donations if you are expecting to donate the money away instead of using it to improve your products?

Django is very widely used by Mozilla as far as I'm aware. By supporting djangoproject they are improving their (Mozilla's) products. This is not entirely altruistic on Mozilla's part.

I appreciate what you are saying and would agree if Mozilla were just looking around for worthwhile FOSS projects to donate money to without any regard for whether or not they were using or intending to use them to achieve their own goals.


Why not donate to both (if you can?) Usually these types of grants come with specific results that are good for both parties.


Here's a full list of Mozilla's first round of MOSS grants:

https://blog.mozilla.org/blog/2015/12/10/mozilla-open-source...


> Buildbot: $15,000. Buildbot is a continuous build and integration system which has been immensely valuable to Mozilla over the past few years. Their award will be used to remove the term “slave” from all documentation,

Such a valuable use of donations!


Once upon a time, the city of Los Angeles asked hard drive sellers not to use the "master/slave" terminology because someone made a discrimination complaint.

[1] http://www.cnn.com/2003/TECH/ptech/11/26/master.term.reut/


You left out "also to make improvements so Buildbot works better in the Amazon EC2 cloud". Do you honestly think that the will spend even a majority, let alone all, of the $15k on a search and replace operation?


Open question: If this is a search & replace operation, why does it need to be mentioned in a $15k grant at all?

To me, this is one of two things. Either Mozilla is saying "We'll give you money, but you gotta get rid of words we don't like", or they're actually spending significant efforts on political correctness.

Both outcomes are frankly disheartening. I will no longer be donating to Mozilla. They're spreading themselves thin as it is, they don't have the resources to throw away money on political pointlessness.


It's a documentation change, but even documentation changes need time and effort to be done properly. That's why this hasn't happened yet - everyone was on board, but no one actually stepped up to do the work, until now.

Not a lot of work - it's not a significant part of the grant to buildbot, and completely insignificant in the big picture of the other grants.

I can understand if you personally don't consider any efforts on such a topic worthwhile, and respect you for your position. But a lot of people do care about it, buildbot has wanted to do it for a while, and it harms no one to finally get this accomplished.


> and it harms no one to finally get this accomplished

Doesn't it now?

See my detailed answer below [https://news.ycombinator.com/item?id=10721003] as to why this sort of thing is actively harmful.

Sad to see HN downvoting legitimate discussion left and right, though. This is as bad as reddit.


I read that answer, and don't see it point out harm? You do mention some general harm in community friction and worry, and I do agree that is a concern - but that's happening anyhow right now. Yes, it's bad, but removing the word "slave" won't change that.

I do get the worry about overreach. Node.js has a PR that will automate looking for "problematic" words, which starts to sound Orwellian. However, the opposite extreme of "change no words no matter who is offended" can't work either. We need to find a reasonable middle ground.

It seems like removing "slave" is fairly reasonable - that's my feeling. What I find far more unreasonable are drive-by comments that complain without offering to do some work to help. But work to help is exactly what's happening in this (small part of this) story.


I read your answer and I don't think it's compelling.

A better reason is that naming things is hard, and changing master/slave to leader/follower dilutes the accuracy of the metaphor. That's why hard drives and databases, etc use master/slave, and consensus algorithms or self-organizing networks use leader/follower.

After all, if you don't lose meaning from changing the terms, there's nothing to argue aganst from a technical perspective. Then it just becomes your ideologies vs. their's and now people are arguing about politics in pull requests instead of being productive.


Maybe they want to draw attention away from their use of EC2.


I'm too late in this discussion, but they are really going to use the majority of the grant, namely $10k out of the $15k, to replace the word "slave". See

https://supybot.buildbot.net/meetings/buildbot/2015/buildbot...

> Buildbot's MOSS application: $10k to remove slave from all code/docs, $5k to work on stability/handling shutting down EC2 slaves when buildbot master crashes/exits/restarts (djmitche, 16:39:19)


Oh they're not alone in that absurdity. See for example symmetric BS in Django:

https://github.com/django/django/pull/2692

Welcome to the "fear of offence" culture. Should coin a term for that - offendiphobic?

Edit: I'd like to point out to the silent downvoters here that there's legitimate concerns being raised in this subthread about money being wasted on political correctness, which are not being addressed by any of you. If you are unable to give a counterpoint, you should rethink your position instead of downvoting based on emotions.


I'm a downvoter: I find arguments like this one to be ideological rants and not valuable.

For every person and in every culture, offending people is considered wrong. To suggest that it doesn't matter is not a serious argument.

Apparently 'slave' doesn't offend you. It doesn't offend me either (I remember being a little uncomfortable with it long ago, when I first encountered it, but I don't notice it now). But for me to say that therefore it is not offensive to others would be ignorant and self-centered, as if the world revolves around my views and experiences. If others say they are offended then I respect that; I hope they would respect my concerns if I was offended.

Also, a common cause of discrimination is due to honest ignorance on the part of people in the dominant group. Like all humans, they are blind to things that they don't experience themselves; for example, consider law enforcement discrimination against minorities. It's happened for decades or centuries, but wasn't taken seriously until we actually had film of it due to the spread of cameras. That's another good reason to think that whether or not something bothers me is not evidence of whether it offends others.

Finally, the dominant culture in the U.S. was built at a time of widespread, accepted discrimination, and many artefacts of that time persist. People may get tired of seeing so much of it being challenged and changed, from school buildings named after slave holders; Confederate flags; and movie casts, company executives, etc. being almost all white and mostly male, etc. But being tired of the challenge and change, rather than of the discrimination, is a 'first world' problem, so to speak.


> For every person and in every culture, offending people is considered wrong.

That's actually not at all true. For many people, and in many cultures, certain things are considered both wrong and proper subjects for offense, certain things are considered wrong when they are the subject of offense (and thus are also proper, while not necessary, subjects of offense), and other things are not considered wrong independently of whether some people find them offensive (and, in fact, being offended by them, or at least expressing such offense, may be considered wrong itself.)

The idea that anything that anyone finds offensive is, ipso facto, wrong is not a cultural universal, and AFAICT not held by many people at all (even people who seem in some contexts to appeal to that idea seem to find some instances of offense unjustified and unworthy of consideration.)


Thanks for speaking up. To answer your points: There's a line, and people are crossing it.

There are words in the english language which are offensive because they are specifically employed to be offensive. Swear words, words used in offensive (as in, literally offensive) contexts, verbal abuse etc.

We avoid using this words in civilized discourse not because we're afraid to offend, but because we have no need for them. We don't intend to offend. If we intend to offend, we use them - there is no political correctness involved in not using actual offensive terms.

Now when a word has a non-offensive meaning and actually offends people, it's important to look at why this happens. Does it only offend one person or does it offend many? Is it meant to offend, is it used in an actual offensive context? Is the person being offended themselves or by proxy?

This is a conversation I've had before when the Django PR came up, so I'll save you looking these up. You'll note that in that PR, almost everybody praising the PR was white, 18-30 years old. The people being offended are near-unanimously fighting a cause that isn't their own.

There's nothing wrong with that of course - I'm not gay, yet I fight for gay rights for example. But was this ever actually an issue for the black community?

Do you know why it's important to answer that question? Because if the answer is no, then you are fabricating problems for a community you are not even a part of. It is not harmless - it is actively harmful.

If a word, a technical word, was not a problem one day, and is a problem the next, you have now artificially widened the gap a certain minority needs to cross in order to be part of the programming community.

And if you look at it closely, you'll see this is exactly what happened. This issue got artificially popular with Django (just about a decade after the LA nonissue). Now it's causing problems in other parts of the technical community. Something which wasn't a problem a year ago, is now a problem - your FOSS project which was open to all, is now perceived as potentially racist.

I don't get pissed off at these things because I get a kick out of discrimination. I get pissed off because they make things worse.


I agree that if it's not offensive to blacks (or maybe to someone I'm not thinking of) then it doesn't matter. But ...

1) You are saying that you don't know if it's offensive to blacks. Shouldn't we find out before condemning the change?

2) I think you are blowing out of proportion the consequences of erring on the side of not offending. I think they are minor. It's really about a bigger issue, which is why both of us are writing so many words about it.

3) I take your word for it that this isn't the case for you, but for many people this issue is a proxy - a dog-whistle[1] - for change to the status quo dominant culture. It's like people who objected to or advocated school busing when really it was about desegregation, or people fighting over Syrian refugees when it's really about Muslim immigrants (at least Trump was honest).

Anyway, the essential thing is to get these issues out in the open and learn from each other. Good talking to you.

[1] https://en.wikipedia.org/wiki/Dog-whistle_politics


> You are saying that you don't know if it's offensive to blacks.

I was very careful not to say anything on what I know. But since you bring it up, what I know is that the original issue in the tracker was created in bad faith and people hopped on the bandwagon. Addressing this is another discussion entirely.

> I think you are blowing out of proportion the consequences of erring on the side of not offending.

I'm open to hear arguments as to why what I'm saying is "blowing things out of proportions", when all I'm claiming is that the direct results of these actions are producing the exact negative of the effects they intend to. So really, my argument's proportion is relative to how large of an issue you think the original premise is.

Another consequence of course is opening your project up to abuse. If people see that you'll cave in to any form of "political correctness" pressure, they'll double down and find more faults, and if there are no more faults they'll create them for you. I'm speaking from experience - This is something we see a lot in the game development community.


> what I know is that the original issue in the tracker was created in bad faith

I think it's unfair to the Django people to make that allegation without substantiating it. Otherwise it's just a mean rumor.

> all I'm claiming is that the direct results of these actions are producing the exact negative of the effects they intend to. ... If people see that you'll cave in to any form of "political correctness" pressure, they'll double down and find more faults, and if there are no more faults they'll create them for you.

It's hard to tell if you are making a prediction or saying it has happened. Could you provide evidence of these consequences happening to the Django project? Also, perhaps those additional faults are real to others but not to you - returning us to the orginal discussion of how one judges what is 'offensive'.

> "political correctness" pressure

I think today's "political correctness" is to criticize people pointing out any kind of prejudice. They are automatically assumed to be in bad faith and attacked, with the same criticisms almost every time, regardless of the content or merits of their complaint. It's an attempt to intimidate into silence anyone thinking about complaining, which I think is unhealthy and disrespectful.


Can I ask how the issue was created in bad faith?


"The black community hasn't told us it's a problem" isn't a very convincing argument when the intersection of your community and theirs is empty.

> If a word, a technical word, was not a problem one day, and is a problem the next, you have now artificially widened the gap a certain minority needs to cross in order to be part of the programming community.

This is a stretch. Substituting careless technical writing for equally clear and meaningful terminology doesn't harm anyone's ability to stand up continuous integration.


> Substituting careless technical writing for equally clear and meaningful terminology doesn't harm anyone's ability to stand up continuous integration

You are misinterpreting what I'm saying. Substituting one word for another is not harmful in and of itself. The context around it makes it harmful.

For the sake of the argument, let's go to a parallel universe in which a group (any group) decides that the word "lambda" is offensive to them. Like very offensive, heavily politicized etc. It's not a very common word overall in English, but used quite a bit in specific domains.

Now let's say some small parts of the programming community gets together and agrees that "lambda" is offensive and changes it to a less-offensive equivalent. Is the programming community now more or less welcoming overall?

If there was a real problem with the word, the outcome is slightly positive. But if there wasn't, the outcome is extremely negative: Something which didn't use to be a problem, is now a problem. The community appears less inclusive.

Back to our universe now. Do you still think it's wise to carelessly change words whenever someone claims they're offended without actually verifying those claims? Is it still wise to bundle up to an issue you're not affected by when it's more than likely created by people who aren't affected by it either?

I do hope at least some people realize that this is widely open to abuse, as well.


> if there wasn't [a real problem with the word], the outcome is extremely negative: Something which didn't use to be a problem, is now a problem. The community appears less inclusive.

Here's where I lose you. I don't see how it's more than very slightly negative. To whom is the community less inclusive? People who like to use the word "slave"? People who think this issue is a waste of time? You can find people like that for every issue; if that minor detail turns them away, they weren't going to stay long. People who ideologically object to the attention paid to prejudice or actually are prejudicial? The latter are an easy case; the former - anyone working on a team must learn to respect others' views and accept being outvoted, with regularity.


Fabricated issues add up. You're no longer just a minority, you're a minority that wants to change which words others use, that wants others to adapt to them, etc. Even when you're just someone who happens to be black/female/whatever and would really like others to shut the hell up about sex or color.

The majority of people don't have a problem - you're creating a problem for them.


> The majority of people don't have a problem - you're creating a problem for them.

You keep implying or asserting this, but you don't back it up. I don't believe it (unless taken literally, under the premise that only the interests of people in the majority matter). I believe you don't think it's a problem, but I've read many things over many years that disagree.


Yes, the problem of _empathy_.

Also as pointed above, the issue is not a word _offends you_


You are being silently down voted because nobody wants to engage the sea-lion.

There are not "legitimate concerns being raised", it's just you, complaining that money is being spent on "political correctness", as if it's somehow bad for a non-profit to spend money to try and improve the world.

Your other points are no more legitimate than "gay used to be a perfectly good word meaning happy how can we express happiness without it" or "people don't object to me when I call them [racial slur] so it must be fine" have ever been. Addressing them directly is exactly the sort of fruitless conversation derail nobody wants.


I have no idea what you're going on about, your post is all over the place. I'll try to answer as best I can.

> There are not "legitimate concerns being raised", it's just you, complaining that money is being spent on "political correctness", as if it's somehow bad for a non-profit to spend money to try and improve the world.

OK so first of all, a significant amount of my donation money goes to Mozilla - so this is not me complaining where "money is being spent", it's me being concerned my money is not being spent efficiently.

Second, "to try and improve the world", sorry, what? Grepping out technical terms from documentation is "improving the world" now? You have one low bar for improvements. Mozilla's mission is to keep the web open and free (or so they claim), and political correctness has nothing to do with it. Even if it were a worthy goal to reword such docs (it's really not, and I explained why), it is not Mozilla's job. They're not good at that task nor are they a company you donate to to get such tasks done.

As for what you're going on about with the word "gay" or racial slurs... I'm honestly speechless if you're equating them together, let alone equating them to the word "slave" which is used non-offensively in several communities. If you up and decided that slave is a racial slur now, maybe I should just up and decide that your posts offend me and that they should be replaced with rainbows.


First: yes, this is about you. But you were trying to present it as if there was a contingent with you. There doesn't appear to be.

Second: "political correctness" is easily semantically replaced with "trying to avoid excluding people". Trying to avoid excluding people is a basic way to improve the world, and should be applied across all fields, including software engineering.

Third, I am pointing out that your point about language is without merit. There are all sorts of words which were considered one way by reasonable people at one time which no longer are. No matter how in the right you feel you are about the purity of using master/slave, the tide is against you. Just like analogously it was with those who thought certain racial slurs were purely descriptive.


In the country I currently live in, the "tide" is to close all borders and consider all muslims terrorists. How's that for excluding people? Should I hop on to that tide too?

If you think the tide is always right, you got another think coming. Your mentality seems to be "I'll be part of the tide to make sure I'm not racist". That is the mentality of someone who cannot form opinions of their own.

I'll make a sidenote here and remind you that that tide you're going on about is extreme american culture. In Europe, you bring this idiocy up and you will be laughed out of the front door. Amusingly, if you look at the upvote/downvote history on the posts here, you'll find that they coincide with active hours in the US. As a night owl, this is something I see a lot on HN and Reddit alike.


Sorry, I'm in Europe and disagree. This sort of thing is even less contentious here — this particular change went through a number of offices I know with barely a murmur.

You shouldn't surf blindly. Naturally you choose the tide you want to surf. Do you want to ride the waves toward hatred, oppression and exclusion, or do you want to swim towards inclusion and togetherness? I choose the latter, even if it means seeming precious to some.


You forgot option 3: Ride a wave of pretend inclusivity. Which is exactly what's happening here. You'll note that the one thing you can't find here (and you'd be lucky to find it anywhere) is "I'm part of a marginalized group and the word "slave" is deeply offending to me, removing it is a great step towards being more inclusive".

But I'm quite tired of this; there's clearly no way to explain to you that this is a fabricated issue which is damaging to both the minority group and the community. So by all means, keep riding the pretend wave - don't be surprised when it just makes things worse.


Look at your GitHub link. The thread has plenty of people of colour on it thanking them for the change. Also, this trend started with a complaint from a black man. In 2003. http://www.snopes.com/inboxer/outrage/master.asp

By the way, I didn't address it, but your idea that changing it could be damaging to a minority group is flatly idiotic. Even if you were right and this was terminology that wasn't truly offensive, it wouldn't render it offensive and thus create exclusion in other unchanged places where none had existed before. People understand that changes take time to propagate. The only theoretical danger would be the sort of devs who Take A Stand and wilfully continue to use the old language to make a point, regardless of who they offend. And, yes, those men would then be exclusionary. As you want to be.


It is no secret that both Mozilla and Django have a strong politically correct / social justice culture. This makes the two organizations more compatible.


If a "fear of offence" culture exists, aren't you're part of it?

You've spent a lot of time here being offended by political correctness, "wasted money" and alleged political motivations.

Can you think of why one sentence in a successful Buildbot grant proposal would get you so upset that you'd write thousands of words, many of which slander Mozilla, Django and Buildbot community members?

It wasn't logic that got you there, it was an emotional overreaction to something that really doesn't concern you at all except that it offends your politics.


That I choose to defend my point of view, no matter how insignificant, is of little relevance to the point at hand. I enjoy a debate.

And am I "offended" now? I'm not offended, I'm sad. I'm sad common sense is out of the window when it comes to treating minorities with respect and dignity.

This little thread is very representative of the circus of political correctness: A bunch of people not part of a minority, speaking and acting on behalf of a minority that did not have a problem in the first place.

Offending my politics. Good one.


Mozilla gave out $503,000, only $15,000 of which went to Buildbot (that's 2.9%), and only part of that money is going toward the Buildbot docs change; the rest is going towards "improvements so Buildbot works better in the Amazon EC2 cloud".

It is a bit strange that the blog post listed the smallest donation first, which meant that the documentation change was the first task mentioned. But it's a tiny part of the whole picture.


We judge them by the way they present themselves. This is the first item on the first listed recipient of a grant. Apparently, Mozilla think that this is the most important thing.

So your argument is invalid.


That moment when you become a victim of Poe's law... Software development is stupid and crazy now.


Not defending the absurdity of removing/changing words for sensitivity, but it is in quite a few documents. https://github.com/buildbot/buildbot/search?utf8=%E2%9C%93&q...


I think the OP was insinuating that a search and replace for the word slave is probably not a $15,000 task.


That, and maybe also that some of us who donated to Mozilla are disappointed to see money going towards political correctness.


They've still got a project named Bro, so maybe they're equal opportunity contrarians.


Congratulations to the Django team.

In practical terms, what does this mean for those of us who use Django and Django REST Framework? Will there be a graceful transition path to the planned all-in-one model? What timescales are likely?

Also curious about which version(s) of Python are likely to see continued support.

I appreciate that some of these questions probably can't easily be answered yet, but a steer would be appreciated.

Edit: typo.


We're not bringing in the whole of Django REST Framework, just some of the underlying mechanics that are useful for all apps (like content negotiation). DRF will remain a third-party project.

As for Python versions, there isn't any plan to drop 2.7 yet and Channels will work on it. It might be we move to Python 3 only at some point in the future, but there are no firm plans right now.


Is Tom Christie (DRF author) going to help with any of that? I backed his kickstarter when he was writing DRF 3.x and I'm just curious if he is involved. Super nice gent.


He is indeed - he helped me with the Django proposal, actually. He's the one setting the direction for what to include and what to keep separate.


According to roadmap https://www.djangoproject.com/weblog/2015/jun/25/roadmap/ "Django 1.11 is likely to be the last version to support Python 2.7". Django 1.11 is planned to be released April 2017.


Could some company support phoenix framework as well? Phoenix's channel feature is already there :)


I'm learning Phoenix so I've been on their website a bit lately. I believe Dockyard (the company with an ad on the bottom of Phoenix's site) is supporting the project.


DockYard indeed supports the project. I work there full-time, primarily on Phoenix development (I'm the creator). We wouldn't be able to do what we're doing without their support, so I welcome the trend of companies supporting the OSS projects they use.


I was wondering why Django was the choice anyway... Am I out of the loop here? What about Rails, or anything else?


MDN is written in Django: https://github.com/mozilla/kuma. The add-ons site also uses Django. http://reinout.vanrees.org/weblog/2011/06/06/large-mozilla-s...

They have around 15 django libraries on GitHub as well https://github.com/mozilla?utf8=%E2%9C%93&query=django


Got it. Thanks.


Django is a popular server-side Web development framework, used in many Mozilla websites. Their award will be used to make Django suitable to be a back end for Web apps which use WebSockets.

Probably because they use it at mozilla.


Very exciting news. The Channels project within Django is one of the most anticipated future projects and the Django REST framework has been a essential add-on to Django for a long time now


DRF is one of the best addon for django, I'm glad to hear it's finally gonna be (partially) integrated to the main project.


This is great news! My Django installation feels pretty bloated with various 3rd party libraries to handle post-request tasks and serving data via web sockets. Can't wait to shed those dependencies. Congrats Django team!


Awesome news, I'm even more excited after reading about how they decided to spend the money. I haven't yet digged into it, but "channels" look promising.

I would also like to congratulate Mozilla for this program, several other great projects are being funded.


Curious if anybody here has experience with Django versus Flask versus <other> on AppEngine?

I'm new to AppEngine and I'm familiar with Django, so that would have been my first choice - but it seems like Flask, Werzkeug, Webapp2 are more popular - just curious why, or how good/bad Django is on it.


Django works well on App Engine. If you are using CloudSQL you can use vanilla models, but if you are using the datastore then you can either choose not to use Django models at all (use ndb/db instead) or use django-nonrel or djangae which provide a db back-end.

https://github.com/django-nonrel/djangoappengine

https://github.com/potatolondon/djangae

There's compromises in using the datastore - you can't do a lot of things that are dead simple with SQL, but in return you get massive scaleability. And the App Engine SDK itself can be a pain to work with, but there are also amazing features like task queues for background processing and Google Cloud Storage integration.

Other than Django I've used Bottle for very small App Engine projects. Works great, it's faster than Django, I'd still prefer Django for a typical complex web app where you need all the features.

Disclaimer: I work for Potato, which sponsors djangae development.


> Buildbot: $15,000. Buildbot is a continuous build and integration system which has been immensely valuable to Mozilla over the past few years. Their award will be used to remove the term “slave” from all documentation, APIs and tests

Oh good. $15,000 well spent.... sigh.


Oh, this is amazing!! I'm a huge fan of Django, and I'm really happy to see that the project keeps improving. Recently we had news about update to Django CMS, and now this.

Really great stuff.



I would love it if django were able to compete for more funding like this! Things tend to move much more quickly when there is decent funding involved :D


As a perl programmer I wish someone would fund mojolicious


awesome, love django project


TIL there's a (big apparently) FOSS project called "Bro". Is this an acronym, humour, sarcasm or what?


Bro (https://www.bro.org) is a network monitoring and protocol analysis framework that has been in development for roughly 15 years. Its name is a reference to "Big Brother" due to its ability to provide visibility into network traffic. The project also got a MOSS grant for $200K today. (http://blog.bro.org/2015/12/bro-receives-200k-grant-from-moz...) An employee from Mozilla gave a talk at BroCon this year describing how they use Bro. The video is at https://www.youtube.com/watch?v=cGlTo9y7u88.


Wow, channels...I will just go and learn go. But for other reasons too. I dont like django anymore, because I kept continuously fighting with the framework. Its fast to work with, if you do exactly what the developers had in mind, but it gets in your way all the time, if you use your own brain.


Care to give some actionable feedback rather than just ranting and FUD?

I've worked with Go but I would still prefer using Django to start off a new project. The rich set of libraries it provides is only rivaled by Rails among web frameworks. I've never felt I was fighting the framework and it actually taught me several good practices.

This grant shows how Django is embracing the new web and moving forward. I am happy I will be able to continue to use Django for use cases it does not cover now.


What is "the new web"?




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: