{"action":"created","comment":{"url":"https://api.github.com/repos/django/deps/pulls/comments/66346891","id":66346891,"diff_hunk":"@@ -0,0 +1,298 @@\n+==================================\n+DEP 0007: Official Django Projects\n+==================================\n+\n+:DEP: 0007\n+:Author: Andrew Godwin\n+:Implementation Team: Andrew Godwin\n+:Shepherd: Andrew Godwin\n+:Status: Draft\n+:Type: Process\n+:Created: 2016-06-01\n+:Last-Modified: 2016-06-08\n+\n+.. contents:: Table of Contents\n+   :depth: 3\n+   :local:\n+\n+Abstract\n+========\n+\n+Define a process for adopting and managing projects under the Django name\n+and organisation that are not the core ``django`` repository and documentation.\n+\n+Motivation\n+==========\n+\n+With the growing popularity of Django and the increasing number of projects\n+living outside of the core repository that are nonetheless central to the\n+Django community and mission, and a desire to not grow the size of the main\n+Django repository with optional or extra code, it becomes apparent that there\n+is a need for \"official\" Django projects that exist outside that repository\n+but still are part of the Django organisation and management structure.\n+\n+Leaving these projects outside means they're often limited in their ability\n+to maintain and grow the project based on the few people working on the\n+project directly, and becoming an official project will benefit them with\n+increased exposure, existing project infrastructure and process (like the\n+security reporting process), and lend them greater credibility for larger,\n+more risk-averse companies and projects who aren't sure what option to pick.\n+\n+It also helps Django as a project overall. Adopting external projects that\n+solve problems and add features that the core Django project doesn't have\n+helps us as a project:\n+\n+* It shows off Django-related features that people would otherwise miss.\n+* It aids new Django developers by highlighting projects that they might\n+  otherwise overlook.\n+* It acts as a useful conduit to get people contributing to Django without\n+  having to tackle (large, difficult) issues on the core project.\n+\n+Rationale\n+=========\n+\n+The goal of this proposed process is to enable a system where projects can\n+be adopted and become official Django projects, but making sure it's not\n+done prematurely (and thus stifling alternative approaches), and that it\n+doesn't tie development to the release cadence and style of Django core\n+releases too directly.\n+\n+That said, the Django name has gained a level of trust and respect over the\n+years from our community and users, and so to become an official Django\n+project a level of quality, commitment, and security must be met, and this\n+process tries to ensure those are accounted for.\n+\n+Finally, projects and maintainers move on, and so this document tries to\n+outline a process where projects can be deprecated or handed off between\n+maintainers in a way that's transparent and allows Django as a whole to have\n+a clear idea of the status of a project at any time.\n+\n+Adoption Process\n+================\n+\n+An external project will exist in one of three phases of its lifecycle -\n+adoption, where it's being discussed for inclusion in the Django project\n+overall, maintenance, where it's part of the project and releasing new\n+versions and applying bugfixes, and deprecation, where it's either lost all\n+maintainers or is no longer needed, and is gently removed from the overall\n+project.\n+\n+Adopting a project to be an official Django project consists of a number\n+of phases, which are:\n+\n+1. `Pre-proposal`_ — a project looks like it may be worth adopting into Django\n+   officially and initial discussions about the potential are had.\n+\n+2. `Forming a team`_ — the project gathers together an official maintenance\n+   team including a core shepherd.\n+\n+3. `Discussion and debate`_ — the community discusses the project and the\n+   merits of making it an official Django project.\n+\n+4. `Review & Resolution`_ — the project proposal is reviewed by the Technical\n+   Board and a decision made if it should be adopted.\n+\n+5. `Adoption`_ — the project is officially adopted and moved into Django\n+   ownership and maintenance.\n+\n+Pre-proposal\n+------------\n+\n+The adoption process begins when a project, new or old, looks like it might\n+benefit greatly from adoption as an official Django project, and that Django\n+as an overall ecosystem might benefit from the project being made official.\n+\n+Initial discussions should be held on mailing lists and other venues to\n+solicit feedback from the community and work out if there is rough agreement\n+that the project is a good thing for Django to adopt, particularly focusing\n+on any alternative approaches to the same problem and the relative merits\n+of them, including code design, scalability, alignment with existing Django\n+design and philosophy, and having an available development and maintenance team.\n+\n+Notably, it does not need to be a maintainer of the existing project that\n+starts this process, but a proposed project will need an implementation team\n+willing to work with it once it is adopted to make it past the next step. If it\n+is not the existing maintenance team, they should still be in agreement (if the\n+project is not abandoned).\n+\n+To even be considered for adoption into Django, the project must have a\n+compatible open-source license, ideally the BSD three-clause license which\n+Django itself is under.\n+\n+Forming a team\n+--------------\n+\n+Once the project looks like it might be a good candidate for an official\n+Django project, a team must be formed to look after the adoption process,\n+including:\n+\n+Maintenance Team\n+    One or more people who are committed to maintaining the project once it\n+    is part of Django. A project must have an active and willing maintenance","path":"draft/0007-official-projects.rst","position":131,"original_position":131,"commit_id":"5c742e9abf03ac33f75012230bf849f8ab4645e5","original_commit_id":"5c742e9abf03ac33f75012230bf849f8ab4645e5","user":{"login":"MarkusH","id":475613,"avatar_url":"https://avatars.githubusercontent.com/u/475613?v=3","gravatar_id":"","url":"https://api.github.com/users/MarkusH","html_url":"https://github.com/MarkusH","followers_url":"https://api.github.com/users/MarkusH/followers","following_url":"https://api.github.com/users/MarkusH/following{/other_user}","gists_url":"https://api.github.com/users/MarkusH/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkusH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkusH/subscriptions","organizations_url":"https://api.github.com/users/MarkusH/orgs","repos_url":"https://api.github.com/users/MarkusH/repos","events_url":"https://api.github.com/users/MarkusH/events{/privacy}","received_events_url":"https://api.github.com/users/MarkusH/received_events","type":"User","site_admin":false},"body":"\"... once it is under the Django umbrella\", maybe? It's not \"part of Django\", IMO","created_at":"2016-06-08T21:49:26Z","updated_at":"2016-06-08T21:49:26Z","html_url":"https://github.com/django/deps/pull/23#discussion_r66346891","pull_request_url":"https://api.github.com/repos/django/deps/pulls/23","_links":{"self":{"href":"https://api.github.com/repos/django/deps/pulls/comments/66346891"},"html":{"href":"https://github.com/django/deps/pull/23#discussion_r66346891"},"pull_request":{"href":"https://api.github.com/repos/django/deps/pulls/23"}}},"pull_request":{"url":"https://api.github.com/repos/django/deps/pulls/23","id":73115312,"html_url":"https://github.com/django/deps/pull/23","diff_url":"https://github.com/django/deps/pull/23.diff","patch_url":"https://github.com/django/deps/pull/23.patch","issue_url":"https://api.github.com/repos/django/deps/issues/23","number":23,"state":"open","locked":false,"title":"Official projects DEP draft","user":{"login":"andrewgodwin","id":36182,"avatar_url":"https://avatars.githubusercontent.com/u/36182?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewgodwin","html_url":"https://github.com/andrewgodwin","followers_url":"https://api.github.com/users/andrewgodwin/followers","following_url":"https://api.github.com/users/andrewgodwin/following{/other_user}","gists_url":"https://api.github.com/users/andrewgodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewgodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewgodwin/subscriptions","organizations_url":"https://api.github.com/users/andrewgodwin/orgs","repos_url":"https://api.github.com/users/andrewgodwin/repos","events_url":"https://api.github.com/users/andrewgodwin/events{/privacy}","received_events_url":"https://api.github.com/users/andrewgodwin/received_events","type":"User","site_admin":false},"body":"As discussed on django-developers, a DEP to formalise the process of adoption of project as \"official Django projects\" without being part of the core repo.","created_at":"2016-06-08T20:33:21Z","updated_at":"2016-06-08T21:49:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"36fc40a4b2489e9b3bad7a955ffb3d27abe2d8c6","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/django/deps/pulls/23/commits","review_comments_url":"https://api.github.com/repos/django/deps/pulls/23/comments","review_comment_url":"https://api.github.com/repos/django/deps/pulls/comments{/number}","comments_url":"https://api.github.com/repos/django/deps/issues/23/comments","statuses_url":"https://api.github.com/repos/django/deps/statuses/5c742e9abf03ac33f75012230bf849f8ab4645e5","head":{"label":"django:official-projects","ref":"official-projects","sha":"5c742e9abf03ac33f75012230bf849f8ab4645e5","user":{"login":"django","id":27804,"avatar_url":"https://avatars.githubusercontent.com/u/27804?v=3","gravatar_id":"","url":"https://api.github.com/users/django","html_url":"https://github.com/django","followers_url":"https://api.github.com/users/django/followers","following_url":"https://api.github.com/users/django/following{/other_user}","gists_url":"https://api.github.com/users/django/gists{/gist_id}","starred_url":"https://api.github.com/users/django/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/django/subscriptions","organizations_url":"https://api.github.com/users/django/orgs","repos_url":"https://api.github.com/users/django/repos","events_url":"https://api.github.com/users/django/events{/privacy}","received_events_url":"https://api.github.com/users/django/received_events","type":"Organization","site_admin":false},"repo":{"id":18764735,"name":"deps","full_name":"django/deps","owner":{"login":"django","id":27804,"avatar_url":"https://avatars.githubusercontent.com/u/27804?v=3","gravatar_id":"","url":"https://api.github.com/users/django","html_url":"https://github.com/django","followers_url":"https://api.github.com/users/django/followers","following_url":"https://api.github.com/users/django/following{/other_user}","gists_url":"https://api.github.com/users/django/gists{/gist_id}","starred_url":"https://api.github.com/users/django/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/django/subscriptions","organizations_url":"https://api.github.com/users/django/orgs","repos_url":"https://api.github.com/users/django/repos","events_url":"https://api.github.com/users/django/events{/privacy}","received_events_url":"https://api.github.com/users/django/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/django/deps","description":"Django Enhancement Proposals","fork":false,"url":"https://api.github.com/repos/django/deps","forks_url":"https://api.github.com/repos/django/deps/forks","keys_url":"https://api.github.com/repos/django/deps/keys{/key_id}","collaborators_url":"https://api.github.com/repos/django/deps/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/django/deps/teams","hooks_url":"https://api.github.com/repos/django/deps/hooks","issue_events_url":"https://api.github.com/repos/django/deps/issues/events{/number}","events_url":"https://api.github.com/repos/django/deps/events","assignees_url":"https://api.github.com/repos/django/deps/assignees{/user}","branches_url":"https://api.github.com/repos/django/deps/branches{/branch}","tags_url":"https://api.github.com/repos/django/deps/tags","blobs_url":"https://api.github.com/repos/django/deps/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/django/deps/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/django/deps/git/refs{/sha}","trees_url":"https://api.github.com/repos/django/deps/git/trees{/sha}","statuses_url":"https://api.github.com/repos/django/deps/statuses/{sha}","languages_url":"https://api.github.com/repos/django/deps/languages","stargazers_url":"https://api.github.com/repos/django/deps/stargazers","contributors_url":"https://api.github.com/repos/django/deps/contributors","subscribers_url":"https://api.github.com/repos/django/deps/subscribers","subscription_url":"https://api.github.com/repos/django/deps/subscription","commits_url":"https://api.github.com/repos/django/deps/commits{/sha}","git_commits_url":"https://api.github.com/repos/django/deps/git/commits{/sha}","comments_url":"https://api.github.com/repos/django/deps/comments{/number}","issue_comment_url":"https://api.github.com/repos/django/deps/issues/comments{/number}","contents_url":"https://api.github.com/repos/django/deps/contents/{+path}","compare_url":"https://api.github.com/repos/django/deps/compare/{base}...{head}","merges_url":"https://api.github.com/repos/django/deps/merges","archive_url":"https://api.github.com/repos/django/deps/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/django/deps/downloads","issues_url":"https://api.github.com/repos/django/deps/issues{/number}","pulls_url":"https://api.github.com/repos/django/deps/pulls{/number}","milestones_url":"https://api.github.com/repos/django/deps/milestones{/number}","notifications_url":"https://api.github.com/repos/django/deps/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/django/deps/labels{/name}","releases_url":"https://api.github.com/repos/django/deps/releases{/id}","deployments_url":"https://api.github.com/repos/django/deps/deployments","created_at":"2014-04-14T14:59:32Z","updated_at":"2016-06-07T11:33:56Z","pushed_at":"2016-06-08T21:10:11Z","git_url":"git://github.com/django/deps.git","ssh_url":"git@github.com:django/deps.git","clone_url":"https://github.com/django/deps.git","svn_url":"https://github.com/django/deps","homepage":null,"size":162,"stargazers_count":167,"watchers_count":167,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":29,"mirror_url":null,"open_issues_count":1,"forks":29,"open_issues":1,"watchers":167,"default_branch":"master"}},"base":{"label":"django:master","ref":"master","sha":"28f8e98656925e10de3931d3459743b3b16406d6","user":{"login":"django","id":27804,"avatar_url":"https://avatars.githubusercontent.com/u/27804?v=3","gravatar_id":"","url":"https://api.github.com/users/django","html_url":"https://github.com/django","followers_url":"https://api.github.com/users/django/followers","following_url":"https://api.github.com/users/django/following{/other_user}","gists_url":"https://api.github.com/users/django/gists{/gist_id}","starred_url":"https://api.github.com/users/django/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/django/subscriptions","organizations_url":"https://api.github.com/users/django/orgs","repos_url":"https://api.github.com/users/django/repos","events_url":"https://api.github.com/users/django/events{/privacy}","received_events_url":"https://api.github.com/users/django/received_events","type":"Organization","site_admin":false},"repo":{"id":18764735,"name":"deps","full_name":"django/deps","owner":{"login":"django","id":27804,"avatar_url":"https://avatars.githubusercontent.com/u/27804?v=3","gravatar_id":"","url":"https://api.github.com/users/django","html_url":"https://github.com/django","followers_url":"https://api.github.com/users/django/followers","following_url":"https://api.github.com/users/django/following{/other_user}","gists_url":"https://api.github.com/users/django/gists{/gist_id}","starred_url":"https://api.github.com/users/django/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/django/subscriptions","organizations_url":"https://api.github.com/users/django/orgs","repos_url":"https://api.github.com/users/django/repos","events_url":"https://api.github.com/users/django/events{/privacy}","received_events_url":"https://api.github.com/users/django/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/django/deps","description":"Django Enhancement Proposals","fork":false,"url":"https://api.github.com/repos/django/deps","forks_url":"https://api.github.com/repos/django/deps/forks","keys_url":"https://api.github.com/repos/django/deps/keys{/key_id}","collaborators_url":"https://api.github.com/repos/django/deps/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/django/deps/teams","hooks_url":"https://api.github.com/repos/django/deps/hooks","issue_events_url":"https://api.github.com/repos/django/deps/issues/events{/number}","events_url":"https://api.github.com/repos/django/deps/events","assignees_url":"https://api.github.com/repos/django/deps/assignees{/user}","branches_url":"https://api.github.com/repos/django/deps/branches{/branch}","tags_url":"https://api.github.com/repos/django/deps/tags","blobs_url":"https://api.github.com/repos/django/deps/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/django/deps/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/django/deps/git/refs{/sha}","trees_url":"https://api.github.com/repos/django/deps/git/trees{/sha}","statuses_url":"https://api.github.com/repos/django/deps/statuses/{sha}","languages_url":"https://api.github.com/repos/django/deps/languages","stargazers_url":"https://api.github.com/repos/django/deps/stargazers","contributors_url":"https://api.github.com/repos/django/deps/contributors","subscribers_url":"https://api.github.com/repos/django/deps/subscribers","subscription_url":"https://api.github.com/repos/django/deps/subscription","commits_url":"https://api.github.com/repos/django/deps/commits{/sha}","git_commits_url":"https://api.github.com/repos/django/deps/git/commits{/sha}","comments_url":"https://api.github.com/repos/django/deps/comments{/number}","issue_comment_url":"https://api.github.com/repos/django/deps/issues/comments{/number}","contents_url":"https://api.github.com/repos/django/deps/contents/{+path}","compare_url":"https://api.github.com/repos/django/deps/compare/{base}...{head}","merges_url":"https://api.github.com/repos/django/deps/merges","archive_url":"https://api.github.com/repos/django/deps/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/django/deps/downloads","issues_url":"https://api.github.com/repos/django/deps/issues{/number}","pulls_url":"https://api.github.com/repos/django/deps/pulls{/number}","milestones_url":"https://api.github.com/repos/django/deps/milestones{/number}","notifications_url":"https://api.github.com/repos/django/deps/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/django/deps/labels{/name}","releases_url":"https://api.github.com/repos/django/deps/releases{/id}","deployments_url":"https://api.github.com/repos/django/deps/deployments","created_at":"2014-04-14T14:59:32Z","updated_at":"2016-06-07T11:33:56Z","pushed_at":"2016-06-08T21:10:11Z","git_url":"git://github.com/django/deps.git","ssh_url":"git@github.com:django/deps.git","clone_url":"https://github.com/django/deps.git","svn_url":"https://github.com/django/deps","homepage":null,"size":162,"stargazers_count":167,"watchers_count":167,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":29,"mirror_url":null,"open_issues_count":1,"forks":29,"open_issues":1,"watchers":167,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/django/deps/pulls/23"},"html":{"href":"https://github.com/django/deps/pull/23"},"issue":{"href":"https://api.github.com/repos/django/deps/issues/23"},"comments":{"href":"https://api.github.com/repos/django/deps/issues/23/comments"},"review_comments":{"href":"https://api.github.com/repos/django/deps/pulls/23/comments"},"review_comment":{"href":"https://api.github.com/repos/django/deps/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/django/deps/pulls/23/commits"},"statuses":{"href":"https://api.github.com/repos/django/deps/statuses/5c742e9abf03ac33f75012230bf849f8ab4645e5"}}}}
{"actor":{"display_login":"MarkusH"}}