{"action":"created","comment":{"url":"https://api.github.com/repos/rtfd/blog/pulls/comments/122313349","pull_request_review_id":44400927,"id":122313349,"diff_hunk":"@@ -0,0 +1,127 @@\n+.. post::\n+   :tags: advertising, community, updates, community ads\n+\n+Ads on the Alabaster Theme on Read the Docs Community Sites\n+===========================================================\n+\n+We've been running our `ethical advertising <http://docs.readthedocs.io/en/latest/ethical-advertising.html>`_ campaign for over a year now,\n+and it is starting to show success on making Read the Docs more sustainable. \n+\n+Over this time,\n+we have only been running ads on Read the Docs themed projects.\n+The primary reason for this is making sure that our display of ads is consistent and doesn't negatively impact the user experience.\n+We're trying hard to build a sustainability model that respects our users,\n+and making sure things are well designed and unobtrusive is an important part of this.\n+\n+Over this time we've planned on expanding to other themes,\n+but we haven't simply because it didn't give us any value.\n+We serve about 60% of our traffic on the Read the Docs theme,\n+so until we have 100% of those views sold,\n+we haven't needed to expand.\n+We've now hit that limit,\n+so we're planning to expand to our second most popular theme:\n+**Alabaster**\n+\n+We view our ad program as a way to raise revenue,\n+and use that to better support the community.\n+There are other ways that we can support the community as well,\n+so today we're also launching a **Community Ads** initiative.\n+This will highlight projects in the community that we believe in and care about,\n+and use around 10% of our traffic for those ads.\n+\n+To explicitly repeat:\n+**we will start showing ads on Alabaster themes on Read the Docs** starting in the beginning of July.\n+We plan to roll this out in stages:\n+\n+* We'll email the project owners of all projects using the Alabaster theme\n+* We'll start with an initial ad that points to this blog post for a few days\n+* Then showing our Community Ad on Alabaster projects for a few days\n+* Finally, we'll expand to our full paid ad rotation\n+\n+Read below to learn more about these specific projects,\n+and what we're doing with the money it brings in.\n+\n+.. contents::\n+   :local:\n+\n+\n+Changes to our advertising program\n+----------------------------------\n+\n+Along with this expansion of where we show the theme,\n+we're also updating our ad program in a few ways.\n+In particular:\n+\n+* We will start showing Community Ads on around 10% of our traffic, for free. This will promote other open source projects, and other products/projects that we think are important, but don't have money for ads.\n+* Projects that opt out of normal advertising, as previously supported, will now be shown *only* ads from our Community Ads partners.\n+* Users will be able to opt out of all paid ads with a profile setting, but will still see Community Ads.\n+\n+Community Ads\n+~~~~~~~~~~~~~\n+\n+There are a large number of projects that we care about in the software ecosystem. A large number of them are operated like we have for the past 6 years, with almost no income. Our new Community Ads program will highlight one of these projects each month.\n+\n+We'll show 10% of our ad inventory each month to support an open source project that we care about.\n+We are working to set up an application process to be considered,\n+but we've already picked our first Community Ad recipients: **Sustain** and **Beeware**.\n+Beeware is running their own sustainability campaign,\n+Sustain is about sustainability,\n+and we're hoping to help out!\n+\n+`Beeware <http://pybee.org/>`_ is a collection of projects that can be used to help develop, debug and launch Python software. Each tool follows the Unix philosophy of doing one thing well. The primary goal is to bring Python to the browser, mobile devices, and everywhere else that we wish Python ran natively. \n+\n+`Sustain <https://sustainoss.org/>`_ is a one-day conference about open source sustainability. We ran ads for it earlier this month, and it is now sold out.\n+\n+Project & User opt out changes\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+Previously we've allowed project owners to opt out of advertising. We're now expanding this to allow users to opt out of advertising as well.\n+However,\n+we're using the opportunity of launching our Community Ads to be able show them to folks who out opt.","path":"ads-on-other-themes.rst","position":80,"original_position":80,"commit_id":"883100507908bdbf9e691c76414fda42970d4489","original_commit_id":"883100507908bdbf9e691c76414fda42970d4489","user":{"login":"agjohnson","id":1140183,"avatar_url":"https://avatars3.githubusercontent.com/u/1140183?v=3","gravatar_id":"","url":"https://api.github.com/users/agjohnson","html_url":"https://github.com/agjohnson","followers_url":"https://api.github.com/users/agjohnson/followers","following_url":"https://api.github.com/users/agjohnson/following{/other_user}","gists_url":"https://api.github.com/users/agjohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/agjohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agjohnson/subscriptions","organizations_url":"https://api.github.com/users/agjohnson/orgs","repos_url":"https://api.github.com/users/agjohnson/repos","events_url":"https://api.github.com/users/agjohnson/events{/privacy}","received_events_url":"https://api.github.com/users/agjohnson/received_events","type":"User","site_admin":false},"body":"This sentence seems to be trying to say multiple things, or is ambiguous in what it is trying to say. This probably needs to be condensed to only convey that users will not be able to opt out of community ads.","created_at":"2017-06-15T21:07:45Z","updated_at":"2017-06-15T21:30:40Z","html_url":"https://github.com/rtfd/blog/pull/22#discussion_r122313349","pull_request_url":"https://api.github.com/repos/rtfd/blog/pulls/22","_links":{"self":{"href":"https://api.github.com/repos/rtfd/blog/pulls/comments/122313349"},"html":{"href":"https://github.com/rtfd/blog/pull/22#discussion_r122313349"},"pull_request":{"href":"https://api.github.com/repos/rtfd/blog/pulls/22"}}},"pull_request":{"url":"https://api.github.com/repos/rtfd/blog/pulls/22","id":118003734,"html_url":"https://github.com/rtfd/blog/pull/22","diff_url":"https://github.com/rtfd/blog/pull/22.diff","patch_url":"https://github.com/rtfd/blog/pull/22.patch","issue_url":"https://api.github.com/repos/rtfd/blog/issues/22","number":22,"state":"open","locked":false,"title":"Add initial post around ad changes","user":{"login":"ericholscher","id":25510,"avatar_url":"https://avatars1.githubusercontent.com/u/25510?v=3","gravatar_id":"","url":"https://api.github.com/users/ericholscher","html_url":"https://github.com/ericholscher","followers_url":"https://api.github.com/users/ericholscher/followers","following_url":"https://api.github.com/users/ericholscher/following{/other_user}","gists_url":"https://api.github.com/users/ericholscher/gists{/gist_id}","starred_url":"https://api.github.com/users/ericholscher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericholscher/subscriptions","organizations_url":"https://api.github.com/users/ericholscher/orgs","repos_url":"https://api.github.com/users/ericholscher/repos","events_url":"https://api.github.com/users/ericholscher/events{/privacy}","received_events_url":"https://api.github.com/users/ericholscher/received_events","type":"User","site_admin":false},"body":"This is a fleshed out version of my thinking,\nand would love feedback on the ideas.\nIn particular,\ndoes it logically make sense?\n\nThere will be some code changes required to update this,\nbut I'm considering this documentation driven dev.\nSo once we agree on a path forward,\nI can implement it.","created_at":"2017-04-27T18:34:18Z","updated_at":"2017-06-15T21:30:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f047cbf525148fe70d761179eb5d7e2a22f2e37e","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/rtfd/blog/pulls/22/commits","review_comments_url":"https://api.github.com/repos/rtfd/blog/pulls/22/comments","review_comment_url":"https://api.github.com/repos/rtfd/blog/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rtfd/blog/issues/22/comments","statuses_url":"https://api.github.com/repos/rtfd/blog/statuses/883100507908bdbf9e691c76414fda42970d4489","head":{"label":"rtfd:ad-updates","ref":"ad-updates","sha":"883100507908bdbf9e691c76414fda42970d4489","user":{"login":"rtfd","id":366329,"avatar_url":"https://avatars1.githubusercontent.com/u/366329?v=3","gravatar_id":"","url":"https://api.github.com/users/rtfd","html_url":"https://github.com/rtfd","followers_url":"https://api.github.com/users/rtfd/followers","following_url":"https://api.github.com/users/rtfd/following{/other_user}","gists_url":"https://api.github.com/users/rtfd/gists{/gist_id}","starred_url":"https://api.github.com/users/rtfd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtfd/subscriptions","organizations_url":"https://api.github.com/users/rtfd/orgs","repos_url":"https://api.github.com/users/rtfd/repos","events_url":"https://api.github.com/users/rtfd/events{/privacy}","received_events_url":"https://api.github.com/users/rtfd/received_events","type":"Organization","site_admin":false},"repo":{"id":22479985,"name":"blog","full_name":"rtfd/blog","owner":{"login":"rtfd","id":366329,"avatar_url":"https://avatars1.githubusercontent.com/u/366329?v=3","gravatar_id":"","url":"https://api.github.com/users/rtfd","html_url":"https://github.com/rtfd","followers_url":"https://api.github.com/users/rtfd/followers","following_url":"https://api.github.com/users/rtfd/following{/other_user}","gists_url":"https://api.github.com/users/rtfd/gists{/gist_id}","starred_url":"https://api.github.com/users/rtfd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtfd/subscriptions","organizations_url":"https://api.github.com/users/rtfd/orgs","repos_url":"https://api.github.com/users/rtfd/repos","events_url":"https://api.github.com/users/rtfd/events{/privacy}","received_events_url":"https://api.github.com/users/rtfd/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rtfd/blog","description":"Read the Docs blog","fork":false,"url":"https://api.github.com/repos/rtfd/blog","forks_url":"https://api.github.com/repos/rtfd/blog/forks","keys_url":"https://api.github.com/repos/rtfd/blog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rtfd/blog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rtfd/blog/teams","hooks_url":"https://api.github.com/repos/rtfd/blog/hooks","issue_events_url":"https://api.github.com/repos/rtfd/blog/issues/events{/number}","events_url":"https://api.github.com/repos/rtfd/blog/events","assignees_url":"https://api.github.com/repos/rtfd/blog/assignees{/user}","branches_url":"https://api.github.com/repos/rtfd/blog/branches{/branch}","tags_url":"https://api.github.com/repos/rtfd/blog/tags","blobs_url":"https://api.github.com/repos/rtfd/blog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rtfd/blog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rtfd/blog/git/refs{/sha}","trees_url":"https://api.github.com/repos/rtfd/blog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rtfd/blog/statuses/{sha}","languages_url":"https://api.github.com/repos/rtfd/blog/languages","stargazers_url":"https://api.github.com/repos/rtfd/blog/stargazers","contributors_url":"https://api.github.com/repos/rtfd/blog/contributors","subscribers_url":"https://api.github.com/repos/rtfd/blog/subscribers","subscription_url":"https://api.github.com/repos/rtfd/blog/subscription","commits_url":"https://api.github.com/repos/rtfd/blog/commits{/sha}","git_commits_url":"https://api.github.com/repos/rtfd/blog/git/commits{/sha}","comments_url":"https://api.github.com/repos/rtfd/blog/comments{/number}","issue_comment_url":"https://api.github.com/repos/rtfd/blog/issues/comments{/number}","contents_url":"https://api.github.com/repos/rtfd/blog/contents/{+path}","compare_url":"https://api.github.com/repos/rtfd/blog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rtfd/blog/merges","archive_url":"https://api.github.com/repos/rtfd/blog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rtfd/blog/downloads","issues_url":"https://api.github.com/repos/rtfd/blog/issues{/number}","pulls_url":"https://api.github.com/repos/rtfd/blog/pulls{/number}","milestones_url":"https://api.github.com/repos/rtfd/blog/milestones{/number}","notifications_url":"https://api.github.com/repos/rtfd/blog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rtfd/blog/labels{/name}","releases_url":"https://api.github.com/repos/rtfd/blog/releases{/id}","deployments_url":"https://api.github.com/repos/rtfd/blog/deployments","created_at":"2014-07-31T18:21:48Z","updated_at":"2017-02-14T22:38:58Z","pushed_at":"2017-06-14T23:43:38Z","git_url":"git://github.com/rtfd/blog.git","ssh_url":"git@github.com:rtfd/blog.git","clone_url":"https://github.com/rtfd/blog.git","svn_url":"https://github.com/rtfd/blog","homepage":"https://blog.readthedocs.com","size":629,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":2,"forks":6,"open_issues":2,"watchers":4,"default_branch":"master"}},"base":{"label":"rtfd:master","ref":"master","sha":"7242f22a68ab33d02793794c2246634e1601ff24","user":{"login":"rtfd","id":366329,"avatar_url":"https://avatars1.githubusercontent.com/u/366329?v=3","gravatar_id":"","url":"https://api.github.com/users/rtfd","html_url":"https://github.com/rtfd","followers_url":"https://api.github.com/users/rtfd/followers","following_url":"https://api.github.com/users/rtfd/following{/other_user}","gists_url":"https://api.github.com/users/rtfd/gists{/gist_id}","starred_url":"https://api.github.com/users/rtfd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtfd/subscriptions","organizations_url":"https://api.github.com/users/rtfd/orgs","repos_url":"https://api.github.com/users/rtfd/repos","events_url":"https://api.github.com/users/rtfd/events{/privacy}","received_events_url":"https://api.github.com/users/rtfd/received_events","type":"Organization","site_admin":false},"repo":{"id":22479985,"name":"blog","full_name":"rtfd/blog","owner":{"login":"rtfd","id":366329,"avatar_url":"https://avatars1.githubusercontent.com/u/366329?v=3","gravatar_id":"","url":"https://api.github.com/users/rtfd","html_url":"https://github.com/rtfd","followers_url":"https://api.github.com/users/rtfd/followers","following_url":"https://api.github.com/users/rtfd/following{/other_user}","gists_url":"https://api.github.com/users/rtfd/gists{/gist_id}","starred_url":"https://api.github.com/users/rtfd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtfd/subscriptions","organizations_url":"https://api.github.com/users/rtfd/orgs","repos_url":"https://api.github.com/users/rtfd/repos","events_url":"https://api.github.com/users/rtfd/events{/privacy}","received_events_url":"https://api.github.com/users/rtfd/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rtfd/blog","description":"Read the Docs blog","fork":false,"url":"https://api.github.com/repos/rtfd/blog","forks_url":"https://api.github.com/repos/rtfd/blog/forks","keys_url":"https://api.github.com/repos/rtfd/blog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rtfd/blog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rtfd/blog/teams","hooks_url":"https://api.github.com/repos/rtfd/blog/hooks","issue_events_url":"https://api.github.com/repos/rtfd/blog/issues/events{/number}","events_url":"https://api.github.com/repos/rtfd/blog/events","assignees_url":"https://api.github.com/repos/rtfd/blog/assignees{/user}","branches_url":"https://api.github.com/repos/rtfd/blog/branches{/branch}","tags_url":"https://api.github.com/repos/rtfd/blog/tags","blobs_url":"https://api.github.com/repos/rtfd/blog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rtfd/blog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rtfd/blog/git/refs{/sha}","trees_url":"https://api.github.com/repos/rtfd/blog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rtfd/blog/statuses/{sha}","languages_url":"https://api.github.com/repos/rtfd/blog/languages","stargazers_url":"https://api.github.com/repos/rtfd/blog/stargazers","contributors_url":"https://api.github.com/repos/rtfd/blog/contributors","subscribers_url":"https://api.github.com/repos/rtfd/blog/subscribers","subscription_url":"https://api.github.com/repos/rtfd/blog/subscription","commits_url":"https://api.github.com/repos/rtfd/blog/commits{/sha}","git_commits_url":"https://api.github.com/repos/rtfd/blog/git/commits{/sha}","comments_url":"https://api.github.com/repos/rtfd/blog/comments{/number}","issue_comment_url":"https://api.github.com/repos/rtfd/blog/issues/comments{/number}","contents_url":"https://api.github.com/repos/rtfd/blog/contents/{+path}","compare_url":"https://api.github.com/repos/rtfd/blog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rtfd/blog/merges","archive_url":"https://api.github.com/repos/rtfd/blog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rtfd/blog/downloads","issues_url":"https://api.github.com/repos/rtfd/blog/issues{/number}","pulls_url":"https://api.github.com/repos/rtfd/blog/pulls{/number}","milestones_url":"https://api.github.com/repos/rtfd/blog/milestones{/number}","notifications_url":"https://api.github.com/repos/rtfd/blog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rtfd/blog/labels{/name}","releases_url":"https://api.github.com/repos/rtfd/blog/releases{/id}","deployments_url":"https://api.github.com/repos/rtfd/blog/deployments","created_at":"2014-07-31T18:21:48Z","updated_at":"2017-02-14T22:38:58Z","pushed_at":"2017-06-14T23:43:38Z","git_url":"git://github.com/rtfd/blog.git","ssh_url":"git@github.com:rtfd/blog.git","clone_url":"https://github.com/rtfd/blog.git","svn_url":"https://github.com/rtfd/blog","homepage":"https://blog.readthedocs.com","size":629,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":2,"forks":6,"open_issues":2,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rtfd/blog/pulls/22"},"html":{"href":"https://github.com/rtfd/blog/pull/22"},"issue":{"href":"https://api.github.com/repos/rtfd/blog/issues/22"},"comments":{"href":"https://api.github.com/repos/rtfd/blog/issues/22/comments"},"review_comments":{"href":"https://api.github.com/repos/rtfd/blog/pulls/22/comments"},"review_comment":{"href":"https://api.github.com/repos/rtfd/blog/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rtfd/blog/pulls/22/commits"},"statuses":{"href":"https://api.github.com/repos/rtfd/blog/statuses/883100507908bdbf9e691c76414fda42970d4489"}}}}
{"actor":{"display_login":"agjohnson"}}