{"id":26101,"date":"2016-05-11T12:58:16","date_gmt":"2016-05-11T10:58:16","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=26101"},"modified":"2016-05-12T08:05:12","modified_gmt":"2016-05-12T06:05:12","slug":"github-unlimited-private-repositories-a-better-world-or-a-perfect-disaster","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/05\/11\/github-unlimited-private-repositories-a-better-world-or-a-perfect-disaster\/","title":{"rendered":"GitHub unlimited private repositories &#8211; a better world or a perfect disaster?"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26102\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2016\/05\/11\/github-unlimited-private-repositories-a-better-world-or-a-perfect-disaster\/github-unlimited-repositories\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories.png?fit=798%2C427&amp;ssl=1\" data-orig-size=\"798,427\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"github unlimited repositories\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories.png?fit=660%2C353&amp;ssl=1\" class=\"aligncenter size-medium wp-image-26102\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories-500x268.png?resize=500%2C268&#038;ssl=1\" alt=\"github unlimited repositories\" width=\"500\" height=\"268\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories.png?resize=500%2C268&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories.png?resize=768%2C411&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-unlimited-repositories.png?w=798&amp;ssl=1 798w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Today I was super excited to read the following in the <a href=\"https:\/\/github.com\/blog\/2164-introducing-unlimited-private-repositories\">GitHub blog<\/a>:<\/p>\n<blockquote><p>We couldn\u2019t be more excited to announce that all of our paid plans on GitHub.com now include unlimited private repositories. GitHub will always be free for public and open source projects, but starting today there are just two ways to pay for GitHub.com:<\/p>\n<ul>\n<li><strong>Personal:<\/strong> $7\/month<\/li>\n<li><strong>Organization:<\/strong> $9\/user\/month, $25\/month for your first five users<\/li>\n<\/ul>\n<p>One of the very best things about Git and other distributed version control systems is the ability to create a new repository without asking permission or getting approval. While this has always been true for our public plans, it hasn\u2019t been the case for individuals and teams working together in private. All that changes today.<\/p><\/blockquote>\n<p>After all, it was the pricing around private repository that <a href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/07\/infrastructure-update-github-bitbucket-hipchat-teamworkpm-and-redmine\/\">pushed me<\/a> towards <a href=\"https:\/\/bitbucket.org\/\">BitBucket<\/a>.<\/p>\n<p>Working for a small startup with a small development team and lots of client projects that require private repositories, GitHub was too expensive of an option. \u00a0So we&#8217;ve moved all private repositories to BitBucket, which charges for the team size. \u00a0We still use GitHub for all of our Open Source work, and for the client projects where we need to work with external teams (usually, developers on the side of the client).<\/p>\n<p>Can we move all our stuff back to GitHub and just use a single service for all our code, pull requests, code review, etc? \u00a0That would make a world a better place. \u00a0Let&#8217;s see &#8230;<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26103\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2016\/05\/11\/github-unlimited-private-repositories-a-better-world-or-a-perfect-disaster\/github-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?fit=827%2C468&amp;ssl=1\" data-orig-size=\"827,468\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"github\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?fit=660%2C373&amp;ssl=1\" class=\"aligncenter size-medium wp-image-26103\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github-500x283.png?resize=500%2C283&#038;ssl=1\" alt=\"github\" width=\"500\" height=\"283\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?resize=500%2C283&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?resize=768%2C435&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?resize=825%2C468&amp;ssl=1 825w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/05\/github.png?w=827&amp;ssl=1 827w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Wait, what? \u00a0Our GitHub organization has 5 members and 18 external collaborators. \u00a0And, well, another 5 pending invitations to the external collaborators. \u00a0But all of these are summed up into the 28 users (!!!). \u00a0Currently, we are on the Bronze $25\/month plan, which comes up to $300\/year. \u00a0The new plan with unlimited repositories, as indicated on the screenshot above, will be $2,784\/year. \u00a0That&#8217;s almost a 10 times increase!<\/p>\n<p>Thanks, but no thanks. \u00a0Right? \u00a0Well, not really. \u00a0The GitHub blog post also says the following:<\/p>\n<blockquote><p>We want everyone to have a plan with unlimited private repositories, but don\u2019t worry\u2014you are welcome to stay on your current plan while you evaluate the new cost structure and understand how to best manage your organization members and their private repository access. And while we&#8217;re currently not enforcing a timeline to move, rest assured that you&#8217;ll have at least 12 months notice before any mandated change to your plan.<\/p><\/blockquote>\n<p>This is not very friendly. \u00a0This means that while upgrade to the new plan is now optional, it might not be so in the future. \u00a0Sure, you&#8217;ll get a warning ahead.<\/p>\n<blockquote><p>Dear GitHub!<\/p>\n<p>I understand that you are a profit-oriented business and you need to make money. \u00a0But I think you&#8217;ve made a mistake somewhere here. \u00a0I hope you&#8217;ll re-evaluate this thing. \u00a0Otherwise, I&#8217;ll have to move away &#8211; either to <a href=\"https:\/\/bitbucket.org\/\">BitBucket<\/a> or <a href=\"https:\/\/gitlab.com\/\">GitLab<\/a>. \u00a0And it&#8217;ll be a sad day. \u00a0I know, I&#8217;m not your largest client, but I&#8217;m sure there are many like me.<\/p>\n<p>Yours truly, Leonid.<\/p><\/blockquote>\n<p>Furthermore, thinking about this, I suspect that external collaborators are being charged twice. \u00a0Sure, they can have their own repositories as well, but collaboration often involves forks and merges between multiple repositories of the same project. \u00a0So, to support this collaboration, I need to pay for the external collaborator to have access to my private repositories, while he also needs to pay on his side to be able to fork the private repository into his organization.<\/p>\n<p>I think organization shouldn&#8217;t be charged for external collaborators. \u00a0Extra features for organization members &#8211; like team-mentions, finer access control, etc &#8211; can provide the incentive for the companies to pay. \u00a0But the way this looks now is just too much.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Today I was super excited to read the following in the GitHub blog: We couldn\u2019t be more excited to announce that all of our paid plans on GitHub.com now include unlimited private repositories. GitHub will always be free for public and open source projects, but starting today there are just two ways to pay for &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/05\/11\/github-unlimited-private-repositories-a-better-world-or-a-perfect-disaster\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">GitHub unlimited private repositories &#8211; a better world or a perfect disaster?<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"GitHub unlimited private repositories - a better world or a perfect disaster? #GitHub #WebDev #WebWork","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[2809,1330],"keyring_services":[],"class_list":["post-26101","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-github","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":24612,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/20\/rank-of-top-languages-on-github-com-over-time\/","url_meta":{"origin":26101,"position":0},"title":"Rank of top languages on GitHub.com over time","author":"Leonid Mamchenkov","date":"August 20, 2015","format":false,"excerpt":"GitHub blog shares some trends in regards to programming languages, which includes both public and private repositories: Interesting. \u00a0I haven't seen many Java and C# projects myself, but I'm in a very different bubble. \u00a0PHP stays on #4 for years. \u00a0VimL, the language in which most plugins for Vim editor\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"GitHub programming languages","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/08\/GitHub-programming-languages-500x288.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":16654,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/09\/02\/githubs-free-alternatives\/","url_meta":{"origin":26101,"position":1},"title":"GitHub&#8217;s free alternatives","author":"Leonid Mamchenkov","date":"September 2, 2012","format":false,"excerpt":"Personally, I love GitHub. \u00a0And I try to promote it as much as I can, and I've even got a few organizations setup their repositories there. \u00a0However, I am still asked once in a while for a good alternative. \u00a0These work either for people who don't have the money to\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24152,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/05\/21\/octrotree-google-chrome-extension-for-browsing-github-code-repositories\/","url_meta":{"origin":26101,"position":2},"title":"OctroTree &#8211; Google Chrome extension for browsing GitHub code repositories","author":"Leonid Mamchenkov","date":"May 21, 2015","format":false,"excerpt":"OctroTree - Google Chrome extension for browsing GitHub code repositories. \u00a0I promise you, this is one of those things that you wouldn't believe you lived without before. \u00a0Fast, convenient, with support for private repositories (via API access token), GitHub Enterprise, and keyboard shortcuts. \u00a0Absolutely essential for anyone who is on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"octotree","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/05\/octotree-500x317.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28921,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/10\/github-100-million-repositories\/","url_meta":{"origin":26101,"position":3},"title":"GitHub : 100 million repositories","author":"Leonid Mamchenkov","date":"November 10, 2018","format":false,"excerpt":"GitHub is celebrating a very important milestone - they are now hosting 100,000,00 repositories.\u00a0 This is truly a remarkable achievement!\u00a0 Congratulations! And while many of these are private, the majority, no doubt, are the Open Source projects.\u00a0 GitHub is indeed a cozy home for the Open Source Software, and the\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/topics-500x332.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":44293,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/09\/23\/github-adds-php-and-composer-dependency-graphs\/","url_meta":{"origin":26101,"position":4},"title":"GitHub adds PHP and Composer dependency graphs","author":"Leonid Mamchenkov","date":"September 23, 2019","format":false,"excerpt":"Here are some great news from GitHub: Dependency graph support is now available for PHP repositories with Composer dependencies. You may see security alerts on your repositories as dependency graph support rolls out. When there\u2019s a published vulnerability on any of the Composer dependencies that your project lists in\u00a0composer.json\u00a0and\u00a0composer.lock\u00a0files, GitHub\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/09\/github-php-composer.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":24067,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/05\/06\/gitter-chat-for-github\/","url_meta":{"origin":26101,"position":5},"title":"Gitter &#8211; chat for GitHub","author":"Leonid Mamchenkov","date":"May 6, 2015","format":"link","excerpt":"Gitter - chat for GitHub Get unlimited public rooms and one-to-one chats, free forever. Private team plans start from $5 per user per month. No credit card required.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=26101"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26101\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=26101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=26101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=26101"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=26101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}