Changes between Initial Version and Version 1 of SummerOfCode2025


Ignore:
Timestamp:
Jan 23, 2025, 9:50:50 AM (3 weeks ago)
Author:
Sarah Boyce
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2025

    v1 v1  
     1[[PageOutline]]
     2= Google's Summer of Code 2025 =
     3
     4Django is a mentor organization for the 2025 Google Summer of Code.
     5Read ​[https://summerofcode.withgoogle.com Google's page] for more information on how the program works.
     6
     7Django's GSoC program is being coordinated by Bhuvnesh Sharma and Thibaud Colas.
     8
     9== Mentors ==
     10
     11If you're interested in mentoring -- supervising a student in work on Django-related activities -- please let us know: https://forum.djangoproject.com/t/call-for-project-ideas-and-prospective-mentors-for-gsoc-2025/38017
     12
     13== Students ==
     14
     15Student application period runs until April 8, 2025.
     16
     17If you'd like to get started on your proposal early, we'll be looking for a few things.
     18
     19  * You'll need to have a concrete task in mind along with
     20    a solid idea of what will constitute "success" (you tell us).
     21  * If your proposal is a single large feature, library or site, you'll need to present
     22    a detailed design specification. This proposal should be posted to
     23    [https://forum.djangoproject.com/c/internals/mentorship/10 the Django Forum],
     24    where it can be refined until it is accepted by the developer community.
     25  * We'll want to know a bit about you -- links to previous work are great, if any. If you're proposing something ambitious, you'll need to convince us that you're up to the task.
     26  * You'll also need to provide us with a schedule, including a detailed work breakdown and major milestones so your mentor can know if and when to nag you :)
     27
     28Here's an example of an accepted proposal from a previous year:
     29
     30* https://gist.github.com/csirmazbendeguz/de1fdf88bf9df0dfba837f8e88c35df6
     31
     32Note that none of the ideas below are good enough to be submissions in their
     33own right (so don't copy and paste)! We'll want to know not just what you want
     34to do but how you plan to pull it off.
     35
     36Don't feel limited to the ideas below -- if you've got a cool project you want
     37to work on, we'll probably be able to find you a mentor. We plan on approving
     38as many projects as we possibly can.
     39
     40We're accepting any GSOC proposal that fits one of the following three categories:
     41
     42  * Work on Django itself - such as the ORM, forms, etc. This is what we've traditionally accepted GSoC entries in.
     43  * Work on tools to support Django - the issue tracker dashboard (https://dashboard.djangoproject.com/) is a good example of an existing tool that would have fit into this category.
     44  * Work on libraries that supplement or add new features to Django to ease development - `django-stubs` and Django Debug Toolbar are good examples of existing projects that would have fit here.
     45
     46Here are the projects that were accepted last year: https://summerofcode.withgoogle.com/archive/2024/organizations/django-software-foundation-8o
     47
     48Unless explicitly mentioned below, we're **not** looking for people to work on
     49existing third-party libraries - we aren't able to guarantee commit access to
     50them. We may allow an exception if a maintainer of the library in question
     51agrees to help mentor beforehand.
     52
     53The broadening in scope is to allow people to work on new ideas to help Django
     54development and developers without tying you down to having to implement it in
     55the core codebase (and thus ruling out some projects that might otherwise be
     56useful).
     57
     58We're still going to be strict with what we accept - you'll need to provide a
     59strong use case for your idea and show that it would be useful to a majority of
     60developers or significantly improve the development of Django itself.
     61
     62We're not looking for small groups of incremental updates - like "improve
     63Django's Trac" - nor are we looking for impossible tasks, like "replace Trac
     64with this brand new issue tracker I'm writing". What you propose should be a
     65single project, achievable within the time period of GSoC, and something the
     66core developers can help mentor you on.
     67
     68We're also not looking for sites or projects that are merely written in Django — this GSoC is not for you to propose your new forum hosting site or amazing Django-based blogging engine.
     69
     70Note that when you contribute code, you will be expected to adhere to the same
     71contribution guidelines as any other code contributor. This means you will be
     72expected to provide extensive tests and documentation for any feature you add,
     73you will be expected to participate in discussion on the
     74[https://forum.djangoproject.com Django Forum] when your topic of interest is
     75raised. If you're not already familiar with [http://docs.djangoproject.com/en/dev/internals/contributing/ Django's contribution guidelines], now would be a good time to read them - even if
     76you're not applying to work on Django core directly, we'll still want the same
     77level of contribution.
     78
     79== How can I improve my chances of being accepted? ==
     80
     81The best thing you can do to improve your chances to be accepted as a Django
     82GSoC student is to start contributing now. Read up on [https://docs.djangoproject.com/en/dev/internals/contributing/ Django’s contribution documentation] and make yourself known to the other contributors by your
     83contributions (ideally, related to the area of your proposal). That way, when
     84it comes time to evaluate student applications, you’ll be a **known individual**
     85and more likely to be able to get the attention you need to develop a proposal.
     86
     87We're looking for candidates who can demonstrate that they can engage in work
     88of a project scope on an independent basis. We're there to help but we can't
     89watch you every step of the way, so we need to see that motivation from you.
     90Being active before the submissions process is the best way to demonstrate
     91this.
     92
     93== Communication ==
     94
     95All GSOC-related communication is handled via the [https://forum.djangoproject.com/c/internals/mentorship/10 Django Forum, in the Mentoring channel]. Any proposals for GSOC should be submitted there, as
     96well as discussion on the proposed projects and any updates that students post.
     97
     98Please be careful to keep content to the forum clear and purposeful; if you
     99have an idea, update, or criticism, please make sure you describe it in detail;
     100it can be tedious asking people to clarify any vague statements.
     101
     102== Ideas ==
     103
     104Here are some suggestions for projects students may want to propose (please
     105feel free add to this list!). This isn't by any means the be-all and end-all of
     106ideas; please feel free to submit proposals for things not on this list.
     107Remember, we'd much prefer that you posted a draft proposal and your rough
     108timeline / success conditions to the the [https://forum.djangoproject.com/c/internals/mentorship/10 Django Forum, in the Mentoring channel],
     109even if it's already on the list below; it will help you get feedback on
     110choosing the right part of a problem, as well as helping to see if there is any
     111interest before you start drafting a full proposal.
     112
     113When developing your proposal, try to scope ideas/proposals to size of your project (175hrs or 350hrs) -- you need to be ambitious, but not too ambitious. The GSoC does not
     114cover activities other than coding, so certain ideas ("Write a more detailed
     115tutorial" or "Create demonstration screencasts") are not suitable for inclusion
     116here.
     117
     118On the other side, though, be sure to be concrete in your proposal. We'll want
     119to know what your goals are, and how you plan to accomplish them.
     120
     121The project ideas below list key skill, but all assume a knowledge of Python, and familiarity with Django itself.
     122
     123In no particular order:
     124
     125**Projects are still being finalized, the following is a placeholder template**
     126
     127== [PLACEHOLDER] Project name ==
     128
     129|| Difficulty || Medium or Hard
     130|| Size ||   175hr or 350hr
     131|| Mentors || (need confirmation)
     132|| Key Skills || -
     133
     134Project description including the expected outcome of the project.
     135
     136== Or Create Your Own ==
     137
     138We have around 900 accepted tickets on Django. Browse the issue tracker by
     139component — here's an
     140[https://code.djangoproject.com/query?status=assigned&status=new&component=contrib.staticfiles&col=id&col=summary&col=status&col=owner&col=type&col=component&col=version&desc=1&order=id example filter for contrib.staticfiles]. What's the bit of the framework that interests you?
     141What contribution do you want to make to it?
     142
     143Use the tickets as guides here. Remember the advice above, that your project
     144needs to be both on Django itself here, and achievable in the timescale of
     145GSoC.
     146
     147Could be scoped as a 175hr or a 350hr project, depending on your idea.
     148
     149We're open to all good ideas!
Back to Top