Hacker News new | past | comments | ask | show | jobs | submit login
GitLab Ultimate and Gold now free for education and open source (gitlab.com)
667 points by lunchbreak 11 months ago | hide | past | web | favorite | 207 comments

(I promise this will turn out favorable for gitlab)

When gitlab first came out, I found the amount of shameful copying of github distasteful. I thought, man these guys have not done an ounce of anything original, so what's the point in even encouraging this kind of slimyness?

But then Github stagnated, and stagnated some more. And gitlab went past the initial copying and started innovating and adding more features.

And now with their CI/CD, and fully integrated pipeline, they seem to be way, way ahead of Github, whereas Github seems to have focused more on handling the infrastructure needed for their sheer level of scale.

In Github's case, I bet they felt their hands were tied because they had a whole ecosystem around them (like all the CI/CD companies that tightly integrate). Gitlab didn't have that issue, and was free to integrate to their heart's content.

To be honest, the only reason I moved back to Github after trying Gitlab a couple years ago was the performance. But again, Gitlab seems to be the little engine that keeps chugging. They have a certain hunger about them to improve, that they're constantly and relentlessly chipping away at the software's flaws. And sytse is always active in all these threads armed with great answers to pretty much every single criticism leveled at them.

So at least for now, they seem to be a lot more hungry than Github, so kudos to them.

Once all this hubbub dies down, I may move all my repos to Gitlab, but mostly for the CI/CD pipeline.

Github has totally earned their success, but they did seem to be stagnating for a while there.

> But then Github stagnated, and stagnated some more. And gitlab went past the initial copying and started innovating and adding more features.

As an industry, we have a unhealthy obsession with change for change's sake. If we aren't redesigning everything, adding new features, or moving cheese all the time, we aren't innovating.

But this the opposite of how we should think. If the GitHub repos page, for instance, just works, then we don't need to keep changing it. Zach Holman made a point, way back in 2012, that they intentionally hide UI features to preserve simplicity and trust in their design. [0]

The thing I get the most from Gitlab's UI is this overwhelming sense of desire to add every feature, expose every option, and make it as utilitarian as possible. In doing so, though, Gitlab trades off approachability. To some this is a great thing, but to others, it's just on the edge of too much. If there's anything I want Gitlab to copy from GitHub, it's the opinionated decision making of what to show and when to show it.

Gitlab's CI/CD stuff is a great example of this contrast. GitHub left it to Travis and other CI providers, which makes both GitHub and those providers have time to excel at what they're good at. They made the trade off deciding that they couldn't pull it off as well as others, so they delegated it and moved on. Gitlab took the opposite approach and built it in. While it adds value for some users, it can and (at least in my opinion) does over complicate the core feature set they offer.

It's okay to have two products with different approaches, but I wouldn't say that it's a lack of innovation on GitHub's part. I would say it's just a different set of tradeoff balancing.

[0]: https://speakerdeck.com/holman/git-and-github-secrets?slide=...

> Zach Holman made a point, way back in 2012, that they intentionally hide UI features to preserve simplicity and trust in their design.

Ehhhhh not quite. The point of hiding UI like how I mentioned in that talk was that those features in particular were for the 1% (or less). Basically, the finicky power users. Rather than cluttering up the UI with every single toggle and dropdown under the sun, we'd focus more on nailing the experience for the 80-90% of users that would see the screen.

I think that's quite a bit different from what's being discussed in this thread. The last few years in particular GitLab's been adding a lot more features across the whole spectrum of development (CI, packaging, monitoring, and so on), whereas GitHub has been mostly content to refine the existing platform. I don't even think it's really a question of simplicity (or at least not to the extent of what I was trying to mention in my talk from six years ago) — it's more of a matter of expanding into very large holes that the version control industry hasn't really tackled very much before (take a look at Bitbucket, or even some of the open source clones, which all kind of stick in the version-control-only perspective).

> I would say it's just a different set of tradeoff balancing.

That I'd probably agree with, though. I think GitLab's thoughts on what's helpful to a developer is much broader than GitHub's narrower definition. Each are making their bets with that, so it's more a matter of how you view your own problems and the future of these kinds of problems and all that. :)

> Ehhhhh not quite. The point of hiding UI like how I mentioned in that talk was that those features in particular were for the 1% (or less). Basically, the finicky power users. Rather than cluttering up the UI with every single toggle and dropdown under the sun, we'd focus more on nailing the experience for the 80-90% of users that would see the screen.

Every time I go back to gitlab I’m lost in all those drop downs and buttons it shows me. Just nodding to you statement.

> Ehhhhh not quite. The point of hiding UI like how I mentioned in that talk was that those features in particular were for the 1% (or less). Basically, the finicky power users. Rather than cluttering up the UI with every single toggle and dropdown under the sun, we'd focus more on nailing the experience for the 80-90% of users that would see the screen.

Oof. Yeah. I understand what you meant -- I guess I wasn't specific enough in what I said. I didn't mention it anywhere in that comment, but I was thinking about their issue page as the prime example. See here: https://gitlab.com/gitlab-com/www-gitlab-com/issues/2231

I'd say that 1% features shown to anyone on this page are things like confidentiality, time tracking, weight, lock state, and reference. Most of them are in the default position, and reference appears marginally redundant. I didn't execute my example too well, but I think this notion does carry around the rest of the app.

I guess I painted too broadly if you had to catch me. Sorry, Zach!

The simple solution would have been configurations for those 1% who wants them.

Either at repository/organization level or user level.

That way you can get the best of both worlds.

I might be wrong, but that's how I'd see it.

I guess that's exactly what I'm saying. I don't WANT to sign up for multiple services. I consider all that to be chores that take away from actually building the product I care about.

Apart from that, it costs more (I didn't bring this up because these costs are negligible compared to the cost of engineer time), you have multiple places charging your credit card, have to manage multiple accounts, etc.

It's sort of like the reasons I used to state on why I like Ember. ember-cli comes fully integrated, I can start to build something in 5 minutes. Whereas, before create-react-app, developers would spend a lot of time just cobbling together tools and reading tutorials just to get to a certain level of infrastructure.

I don't want to do that. I just want to press a couple of buttons and resume building my product.

Yep! Choice and competition is good! I think it's good that people like Gitlab and use it, just in the same way that there are people who prefer GitHub and use it.

But I wouldn't say at all that it's the result of stagnation as a result of abandonment -- rather, it's intentional selection.

Point taken. Competition IS good (rather than just copying, which initially put me off to GitLab).

And how nice it is that there are good products that fit multiple mental models, so neither of us has to compromise. (Again, for the record, I still host everything on GitHub but mainly am looking to GitLab because their stuff is so integrated).

I agree - one thing that's pretty annoying about Gitlab (self-host at work) IMO is that over the past year, things just keep moving around in the UI or work differently as we upgrade versions.

Personally, I'd prefer to use Github at work as I find it a fair bit easier to use and navigate, but Gitlab is much cheaper, so...

I agree with what you are saying, but plenty of issues with Github really needed to be solved in order for large projects to scale. Issue templates and the native “likes” rather than all those +1 comments were desperately needed and Github had no excuse not solving those issues for years.

We virtue signal around project activity, especially on Github. We use activity as a proxy for whether we will be stuck with bugs without workarounds.

But a baked piece of software that doesn’t interact with fast changing parts of the ecosystem doesn’t need to change.

If I saw a dormant project in Rust or Node that handled asynchronous calls I would probably stay away. But a logging library, text processing tool, or unit testing framework might be pretty baked.

In that case the active projects are catching up, which means new bugs. Bugs that I might get stuck with anyway.


> If there's anything I want Gitlab to copy from GitHub, it's the opinionated decision making of what to show and when to show it.

Thing is, that will never happen. The project has already sprawled out of control and if they tried to remove things or drastically change the product users would just start forking the project. Or someone would copy GitLab and make a totally open source clone (that'd be ironic).

On a side note, does the issue tracker for GitLab CE worry anyone else? https://gitlab.com/gitlab-org/gitlab-ce/issues Nearly 11k issues some from 3 years ago.

For as long as I have seen your account you are in every github/gitlab thread pushing github and bashing gitlab.

Care to disclose something?

How is it different from you yelling at everyone on GDPR threads? Maybe, like you, the parent is just passionate and opinionated.

It's different because I don't have a commercial stake in the game, I just really care about privacy and my posting history and blogging history back that up.

I find it odd that someone would pick one commercial entity over another when they're otherwise anonymous, which is yet another thing you really can't say about me.

So that's how it is different.

You couldn't prove they had a commercial stake, and they also seem to really care about github vs gitlab. It's not too different yet.

Github vs Gitlab is one commercial party against another, if the products are roughly comparable and you want to take a very strong stand in favor of either party you should declare your affiliation (or none). ACs that from the very beginning seem to have an agenda are always under that cloud, and it's easy enough to dispel any doubt.

Contrary to that there is no gain for me to be a privacy advocate.

How is this different than the pro-Gitlab people, who are on the same threads doing the opposite?

I’m personally tired of seeing Gitlab employees and fanchildren spamming every halfway-related thread on HN. If there’s someone here advocating for Github, he’s a refreshing change of pace.

It’s true. I have a perception that there is frequent GitLab advocacy going on on HN. Almost as if their team uses HN as a de facto marketing channel. Any announcement from GitLab immediately gets upvoted to the front page. And the prior commentor being accused of being a Github shill— is that any different than the frequent comments from the same cast of characters promoting GitLab?

Plenty of shills on here and they aren’t generally the Github people. Every GitLab story’s comments consist of a barrage of comments complaining about Github. An impartial observer could be led to believe that there is some astroturfing happening. I know a lot of developers and not a single one uses GitLab. But if the HN sample is representative, it seems like most developers hate Github. The GitLab/Github threads don’t seem to track with my real world observations.

Github changed software development for the better. It isn’t perfect, but acting like a Github clone is the second coming of source control management is getting tired.

Use whatever the hell you want. The seemingly non-stop discussion about SCM systems is getting stale. Unless GitLab does some incredible innovation, why must we keep seeing stories about it getting voted to the front page? Unless Github does something especially evil, why must we be constantly be taking and complaining about it? Every time GitLab makes an announcement, they get free advertising by virtue of the upvote cabal. Seriously it’s like HN has become their PR agency. Every time Mixpanel or New Relic or Codeship or Travis CI posts a blog post announcement, it doesn’t make the front page — neither does the press release announcements of dozens of more relevant startups than GitLab. GitLab announces a pricing change! OMG, let’s vote it to the front page because everyone in the Hacker News community should care!

GitLab is “open core” and apparently Github is evil because it’s closed source. GitLab is cheaper and that’s important because spending $12 per month for private repos is just offensive. Good grief. It’s getting as ridiculous as the Windows-Mac debates 10 years ago.

Unless GitLab actually creates some new innovation, I vote for a moratorium on any stories about them making the front page; a pricing change is hardly interesting. HN ought not co-opted as a free marketing channel. The past few days, Hacker News should have been called GitLab News.

> The past few days, Hacker News should have been called GitLab News.

You did notice the announcement that Microsoft has agreed to buy GitHub? I suspect that and nothing else is what drives the attention to GitLab which operates in the same space. There are also lots of postings about other competing companies entities, far more than normally. (Gitea, Gogs, comparison links and so on)

In all fairness, I wouldn’t classify the parent post of bashing. Exaggerating, at most.

Really interesting observation, does look pretty shady.


Do you have any evidence this person is a paid advocate?

GitHub is popular because it allows developers to connect the tools they want to use to their repository. Some people find having everything in one package convenient, but the truth is there are better tools for most everything GitLab does. I don't see how jamming everything into one application makes it appealing.

I prefer GitHub's approach of allowing applications to deliver more information back into GitHub https://blog.github.com/2018-05-07-introducing-checks-api/ As the tooling we use becomes more complicated that will be the winning strategy.

GitHub is popular because it's popular. A lot of it is network effects. As far as I can remember, they were the first user-friendly git web host. (Key being user-friendly).

GitHub has also been really great at giving back to the community (in ways that even GitLab has benefited I'm sure).

But I doubt the source of their popularity is the integration, although their robust APIs have made the ecosystem around them flourish.

The integrations are specifically why I use Github. When I had been on Bitbucket projects a few years ago, I remember how deficient they were with integrations. It was painful using Bitbucket for that specific reason.

well they also did some cool stuff like electron and github desktop

It's true that they also make widgets, but the proportion of people who use GitHub because of their desktop client has to be vanishingly tiny. GitHub became popular originally because of pull requests. It stays popular because of network effects that counterbalance its deficiencies (terrible search, weak bug management, short analytics window, etc).

With GitLab, the convenience is just another option, though in my experience it's a very powerful option that will get you further, easier, than many of the alternatives. There's nobody saying you can't run your CI on Jenkins or Travis, or deploy to whatever, wherever. GitLab gives you some powerful options built-in, whereas GitHub _requires_ you to bring your own for many of those use cases.

Not to mention it's open source, so if you find something you need, you can actually contribute it to GitLab. Not that it won't be work for you, but it's an option beyond asking somebody to put it on their dev team's roadmap.

It is not open source. That’s a bullshit assertion. It’s open “core.” There is a difference. And, you can write custom integrations for Github.

The problem I’m facing at work is that we are trapped in the Red Queen Problem.

We grew our platform so fast that most of the core effort is about scalability, logging and reliability. Half the new stuff is bolted on by other teams and I can’t see this lasting.

Someday one of our competitors is going to have copied our best features without all of our baggage and then we are one bad PR incident away from losing customers.

Then we’ll spend a ton of our warchest on rewriting the whole thing and if the stars align the process will repeat. Assuming of course that nobody has spent it all on something stupid.

Thanks for sharing!

I've often pondered that effect before but never knew it had a name.

In my case I was thinking of AWS versus "newer" competitors like Google Cloud Platform and Azure. AWS has a lot of services and usually keeps them running and backwards compatible. Newer companies could avoid making the less successful services and copy or take inspiration from the most successful services.

The latter is the Innovator’s Dilemma.

Every bad decision my competitor made that I can identify ahead of time just narrows the gap.

This is why I favor execution excellence over cheap wins. If you can consistently introduce features quarter after quarter year after year, you can run down a competitor. And your sales guys can position the product with that story.

But it takes money and intestinal fortitude, and both are in short supply.

I think this is the price of being the first, there is the cost of decisions on uncharted territories. The next competitor if they are smart they will learn from any mistake you had made.

But it might be the same problem GitHub has now, which is why I mention it. Every feature on the backlog has to compete with some other plan to deal with the customers we already have, or employee retention. It’s hard to stay focused on customer facing concerns when you’re bleeding.

Is it? They just wish to lure folks from Github to Gitlab and hopefully one day have their own multi billion dollar exit.

To be fair, github hasn’t exactly been a beacon of innovation since introducing the “fork” button.

Personally I’d love to see any of these VCS servers differentiate themselves by integrating with sourcegraph and/or offering a better CR experience. Sadly it seems like the market doesn’t care much about either :(

Sourcegraph CEO here. The market does care, and there are a lot of companies using (and demanding) deeper Sourcegraph integration with code hosts, via things like our browser extension (https://about.sourcegraph.com/docs/features/browser-extensio...), Phabricator integration (https://about.sourcegraph.com/docs/features/phabricator-exte...), and built-in integrations.

We've been so busy and haven't published much more about it yet, but there are large tech companies using these to get Sourcegraph integration right inside their code hosts. The feedback from our customers is very, very positive on these.

"To be fair, github hasn’t exactly been a beacon of innovation since introducing the “fork” button."

It's source code hosting. How much innovation does it need?

Well, that’s also what people said before GitHub.

One downside to this announcement is that this may become an excuse to stop open-sourcing features to Gitlab CE.

We (Debian) use Gitlab (salsa.debian.org) but we wouldn't switch to the free Gold/Ultimate version because we don't want our infrastructure to run on proprietary software.

It might be that the majority of free software projects accept to use the free subscription and therefore lower the pressure to add new features to Gitlab CE.

As implied in the OP we understand that some projects (like Debian) are not comfortable running proprietary software. We'll continue to listen to their wishes. And the increasing adoption of GitLab open source by open source projects might lead to more contributions to the open source code base.

Hopefully with all the Open Source switching to using Gitlab they would then have all the incentives to help make it even better and fast.

> Today, we're excited to announce that GitLab Ultimate and Gold are now free for educational institutions and open source projects.

Okay that sounds good though I can't figure out what "Gold" is as their pricing page only mentions "Core" / "Starter" / "Premium" / "Ultimate": https://about.gitlab.com/pricing

EDIT: Nevermind ... the metallic plans are for the hosted SaaS offering which doesn't show up by default on the pricing page with JS disabled.

> Open source projects: any project that uses a standard open source licence and is non-commercial.

I get the idea that GitLab wants to offer something to FOSS projects but restricting things to "Non-commerical" is both vague and limiting. Would Spring qualify? It's open source but backed by a commercial entity. How about Redis? Open source with multiple companies offering hosted variants. What about MySQL? It is GPL ... but you know Oracle...

Also unless GitLab is going by the Queen's English "licence" is spelled wrong (should be an "s").

> Free GitLab Ultimate and Gold accounts do not include support. However, you can buy support for 95% off, at $4.95 per user per month. To purchase support, contact sales.

So support is usually $100/user/month? Are there any takers at that price or is that the usual high ball so that you can offer a discount to the procurement department?

Gold is here: https://about.gitlab.com/pricing/#gitlab-com

They have pricing for self-hosted, and pricing for gitlab.com (managed)

Notice they do not define "non-commercial" at all so could at anytime decide that someone somewhere is making money off your project or by using your project and insist you move to paid hosting.

It's a scam.

> It's a scam.

This is typical education & OSS licensing. You can find the same verbiage in basically every discounted system. JetBrains products start with "for educational use only" when using academic discounts. When using Autodesk software for free, you get the same stuff.

Gitlab is trying really hard to be a great offering -- it's highly improbable they're going to resort to extortion on their newly opened discount programs.

How is it a scam? When I was a college student I would have loved free use of the JetBrains IDEs. When I graduated and got a job I may have needed to use a different IDE (and JetBrains would obviously like me to encourage my new company to switch to JetBrains), but I don't think that is a scam.

>You can find the same verbiage in basically every discounted system

Which is a shame, because it excludes non-commercial research. I work on an academic public health research programme and I'm pretty sure we're not eligible for this wording. We don't teach, we research, we're academics not lecturers...

You could always try e-mailing them. It might just be a use case they haven't thought about.

They do define non-commercial.

> It should not have paid support or paid contributors.

This is odd to me because Certbot and Boulder, the projects I have the most connection with for my job, both have paid contributors, in each case paid by 501(c)(3) non-profit organizations (EFF and ISRG)¹. Both are free software projects with "standard open source licenses" and neither project ever charges fees to any user, although Certbot displays messages soliciting optional donations to the non-profits in question.

Is this really what the author of the definition intended?

¹ Also, three for-profit companies have "seconded" developers or documentation writers to Certbot at various points and at least one other one was planning to and then didn't go through with it.

... also, no project that takes advantage of this offer can participate in GSOC because then it would have a paid developer?

It could be what they intended. It's a good way to be sure they only provide free services to projects that would never be paying customers. If an organization can pay someone to work on an open-source project, they could also pay Gitlab to provide services to that project.

That's a very good point. Maybe "noncommercial" here is in fact meant to capture something like "lacking in financial resources" rather than literally "noncommercial".

The definition was made by 1password and we reused that. We do want to extend this offer to Certbot and Boulder. You can reference this HN comment to make sure your application gets excepted. And because we owe a lot to Let's Encrypt we'll also trow in the support for free if you need it.

I don't know if these specific projects plan to switch to GitLab, but I appreciate your offer very much, and if the topic comes up I'll certainly pass it along.

I was just thinking of this situation as an example of an uncertainty in the current definition of "noncommercial", rather than a practical problem that we faced immediately.

But again, thanks for chiming in and thanks for the offer.

No paid contributors? So, projects like Vue would not qualify because Evan You gets paid through Patreon? What about open source contributors from companies like Facebook or Google? They get paid.

It's hard to imagine a single open source project that doesn't have some sort of commercial contribution or sponsorship!

edit, response to detaro:

FB and Google should definitely pay to host their own projects, but many of their engineers contribute to projects all across GitHub!

> What about open source projects from companies like Facebook or Google?

Why shouldn't Facebook or Google pay for code hosting if they want more than the free plan offers?

There is no limitation on resources / seats etc on the free plan. The plans are all feature based

That is a lot better than nothing, but they still need to fix that -- if I submit a patch as part of my job, the project now has paid contributers, even if they don't know it.

Can I host a copy of the Linux kernel on ultimate/gold?

If not, then any person can make a fork of an OSS project and charge 1 cent and it is now a "commercial" project and can no longer be hosted on ultimate/gold. It is not defined and Gitlab can use this ambiguity to at any moment start seeking rent...

Or, someone could just hire a contractor to start contributing to the project, and now it has paid contributors. :-)

I think it is great that they are offering is, but it's a shame that students/lecturers/researchers cannot apply individually. GitHub and others work around the administrative load by checking the e-mail address against educational domains.

Honestly, I don't think it's as big of a deal. GitHub's student discount is all about giving students free private repositories for two years. Gitlab's is about adding more on top of that (private is free by default).

There is a lot less urgency needed to setup a system for administering discounts like GitHub did for this reason.

They could probably just benefit from making it more clear that private repositories are free for students (even though they're free for everybody), no verification needed. If they reword it like that, it's basically saying "we're not even going to make you verify that you're a student and you get a great deal."

Interesting idea. Is there an authoritative list of educational domains? Checking the last part of the domain name doesn't work in some countries like at my old university https://www.utwente.nl/

Also, my university gave me an alumni email address that I can still use today that has the same domain name.

Someone already posted below, but you can find a pretty good list at https://github.com/leereilly/swot/tree/master/lib/domains or on the Jetbrains fork at https://github.com/JetBrains/swot/tree/master/lib/domains

Thanks, still not sure how to deal with people (becoming an) alumni.

most common way I have seen is edu email address as the first pass, and a photo of a current student ID (this requires a human to check).

Github lets me use my alumni account for the discount (I dont), their idea is if you want to abuse your alumni account you get 2 years free, and they just swallow that cost

Amazon and iirc, github gave you an option to upload a valid student Id if your student email didn't end with .edu. My school had the same issue, and this is how i managed to get Amazon prime and github student pack for free. Hope that helps!

JetBrains let me do that. It was helpful as my school doesn't allow us to talk to outside domains from our email addresses.

I think the second point is the more important one. I have no idea how prevalent it is, but my university lets me keep my original student address forever. You can't rely on even .edu addresses to ensure current academic affiliation.

Usually people just check if the domain is `.edu` since IIRC you need to be an accredited institution to acquire one.

EDIT: University/Colleges only. Per wikipedia: "Since 2001, new registrants to the domain have been required to be United States-affiliated institutions of higher education;..."

Many places that offer free tiers for 'education' only worry about that level of education and locale, anyway. (Not saying they should limit it to that, but many do.)

A lot (most?) of schools outside of the US don’t have a .edu domain. At least in France, I never saw a single school website ending in .edu.


edu-domains where for a while also given to non-US institutions, but this stopped and has now been US-only for a long time.

There are schools, atleast here in Canada that are accredited but don't end with .edu.

I totally agree to this. As a student, I'd love to apply individually like on GitHub for the student pack.

I remember coming across someone (I think it was JetBrains, but don't quote me on that) using https://github.com/leereilly/swot

Not only that. But when I was a student and I live in a third world country where college won't give you an email address. GitHub was more than happy to accept my student certificate. It was very helpful of them. If we talk about countries like mine, then going through the administration way to get such thing is sort of fictional. We can barely make the administration handle our real absolutely necessary stuff. There are a lot of motivated students in my country and others that love this kind of things and if you are requiring the intervention of institution for setup, you might just not have offered it in the first place.

"It has been a crazy 24 hours for GitLab. More than 2,000 people tweeted about #movingtogitlab. We imported over 100,000 repositories, and we've seen a 7x increase in orders." That's quite an impact!

They are also paying people to Tweet. That's the only way for people to get a discount.


It's right in their blog post, if you read it https://about.gitlab.com/2018/06/03/movingtogitlab/

They're not paying you to move, they're offering a discount... Semantics aside, this is a pretty common thing for a competitor to do when something negative comes out about their competition (Either giving out blanket discounts regardless of social media or having you verify a tweet some how)

I understand the value of guerrilla marketing, but at the same time it makes them seem less credible.

Imagine if they offered a 75% discount for defending them or praising them on Hacker News! That would make any comment in support of GitLab suspect.

I think many of the #movingtogitlab tweets were sent before we even offered a discount.

They said more then 1000 were tweeted before they make the blog post. Now they have 2000 tweets.

I bet most of those newer 1000 #movingtogitlab has absolutely nothing to do with the discount.

Yeah but this type of advertising is really common on Twitter and not on HN.

Sounds like quite an overreaction to the MS purchase of GitHub. Good for GitLab, though, they certainly deserve the extra traffic.

I think it's likely that there are fair number of people who were already thinking "I should probably move to GitLab one day", and have taken the recent announcement as a reason to actually get round to it (rather than being directly motivated by disgust for Microsoft or similar).

I fall into this camp. I'm not particularly bothered by Microsoft's acquisition of GitHub, but I've been eyeing GitLab for awhile now.

This just gave me an excuse to pull the trigger.

It's not an overreaction. MS sucks, they ruin everything they touch. Move to gitlab with literally one button, move on with your life like nothing happened. What's not to like?

What’s not to like? Moving to GitLab. I actually like Github. It works and works well. Change for change sake is a bad motivation for such a critical part of software development.

If MS “ruins” Github, then I could move then right? Because it’s so easy? Right now, Github isn’t ruined, so what is so compelling about moving now? I am failing to see the emergency. What happens if GitLab is bought by someone else we don’t like? Do we move again? It’s tiring to keep up with all of the things about which we should be outraged. I just want a rock solid product that works. GitHub does that, so what is so compelling about moving to GitLab?

We all liked github. It's not github anymore. Let's pretend it's call MS Hub and now tell me you still like it. If you do, that's fine.

By moving now you're doing a number of things. First, you're telling your contributors and users that you don't like having access to your software controlled by MS. Second, you're supporting their competitor now when they need you, rather than when you need them. Github's competitors may not be around in 5-10 years when you will finally need them, unless they are supported now. Thirdly, it tells MS that you will move if they meddle again, if everyone jumps ship for gitlab et al. then they are much less likely to buy gitlab down the road.

What do you mean 'meddle'? GitHub was looking to sell. Pretty badly by the numbers, considering how much money they were burning. GitLab has the issue of slowness, as their free service just isn't as good, because they can't afford to just burn VC money. That's why GitHub was good.

Exactly what meddle means. If the developer community jumps ship as soon as MS acquires a developer tool, then MS will stop buying (and later ruining) developer tools.

While this is totally an awesome move in terms of marketing...

Why doesn't the Open Source community actually band up and make a Github alternative that is actually good and free for Open Source?

Considering that public Git services are kind of the single source of failure for all of the projects providing what the Internet needs to run, shouldn't we instead band together and make something like the Linux Foundation for Git, providing Git infrastructure for all those projects?

It kind of feels like a really stupid move to hand over central infrastructure into the hands of any commercial entity.

I think that is is best to open pull requests to Gitlab instead.

You may object and say that it is a bit lame to re-implement something that is already in the paid version. However, it is best than re-implementing everything from scratch.

Also, I have heard that Gitlab is open to open-sourcing features when you show interest to have it in the free version.

Take a look at this issue for example, which tracks Gnome's wishlist for Gitlab: https://gitlab.com/gitlab-org/gitlab-ce/issues/43566.

The guys behind the Gitlab company move the community edition pretty fast too, possibly faster than what we would achieve by duplicating efforts.

However, as I mentioned in another comment (https://news.ycombinator.com/item?id=17241209), this may change because the new free Ultimate/Gold subscriptions could become excuses to stop open-sourcing features to Gitlab CE.

We're always open to discussing open sourcing parts of GitLab. We will continue to do so on a case by case basis.

Well, there is savannah.gnu.org. That is exactly what it is for (created as a response to everyone and their dog hosting their projects on SourceForge).

But I'll be honest. The main reason people want to use these services is the hosting, not the software. That's why you see large numbers of people moving from GitHub to GitLab. They are willing to give up the software that they are used to in order to go with a hosting provider with which they have more trust.

But if you are in a mood to write code, I'll give you my wish list: Issue tracker and review tool built into git itself. You can start here: https://github.com/google/git-appraise

Canonical's bazaar is also Foss, as is the new source forge. Both are rather complex to self-host, though.

So is gitlab in a sense, but they've managed to wrap the complexity in their installer, with some success.

You might be underestimating how hard such a thing is to create, and overestimating how well funded open source is...

Neither of these, been in both situations.

I just am kind of ashamed for us as developers that we can not manage to band together and solve the task. That is what is really troubling.

We already have the software (git) and it is distributed by design - some people (and companies) prefer a central authority with some additional features (most importantly some issue management system I guess) that is the "upstream" truth and they don't want to run this infrastructure.

So we have the software part (git, sshd, gitea, gitlab, etc.), but if you want a "central" repository you need a server, ergo server administration and people like to outsource that. I expect the hosting costs of github to be tremendous and there is currently no institution that wants to do that.

You could also demand to have some open search engine (instead of Google), but this seems really non-trivial to stem - and people's expectations got very high (for uptime, availability, etc.) - which is probably a good thing as it shows how far we have come.

"Why doesn't the Open Source community actually band up and make a Github alternative that is actually good and free for Open Source?"

Because Github's major thing was providing hosting and tools, along with the network of users. Hosting costs money. How would an alternative get around that? Self hosting couldn't be a requirement, because most projects don't have any kind of income, and so wouldn't be able to afford it.

> Why doesn't the Open Source community actually band up and make a Github alternative that is actually good and free for Open Source?

Wasn’t that Gitlab a few years ago? They latter turned into a company with a closed, "enterprise" version then raised money.

One of the closest attempts that I've seen lately is https://notabug.org/

It uses it's own fork of Gogs and it looks and feels like GitHub - maybe even too much.

Ok, who's paying?

See Wikipedia, Linux Foundation, etc. We all are in some way, and we all should.

Or we start treating parts of the internet which everyone uses like water, streets.

To those using Gitlab to escape Microsoft. You might want to check where Gitlab is hosted. I suggest you go the self-hosted route instead.

Using a service that is hosted on azure is a lot different then a product owned by Microsoft.

To expand on this, Gitlab is currently hosted on Azure (Hello Microsoft) with current (now expedited) plans on shifting over to the Google Cloud Platform.


Can I self host gitlab gold with my 20 opensource projects but with 2 non-opensource because these are my experiments with stuff I dont want to show and get indexed by search engines?

@sytse: congratulations on that move :)

Courtland from GitLab here. GitLab hosts the gold plan on GitLab.com, but GitLab Ultimate has comparable features and you can self-host that. Both GitLab Gold and GitLab Ultimate are free for open source maintainers. I could see why you (and other open source maintainers) would also need a private project or two. I'll get that discussion going internally at GitLab.

Do you know that gitlab.com already offers free private repos ? If you do, what are the features from this gold version that you are currently missing with the free version ?

I think it's a question of does signing up for gold for open source repos exhaust his free repos from the base version?

Definitely not. Presumably the gold subscription would be associated with a group for your open source projects, and your personal private projects would be completely separate (and free, just with Core functionality).

Yes, I know. I started using gitlab.com in 2014, I have there all my projects, my side projects, failed startup, assignments from uni, notes from lectures and own experiments, CV in Latex etc. Some of them I keep private, some of them are opensource. I enjoy hosting things myself, so my question is basically, can I replicate gitlab.com for my opensource projects, but keep privacy of my existing private projects.

This is a non-useful comment so feel free downvote, but the product offerings for GitLab sound ironically like Windows released product offerings.

I must admit I did think of Windows Ultimate when I came up with that name :)

While I enjoy my free gitlab.com account, I would prefer to use a version of Gitlab that is 100% open-source. This in order to not feel trapped the day they are bought by a bigger actor. I hope they will allow such an option.

You may be interested in Gitea or Gogs, then. Open source GitHub-like things. Gitea is a fork of Gogs and has more features. Written in Golang.

Worth a look, perhaps.

Installed Gitea on a potato yesterday, can confirm it works great. Gitlab wants 2 cores and 4GB RAM at minimum, Gitea runs on my old Intel Atom based laptop with negligible RAM usage.

Gitea had a lot more pull requests merged and issues opened than Gogs, so it seems to me they're the more active of the two. (See for yourself: go to both Github repositories, hit 'insights' and check the past month.) Gitea was apparently forked because they wanted more community driven development rather than by one person.

You could always host the open-source variant (Community Edition) of GitLab on your server.

We've been pretty happy with Phabricator. Its code review is miles ahead of the others, in my opinion, and other parts also work well for us.

Of course, it's not a direct replacement, since they don't have free, centralized service like GitHub/Lab does. But, it's 100% open source and you can easily host it on a potato.

If it's any comfort, GitLab's intention is to go IPO rather than to be acquired. Granted, what they intend and what actually transpires at some point may change.

> If it's any comfort, GitLab's intention is to go IPO rather than to be acquired.

Not particularly reassuring since acquisitions of companies after they IPO happen all the time.

There are public instances running GitLab CE at framagit.org and 0xacab.org.

Is there any particular closed source component you have an issue with? I self host gitlab-ce and have yet to find something that I really wish I had, so I'm curious if I'm just missing something.

Actually I believe that I am not using any closed-source component (or else I would not have posted the parent). However I do not want to start using any by mistake.

So self-host or use one of the many public gitlab-ce instances?

You can self-host the community edition, which is open-source under MIT.

@naikrovek, @prophesi: I know about these solutions but I would like to avoid having to self-host, because of time.

If I'm reading that right,

"I want a hosted service which is free-libre and free-beer, and don't want the provider to charge or be acquired by a company, and don't want to do anything other than consume their service."

How exactly is that a sustainable model?

I do not ask for any more feature than they currently have in the free-libre version. I would not care if they were to be bought by X or Y. I am happy with them selling a non-free-libre version. Providing a basic free-libre, free-beer version that works and eventually wins other Github (free-beer version) would be very powerful marketing-wise.

The feature you're asking for is free hosting and maintenance. It's a totally reasonable business model to supply that either through a paid-plan, or by hosting only the non-libre version of the software.

As you've mentioned, hosting costs time, which is money. It also costs bandwidth and storage. That gets quite expensive when you're at the scale Gitlab is currently at.

I do not understand how that would require a change of their business model because they currently provide free hosting and maintenance for a version that I think has more features than the community edition.

It does have more features; they're banking on the fact that users who try out Gitlab will like those additional features, and thus will want to pay for the enterprise edition when their business decides to self-host.

Though I will say that this can be a sneaky business model. Users might not realize some of the features they depend on in the gitlab.com version isn't from the community edition.

So is GitLab the new GitHub for opensource?

Anecdotally I've found Github much cleaner-looking, much faster and more usable than Gitlab. Github was never opensource, and I think people used it for all of the above. I'd be surprised if the recent acquisition changes that.

I feel like part of this minority. I find GitLab's UI less clean and more difficult to process, and miss the social interaction features like the feed.

I preferred GitHub's UI because it was cleaner and much faster to load.

I'm part of it too. Some years ago I was looking for an alternative to GitHub, with free private repositories for some personal projects I wanted to keep private. After a few weeks on GitLab I ended up moving to BitBucket because it was generally faster to use

While the feed is interesting, I've often found myself wishing for a quick way to get to a list of all of my repositories on GitHub.

GitLab's initial screen is that list.

I think most people will have a 'wait and see' attitude. Moving git repositories is easy and issues, etc. can be downloaded through the GitHub API.

It may well be that Microsoft doesn't radically alter the direction of GitHub and that will be acceptable to most people.

(I would prefer a fully FLOSS solution, but GitHub has huge benefits in terms of network effects.)

I think if Github does one or two huge updates that are really well received post-acquisition, preferably the kind of updates only possible with a tech giant behind you, they will secure their position for a long time. For most users Github still has the best product - how people are forgetting that is beyond me.

"preferably the kind of updates only possible with a tech giant behind you"

What kinds of these? Its never been the case that 25% more engineers means 25% more progress and github is a mature product made by a company that already employees a signifiant staff.

The logical thing would be not to piss off the existing users and use github to add value to existing Microsoft properties. So some new integration with Microsoft things?

Expanding the Github Education package, integrating Github offerings with the Spark program, applying Bing search expertise to Github code search, creating a more flexible pricing model for hobbyist users, expanding their free offering, creating better Desktop/mobile applications for Github services (better the the open source ones currently available at least).

Not sure how much more "tech giant behind you" github needed. They are already a pretty large company for what they do.

As anyone who has used both can tell you: no.

Until MS bought Github. Now for Gitlab this can as well become yes.

Why is BitBucket not being kept in consideration with this move?

Probably because Bitbucket is a terrible product. It has the worst interface of the group, and less-than-minimal support for pull requests (comments disappear when unrelated changes are made, aren’t easy to browse, aren’t related to a review; only options are approve and permanently close; code expansion doesn’t work past a certain point, and doesn’t work at all if the pull request comes from a repo you don’t have access to even though you could just merge the pull request and get it).

Also required users making private forks of paid-for organization private repos to pay again to give access to all team members at once last time I used it, but I guess that’s not relevant for open-source migration.

> only options are approve and permanently close

You can also mark it as «Need work».

Oh, nice. (This didn’t exist back when my team was on Bitbucket, sorry for the outdated info.)

Because it's a slow piece of shit with even slower support. And as others have said is really built to look good to managers.

I was wondering the same. I thought Atlassian had better rapport among devs than GitLab.

I would argue that Atlassian has better rapport with engineering manager types. Their products integrate and bundle quite nicely which is compelling for many organizations. As a dev, I'm not a fan of their UX but I've known quite a few PMs that are JIRA masters and love the fully integrated solutions Atlassian offers.

Does Atlassian have better rapport with the businessy set that often makes purchasing decisions? Yes.

Better rapport with developers? Probably not.

(and, FWIW, we use Bitbucket/Jira and honestly I'm fine with them - their updates just tend to be full of the annoying things a bad PHB would love and light on the things developers care about)

No sales people pushing the products makes it a little harder for it to be a push down from the businessy-set.

No. Because they make Jira

I laughed.

Doubt it, in the long run. I also question the move from one VC-backed company to another unless you're only using their self hosted options (though I guess being open source is better).

Maybe they should change their Twitter bio. It leads with "GitLab is open source software" but if they move many of the users of the Community Edition to GitLab Ultimate, they will stop feeling the pain points of the Community Edition and too many core features will be Enterprise-only, and the Community Edition will fall into disuse.

I like this. I just don't know if it's a smart idea. Some threads since the announcement have complained about the performance of Gitlab (in varying ways, from website to CI). Is providing free access to an overloaded system really the best course? Will this negativity impact paying customers? This is the right thing to do, but preparation might have been a good first step.

I've seen no comments of gitlabs recent performance. Performance today may be very different from a year or two ago when all these opinions were formed.

The offer is valid for both the SaaS and for On-Premise installations. (Gold refers to the SaaS plan, and Ultimate is the license level for on-premise)

Awesome response. I signed up years ago because they do unlimited free private repos, though I wondered how they could afford to give so much away for free. While I can't find the exact statement now, I was affected somewhat by their dedication to always offering unlimited free repositories, believing that such access was along the lines of a "digital right". Obviously there's strategy to all of this, but following them all this time it's nice to believe that perhaps the top of the organization still believe in that goal too.

fantastic move. perfect timing and opportunity.

Time to capitalize on the senseless sudden hate for gitHub

Can you blame Gitlab for capitalizing on this opportunity? Not everything is based on hate, framing this as hate and senseless only stirs the pot and adds nothing to the conversation. Every individual has their reasons. People in general are reactionary; so this was probably the tipping point on a decision they had long been exploring.

Microsoft does have a terrible history regarding open source.

Github felt safe before, a neutral ground for Google, Microsoft, Apple, Facebook, Netflix, Amazon all come together and share their love for code and just code.

Not so much anymore. The hate is over-blown, but it does feel weird now. With a knowledge of Microsoft products I can understand why many people would see a bleak future ahead [0].

[0]: Relevant image going around the internet: https://desu-usergeneratedcontent.xyz/g/image/1528/18/152818...

Why not just first wait for their actual moves before spreading panic. I don`t love microsoft and use 0 of their software/hardware products but I don`t believe they will ruin Github. It would ruin their reputation with developers to a very large degree.

But if they do, it is so easy to switch, that I do not see the point in "all hell broke loose" panic attacks before anything actually happened.

The move is already done. The big companies can't host their projects on their main competitor, they will start migrating soon enough.

What big companies? You would be surprised what big companies use. GitHub Enterprise for example, is self hosted.

But this has a public effect.

"already done" and "start migrating soon enough" does not sound like same timeframes

It sounds like Github was in a financially vulnerable position and shopped around for the best suitor.

Microsoft is committing heavily on open source, for good or bad, and it would be tactically disadvantageous for Github to fall into the hands of a competitor.

If history tells us anything about acquisitions of this nature, it never ends well. But I could honestly see things being a lot worse if they'd been acquired by someone like Apple or Google.

> Github felt safe before, a neutral ground for Google, Microsoft, Apple, Facebook, Netflix, Amazon all come together and share their love for code and just code.

This! This is my primary concern. It's not even a concern per se, since I am convinced all of those companies (except MS of course) will pull-out and disperse to alternative services. And then I believe a 2nd wave of smaller, related-to-products-of-these-companies' projects will also leave.

It was nice to have a neutral ground where all "sharks" came together. But at the same time, I can't blame GitHub's founders and board for searching an exit.

And a lot of us have tried to give MS the benefit of the doubt several times over the years and have been bitten by it several times.

What bit you in the last decade?

- forced "upgrade" to windows 10 (from 8 or 7)

- OS level adverts on a fucking paid OS

- forced updates (and forced restarts) at the most inconvenient times)

- MS buying Skype, then removing Linux support, and removing the p2p nature leading to privacy concerns and shittier connections

- the endless spyware they install in the OS, and make it impossible to easily and permanently turn off.

I can't speak for parent, but for instance inserting ads into Windows 10:


The hate on Oculus by its very community when selling itself to Facebook was "sudden", too, but it wasn't senseless.

A part of this is also attempting to capitalize on GitLab being integrated with the new Xcode, as the blog post mentions.

There is plenty of hate to go around. :-P

I kinda want to try Fossil now.

Without sounding too negative, in its current state I wouldn't even want to use GitLab for free. I applaud them for this move, but I simply don't understand how a company that employs that many people and that redesigsn its entire software the 3rd? 4th? time still has a complete usability mess at its hands.

> complete usability mess

Works fine for us at zenAud.io... anything in particular you find lacking?

I must admit though: their change to group-based issues annoys me because you have to jump through a bunch of links to get to the milestones for a project. But otherwise it's pretty similar to competitors... but hey, maybe we're not real power users.

Unrelated, but your home page has some horizontal scrolling. 2015 MBPro/Firefox Dev Edition

Urgh.... thanks for pointing out. This is what happens when a C++ dev creates a website!

UPDATE: temporary fix -- I removed the offending section.

Weird way to try to discredit someone...(?) Works fine on my 2017 XPS 15/Firefox Quantum.

How do you get the idea that pointing out a bug with a site is an attempt to discredit and not common courtesy among fellow community members, especially after the site owner has already thanked them and fixed the issue?

Most of the issues I have with Gitlab's UI are the result of many small, seemingly insignificant and probably nitpicky-sounding choices that tend to build on to one another. All of these are my humble opinion:

* Everything about browsing projects. Okay, so if you click on "Projects", you get taken to a list of "your projects". That's kind of annoying since I'd go to my personal page if I wanted a list of stuff I've touched (kinda like Github) but it's defensible as a choice. If you want something that isn't yours, it takes another click to "explore projects", which goes to a "trending" page that will either be blank or have very few things on it, and another click after that to get to the time-sorted list of everything based on last update, which is usually what I want.

* Groups appear to be second class citizens of sorts, rather than the top level organizers they really are. (I.e. groups are separate from projects, even though all projects live in a group or user space). Bitbucket did this better - when you log in, you see a list of groups first, and from there drill down into projects.

Basically, it kinda wants to be a hierarchy but offers too many ways to circumvent it. Imagine if you were just browsing a file explorer and saw files two levels below your pwd. It's disorienting.

* Top level project pages feel cluttered and noisy. Github does this better, without requiring a separate sidebar.

* Repo settings are buried under expand links. This did not make the page more usable, it made it so I had to guess where the setting I want is.

* Why are there two nearly identical pages for showing repository contents? (One at the top level of a project, which is any project's landing page, and another on its "repository" tab, which is the same view missing a few elements)

* Releases and their artifacts are buried behind "tags" (which they technically are in Git parlance, but still) or a very easy to overlook CI status badge on the last commit shown on the landing page. Releases can only be created with API calls or manually through the new tag page, rather than programmatically or as part of a CI job. (Yes, I know, the CI job could technically call the API. You get a cookie. Point is, it feels rather buried.)

* Build artifacts can only be downloaded in a zip bundle, rather than individually

* I haven't figured out how to turn off the "Do you want to enable Auto DevOps?" div showing in every single repo.

* Advertising for Google Cloud on the CI Kubernetes page is just plain tacky. I'm sure there's a way to turn this off, but I shouldn't have to in the paid Enterprise product.

This isn't nitpicky at all @Karunamon, this is UX gold! I have created issues for some of your major points here, I would love to get further input from you as we work through them.

https://gitlab.com/gitlab-org/gitlab-ce/issues/47400 https://gitlab.com/gitlab-org/gitlab-ce/issues/47401 https://gitlab.com/gitlab-org/gitlab-ce/issues/47402

We have a couple of issues open to address downloading individual files/artifacts.

https://gitlab.com/gitlab-org/gitlab-ce/issues/24704 https://gitlab.com/gitlab-org/gitlab-ce/issues/23705

I am going to add your feedback on both of those and see if we can get some attention in this area.

These may seem like small, insignificant problems but they can easily roll up into larger UX issue. Keep these insights coming!

Yes! GitLab gets a hundred little things wrong in the web interface. It really seems like they're trying to win on features when user-friendliness should be their #1 priority especially if they want to take GitHub's crown of "code hosting for everyone".

This is a screenshot of their issue page taken straight from their website: https://about.gitlab.com/images/feature_page/screenshots/41-...

It's just cluttered. All the controls you need are there, but it's not focused or simple. My eyes don't know where to focus.

Another example: https://about.gitlab.com/images/feature_page/screenshots/34-...

Things are just thrown on the page.

This is really useful feedback @Karunamon! I see Sarrah already addressed it so I just wanted to add my bit: I also think that the approach we used for designing settings pages isn't optimal and suggested improvements in a discussion on a related issue:


After seeing your feedback (and confirming my assumption) I decided to open a new issue to specifically address this and would love to get your feedback on the proposed solution:


Thanks again for taking the time to write such detailed feedback down. It's really helpful to us. Cheers!

I agree that the Settings page is a pain to use or find anything. I prefer everything to be displayed in one page so I can do a quick Cnt+F and search for the string I am looking for instead of tediously mousing over every button to expand. See Jenkins->Manage Jenkins->Configure System

Oddly enough, I stumbled on the fact that Ctrl-F works fine on these pages. All of the items below the expands are still visible to the search, and the expand automatically pops open when your cursor jumps to the matching text.

Great feedback!

I agree on most things but I really do like the sidebar. It can be hidden if you don't like seeing it (arrow on bottom left). It also allows you to hover over the sections and drill into the page you want without having to click and load pages. It's definitely an improvement over the previous arrangement they had.

Agree that tags is an annoyingly unintuitive place to go when looking for releases. Just call it releases and place it prominently on the repo landing page like Github. The fact that releases are also tags is understood. The icon gives it away.

Just to note, you can indeed browse build artifacts on GitLab, but finding it is a PITA. You have to drill into your CI Job and there's a button link on the right. It'd be nice to have a "Browse artifacts" option in the Download widget.

What don't you like about it? I had to use it at my last company and was very impressed all-round.

Same here. We self hosted the community edition and could even auth to ldap. Gitlab CI worked well, ran tasks in docker containers, and did multi pipeline builds (although Jenkins does that now too and their Jenkinsfile is way better than gitlab-ci.yml)

I'm not sure about the people who had to admin it, but for us devs it worked really well

None of the things you listed are focused on usability, which is what OP complained about. Liking some isolated features of a product doesn't mean it's easy to use/understand or well-designed.

Well OP didn't mention any specifics, which is what we're asking for. I mean those were isolated features that I liked, but in general I liked the UI too. I was just mentioning specifics.

I mean the merge request cycle works well (way better than BitBucket or Gerrit). Sure the initial project screens could use a little work (show the files instead of the readme/project info?) but in general I think the UI is decent, especially compared to BitBucket. Needing some improvements is different than being a "complete mess."

It could be improved sure, but I don't think the current UI gets in the way of my development in significant ways.

I don't think it's that bad, but I don't like it either. My main gripe is the sidebar. I don't like the fact it hovers over content. I don't know what the icons mean, so I always have to expand it to use it. I'd rather have it fully expanded always and displayed alongside the content.

Another problem is that the project explorer is very bare bones. I can't filter by language, for example.

At least provide some useful feedback beyond "I don't like it" so the developers on here can learn something.

Hi can you elaborate what exactly the issue is?

Can a professor give me a gold access?

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