Hacker News new | past | comments | ask | show | jobs | submit login
Announcing unlimited free private repos (blog.github.com)
2867 points by razer6 on Jan 7, 2019 | hide | past | favorite | 684 comments

A lot of people are concerned about the “what if they make me the product since I’m no longer paying.”

A few reasons I don’t think that will happen:

- private, single contributor repos tend to be pretty small. it costs Github very little to service a single account.

- Github is a growing social network for developers. Getting young engineers on the platform for free will pay off handsomely when they join a team and automatically assume Github is their code storage tool of choice.

- Microsoft gets the reputation points for running the de facto developer social network (other than Stack Overflow).

GitHub is in the strange position of being both a successful enterprise product AND a social network. What other product exists with that kind of crossover? Microsoft will continue to optimize their enterprise revenue from GH and I think this is a tremendous step forward toward building the network long term.

It is no surprise but sound business reason that private repos will be available for free.

For some background, check this HN classic: "Commoditize your complements" (https://www.gwern.net/Complement#2)

All else being equal, demand for a product increases when the prices of its complements decrease.

For the first time, developers can use GitHub for their private projects with up to three collaborators per repository for free.

The free repos are kind of a loss leader to bring in users onto the platform to keep Github as the de facto provider.

This is great news. I still prefer then issue management abilities of Gitlab nested projects, but choice and competition are good for the end user.

Very interesting article. It could be argued that the webapps/internet/browsers are now doing the same to the OS. For casual uses any OS is the same.

Yes, Microsoft realized that long ago. Gates and Balmer prolonged the inevitable through monopoly power, but Nadella has accepted the future and is "turning the aircraft carrier."

It's amazing that Microsoft came back to life from being a zombie company. In hindsight, it was such a large zombie that it had sufficient time to change business models. Somehow Sears wasn't. There's a business school case study and tenure buried in there.

If by 'zombie company' you mean raking in massive amounts of money and growing spectacularly every year? [1]

MSFT has changed in some positive ways, but since Satya took over, growth has been actually flat-ish to negative overall until 2018 (a good year). Paradoxically, MSFT stock was flat during the Ballmer years when there was rock solid consistent growth.

The 'new MSFT' things is quite overrated in terms of what it really means for the company overall. We HN readers tend to considerably overvalue actions that might seem positive, such as things like open source contributions. MS VS Code is great, but it's not hugely material next to core business. Most of the world really does not care, and they are buying gadzooks worth of MSFT products and services. For better or worse.

[1] https://www.statista.com/statistics/267805/microsofts-global...

When I last worked there and ballmer was running things, he thought he was doing great cause he got more money each year from stupid enterprise agreements with stupid companies. But the innovation was really slow and it was all about increasing the value of what they had, windows. The world was moving on without them.

Satya nadella made a surprising change for Microsoft. If a company is going to last long term they have to do more than look at their own navels. You can't just focus on squeezing more money out of your existing lemons.

Happening now at Apple?

Look, as an ex-MSFT person I'm only glad to see someone shit on Ballmer. I didn't like the guy myself. But the pillars of today's Microsoft success were all created by him. Azure? Ballmer. Subscription services (and Office 365 in particular)? Ballmer. XBOX? Ballmer. Satya gets _way_ too much credit for what Microsoft is today. I feel that's mostly because he looks better on stage, and that's a very low bar. A raging gorilla looks better on stage than Ballmer.

Can you show me that Ballmer created XBOX?

That's great but you haven't provided any specific examples.

Ballmer did not 'squeeze lemons' - he multiplied the company by like 4x. The 'cloud' FYI was a big new thing. All MS products have evolved quite a lot and are not the 'same products'.

What new products / initiatives has Satya introduced that are lining up to be the future of MS? That will replace the core products sometime?

The nerve of the CEO growing revenue and profit! When will they ever learn from the unicorns - success is all about revenue growth, not being profitable and going public.

There were several good responses to my message like yours.

A ceo of a tech company has to both grow revenue and cultivate new technologies. A major company working in almost every area like microsoft has to do even more, so they don't get usurped like endless other former leading companies. Microsoft was challenged in a lot of ways. Ballmer did very well on the bringing in more money area.

1. mobile phones (basically completely blew it here - they had all the pieces but couldn't put them together because of both poor execution and more nimble competitors). Ballmer did terrible here. Even buying nokia was a disaster.

2. web - they managed to keep it microsoft centric for a long time where it only rendered correctly on ie3, but it eventually escaped them. they do sell some web server software, but the days where it had to render correctly on windows, both preventing other platforms from being used and being used for hosting web apps are gone. He held the world at bay for a long time, so I'll give him 25% success here.

3. cloud - azure started under him, so I'd give him 50% success. Who would have thought amazon would kick Microsoft's butt so thoroughly. I saw so many good people go to work there, I never thought amazon would succeed with such a different philosophy, people leaving there so frequently after 2 years.

4. Money, growth - 4/4. So much money. Yet at the same time, people started looking for other companies, and the company felt more and more like it was missing out by forcing everything to reinforce windows and office.

Satya has at least changed the tenor of the company, attracting developers back. I do think Windows seems to have turned into a terrible mess, with unless beta releases with lots of bugs. They fired all the testers because they weren't doing anything? Satya was also leading the azure division, so I think he does get some credit for that.

If Microsoft had “won” in Mobile by licensing Windows Mobile, where would it have gotten them? Google “won over” OEMs and got a whopping $21 billion in profit over eight years for their trouble.


There was speculation that Microsoft made more from Android for years from patents than Google made.

Besides, Microsoft is still making pretty good money on mobile by targeting developers with Azure and tools like Xamarin

Control of android or being the alternative safe choice that everyone builds apps for is worth a lot of money, but you can also use it to reinforce use of your core apps, like google's gmail and search. microsoft instead lost people from using office apps on android, as they market decayed. sure, they are huge and rich and can afford it, and eventually got to office 360 and android versions of office apps. But it would have been even better for them have never had to suffer loss of marketshare to google docs, and they were fortunate to not loose too much share.

I doubt that there are too many professionals using GSuite on phones in the place of Office and the high end and midrange Android tablet market is non existent.

I also doubt that too many people who are spending less than $300 on phones (the average selling price of Android phones) are the target market for Microsoft.

Statistically, Google has captured market share of people with less disposable income than Apple has. It’s at most Pyrrhic victory.

A large majority of "professional" software engineers use google email on their phones. And I've used gdocs etc at times on my phone continuously over the past 20 years, and many of them i was working at microsoft. Apples sales increased for a long time, even though google's sales increased faster apple was, i repeat was capturing most of the profit. We'll see if that happens. I expect several companies out of china to take the android market from samsung (still using android though).

I honestly thought MS would die. Of course that was my own bias because I had/have not used Windows/Office in 15+ years. But after it became apparent that web/Mobile was the future (and it didn't matter what OS you were on), and MS showed itself to be terrible at Web/Mobile over and over again (IE/Edge, Windows Phone, etc.), and there were good-enough MS Office replacements (in my view); I just didn't see how they would survive. The Googles/Amazons of the world were clearly the future. But I didn't count on MS coming out with Azure. I don't know anyone personally that uses Azure, but I hear it is in second or third place after AWS, which I think is impressive for what I thought was a zombie company.

I'm not sure what you're talking about. The link you sent shows their revenue increasing dramatically since he took over (2014), and their stock shows the same.

Revenue peaked in 2015 when he took over, and only got past that in 2018. So net 'going down' until 2018. Yes, the stock has risen quite dramatically during his time though. Even has revenues went down - wall street dramatically lifted his valuation.

Contrast that with Ballmer, who consistently and reliably grew the company with solid numbers for over a decade, and was rewarded with a stock lift of 0.

The stock lift of MSFT over the last few years is the result of Ballmer. A) his tenure and B) the fact the stock was obviously suppressed a little bit during that time, only recently have the multiples been allowed to shift, and when they did ... the valuation jumped up.

Satya seems to be doing well, but for now it's mostly politics and perception. We'll have to wait and see if his material contributions lead to material change in terms of product and revenue at MSFT.

Ballmer left a company that was a mess. He was boosting profits through repeated layoffs and price squeezing. It had just bought my former employer (Nokia's phone business) without a clear strategy. Windows Phone was already failing in the market due to a series of strategic blunders, arrogance, and poor product positioning and platform strategy. Windows 7 and 8 had largely flopped in the market with lackluster adoption for the same reason. The cloud business was heavily windows focused and not an easy sell either: same reason. Meanwhile developers were jumping ship in favor of Apple laptops and Linux servers, android/ios phones, and standards based web applications on top of Chrome and Firefox.

I grew up in the nineties; things were different then. Visual Studio was the go to product for many developers and developing on windows was a given. Macs didn't become useful as developer machines until a decade later and Linux was a something you ran in your closet or on a old hand me down PC (been there done that). That changed under Ballmer's rule and he failed to adapt. He alienated developers and failed to move windows forward; all while bashing Linux and the Open source community in futile attempts to stem the bleeding of mindshare, revenue, and share holder value.

Fast forward five years or so since Nadella took over and the stock has responded positively to post Ballmer changes by Nadella to bring MS into this century after what was a lost decade.

MS now does open source and established itself as a credible player in the OSS community, it killed off windows phone, opened up the lucrative office ecosystem to non windows platforms by e.g. treating Android and IOS as first class citizens and supporting things like Chrome OS. By embracing linux and open source, and by turning Azure into a very competitive product that mostly runs Linux. He just took Edge out the back and shot it as well.

The net result of all this is that he re-established MS as a company that appeals to developers because despite his famous Mantra, developers were running away under Ballmer. VS Code, having SQL Server supported on linux, supporting Linux and contributing to it, embracing the wider C# ecosystem outside of the Windows silo, buying Github, etc. are all clever moves that rebuilt lost trust. All these things were unthinkable under Ballmer. Even Windows 10 is starting to look pretty nice to people like me with it's linux subsystem, Docker support, and nice hardware options.

As a consequence they have a lot of healthy growth in their cloud business because developers take them serious again. Shareholders are liking this and their prospects for more growth through a portfolio that is no longer just wintel laptop based revenue.

"Ballmer left a company that was a mess. He was boosting profits through repeated layoffs and price squeezing."

I see no evidence for your statement.

Ballmer 4x-ed MSFT revenue during his tenure.

He made far more money for MSFT than Gates ever did, and his growth track record is better than Satya so far.

Ballmer pushed XBox, Azure, Office/Cloud, re-orged the sales teams. Increased revenues for all the other major product lines.

Bing and Mobile were a fail, but they did other things well, moreover, they're up against the top 2 companies in the world in Search and Mobile - no easy feat.

All of your points are descriptive, but they don't really represent huge materiality in terms of business outcomes.

MS was never losing developers.

It's 'OSS contributions' really don't make that much of a difference.

Revenue under Satya has been up and down, with no real progress for his first several years until 2018 (2015 being the watermark).

MSFT today was made by Ballmer, most of the things you indicated are good, but not hugely fundamental.

I see no evidence for any of the points you are trying to make either.

You seem to equate revenue with success, which is not how this stuff works. Shareholder value is actually tied to the prospects for long term success (accumulated profits over time). MS shares were considered overvalued, not undervalued when Ballmer left (or depending on your interpretation, fired by an unhappy board).

Its OSS contributions are critical to both MS and how well it is able to convince developers to build on top of MS platforms. It's critical for it's credibility with Azure. I know people that now consider this a serious alternative to AWS or Google cloud that for sure don't have any interest on running C# on Windows Server while using SQL server. But it sure is a nice way to run some Linux stuff these days.

Satya Nadella also had to absorb a lot of the Ballmer era mistakes. Like paying five billion for the right to shut down an organization (Nokia's Phone business) for probably billions more. As I recall, that was one quarter where MS indeed made a historically unique loss and Ballmer pushed that deal through. Bing indeed is another dud. Windows Phone itself of course was the latest in a series of failures for MS to capture the mobile market that date back to last century.

The fact that it took a few years to recover after Ballmer left strongly suggests that 1) there were indeed problems in MS (i.e. shareholders were right) 2) Nadella addressed those problems. MS is of course valued around a 1 Trillion or so now. This may have a thing or two to do with the fact that he's not doing that bad of a job and that their future looks a lot brighter than a few years ago.

It’s not an apples to apples comparison.

Growth and/or stock market performance are often only indirectly coupled or lag by years better strategy, innovation, management, etc.

Unfortunately sometimes good decisions never cause growth, there’s no simple formula.

Sears seemed to be intentionally run into the ground so that Eddie Lampert could loot the assets:


Whatever bad things you can say about Ballmer, he wasn't out to gut Microsoft. He simply made decisions that were short-sighted and insular. Well, and the review system (which caused a bunch of good people to leave for Google in Kirkland, and some other places).

Once, I was doing an embedded system for a consumer product in the Xbox group. We started out trying to using Windows CE, and after three months of pushing that horrible mess up a hill [holy Toledo, what a steaming pile...] we ditched it in favor of something really simple that could actually do the job, instead of the politically correct thing that we'd been "encouraged" to do. (Honestly, words fail me at how badly designed and buggy the the whole WinCE code base was).

At the time, Ballmer was all about everything having to be Windows. "Windows Foundation" for TV, "Windows Auto", Windows This-and-That. I joked that we wouldn't be allowed to ship our firmware until we named it something like "Windows Just An Event Loop And Some Interrupt Handlers".

I don't know, the windows UI since Windows 10 is a mess; the Windows client platform doesn't seem to have its best time.

Seems strange to me that they are neglecting the client platform (and developer tools to! used to be very important under Balmer), the lock in effect used to be driving demand towards NT server.

to put it frankly: I don't quite understand the grand strategy of MS.

They named it wince, ‘nuff said.

Wait, so are you telling us he did in-fact went out to gut Microsoft via his arrogance?

Ballmer had some bad ideas, but he wanted Microsoft to succeed. He didn't see the attrition as a problem.

The Sears folks are pirates, they don't give a shit about Sears and just want to extract as much money as they can.

Big difference.

I've been browsing HN for maybe 6 years and haven't had the pleasure of seeing this article come up, thanks so much for sharing! Few articles have given me such a feeling of 'enlightenment'.

The problem is - hosting repos, especially private ones, is not a 'complementary service' for Github. It's the core of their offer.

Edit: example - Google paying for Chrome, Android - this is 'complementary'. Google giving away free personal ads on search ... 'core'. MSFT giving away free dev tools, Bing search - complementary. Giving away 'Windows Home' for free ... 'core'.

Github's core offering is not small private repos with max 3 contributors.

But it isn't a complement either. This is a classic loss leader.

Having my personal projects on the same platform as my professional ones is complementary.

So is having cheap milk at the same grocery store you get bread at.

Interesting article.

Any literature/thoughts on when to commoditize complements rather than trying to vertically integrate? Private repos might be a complement to github's other business, but it doesn't naturally follow that they should commoditize it in all situations

You’d get a lot of value from reading an old but still relevant book from 1998: Information Rules: A Strategic Guide to the Network Economy by Hal Varian & Carl Shapiro that discusses several of these strategies.

“Commoditize your complements” is a phrase popularized by Joel Spolsky but the book uses the broader of term: “maximize your value”. Commoditization is one of a few ways to maximize your value.

When GitHub's financials got leaked in 2016, GitHub's personal accounts accounted for 12.5% of their revenue. GitHub Enterprise was 50%, their organization (= business) accounts were the remaining 37.5% [1]. It's fair to say that the personal accounts are irrelevant from a revenue perspective.

[1] https://medium.com/@moritzplassnig/github-is-doing-much-bett... (disclaimer: I wrote the article but the data is by Bloomberg)

> It's fair to say that the personal accounts are irrelevant from a revenue perspective.

Your assertion can only make sense if you also believe that a 12% paycut is irrelevant to your income.

> Your assertion can only make sense if you also believe that a 12% paycut is irrelevant to your income.

You only see the short term.

I was on Github during my university, all my projects were there, my team mate were on there too, it was pretty great. When my student account expired, I decided to move everything to Gitlab. I didn't want to move but I won't pay 7$ a month to host my old school projects and some personal stuff. Now that I did move everything, I actually enjoy Gitlab quite a bit.

What do you think I'm going to use if I start a commercial project? In the past I would have chosen Github, but now that I'm comfortable with Gitlab and see all its benefits, it's probably the one I would choose.

Cutting that 12% may lose 12% in the short term, but in a few years, it's going to gain you much more than 12%.

I totally agree with you. And to add to your point, the impact of having a dominance in the market of "personal project repos" extends far beyond individual developers paying money on their personal accounts and/or becoming paying customers when they start their own companies.

If you think about mid-sized software companies (~10-100 devs), if 80% of your developers have a strong preference for Github over Gitlab or Bitbucket, then that company is likely going to stick with Github or decide to move to Github eventually. I think this is where Github captures much more than that 12% revenue that they are giving up right now.

Also, if the VP of Eng. or whoever is making the decision thinks of Github as the default git SaaS because it's what they have used since college, there's a good chance they will just go with Github without even evaluating alternatives.

Sure, but that 12% isn't irrelevant, it's an investment. They're investing 12% of lost revenue in future growth.

Now, if personal accounts were far less (e.g. 1% of revenue), I could see the argument that they're irrelevant.

Maybe I'm just complaining about vocabulary, and perhaps your clarification was what the OP intended.

That was in 2016 it is likely to be a lot lower now, as enterprise grew.

Glad you appreciate the GitLab experience! I agree with you that loving the product is what it is about. I am happy everyone gets free repos across the board now (whether at GitLab, GitHub, or BitBucket) since repos are basically commoditized at this point. In my opinion (shaped by our CEO Sid's perspective), all roads lead to compute.

Yep, there's a reason companies like Autodesk and Microsoft et al give students thousands of dollars of software for free while they're students.

+1 on that

I moved all my personal repos to Bitbucket a while ago, as it was free, and have referred them several paying customers from my clients.

I can say the same, except in my case it was moving from Github to Bitbucket. If Github, did this a while back I would have been locked in for life (by choice)

If I’m reading the revenue chart correctly, 12.5 percent of their revenue was approximately 11 million dollars in 2016. At Microsoft, who is even going to notice that...

There’s surely a goodwill factor and wider strategic benefits here beyond the relatively small amount of revenue - these individuals enjoying the free private repos will in many cases likely be future candidates for customers for the enterprise offerings etc, or one day find themselves involved in discussions regarding managed VCS for a larger org. Given Microsoft’s current strategy to win over developers, this seems like a pretty sensible move, and the price (for Microsoft) very low. Strategically this seems not entirely different to the free accounts AWS throw at university students. Once you have someone hooked on your free offerings, you can start locking them into the wider platform (Azure) much more easily. Again, pretty much the AWS playbook.

Also, let’s not forget the 12.5 percent figure comes from 2016, a year which saw some pretty significant changes to GitHub’s offerings, such as unlimited personal repositories for paying users among other things. Prior to this you had to pay more to get more private repos. The number today may be somewhat different - I know my github spend went down following that change.

Also, 12.5 percent of revenues - comparisons to a 12 percent pay cut are pretty misleading.

Comparing 12.5% revenues to a pay cut is not misleading at all.

Unless there is some reason to believe that making individual accounts free will somehow also reduce costs in a material way. Seems to me it will likely increase costs significantly as many more users will flock to create free private repos.

In fact, it's more like giving you a 12% percent pay cut and then asking you to commute further to work.

Focusing solely on the impact to Github’s bottom line kinda misses the entire point of Microsoft wanting to acquire them in the first place.

A decision like this has to be viewed in the wider context of Microsoft’s market strategy and the rest of their developer tool portfolio, of which Github is just one piece.

If Microsoft just cared about short term gains, there were much better ways to blow 8 billion dollars.

But saying 12% is irrelevant to REVENUE is focusing on revenue. You can say losing the 12% is worth it, but you can’t say it’s irrelevant to revenue.

Indeed -- seems to me that the recent MS moves with Github are part of the same thought process that led them to include Bash / WSL in Windows 10.

> Comparing 12.5% revenues to a pay cut is not misleading at all.

It's misleading in the sense that a 12.5% pay cut is not something I can recover in other ways.

Meanwhile, there is a possibility that this 12.5% cut on individual account might be recovered automatically in other ways if it results in increased enterprise account.

My personal private repos have always been on BitBucket. Not because I like BitBucket more, but simply because of the additional cost.

Having unlimited private account on GitHub will encourage me to move my stuff there, and ultimately reduces the friction and increases the chance that at some time in the future I might be a paying enterprise customers.

> Unless there is some reason to believe that making individual accounts free will somehow also reduce costs in a material way

It's misleading because it ignores user acquisition & conversion. Freemium often means you "take a paycut" on option A in order to make even more money on option B.

If we’re going to use analogies like that, then this is like my benefactor uncle coming in with massive sums of money, telling me to stop working at the McDonald’s and pay someone to take my shifts, and focus on studying.

Yeah, I take that deal every day of the week.

>Your assertion can only make sense if you also believe that a 12% paycut is irrelevant to your income.

Beyond a certain hand-to-mouth income it is (e.g. 150K vs 132K).

And many people chose pay cuts over personally overworking or stretching their business too thin.

The overly trivial point being behind the parent argument is that 100% of your revenue if better than less than 100%. Which is not always the case in business.

Businesses and freelancer drop gigs all the time to concentrate on where their main income is coming from. If you have a difficult customer or few demanding customers that generate just 20% of your income, it's often wise to drop them to focus on your easier 80%.

12% of Github's income is ~0.001% of Microsoft's income.

12% of Github's income is 12% of Github's income.

12% of GitHub's income is 100% of 12% of GitHub's income.

$20 is $20

true === true

Your assertion can only make sense if the same economic factors and reasoning that govern a private individual's pay also govern a large multinational organization's revenue.

It's a tradeoff. I took a 11% paycut to become a 100% remote worker. Completely worth it for me. Microsoft likewise likely believes the loss of 12% of GitHub's revenue is worth it in exchange for advancing toward their bigger goals.

My business may be able to spend 12% of revenue on advertisement.

GitHub's competitor is GitLab. The main argument in favor of GitLab is private repo with self hosted GitLab. That's a weak spot of GitHub that they addressed. Self hosting requires a server and competence. With this move they also undercut a revenue source of GitLab. Strategically, it's a brilliant move. From the user point of view it's also an excellent news.

You're missing why Microsoft purchased github in the first place. It wasn't for the personal account revenue - which isn't even a rounding error on their earnings report even if it is 10x what it was when revenue was leaked in 2016 (at which point it was $17.5 million/year).

If that WERE the reason, they'd be charging for visual studio code, not giving it away.

Revenue != income. It's quite likely the profit margin on developer accounts is lower than the other types, and if this cuts the knees out from under the competition may well be cheaper than, say, paying for advertising.

>if this cuts the knees out from under the competition

All of Github's competitors (i.e. gitlab and bitbucket) already offer unlimited private repos. This is Github catching up.

Exactly,while it is dramatic for github, it has to do this because of competitions.

As well as MS’s own Azure Devops aka VSTS as well as free hosted builder servers, private package repos, project management, etc. for up to five users.

I was thinking that Bitbucket still has its promise to always be free.

However, I don't think it will be an issue. As hosting costs drop to zero, if someone starts charging, they lose customers to a free competitor. (as is happening here).

But that is a non-sensical argument unless you are saying that making all those accounts free will somehow reduce the overhead related to the personal accounts. Seems like it will in fact increase costs as more people sign up.

There's maximum probably only like hundreds of thousands of people who would pay $96/yr for git repos for their personal projects. Millions a month but their other revenue streams are more expensive and still growing and can keep growing so it was heading towards a rounding error % even though it was 12% a couple years ago.

I imagine they are making predictions of enterprise business influx through new users who will take their personal private repos and possibly business (back) to github.

It's probably shrinking dramatically on a percentage basis -- Microsoft's massive enterprise presence drive tens or hundreds of thousands of accounts.

In what world is 12.5% of revenue "irrelevant"? The 37.5% business revenue is just 3 times as much (so almost as irrelevant), and Enterprise is only 4 times is much (again, almost as irrelevant).

Unless .. all github revenue is irrelevant for Microsoft - which might be true, for all I know.

I bet it's much less than 12.5% now (since 2016). Also, individual user revenue is revenue that public investors value less than revenue from businesses, because there is perceived to be a much bigger overall market (and therefore more future potential growth) in selling to businesses rather than individuals. And growth is what matters for the stock price.

Source: I am the CEO of Sourcegraph and consider similar things.

What I've always found funny about "B2B is more valuable than B2C" is how all economic value eventually comes from B2C eventually, and all the meta B2B tools in between don't really make value independently on their own.

Yes, but all consumers eventually get their money from companies. So....

But in reality, the source of your customers' income has little to do with value. B2B is favored because the margins are generally higher.

That might indeed be true. GitHub's value to Microsoft ain't the revenue; it's the users, the mindshare of whom Microsoft hopes to capture by luring them toward the Microsoft ecosystem (Windows, Office, Azure, SQL Server, etc.).

As a particular former Microsoft CEO put it: "[…] DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS […]". That strategy/desire hasn't exactly stopped, though it's certainly transformed quite a bit over the last couple decades (and Microsoft is finally actually getting somewhat effective there).

>In what world is 12.5% of revenue "irrelevant"?

Meh, just fire 12.5% of the staff. /s

12.5% is still a significant percent of revenue.

Significant... but the main threat to the other 87.5% is that developers try out Gitlab or other alternatives for their personal projects. These developers find that Gitlab is pretty good, and don't push their companies to pay for Github. Whereas if every developer starts out using Github exclusively for personal projects, it becomes the default choice when they start work.

With this change, Github foregoes a little revenue in exchange for securing the vast majority of their revenue.

Exactly this. Just this weekend, I setup my first CodeCommit (AWS) repo because I needed a private git repo for a new project and didn't want to pay github for it.

It turned out to be damned easy (and very cheap) and that's a serious threat to github's future growth because once people start to default elsewhere for one type of their work, it tends to drag along other types of their work.

That was always the case, though. It's just that Github's network effects were always powerful enough to counteract this effect.

But, for one very obvious reason, people have grown more and more interested in finding alternatives to Github, and they're forced to compete.

It is for a lot of companies, but not at the scale of Microsoft. Keep in mind companies like Google/MS/Apple/etc kill products that have 10s of millions of revenue because while it's a ton of money, it's a drop in the bucket compared to their other sources of revenue. 12.5% of their 300M revenue is a tiny amount for MS to absorb to solidify themselves against their competitors as the main open source hub.

Gitlab and Bitbucket both heavily positioned themselves against Github with their unlimited private repos feature. With this competing with Github is going to become much harder. I think it's a smart move for MS.

Unless it's shrinking as devs realize other platforms offer a free version of the same service. Especially if those devs decide that they like the new platform better, and convince their company to use it.

> GitHub is in the strange position of being both a successful enterprise product AND a social network. What other product exists with that kind of crossover?

LinkedIn comes to mind, which was also aquired by Microsoft.

LinkedIn might be successful, but its ugliness and spammy nature is in stark contrast with Github.

It's currently in stark contrast with GitHub. I won't be at all surprised if I see in-your-face ads on GitHub in the near future. It's not like there isn't a precedent for it (hello, SourceForge).

The difference is that LinkedIn was creepy before Microsoft bought it and it has nothing to do with Ads. LinkedIn is and always has been creepy and sleezy because it's a relationship networking tool and not a platform for work or collaboration. Whenever I used LinkedIn, it always gave me the same feeling I get when talking to a Salesman or Recruiter, that I'm being exploited and they're trying to convince me that it's somehow to my benefit to work with them or go along with what they say.

GitHub is creepy. Centralizing a decentralized software system then censoring projects isn't all rainbows and unicorns.

> censoring projects

Have they ever done that? I wasn’t aware of any such thing.

Well, it is still decentralized. The author still has a copy of the repo and can always upload to other servers.

The question was about censorship, not dedecentralization. That the author still has a copy is irrelevant.

Here more about GitHub suffering from state-censorship: https://en.wikipedia.org/wiki/Censorship_of_GitHub

GitHub also censors any content that they deem stolen (such as the NSA Malware / EquationGroup releases) and content that they deem containing PII-data (such as the public LinkedIn crawl of people stating they work for ICE).

So you're upset because GitHub won't assume liability for your potentially illegal activity? Why not ask the EFF to setup a free service to host these sorts of files? They seem like the most qualified Org to do it.

I am not upset, I am neutral. I am merely answering a question with as much objectivity as possible: Providing examples of GitHub censoring projects to someone unaware of this, without adding my own views on this. It was quite curious seeing the, at least, 3 downvotes the initial link received.

GitHub makes judgment calls on what to censor: They deem a project name offensive, they deem some piece of code stolen (unless the NSA admitted to them it was legit, they had no confirmation), they deem publicly available data crawled from the web PII or harassment instigation.

Unless you do not classify these examples as censorship, it is what it is.

I don't think anyone is questioning that it is platform censorship which any private business has a right to do in order to protect it's business.

The objection stems from the fact that censorship is always a dominant issue raised in discussions about platforms for sharing and, while it's important to keep it in mind if you're the type of person who might share controversial or objectionable content, that is type of sharing is the minority.

If we were in an oppressive regime like China where state mandated censorship is the norm, then it would be a much more pressing concern. But for most of us, we're not under an oppressive regime and decrying the platform for censorship is on par with complaining that reddit won't let you dox people or flicker banned you for posting kiddieporn.

thats the nature of censorship, get rid of somthing before anyone is made aware of it.

The "decentralized" nature of Git that GitHub interferes with is within an individual project. Instead of all the developers having their own copies of the repo and sharing things around between each other (i.e. the project is decentralized), there's a central GitHub repo for a project that is considered canonical and everyone interacts with that. This doesn't give GitHub any power to censor projects — Git itself is no more centralized than it ever was. You can use Git without GitHub and it works just as well as ever.

I'm not so sure. LinkedIn was always quite spammy.

Sourceforge did some absolutely egregious things, including bundling adware with windows binaries.

Maybe the people at Microsoft don't know it, but one of the reasons GitHub has such a huge market share is because it hasn't done any of those things.

Sure, MS could have bought it to use its reputation as capital and try and maximise income at all costs. It seems that would be somewhat counterproductive, given the long process Microsoft has gone through to start fixing its image with developers.

Sourceforge got revived from its ashes though. It's a nice site nowdays.

I just opened up a project on there to see what you meant. I immediately got hit with 7 different ads on different parts of the page. It still feels pretty scummy to me. I understand the need for ads but 7? It seems excessive.

Bundled adware were removed from projects and there is no multiple confusing download buttons or other dark patterns. You don't have to look out for scams all the time or distrust downloads from the site. See https://sourceforge.net/blog/introducing-the-new-sourceforge...

You won't see ads on GitHub.

If windows, a software for which I pay money when I buy a laptop can have ads, I am pretty sure at some point Github will also have ads. Its very very tempting to leave free money on the table. Only time will tell (Even though you are the CEO).

Except it ain't free money. Especially when you have viable alternatives like BitBucket and GitLab that are able to operate just fine without ads (well, at least without ads for non-Atlassian products in the former case), the cost is people jumping ship, and git makes that easy to do.

Microsoft would only stand to gain (short or long term) if it's been engaging in its traditional EEE strategy this whole time and is ready to pull the trigger on that final E. Even if that's the case, I can't see any real benefit; it'd just be a middle finger to developers.

Y'know I wonder if there was some legal way to guarantee this promise? ToS's are often "we can change whenever we want, we make no promises".

But can you say Microsoft will not use private GitHub data to sell or run targetted ads outside of GitHub?

In-your-face ads does not even begin to describe how intrusive LinkedIn is and was years before being bought by Microsoft.

I never saw real value in linkedin beside being there so people tried to use it as resource pool.. it felt like a status thing.

LinkedIn is an HR circle jerk. Low quality posts, meaningless connections, and tons of spam from LinkedIn. They will spam your friends on your behalf. And then the person to person spam.

The product LinkedIn is offering is the social network itself. Enterprise companies pay for access to LinkedIn's users.

Github on the other hand has actual useful software that is separate from their user base.

I don't think they are comparable.

Even if Github doesn’t end up being a typical “social network”, this still allows Microsoft to push out the competition (Gitlab, Bitbucket) and become the de facto developer workbench in the industry. MS already released a hit with VSCode and won back a lot of street cred with developers who moved over from Atom/Sublime/etc. Having free private repos just makes sense in order to seal the deal with consumers, and migrate them over to the MS developer ecosystem. It’s very Google-esque. Github was already the ‘Chrome’ of the code repo world, and now it has a chance to pull further ahead. This is what MS wants, because now there is even less reason for users to look to migrate if what they used to have to pay for is now free.

Don't forget Typescript too! I've heard nothing but good things about it

I use it daily and it's great. Can't think of starting a serious javascript project without it.

> Getting young engineers on the platform for free will pay off handsomely when they join a team and automatically assume Github is their code storage tool of choice.

Github student pack was already a thing. https://education.github.com/pack

Not everyone looking to have a repo today and joining a team tomorrow where it will pay off for Github is a student. Being able to pay doesn't mean the same as willing to do so, particularly if they've not used github yet and have no idea if it will be worthwhile.

Not every young developer is a student. If Github had offered free private repos a couple of years ago I'd probably be using it instead of Gitlab.

Yeah, but it's only the case up until you graduate, at that point you are forced to pay or move out.

I'm one of them that moved to Gitlab afterward and right now I currently hesitate to go back to Github, even if its free.

All true, but why mot data mine too, while they’re at it?

If you’re not the customer you’re a product... but it doesn’t follow that, if you are the customer, you’re not also a product.

Sure. My point is that I expect them to be respectful, not avaricious.

Microsoft's knows they ought not piss off 28 million developers.

Microsoft have already started doing this to developers (forced data-mining, a.k.a. telemetry) in .NET Core and VS Code - and to everyone in Windows 10 - so I don't see why they wouldn't do the same with Github.

...or else what? Are the developers going to mass-migrate to SourceForge?[1] Github has a lot of leeway/social capital - they are hardcoded into the infrastructure both literally and figuratively.

edit: 1. I literally forgot about Gitlab as a Github substitute when I wrote the comment, interpret that as you may.

> ...or else what? Are the developers going to mass-migrate

Yes, that is the obvious risk. Gitlab is the #2 in the space, right now they don't have much market share but if an avaricious corporation violated the spirit of Github? It might be the chance they need.

Bitbucket, gitlab, some other new service that takes advantage of the gap left by mismanagement?

I remembered Gitlab after I posted but before I saw your comment and made an edit. Github has network effects and inertia on its side - switching to any other service has a cost, and Microsoft has to piss off developers enough to justify the switch - moderate annoyances will be tolerated.

Because you would destroy any trust you've built up with users and people would rapidly switch to another platform, as well as the developers of the GitHub objecting to having to build that.

> Github is a growing social network for developers

But in a social network I am the product

Not directly related, but this made me think of how different a "social network" built on version control is from a typical social network.

Github users are interested more in code than in people. Sure, you can use it to follow your favorite coders and technology people that you respect and look up to, but I have a feeling most people aren't doing that too much.

Like most developers, I use Github extensively to obtain open-source code that I use in projects. Sometimes, I explore Github to look for new things, or see what kind of projects are popular since I've last checked (maybe once or twice a year). Usually, it is the canonical source of information for large open-source projects; the code lives there and issues / bug reports live there. While using it in this manner, I don't look so much at who is posting comments / commits, as I do at the content of the commit or comments on issues, and whether the information is relevant to me.

depends on how the social network is monetized. There are no ads on Github. Unless github is selling user data to third parties, their monetization method is well known (paid enterprise features)

I feel like your entire comment could be ended with "...yet"

I'm sure the screws will tighten on it. Unless Microsoft's entire plan is to run it forever, giving blank checks to GitHub, as a way to endear developers to Microsoft.


Endearing developers to Microsoft is probably the entire strategy behind the Github acquisition in the first place.

I can't remember - Did Skype have ads before or after Microsoft acquired it?

It had ads for a long while before Microsoft acquired it, but IIRC then you could actually remove them by removing a checkmark in settings

I really don't remember any, however they might have just been less prominent.

Microsoft isn't even trying to directly make money off GitHub Enterprise. What they're doing is plugging GitHub into a giant ecosystem of Azure-related services that they sell to large corporations for millions of dollars per year per customer. They could give away GitHub for free entirely, and might, if there's a one-click "deploy to Azure" and similar functionality that brings people into the Microsoft shop.

There is already a one click deploy to Azure from Github, it was there before the acquisition via the Azure Devops aka Visual Studio Team Service website.

Yep, exactly, and the lock-in on Azure is much better. It’s near trivial to switch between hosted Git providers.

Integrations/hooks/CI add some stickyness which is probably why places like Gitlab focus on offering CI to be more than simply “git in the cloud.”

> private, single contributor repos tend to be pretty small. it costs Github very little to service a single account.

Small but important correction, Github is letting up to 3 contributors use these free private repos.

"For the first time, developers can use GitHub for their private projects with up to three collaborators per repository for free."

Right. “Unlimited number of Limited Repos“

I really hate all the "social network" features of github, and I will eventually delete my non-work github account if they keep pushing in that direction. Adding "emoji reactions" was a really bad sign IMHO.

I'm not keen on social network-type sites either but the emoji reactions are far better than getting showered with "+1" e-mails.

Personally, I think Azure DevOps is the logical progression from Github at a professional/business level. I'd be surprised if their business operations didn't merge in that direction.

Besides, Microsoft had already been offering free unlimited private repos through VSOnline for years. It's not a change for them, they are just extending it to their Github acquisition.

I'm generally pretty skeptical of these sorts of arguments. People gave similar arguments about why Facebook wouldn't turn against its users or Amazon would always have some of the lowest prices you could find.

Among other things, a private repo is a file system with full history. Anything that can be used as a file system will likely get abused.

More generally, this kind of argument basically says "this company will likely ignore this revenue stream forever", which doesn't sound very likely in the long run.

This might also be an attack on GitLab, which I believe has had unlimited free private repos for a while.

> private, single contributor repos tend to be pretty small.

Free is pretty cheap though. Is there going to be a size limit? If not I can see people uploading all sorts of "interesting" data to github.

There's a 1GB soft repo size limit and 100MB file size limit. I assume they will detect abuse & terminate violating accounts.

Thanks, I looked for that and didn't find it.

I'm confused about this definition of social network. GitHub is a place where we work. I have thousand of commits and 1 actual friend. Am I the only one or are we changing the meaning of social?

You are right. This is marketing talk. Github should have a chat/forum functionality to get into social network tools.

My feeling is that this is more a move to fight competitors.

>>GitHub is in the strange position of being both a successful enterprise product AND a social network.

That's interesting to think about. Who knows, maybe GitHub will become the next LinkedIn for developers? Or for everyone? LinkedIn is nearly unusable these days, in my opinion.

StackOverflow already offers a higher-quality-than-LinkedIn career platform for developers.

The job search tool is so far ahead of all the other websites but no one lists anything on it in my area.

Guess who owns LinkedIn? Microsoft.

GitHub already had a business model where they give a lot of stuff away for free and make it up on a premium offering. This just shifts the line between the two very slightly. I don’t see this creating any new concerns.

> private, single contributor repos tend to be pretty small. it costs Github very little to service a single account.

I mean, it costs them peanuts to run them, but a lot of people will cancel their premium accounts (including me).

> GitHub is in the strange position of being both a successful enterprise product AND a social network. What other product exists with that kind of crossover?

...Facebook? WeChat?

Those aren't exactly little-known products.

Well, MS corporate culture very much believes it is doing you a favor by mining all your data in order to “serve you better”

Developers developer developers developers!

This came at the right time.

I was looking into LambCI but it only supports github.

I was using bitbucket for private repos.

Checkout: https://github.com/lambci/lambci/blob/master/README.md

It only supports github.

For my hobby projects i can't afford to host gitlab CI/Jenkins or pay for premium CI services.

Now, i can run my tests on Lambda,yay!

But beware and read the pricing sheet --- GitHub created a dumbed-down repo type for these new free private repos.

What does "dumbed-down repo type" mean ? How does they compare to public repo ? Are features missing ?

Scroll down to the Comparison


You think with all the telemetry MS put in Windows 10, there is not going to be any sort of customer reconnaissance going on in free GitHub? There will be a lot of data mining going on.

What gives you the idea GitHub weren't already doing that?

I think they were, I think MS will put more emphasis because they product catalog is much wider and deeper than vanilla GitHub's used to be.

Well then you could pay for your account. You can’t have it both ways.

While I think this is a great move, don't forget that private repos also means no more free Travis CI.

Gitlab CI however offers 2,000 build minutes a month with their integrated CI service.

Even if your whole set up takes 10 minutes to build on CI, that's 200 builds a month which is plenty for an individual project that's on a private repo.

In other words, I think Gitlab's free private repos + CI is still a better choice for a solo developer who wants private repos since CI is such a useful tool and other external CI services have much more limited free plans (to use with Github instead). Having everything in the same UI is also really useful, which is another win for Gitlab.

I prefer Github's UI for overall repo exploration and issues, etc.. but I'm not sure if I'll move my private repos over to Github now that's it free, because the repo itself is only 1 piece of the puzzle.

Microsoft also has a deep connection with Docker. It's kind of no surprise that Docker only has automated build support for GitHub and Bitbucket. Kind of a bummer, but with Gitlab CI you can get the same effect in the end.

Also, the best part about gitlab CI - it's super easy to install gitlab-runner on your own and enjoy unlimited build minutes, even on the free plan. Plus you get to set up your buildbot environment just the way you like - even with access to LAN-only resources in case you need them.

That's an excellent point, and I haven't looked into that yet because I never went past the 2k minutes per month.

But if you did need > 2k minutes, it sounds like a good idea to spin up a $5 / month DO server to be a dedicated runner. That sure beats paying $50+ / month for most other CI services for their most basic paid plans, especially if you're just a solo developer or small team who wants a nice coding experience.

And you can hook up a small autoscaling gitlab-runner which will spin up CI VMs on-demand. If you combine this with spot-instances at AWS you can scale very far on the free plan with minimal cloud spend.

We did this for our project and our builds sped up considerably. Also, Digital Ocean provides a quick solution to setup a GitLab runner on their cloud.

I hate to keep beating the dead horse-but you can do the same thing via MS’s Visual Studio Devops aka Visual Studio Online with a local build/deployment agent.

And you can do the same thing with personal licenses of your chosen ci server and you can throw in a personal deployment server to boot (i like octopus).

I actually just use Appveyor if I can for my personal stuff.

And then I have to manage two more servers....

There is a LambCI with very high concurrent build limit and works with Github, one click install using cloudformation.

Circle CI is a great choice for free builds of your private Github project.

CircleCI's free plan is way too generous. I was on it for a couple years without ever needing to upgrade to paid. I later ended up switching to Codeship, whose free plan was quickly exhausted and now I'm a paying customer of Codeship.

If you want free CI, CircleCI is the place to be.

CircleCI actually has a minutes-per-month limit on the free plan these days too.

Looks to be 1000 minutes, same as when I was on the platform. If your builds only take a couple minutes that goes a long way.

Azure Pipelines free offering is superior to Travis by every imaginable metric - UI latency, build latency, featureset, sane, carefully thought about YAML syntax, etc.

Their documentation seemed weird.

It seemed like if you wanted to self-host your own CI builder with their agent, it was still limited to 1 parallel build on their free plan?

Is that true?

With Gitlab, if you bring your own runner, there's no limitation like that AFAIK (I've never done this yet because I never surpassed 2k build minutes a month) but I glanced their docs.

Yeah, that's annoying. However, there's an undocumented loophole: you can have multiple agents on the same machine and they can all run in parallel even if you didn't buy an extra private pipeline. We recently had a build server with four SSDs, one agent on each, and they could all run in parallel. It worked fine.

Too much trouble when GitLab actually has an open source version. Also AutoDevOps is AMAZING!

AFAIK one agent = one build. So just start several agents, they're only a few MB RAM

Open source projects get unlimited self-hosted agents. Let me know if you aren't experiencing that. I'll make sure it's clear in the docs and the website. jepling at microsoft dot com.

Also I believe they are the only option that offers free build agents on Windows, Linux and Mac.

As someone who uses the paid Azure Pipelines agents I can say I really like it generally but their hosted build agent performance is ... adequate ... at best.

I'm a product manager on Azure Pipelines. I'd like to learn more about your pipeline so we can improve the performance of our hosted build agents. It's something we're improving right now. Feel free to email me. jepling at microsoft dot com

I noticed Travis builds complete faster once they're running, by something like 20% in my case, but that's more than offset by having twice as many parallel builds by default. Never dug into why it's slower, though, at a guess something to do with the filesystem

I'd like to learn more about why Azure Pipelines was slower for your build. Feel free to email me. jepling at microsoft dot com.

Bonus: You also get free private repos in organizations, a feature that GitHub still doesn’t have with today‘s announcement.

Vsts has 30 free hours (1800 minutes) on hosted build agents for windows OS X and linux.

Github Actions is in private beta. From the little time I've spent with it, it could fundamentally change the way you interact with CI; its pretty different compared to normal CI products like Travis, Circle, etc.

Primarily, each pipeline stage can directly reference other public Github repos, with no additional code on your part. This taps in to that community that only exists on Github; for example, to build a project in Language-of-Choice, you just need to find a public implementation of the build pipeline stage for that language, then reference the URL in the action you build.

Its also very docker native, actually to the point of being totally unobvious that everything starts with a docker container. The documentation and hints about how to use it are still pretty sparse since its in beta.

Pricing still hasn't been announced. We'll see. But it feels very promising, especially if a community developers around it focused on providing pipeline stages.

Hopefully they will announce what its pricing and limitations will be soon.

Until then, I'm sticking with Gitlab for private repos because I don't want to wake up one day with Github actions to find out that I need to start paying to regain access to CI.

I don't mind if it's premium only when it's released, but they should be clear about this up front. It kind of worries me that they didn't mention it'll be a free feature in the docs. That seems like something you would want to say up front if it were true. It would be really lame if they open it to everyone to beta test it and then switch it to paid for the general release without mentioning that.

Free private repos are important for experimental development.

I'm late to this but Azure DevOps has plenty of free build time and resources and they are linkable to your GitHub repo. I imagine it'll get even easier and more integrated in few updates.

Github is a great UI that we all are familiar with and there is a huge community around it, which is great for OSS, but I have to say, I trust Gitlab more than I trust Github.

I am a happy user of Gitlab for 3 years now, I have been using it for all of my private stuff and using it actively for around 10 projects at the moment, and I have seen the product change over time both visually and functionally. There are multiple things that I don't like about it, such as the way it handles registry images, but overall my experience for these 3 years has been terrific.

First and foremost, Gitlab CI is the best experience I have ever had, and I can compare it with Travis and Codeship; Gitlab is way ahead of every platform in terms of convenience and its free-tier limits. They have their own shared runners, which means you can run as many parallel jobs as there are runners available at the moment, so no concurrency limit there. They also allow you to run the free stuff for 2000 minutes per month, which is more then enough for most of the side projects. Also, you can use your own runners with the free tier as well, which means just pick a 5$ VM from DO, install the gitlab-runner using the package manager of the OS, such as apt or yum, and register its address on Gitlab UI. The whole runner stuff takes around 10-15 minutes to setup, and you are good to go. You can have as many runners as you like and you can run as many jobs as you like on them as well. There are also options to setup gitlab-runner in such way that it spans new VMs for jobs, which means you don't even need to have full-time runners, they can be created on demand. Also, CI is completely configured via a `.gitlab-ci.yml` file, which is version controlled and has a clear syntax, I have found it the easiest to use among the other options. It syncs with issues, merge requests and the project tree, which means you can reach to the corresponding pipeline from the MR; it also allows you to generate artifacts and store them for a certain amount of time available for download. Overall, I am a huge fan of Gitlab CI, I couldn't have imagined it would be this convenient to use the same product for Git-hosting and continuous integration, it is a real pleasure.

They also have their own Docker registry, which is pretty convenient to use with CI builds. I use it to push my images with commit hashes as tags to this registry from CI. Unfortunately, there is a lot of room for improvement for registry interface, currently it is pretty basic, meaning it only lists the image tags. If you are pushing the images per commit basis, you are gonna have a lot of images and cleaning up the repository is impossible from the interface, which is sad. I really hope they improve the registry integration. They also have some Kubernetes and monitoring integration which allows you to monitor your cluster and deployments from Gitlab interface directly, but I haven't used it yet, so no comments there.

Apart from the feature set, the most important reason I choose Gitlab over Github is clear communication they maintain. Downtimes happen, engineering teams can have bad times, but they are always open about these problems. They inform everyone from a Twitter account, they are responsive to everyone, and you can see them being very clear and direct about the problems they are having. I expect downtimes to happen, Git-hosting is not a crucial system for me that I cannot live with an hour of downtime, maybe it is because of the scale of the projects I am working with, but having an open conversation about issues like this is the actual value for me. As long as they keep this level of communication, I am fine with occasional downtimes. Not that they have downtimes all the time, but it is true that I have seen more downtimes on Gitlab than on Github.

Overall, the reason I'd not migrate my private projects to Github is not Gitlab having free private repositories, but their huge feature set and level of communication. I see Github as a giant corporation, and Gitlab as some guys like myself, I feel closer to them and I'll be their user & customer as longs as I feel that way. I have no association with Gitlab at all, I am just a happy user and I wanted to explain why I like Gitlab, I think a lot of people would choose Gitlab over Github if publicity is not a concern.

Hey, I wanted to express the same enthusiasm as sytse. Thank you very much, your words are amazing and we are really happy to read this great feedback. Shared it with others so they can enjoy as well :-)

Also wanted to share this feature we are currently working on, it allows you to remove unused tags from Container Registry, and we hope it will land with release 11.7 https://gitlab.com/gitlab-org/gitlab-ce/issues/55978

Thank you so much for your support. We'll respond with our work on the container registry. Mind if we make this into a blog post?

Sure, you can do whatever you like with it. I am genuinely happy and proud of using Gitlab, I have grown as an engineer with Gitlab, and I feel like Gitlab has grown with me too. I hope you guys enjoy the work you do, because I enjoy your work and I can pursue my projects thanks to you guys' efforts. Keep up the good work!

Thank you!

Can you link where you see this? I can't seem to find it

Not sure what you're requesting, but I'm guessing the details about Gitlab's free offerings?

It's on their pricing page at https://about.gitlab.com/pricing/.

My fault, I was looking at the blog post and didn't see anything mentioned

Me too, but I hope Microsoft add CI features inside GitHub in the future.

Azure Pipelines is already in the GitHub Marketplace and seems to be Microsoft's path they are paving.

Github actions exists, seems to be semi-CI

I have a feeling it wont be a free feature when it exits beta.

Yes, but I am hoping there will be a good free tier a la Gitlab CI

One of the best uses of GitHub is being able to search for some obscure framework method name or enum constant, and find examples of working code that uses it. This has saved my life many times when trying to figure out how to configure Java frameworks to interact with each other.

When searching for this kind of code, you have to wade through an awful lot of repos containing half-baked personal projects, experiments, unmodified clones of upstream frameworks, and barely-modified boilerplate examples. It would be nice if there was less of this detritus clogging up the search results.

However, sometimes the code you actually want is embedded in some otherwise useless, half-baked personal project, or barely-modified boilerplate example. So if all these projects disappear behind a veil of privacy, maybe it won't be a net win.

Honest question: how do you make github search work for you? It often fails to find stuff that I know exists in a given repo. Nothing fancy, even single-word full symbol names.

Same here. Does https://source.cloud.google.com work for you?

What you describe used to be a problem years ago, but since they updated their search to its current iteration a year or two ago, I have had no issues finding exact string matches in repos. Can you give an example of a repo and a search that fails?

I've found usefull code snippets on github via google in the past.

How do you search for those exactly?

I have also experienced this phenomenon. Finding some brilliant hack used in a randos personal project to work around a bug or deficiency in a popular library.

Finding a library with no documentation then Searching GitHub to see personal projects where the owner has already reverse engineered and integrated.

I always admired Github for incentivizing public repositories to promote collaboration and open source. Would hate to see that fade away.

I cannot agree more with this. I love being able to search and see how libraries are being used in real life projects. It definitely helps.

This is the killer feature of GitHub for me. When learning a new language, being able to sense-check your code against what someone has done in the past has helped me understand how and why some things work the way they do.

Perhaps that's how they're killing OSS?

Surely this is sarcasm.

This is a smart move.

Gives developers who have small indy projects a reason to use Github rather than a competitor (I know I use gitlab precisely because it's free for my private one-off repos).

My move to Gitlab was basically "come for the free repos, stay for the rest of the amazing features". I will not be moving off it, and my new repos will keep being on Gitlab.

Yeah indeed. I actually thought for a moment this meant I could switch back to GitHub, but I use gitlab-ci a lot and really like it.

Thats why Github won't want people testing GitLab because feature wise Gitlab is a much better product and is getting better at a faster rate than github

I moved to Gitlab because we can run the free version at work - until Github does that, I have no reason to not stay with Gitlab

Have you taken a look at https://gitea.io or https://gitbucket.github.io

What features of Gitlab do you prefer?

The integrated CI is amazing, the Docker registry is nice, the issue boards are great, the saner permission model (you can add multiple people as repository owners without putting them in a team), these are the things I can recall off the top of my head.

Being able to have groups and organizations without the weirdness of GitHub.

GitHub's default path for organizations is that you are creating a business that will be very separate from your personal account.

GitLab's default path is that it's just a group. Maybe just a named group for related projects. Once you dig in though, GitLab's group admin is much better than GitHub in my opinion.

It's open source and self-hostable. Its delvelopment process is basically transparent, which is nice as well.

Other than that, their CI system is quite amazing!

Not the OP but I really like the free CI and container registry.

Same, especially the free built-in CI.

GitHub also has a free built-in* CI service via Azure Pipelines. How does that compare to the GitLab offerings?


* in marketplace, limitations apply

Honestly I'm almost at the point where I'd prefer to manually perform CI tasks than use anything Microsoft.

Why on earth are there so many domains in their login flow? My password manager can't make heads nor tails of it 90% of the time

Anyone who has ever done development on any Microsoft site has felt the pain of a million logins.

I was working on Outlook stuff at my previous job and it was a nightmare. They have three different offerings of emails. You can login in Outlook and O365 with the same account iirc, but not the others. Or something like that.

I just remember wanting to cry as I tried to figure out how to login.

Then the API docs are even worse. They had different APIs for each email offering and one pointed to the other then that one pointed to the previous one.

Microsoft's problem is that it has too many services. Google may change things constantly but at least they don't have three different email offerings with three different APIs at varying levels of brokeness.

Google does go crazy with its chat applications

It seems to be on par at a quick glance. I however still don't think I'll be switching back.

I actually switched back to GitHub yesterday, because it‘s still better integrated in the overal tool landscape (eg Heroku). So I just pulled the trigger on a $7 subscription for private repos. And today the good news of free private repos arrived :)

Edit: typo

I'm sorry to hear you left GitLab. We're working on making sure GitLab offers a great PaaS experience https://gitlab.com/groups/gitlab-org/-/epics/111 (I posted in there 3 days ago, hopefully indicating this is important to us)

This is great news. I'm looking forward to seeing what you come up with.

I'm not sure how relevant it is to you, but I hope you take some inspiration from https://platform.sh/ – it's the PaaS I've had the most luck with. While it isn't perfect, it's the closest thing I've found so far. Their "almost everything is in git" and instant environment cloning are fantastic features.

Thanks, the instant environment cloning looks nice. Does that also clone the database and redis?

My understanding is that everything is cloned – included Redis and any search indexes. I've only tried with a database though, so that's the only thing I'm certain that works.

co-founder here, a bit late. Yes everything gets cloned. Databases, search-engines, message-queues, static files... you get precisely the same cluster in the same state.

No need to be sorry, I'm still bought into GitLab. I use it extensively at work and it's fantastic. But with my private projects, I don't have the capacity to deal with Kubernetes' complexity (even when it's well integrated), I really just want my stuff to be fully managed and GitLab isn't there, yet. I'll keep an eye out.

Seems appropriate that the hub for open source would be open source itself. This is my biggest issue with gitlab

I actually switched from Github to Gitlab about two months ago just for this reason. I bootstrap my company from my own pocket and wanted to save a few dollars every month. Really wish I knew this was coming before I deleted the repos and migrated everything.

edit -- to everyone asking, I have no problems with Gitlab and I also have no strong preference Gitlab vs Github, they both perform the same role for me in exactly the same manner. I just wish I had those couple of days back that I spent migrating and editing my deploy scripts.

How does this change by Github make you regret migrating to Gitlab? Do you think Gitlab's offering is in some ways inferior?

I mirrored everything to Gitlab sometime ago, for public repositories and also use them for private repositories. The only real advantage I could specifically name for Github is the organic contribution factor due to their volume of traffic. However, this doesn't really apply to private repositories.

Edit: I see this has been answered below now - time spent migrating.

Also, Github is the defacto standard so most tooling has built-in github integrations.

It sounds like it was the right call at the time. You can't time corporate strategy shifts any more than you can time the market, so just make the best calls you can with what you know.

Isn't a migration back just a git clone away?

Assuming you're not using Issues or anything non-portable.

That would just be more time wasting. I think he is regretting ever spending time on that.

Yep it's the time I spent making the decision (Gitlab isn't the only other choice, and I did a bit of research), then changing my scripts to point to Gitlab instead of Github and letting a couple of testers know where to go to file issues then familiarizing myself with Gitlab's interface.

Not a huge amount of time, but since I only have about 2-3 hours per day to work on the technology side of the business, it was a couple of days worth of hours from the time I decided I needed to cut spending to the time I had Gitlab integrated into my stack. It was a couple of days I didn't have to spend improving the product, even though it was a win from a financial standpoint.

And now with this announcement, it was hardly even a financial win. Oh well. I don't have the time or desire to migrate back.

Exactly the same situation here! Dammit!

I did the exact same thing a few weeks ago.

Maybe not so smart when devs realize that the free private "repos" have features removed that have been standard. The marketing avoids this fact. You need to scroll down to the "Comparison" section to see it. https://github.com/pricing#feature-comparison

I switched to gitlab for the 10g free space per repo. Wont be switching back to github until they beat that.

...that sounds suspiciously like you're storing binaries in git.

I do game development. Gitlab works great for small game projects.

Git LFS can take care of that.

In GitHub's case, only if you're willing to pay for the bandwidth... something which I am currently struggling with in regards to open source projects needing binaries in-repo..

What are you using a 10GB repo for?

Game development.

For the graphics and sound files?

Yep, although one of the products this competes with is Azure DevOps - which also offers unlimited git repos... and is of course also owned by Microsoft!

I'm wondering what the future holds for both GitHub and Azure DevOps. I actually use both, and have done for several years, and they're both great products - I'd hate for either of them to go away.

Azure DevOps is a lot more than just source control, so there isn't all that much overlap with what GitHub offers. I imagine the future will be GitHub for VCS, issues, project management and Azure for CI/CD, testing and deployment.

Agreed, but I wouldn't be surprised if we soon saw deep integration into Azure DevOps Pipelines from GitHub - what then?

Except that doesn't put GitHub on par with GitLab. So they are basically kneecapping one product (GitHub) in order to not compete with another product (Azure), leaving them with two halfassed products, neither of which are as good as the competition (GitLab, which has built-in CI).

They'd be better off killing one product or the other, rolling it into the remaining one, and at least having a single-brand offering that can compete on features with GitLab.

> neither of which are as good as the competition

I'm afraid you're mistaken there - Azure DevOps combines Git (or TFVC, if you really must!) repos with CI, CD and scrum/kanban boards.

Azure Repos likely will remain competitive, at least in the near term, with GitHub simply for its "by default" integration with the rest of DevOps (versus GitHub's opt-in to the rest of DevOps), and easy hooks into corporate SSO and billing (Office 365). It will be interesting to see what happens with Azure Repos in the longer term.

GitHub is now the Azure front-end with more mindshare. So I'd imagine it will be the one that survives, at a brand level at least.

Does gitlab have free integrated PR code review tools?

Yes. The free tier has the basic pull request functionality (called merge request). Some features (require approvals before PR merges from contributors, require approvers from certain groups) are limited to paid tiers on gitlab.com

Why, oh, why couldn't they have called it pull-requests.

Changing the terminology makes me not want to use gitlab.

Because pull request makes less sense than merge request. If you are building a new product why would you copy the mistakes of the competitors.

Take a new dev who has never used gitlab or git. Merge request instantly makes sense but pull request does not.

I won't dispute that my argument was emotional nonsense :)

But... But... Yes, I have no good arguments, but after 10 years of saying pull-requests anything else feels wrong.

I am not sure what you are asking, but yes you can create and review PRs in GitLab.

GitLab is GitHub but with more features and a smaller community. GitLab focuses more on code than community, at least from my experience with it.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact