

Django REST framework 3.0 - tomchristie
http://www.django-rest-framework.org/topics/3.0-announcement/

======
bigsassy
I'm loving this Kickstarter model for major open source software. Just in the
Django community we're getting incredibly high quality work between migrations
in Django 1.7, Django REST Framework 3.0, and the PostgreSQL extensions
Kickstarters.

I've only been paying attention to the Django world with these Kickstarters,
but is this catching on in any other sphere of software development (Ruby,
Java, .NET)?

~~~
danielsamuels
There was recently an Indiegogo project for improving the template engine in
Django too.

~~~
tragic
The main thing is to make them swappable, which will be great:
[https://www.indiegogo.com/projects/multiple-template-
engines...](https://www.indiegogo.com/projects/multiple-template-engines-for-
django)

------
chatmasta
Awesome! Great job Tom. DRF is one of those open source projects that makes me
wonder how one person can be so productive. I'm a big fan of the new
serializers. Personally I'll probably stick with my custom flask tooling since
it works better for 100-200 line microservices, but I'll definitely be trying
out this latest DRF release.

I'm sure this is the last thing you want to be hearing right now, but any
updates on the flask counterpart you were working on? :) are you abandoning
that while you work on 3.1 and 3.2? Or altogether?

~~~
tomchristie
Flask API is certainly on pause while 3.1 and 3.2 are addressed yes.

After that it depends on what I feel is the most productive use of my time.
Perhaps general purpose Python API tooling, that includes Flask as one of the
options, or perhaps work on hypermedia stuff that I've got in my head.

~~~
chatmasta
I like the sound of general purpose API tooling! In developing small services
with flask, I've found myself reusing the same serialization code, input
validation code, etc. You might be interested in Marshmallow, a minimalist
serializtion framework. [0] I've enjoyed working with it, especially with
Flask. I believe Flask-Restless or Flask-Restful uses it as well.

[0]
[http://marshmallow.readthedocs.org/en/latest/](http://marshmallow.readthedocs.org/en/latest/)

~~~
joshfriend
Flask-RESTful currently has its own serializer module, but we have plans to
deprecate it in the future and replace it with Marshmallow[1]

[1]: [https://github.com/flask-restful/flask-
restful/issues/335](https://github.com/flask-restful/flask-restful/issues/335)

~~~
boronine
I'm developing a system that, among other things, could be an even more
minimalist alternative to Marshmallow [0]. I actually haven't seen Marshmallow
until now, it looks very nice.

[0] [http://teleport-json.org/](http://teleport-json.org/)

------
makaimc
Tom, congratulations! This is exceptional work. It's exciting to see this
release come to fruition via your Kickstarter campaign and a whole lot of work
on your part along with the Django community.

------
e12e
Congratulations!

Any update on how the money was spent? I found:
[https://www.kickstarter.com/projects/tomchristie/django-
rest...](https://www.kickstarter.com/projects/tomchristie/django-rest-
framework-3/posts/921581)

and that all sounds very reasonable. Personally[1] I wouldn't mind the dev(s)
just pocketing the money -- but was there an update on "budget"?

[1] One might quip that that's easy to say, as I didn't back this particular
project. I've backed a few other KSs, though -- and I can say that in all of
those, I've/I'd generally been happy if the originators(?) kept any extra
money (as long as the delivered on the goals, of course)

~~~
tomchristie
> Any update on how the money was spent?

So this is only 1/3 of the Kickstarter to date. The two stretch goals are
planned as releases 3.1 and 3.2.

We were significantly overfunded, and I'll treat the extra time/budget
flexibly depending on whatever seems highest priority, but it's mostly going
towards ensuring I've got headroom for keeping the quality bar super high.
(Plus extra time available for general support, triage, etc...)

For transparency I plan to be ending up with treating 10% of the amount
received as profit - the rest of the funding is simply covering the costs for
the time I'm not working on client projects at DabApps (minus Kickstarter's
cut and some taxes of course).

I probably won't give a full time-spent breakout of how long each task has
taken, I've not had requests from backers to do that, and not doing so frees
me up to spend it however I think best without feeling like I need to justify
things on a blow-by-blow basis.

~~~
e12e
Sounds like a sound plan.

For those wondering why I asked: I wanted to know. Less flippantly (but no
less true) -- I'm interested in both successful and failing Kickstarters for
Free/open software: It's a tricky business. You ask people to give you money,
and in return you'll give them a metaphorical song -- and a token. No-one (I
would hope) really thinks the "token" is worth wath they spend -- so it's very
interesting to see how backers feel about decisions that are made, in cases
like this, when a goal is _significantly_ over-achieved.

There are many options: continue working on the code, if that makes sense;
donate to something related (eg: python foundation in this case?) -- or simply
keeping the money, as a pat on the back of sorts.

I don't have any issues with any of those options -- but they can be potential
thorny decisions -- especially when one hasn't planned for "irrational
success" (and come up with a suitable "stretch goal" or plan, like: 10MUSD:
I'll go into space ;-) before hand.

~~~
tomchristie
I guess from my side it feels like it's something of a different business
relationship to the usual case. There's enough trust from backers that over-
funding will ensure a better product, even when the details of that are
underspecified.

I wouldn't particularly mind things being more nailed down, eg "Here's my day
rate, and you'll get weekly updates" but there's still a bit of a sense that
OSS development needs to be apologetic for being properly sustainable, and it
_is_ awkward to navigate that you know stacks of people who're also putting in
hard work, and not having the privilege of being paid to do so in working
hours.

I think there's also a trade off - not having to justify decisions case-by-
case does mean that I can just focus on stuff done, _however_ I think that's
best spent.

I also think we need to redefine our expectations. The amount of money this
project raised on Kickstarter is huge by OSS standards, but in terms of
business investment it's actually what I'd consider a sensible amount, and I'd
hope to see it become more normalized. If you look how an individual backing
compares to contractor day rates, the investment most of our backers are
making is clearly worth the deliverable they're getting at the end of it.

~~~
e12e
I very much agree with this. I like to think of a KS as a sort of market
research: do people want/need this? And people spend/give some amount they're
comfortable with spending. If I spent, say a hundred dollars, and got a
sticker _and_ a open source piece of software that I needed -- that's great
value! If the author(s) suddenly became independently wealthy, I'd think that
was great! Keep doing good stuff!

(I'm obviously extrapolating here, _this_ KS went nowhere as far -- but
successful (as in: funded, _and_ delivered) KS' are always interesting IMHO).

------
paulhallett
Congratulations Tom. This trend of crowdfunding development for Django and
Python projects should be copied by other communities. It's amazing how much
high quality work is coming out of it.

------
aidos
Congrats @tomchristie (and all those involved). DRF is the only thing that
ever makes me jealous of Django.

------
tuyguntn
Great job, congratulations!!! Since author is here, would like to ask quick
question, does this version support saving m2m relation data and, if yes,how
does it handle failed related model saving, does it uses transaction at the
beginning of request?

~~~
tomchristie
Yes it does, but probably best to take this sort of thing onto the discussion
group... [https://groups.google.com/forum/#!forum/django-rest-
framewor...](https://groups.google.com/forum/#!forum/django-rest-framework)

------
harel
Well done, congratulations. Are there any plans to continue the Flask port of
the framework?

~~~
tomchristie
I'm not sure at the moment, we'll see once the remaining bits of the
kickstarter work (releases 3.1 and 3.2) are done and released.

------
citadelgrad
While I don't have any plans to upgrade my use of the DRF, I supported this
project at the advocate level because I'm so thankful to have tools like this
available. Thanks again Tom for all your hard work.

------
DodgyEggplant
Congrats. Any recommended resources for experienced django dev on beginning
with mobile/REST on django/iOS ?

------
bestpcinfos
I really appreciate it. DRF is awesome.

------
gregthompsonjr
Woo!

~~~
max55
Amazing stuff, and very exciting

