{"title":"Advice for new contributors","version":"3.2","locale":"ko","docname":"internals/contributing/new-contributors","url":"/ko/3.2/internals/contributing/new-contributors/","canonical":"https://djangodocs.dev/ko/3.2/internals/contributing/new-contributors/","summary":"New contributor and not sure what to do? Want to help but just don’t know how to get started? This is the section for you. Get up and running! If you are new to…","html":"<h1>Advice for new contributors<a class=\"heading-anchor\" href=\"#advice-for-new-contributors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>New contributor and not sure what to do? Want to help but just don’t know how\nto get started? This is the section for you.</p>\n<aside class=\"admonition-get-up-and-running admonition\">\n<p class=\"admonition-title\">Get up and running!</p>\n<p>If you are new to contributing to Django, the <a class=\"reference internal\" href=\"/ko/3.2/intro/contributing/\"><span class=\"doc\">첫 Django 패치 작성하기</span></a>\ntutorial will give you an introduction to the tools and the workflow.</p>\n</aside>\n<p>This page contains more general advice on ways you can contribute to Django,\nand how to approach that.</p>\n<p>If you are looking for a reference on the details of making code contributions,\nsee the <a class=\"reference internal\" href=\"/ko/3.2/internals/contributing/writing-code/\"><span class=\"doc\">Writing code</span></a> documentation.</p>\n<section id=\"first-steps\">\n<h2>첫걸음<a class=\"heading-anchor\" href=\"#first-steps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Start with these steps to discover Django’s development process.</p>\n<ul>\n<li><p><strong>Triage tickets</strong></p>\n<p>If an <a class=\"reference external\" href=\"https://code.djangoproject.com/query?status=!closed&amp;stage=Unreviewed\">unreviewed ticket</a> reports a bug, try and reproduce it. If you\ncan reproduce it and it seems valid, make a note that you confirmed the bug\nand accept the ticket. Make sure the ticket is filed under the correct\ncomponent area. Consider writing a patch that adds a test for the bug’s\nbehavior, even if you don’t fix the bug itself. See more at\n<a class=\"reference internal\" href=\"/ko/3.2/internals/contributing/triaging-tickets/#how-can-i-help-with-triaging\"><span class=\"std std-ref\">How can I help with triaging?</span></a></p>\n</li>\n<li><p><strong>Look for tickets that are accepted and review patches to build familiarity\nwith the codebase and the process</strong></p>\n<p>Mark the appropriate flags if a patch needs docs or tests. Look through the\nchanges a patch makes, and keep an eye out for syntax that is incompatible\nwith older but still supported versions of Python. <a class=\"reference internal\" href=\"/ko/3.2/internals/contributing/writing-code/unit-tests/\"><span class=\"doc\">Run the tests</span></a> and make sure they pass.\nWhere possible and relevant, try them out on a database other than SQLite.\nLeave comments and feedback!</p>\n</li>\n<li><p><strong>Keep old patches up to date</strong></p>\n<p>Oftentimes the codebase will change between a patch being submitted and the\ntime it gets reviewed. Make sure it still applies cleanly and functions as\nexpected. Updating a patch is both useful and important! See more on\n<a class=\"reference internal\" href=\"/ko/3.2/internals/contributing/writing-code/submitting-patches/\"><span class=\"doc\">Submitting patches</span></a>.</p>\n</li>\n<li><p><strong>Write some documentation</strong></p>\n<p>Django’s documentation is great but it can always be improved. Did you find\na typo? Do you think that something should be clarified? Go ahead and\nsuggest a documentation patch! See also the guide on\n<a class=\"reference internal\" href=\"/ko/3.2/internals/contributing/writing-documentation/\"><span class=\"doc\">문서 작성하기</span></a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">참고</p>\n<p>The <a class=\"reference external\" href=\"https://code.djangoproject.com/wiki/Reports\">reports page</a> contains links to many useful Trac queries, including\nseveral that are useful for triaging tickets and reviewing patches as\nsuggested above.</p>\n</aside>\n</li>\n<li><p><strong>Sign the Contributor License Agreement</strong></p>\n<p>The code that you write belongs to you or your employer. If your\ncontribution is more than one or two lines of code, you need to sign the\n<a class=\"reference external\" href=\"https://www.djangoproject.com/foundation/cla/\">CLA</a>. See the <a class=\"reference external\" href=\"https://www.djangoproject.com/foundation/cla/faq/\">Contributor License Agreement FAQ</a> for a more thorough\nexplanation.</p>\n</li>\n</ul>\n</section>\n<section id=\"guidelines\">\n<h2>가이드라인<a class=\"heading-anchor\" href=\"#guidelines\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>As a newcomer on a large project, it’s easy to experience frustration. Here’s\nsome advice to make your work on Django more useful and rewarding.</p>\n<ul>\n<li><p><strong>Pick a subject area that you care about, that you are familiar with, or\nthat you want to learn about</strong></p>\n<p>You don’t already have to be an expert on the area you want to work on; you\nbecome an expert through your ongoing contributions to the code.</p>\n</li>\n<li><p><strong>Analyze tickets’ context and history</strong></p>\n<p>Trac isn’t an absolute; the context is just as important as the words.\nWhen reading Trac, you need to take into account who says things, and when\nthey were said. Support for an idea two years ago doesn’t necessarily mean\nthat the idea will still have support. You also need to pay attention to who\n<em>hasn’t</em> spoken – for example, if an experienced contributor hasn’t been\nrecently involved in a discussion, then a ticket may not have the support\nrequired to get into Django.</p>\n</li>\n<li><p><strong>Start small</strong></p>\n<p>It’s easier to get feedback on a little issue than on a big one. See the\n<a class=\"reference external\" href=\"https://code.djangoproject.com/query?status=!closed&amp;easy=1\">easy pickings</a>.</p>\n</li>\n<li><p><strong>If you’re going to engage in a big task, make sure that your idea has\nsupport first</strong></p>\n<p>This means getting someone else to confirm that a bug is real before you fix\nthe issue, and ensuring that there’s consensus on a proposed feature before\nyou go implementing it.</p>\n</li>\n<li><p><strong>Be bold! Leave feedback!</strong></p>\n<p>Sometimes it can be scary to put your opinion out to the world and say “this\nticket is correct” or “this patch needs work”, but it’s the only way the\nproject moves forward. The contributions of the broad Django community\nultimately have a much greater impact than that of any one person. We can’t\ndo it without <strong>you</strong>!</p>\n</li>\n<li><p><strong>Err on the side of caution when marking things Ready For Check-in</strong></p>\n<p>If you’re really not certain if a ticket is ready, don’t mark it as\nsuch. Leave a comment instead, letting others know your thoughts.  If you’re\nmostly certain, but not completely certain, you might also try asking on IRC\nto see if someone else can confirm your suspicions.</p>\n</li>\n<li><p><strong>Wait for feedback, and respond to feedback that you receive</strong></p>\n<p>Focus on one or two tickets, see them through from start to finish, and\nrepeat. The shotgun approach of taking on lots of tickets and letting some\nfall by the wayside ends up doing more harm than good.</p>\n</li>\n<li><p><strong>Be rigorous</strong></p>\n<p>When we say “<span class=\"target\" id=\"index-0\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-0008/\"><strong>PEP 8</strong></a>, and must have docs and tests”, we mean it. If a patch\ndoesn’t have docs and tests, there had better be a good reason. Arguments\nlike “I couldn’t find any existing tests of this feature” don’t carry much\nweight–while it may be true, that means you have the extra-important job of\nwriting the very first tests for that feature, not that you get a pass from\nwriting tests altogether.</p>\n</li>\n<li><p><strong>Be patient</strong></p>\n<p>It’s not always easy for your ticket or your patch to be reviewed quickly.\nThis isn’t personal. There are a lot of tickets and pull requests to get\nthrough.</p>\n<p>Keeping your patch up to date is important. Review the ticket on Trac to\nensure that the <em>Needs tests</em>, <em>Needs documentation</em>, and <em>Patch needs\nimprovement</em> flags are unchecked once you’ve addressed all review comments.</p>\n<p>Remember that Django has an 8 month release cycle, so there’s plenty of time\nfor your patch to be reviewed.</p>\n<p>Finally, a well-timed reminder can help. See <a class=\"reference internal\" href=\"/ko/3.2/faq/contributing/#new-contributors-faq\"><span class=\"std std-ref\">contributing code FAQ</span></a> for ideas here.</p>\n</li>\n</ul>\n</section>","rootId":"advice-for-new-contributors","toc":[{"title":"첫걸음","anchor":"first-steps","children":[]},{"title":"가이드라인","anchor":"guidelines","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Django internals","url":"/ko/3.2/internals/"},{"docname":"internals/contributing/index","title":"Contributing to Django","url":"/ko/3.2/internals/contributing/"}],"prev":{"docname":"internals/contributing/index","title":"Contributing to Django","url":"/ko/3.2/internals/contributing/"},"next":{"docname":"internals/contributing/bugs-and-features","title":"버그 리포트와 기능 개발 요청","url":"/ko/3.2/internals/contributing/bugs-and-features/"},"formats":{"html":"/ko/3.2/internals/contributing/new-contributors/","markdown":"/ko/3.2/internals/contributing/new-contributors.md","json":"/ko/3.2/internals/contributing/new-contributors.json"},"source":"https://github.com/django/django/blob/stable/3.2.x/docs/internals/contributing/new-contributors.txt","official":"https://docs.djangoproject.com/ko/3.2/internals/contributing/new-contributors/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}