GSoC 2015 Proposal: Twelve Factor Django

160 views
Skip to first unread message

Mitchel Cabuloy

unread,
Mar 15, 2015, 10:20:18 AM3/15/15
to django-d...@googlegroups.com
First of all, here's an incomplete draft of my proposal for Google Summer of Code 2015.

I'd like to receive some feedback about the idea. It's an obvious one, and it's not very technical, but I just want to throw it out there. Would this sort of project (which is probably going to be a third-party project) applicable for GSoC? Thanks :)

P.S. I'm Mitch and I'm a 4th year university student currently taking up B.S. Computer Science with Specialization in Network Engineering at De La Salle University in Manila.

Russell Keith-Magee

unread,
Mar 15, 2015, 7:50:47 PM3/15/15
to Django Developers
Hi Mitchel,

Thanks for submitting a proposal (and for starting the process earlier than 2 days before the deadline). You get extra credit for being ambitious and proposing something that isn't on the suggested projects list :-)

I have three concerns about this project:

Firstly, what's the current state of the art for this? Django is a big community, and I'd be surprised if most (if not all) the issues associated with 12 factor haven't been addressed in multiple ways, by multiple people. There's definitely value in formalising and documenting that knowledge, but it isn't clear from this proposal that you're aware what others may have done in this space. To pick an obvious example - you mention integrating Grunt/Gulp: how does this part of your proposal compare to (or intend to leverage) django-compressor, django-pipeline, or any of the other static asset management tools that are out there?

Secondly, are you intending to tackle all 12 factors, or just selected ones? My impression is that certain aspects of 12 factor are outside the scope of what Django as a project can enforce. Sure, there might be some fixes to make environment-based deploys easier, but a lot of 12 factor is either "well known best practice" (e.g., "use virtualenv and requirements.txt" is trivial to document, but doesn't require any code changes), specifically *can't* be developed as a general resource (e.g., Factor X) or are outside the scope of Django as a project (e.g., you need to have automated deployment tools - but do you pick chef, salt, ansible, puppet...)

Lastly, looking at what I can see as being potentially on topic, I'm not sure I see 12 weeks of work. Most of what I see is documentation, not development, and while documentation is definitely worthwhile, a primarily documentation project is explicitly *not* in scope for GSOC.

That said - it's entirely possible that I've missed the point, or have missed a significant body of development work that is required - in which case, I've just given you a hit list of things to you need to improve in your proposal for v2 :-)

Yours,
Russ Magee %-)

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/ac044f01-60db-476e-985e-3f03070ff26e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mitchel Cabuloy

unread,
Mar 15, 2015, 11:33:10 PM3/15/15
to django-d...@googlegroups.com
Hey there,

Thanks a lot for your feedback.

With regards to your first point, I've actually done quite a bit of research on how to make Django 12 factor-ish. I'm fascinated by good project structure and best practices and all that. I've actually already built a yeoman generator a few months ago that integrates a bit of 12 factor. You can find it here. Saying that though, I'm still not happy with it as it can still be improved.

On your second point, I absolutely agree. A few things on the 12 factor methodology is inherently true if you have any sense of best practice (like using a virtualenv), or doesn't have anything to do with project structure. Saying that though, I've listed some items in the Specific Objectives section of my proposal that may be implemented as part of the project structure. So, no. I'm not planning on tackling all the 12 factors as it is inherently not possible to implement 12 factor with just project structure.

And finally, the biggest hurdle of them all (in my opinion). I do agree that this may not be worth 12 weeks of work. That's considering the fact that I've already made progress with my existing generator. I guess that seals the deal doesn't it? Haha.

In any case, thank you very much for you feedback. I'll work on other project ideas I have for now. Though, I'll still work on this project on my spare time for sure because a lot of people might find it useful.

Thank you,
Mitch
Reply all
Reply to author
Forward
0 new messages