Concerned about the long term implications of the high growth startup model... Gitlab is awesome and all that, but how can I be sure the free version will stay that way in the long run?
Is the free (free as in beer, I'm not an open source zealot otherwise) Gitlab not just a part of the conversion funnel, eventually made unsustainable once growth plateaus?
Thanks for your question! We're a VC backed startup so we have to have a so called liquidity event at some point. As explained on https://about.gitlab.com/strategy/ our goal is to IPO instead of being aquired. This will ensure we can preserve our culture, mission and goals.
There will always be an open source version of GitLab, more than 1000 people contributed and it the most popular self-hosted option, used on-premises by more than 100,000 organizations. They will keep going with the open source version, with our without GitLab Inc.
But the MySQL purchase by Sun and Oracle has shown what can happen to projects when the company is acquired. The best option we saw is to at least codify our promise to the rest of the community in https://about.gitlab.com/about/#stewardship
- Resource usage seems very high for small shops; will there be a GitLab "lite"? ...would be especially awesome if it didn't need a mostly dedicated container and could drop in as a subfolder of an existing site (with minimal resource requirements).
We will try to reduce memory usage by something like 20% in the coming year. We have package for the Raspberry Pi 2 if you're into that. But GitLab will always be large due to its many features. For more details see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst... If you want something with minimal requirements I recommend Gogs https://gogs.io/
It's really nice to see you plug Gogs like that :) I'm a massive fan of both! They fill different niches I think. You're always super helpful here on HN, too, and I just wanted to let you know that I (and I'm sure others here) appreciate it!
Nice! Could you share some info? (Many variations of contact info in my profile).
I run our Shibboleth IDP among other things, and I was told by the team that was looking at GitLab at the time that it was impossible to tie it in with the currently available SAML SP plugins. This was over a year ago, maybe things have improved...
Pick one. Or is there a historic precedent I'm unaware of?
On a serious note, the shift in the latter parameters can be smaller than in an acquisition, but to "preserve" would imply actively managing employee (and founder) expectations in the build-up to IPO.
I agree that as a company grows the culture will always change, there is no standing still. But we're very active in spreading and prioritizing our values. For information about our values please see https://about.gitlab.com/handbook/#values
I'm patiently waiting for you all to decide to focus your main interest on making gitlab.com the best place to host open source projects, while the GitLab EE/on premise stuff turns into a quiet side gig that just happens to bring in some extra cash.
Any chance of that happening soon?
To rephrase: There are folks willing to give you cash right now to be the host for their projects. Would there be a way to convince you to take it?
Instead of giving cash to use I would encourage people to move their projects and contribute by adding the features they need or helping our people, see https://about.gitlab.com/about/#donations
A bit late responding to this thread, due to sleep.
I recently started to mirror my repositories between GitHub and GitLab (they're just really small R packages).
It was very simple to update my local git config file so that "git push origin master" now pushes changes to both GitHub and GitLab.
I've also made it clear in the README how to install from GitLab.
Three minor annoyances:
* GitLab doesn't support Rmarkdown in .Rmd files, so my vignettes look great on GitHub, but not GitLab.
* I wanted to start an R Group (and did so), where people could share their R related projects all in one place. Unfortunately, as the projects are only shared with the group, they don't display when publically looking at the group if not signed in.The group image is also broken. [0]
* Relative links don't quite work the same, so some README links still only point to GitHub, as they were broken on the GitLab mirror. (Might just be user error!)
I also have a self-hosted installation running for a couple of private projects. It's on a small DO instance and does thrash resources a little, but generally works fine for two developers.
One thing that more recent code hosting sites miss out is mailing list hosting, for less structured discussions between users and developers, or for providing a private group contact address for the developers.
First off - you guys have a great thing going and I wish you all the luck.
What's the current status of the GitLab.com infrastructure? Are you still on Azure, and if so, how has it been? Does it seem like things are humming along and stable now, or do you foresee some more growing pains before things are rock solid?
Thanks for asking. We're still on Azure but it seems that most of our initial problems are solved, our uptime has been acceptable. PostgreSQL and Redis are now highly available. Before we call things rock solid we still have to figure out how to cluster our storage https://gitlab.com/gitlab-com/operations/issues/1
Thanks for jumping in to the thread. I'd really like GitLab to succeed simply because I like the results of healthy competition. So can I name a couple of things that are standing in its way?
1. gitlab.com site search is effectively down. A simple keyword search, e.g. for 'omniauth' takes 45 seconds:
I periodically find other site links which are surprisingly slow, like this one.
2. I'd really like to add GitLab oauth2 as a first-class citizen for people to sign in to my apps( e.g. http://nonstop.qa/users/sign_in ), along with GitHub and Google. Adding those two were easy, but I haven't found a working, maintained Ruby omniauth GitLab adapter.
Isn't the Elasticsearch feature just for EE? Or are you planning to release it for CE too? I just upgraded to 8.4.4 and didn't see any of it (not that I look so well).
Hi, I'm planning on migrating away from stash to most likely gitlab in the next few weeks. One thing that keeps coming back among my team is where is the real search power. I followed the work your team did with EE and Elastic and was curious if you will plan to back port it into CE?
all i read is that it's EE, but will it be brought to CE is the bigger question, and how does that fall into your current roadmap for upcoming releases in CE?
----
Follow up, do you plan on adding any code intelligence to your EE search, such as being done by the team at sourcegraph.com?
The way I see it is like this...
github, sourcegraph & gogs all are missing the ability to categorize repositories in groups. This is a must when you have a lot of repos, thanks for including it.
gogs = super fast, minimalistic but solid.
github = $$$$$$
stash/bitbucket = nickel and diming over features & $$$$
sourcegraph = not mature enough, missing code intelligence for majority of the languages we use
gitlab ce = great feature set, bad search and some performance struggles (that i see you are addressing)
in the end, we are likely to go with your product, but the search in CE almost hurts my feelings to use. (me: search for "test" in all repos: 0 results. search for "test" in specific repo: 1 result. me: scratch my head)
all in all, really excited to kick stash out and give my team a deeper feature set to play with.
Thanks for taking the time to come here, I'm late to the party.
I'm at Sourcegraph. We have code intelligence for more languages coming soon and have improved performance, etc., by quite a bit lately. Email me for more info (we're waiting a bit longer to announce the improvements publicly).
Can you elaborate on nickle and diming over features? Most of the required features are built-in for Stash/Bitbucket Server. Code Search is on the roadmap and we are actively working on it.
Hello! I work at http://dglogik.com: I maintain all of our development infrastructure. We have been extremely happy with GitLab! Thanks so much for the work.
Wow, I'm talking directly to the CEO of a high-profile tech company on Hacker News! That means I'm pretty much famous now.
It has been said that that GitHub has many killer features that are lacking in Gitlab or Bitbucket (e.g. Github has better issues handling, prettier graphs). Do you agree? And if you do, what features of Gitlab would you like to improve to compete with Github's killer features?
Multiple people mentioned me in our chat channel. But we also have a monitor set up that tracks all mentions of GitLab on the internet. We're working on responding to all people that can use some help with GitLab in https://about.gitlab.com/handbook/support/
From the website I couldn't tell if Gitlab has builtin CI support or if I have to run the agent on my machines and make them talk to gitlab.com. Which way is it?
GitLab CE and EE have built in CI support, making it easy to setup and navigate. But all tests run on agents (we call them runners). As a best practise we advise to host Runners on separate machines (not on the GitLab server). You can use any machine (Windows/OSX/Unix) as a runner so you can test on many platforms. For more information please see https://about.gitlab.com/gitlab-ci/
Thanks for building Gitlab! I'm from Germany and worked at Fraunhofer where Gitlab was used extensively for in-house dev.
The first thing I did after joining a small startup was to install gitlab using docker - it is literally faster than setting up a new github account. I also use gitlab's nginx configuration combined with cipherli.st ciphers as a template because it uses best practices.
Only one question: We want to use Gitlab CI for Continuous Deployment, but I can't find any meaningful resources to build a django project and deploy it e.g. on another server or docker instance. Do you have any information about this?
Thanks, the links are pretty helpful - I will try to bend some of the scripts for our needs and maybe contribute a "Testing Python projects" section.
Hopefully we can replace TeamCity soon, I'm a big fan of open source and therefore your company ethos. - cheers
Great job on GitLab, I really like it and started migrating my projects from GitHub.
One thing: I never managed to make GitLab pages work. It may just be me, but I find the existing documentation very confusing, unclear what should be the name of the repo to host the static website, which conventions are used etc. I would appreciate a better tutorial.
Previously we had problems with usernames/groups that had upper case letters. The recent improvements (8.5) fixes all these problems. Please try it now :)
I would like to know that GitLab will not support Socio-Political entry-ism by instituting a so called 'Code of conduct'.
Codes of Conduct are a form of Socio-Political entry-ism by which third party activists try to interject a vaguely defined set of Behavioral, Ideological and Speech codes which participating individuals must accept in order to participate.
Once Instituted activists can try and use these 'Codes' as a pretext to attack there perceived political and social enemies in the project. Attempt to expel developers can spread across all social media, email, and any other information that can be dug up.
Attempts to redefine project goals and redirect resources away from there original purpose towards social and political objectives set by the entrants are also attempted. Generally turning open productive software communities into unproductive, divisive, monoculture, that serve as ideological vehicles.
It is important that FLOSS software development is politically and socially neutral. Open to anyone who wants to contribute and learn and help improve the code. I hope that GitLab will endorse political and ideological neutrality which opens the door for everyone to participate by keeping Codes of Conduct out of your terms of service.
Digging through the site I see you endorse the Contributor Covenant, a prime example of entry-ism written by serial harasser and radical feminist Coraline Ada Ehmke.
Unfortunately until this Code of Conduct is withdrawn and links with serial Harasser and political entriest Coraline Ada Ehmke are removed I can not endorse or contribute to GitLab.
I do hope GitLab removes the Contributor Covenant and replaces it with a more honest and inclusive statement.
I followed the link, and though I did see Caroline Ada trying to bully someone out of a community, I didn't see any evidence GitLab CEO supports the Contributor Covenant.
So, I read the their code of conduct, and nothing struck me as wrong (well, aside from that link back to the Contributor Covenant homepage, which is wrong, breathlessly hyperbolic, and politically charged).
Then I had a couple of realizations:
1. A sign on all public trash cans and dumpsters saying "MOTHERS, DO NOT THROW AWAY YOUR BABIES. YOU WILL BE PROSECUTED" would be correct, but it would be insulting because it implies the sign is necessary.
2. The existence of the code of conduct could be a dog-whistle. It could signal to the Caroline Adas of the world "We'll do whatever you want." Or even "Pease, please, please leave us alone. We'll do whatever you want". Both would be bad.
As you can see from the link the real intent of the creators of the Contributor Covenant and there 'inclusive' contract is really to attack, bully and exclude people who do not convert to there cult like sudo-religion.
Codes of conduct will not increase participation in your project they will reduce participation. No one wants to be part of a nanny state where political ideologues like Coraline Ada Ehmke poor over social media and attack you when they read things that disagree with there personal political and religious beliefs.
Project leaders and Platform providers can remove the door for entry-ism by simply removing third party codes of conduct. If you still feel the need to have some community guidance keep it simple to the point and honest.
Thanks for participating in the community discussions.
I have a question/comment in terms of the UI that GitLab provides for developers.
Are there any plans to add a customizable dashboard for gitlab? Think social media sites like twitter/fb/g+. They all have notification numbers over the icons signalling the amount of new emails/messages etc.. gitlab needs the option to add these to the sidepanel!
It would be so darn useful to have say, 5 extra icon counters for whatever project/merge request search filters one is currently using.
e.g.
2 extra sidepanel contexts showing
- big red '5' counter on icon for merge requests with author bob, on project xyz. Because bob made 5 comments on merge requests on project xyz
- big red '2' counter on icon for merge requests with author karen, bob or steve on project abc. ditto as above.
I think extra 'tweakability' features like this for Gitlab's UI would make it easier to manage complex development environments where its necessary to keep an eye on many different scopes around a project. and have the abliity to evolve the dashboard's info display over the projects lifetime as 'hotspots' of attention need to be shifted around to different service codebases and team members.
Just wanted to say that I use the CE edition (self hosted) at my job and we love it. The built in CI has been a major game changer for us and has really helped in preventing bugs from slipping through on our MR's. Keep doing an awesome job and I'll keep telling people how awesome your product is.
Also as an ops engineer I love how hassle free our Gitlab instance has been to maintain.
I have a single concern about GitLab. Looking at https://about.gitlab.com/direction/, I feel like there is way too much being labeled as EE only. I understand that GitLab has to make money to survive, however I see a lot of those features as things that are relevant to pure open source projects (private issues are something Open Source projects do actually need for security, think Chromium) and should probably be in CE. I absolutely love GitLab, but the roadmap has me certainly concerned.
Thanks for the feedback and for listing the features that you are concerned about.
The squash functionality is likely to stay EE only since it is similar to rebasing. Rebasing is EE only because larger enterprises are more likely to have this workflow.
Regarding the 'test the merge' functionality I've only heard requests from large organizations for that, can you detail the context in which you want to use it?
The code analytics is a typical enterprise feature in my view.
I think that the private/confidential issues in https://gitlab.com/gitlab-org/gitlab-ce/issues/3678 is something that are needed for really large organizations and for people hosting on GitLab.com, so in my view it can be EE only.
For all of the above I try to keep an open mind, so feel free to push back. Based on discussions here we do decide to merge features into CE, for example the branded homepage https://news.ycombinator.com/item?id=10931690
> Regarding the 'test the merge' functionality I've only heard requests from large organizations for that, can you detail the context in which you want to use it?
There might be some confirmation bias here going on. In my experience, a lot of enterprise clients I've worked with are using Gitlab. I'm yet to see one major open source project on Gitlab, apart from gitlab itself.
We also have a lot of smaller organization using GitLab on-premises. There are currently few open source projects on GitLab.com, notable ones include Mailman and F-droid.
First off, I would really like to commend you for caring and responding to everyone on here. You deserve a lot of kudos for this!
'Test the merge' is something that we already get from GitHub. Travis CI tests both the merge and the branch itself. I think it only makes sense to test both, in fact, if I were to choose one way for a Merge Request, I would just test the merge result.
We have IoT Platform SDKs (See https://github.com/IOT-DSA/sdk-dslink-dart and https://github.com/IOT-DSA/sdk-dslink-java for examples) that at somepoint I would like to pitch the idea to move from GitHub to GitLab fully. We currently utilize GitLab for only a portion of our projects. We find it really helpful that Travis CI tests both the merge result and the branch, and even though I could look over it to switch GitLab (because let's face it, GitLab > GitHub), I would love to be able to tell the other developers that they will only be gaining functionality.
As for the code analytics, I have second guessed myself, and I completely agree with you now. This is definitely something that I see most useful in the enterprise setting.
Thanks for your kind words. I was not aware that Travis CI tests both the branch and the merge, do you maybe have a link to the documentation for this?
There are a couple of ways to implement this feature and we're discussing them in https://gitlab.com/gitlab-org/gitlab-ce/issues/4176 Feel free to join the conversation and/or contribute it. For now this feature is planned for 8.7 but this might change.
a) I know some projects which would love to move to gitlab from sourceforge, but you don't provide mailing lists like the latter, right?
b) Why is your git-blame feature so fragile? It barely works for me, almost always shows the "error" page.
c) Since you shut down gitorious you have published a mirror to get the data out (thanks! finally!), but I don't find one repository in your list in here :( : https://gitorious.org/index-list.html it was called banshee-community-extensions/windows-binaries.git or something like that.
c) sorry it took so long for the mirror to be copied to the internet archive, I've asked for help with your question but this will likely take a couple of days.
I'm sorry to hear you don't like the UI. What do you think we should improve? BTW Technically GitLab is not a SPA, it uses turbolinks to do page loads.
Basically I just don't like some "features" which are anti-patterns IMHO:
* With SPA I mean that clicking on a link, my browser doesn't load a new page, but rather some JavaScript seems to do it.
* Depending on the browser width, the description of the icons on the left disappears. It should always be there, I'd rather have a horizontal scrollbar than not knowing which button does what.
* Fixed headers. Vertical screen space is the most important thing to me, so there should be nothing on the top blocking the stuff I want to read. Also please don't start to animate it or let the header slide in when I scroll up.
* Infinite scrolling.
* Icon fonts. I don't like the default font. If I block it, some icons don't work anymore.
1. What is the problem with this? Back links and everything else should still work. And it saves a lot of time.
2. I agree the user should be able to override and made https://gitlab.com/gitlab-org/gitlab-ce/issues/13436
3. Where do we do this?
4. I don't think infinite scrolling is always bad.
5. What do you suggest we do instead? PNG's for all icons are expensive to load.
1. No, "everything else" doesn't still work. You're reimplementing a browser in JavaScript! For example: There's no spinning loading indication on the left side of my tab. When clicking on a link and pressing back while it's loading, it doesn't abort, but goes back instead.
3. Do you mean the animation? You don't do this yet.
1. I agree that these browser functions are broken. I think the speedup is worth it but that is personal. BTW Turbolinks are a default feature of modern rails apps, doesn't mean they are right but they are common.
3. We don't plan to do this either as far as I'm aware.
5. Icons in SVG would be nicer but that looks like a lot of work.
- We're introducing some more pagination over infinite scrolling. If we see this is successful, we might continue that trend
- eventually we will replace the icons with svgs, probably when we switch to our inhouse icons. There is no due date for that, though.
Our 4 products offerings are explained on our homepage and https://about.gitlab.com/about/ Please let me know how we can improve the explanation.
Multi user licenses are common in the industry but I don't like them either so we're switching to subscriptions you can buy per user before either GitLab 8.5 or 8.6.
I use GitLab on CentOS 7, self hosted, from source.
It works great, I really like this project, I think it beats any alternative hands down.
I really like the accurate documentation for upgrading between versions from source (keep it up !).
I think there is a very good balance between EE-CE features, I find that the availability of the features is well thought of.
I don't use GitLab-CI at the moment (running buildbot), are there any plans to integrate support for builtbot ? or on the other hand, edit history of the CI (in jenkins you can simply delete any entry you'd like).
Keep it up ! besides the CI, GitLab offers me everything I currently need.
Thanks.
Do you have any plans to provide some lightweight project management options in GitLab? I don't even want anything complex. Maybe, just a Trello-Kanban-like view of Issues and a simple burn down chart. With CI and Git/VCS and code review features GitLab could become the only thing a small team should install to go independent.
I am currently very happy with my self-hosted GitLab instance for my personal projects. But I would love to have some of the EE features (both for my workflow and experience working with enterprise tools) and I'm willing to put my money where my mouth is. However open source is very important to me so my question is do you think it would ever be possible to purchase a personal use EE instance without license keys, calling home, and under an open source license?
Glad to hear you're happy with your self-hosted instance.We're working on single user subscriptions (before either 8.5 or 8.6), our license key doesn't call home and our license will stay proprietary but already allows for modification and publishing patches.
I will probably set up an account soon and try it out for myself but just from looking a gitlab.com it's not entirely clear what difference there is between EE and gitlab.com hosting. Are all the features of EE available on the SAAS version? Why is there so much emphasis on the self hosted options, is that something you are seeing a lot of demand for? I'm finding it hard to come up with a good reason to want to take on the burden of maintaining a source control server when there are good cheap cloud options.
Why is the gitlab.com option so cheap, even for corporations even if they pay for support? I understand you're still trying to gain market share more than be profitable right now but as a company paying nothing for the product certainly makes me feel like it might go away at any moment and even if we pay for support we may not receive the level of support that we need.
As corporate users, maybe we're not gitlab's target audience right now but aside from those questions it seems like a nice alternative to github, especially with regards to the additional ability to have pull requests rebased before merge...
GitLab.com is running GitLab EE. Not all features are available, for example you can't link it to an LDAP server since that requires admin credentials that only GitLab Inc team members have.
Our self hosted option currently is more popular than our SaaS one. More than 100,000 organizations use it because they can't use a SaaS for legal, integration, technical and security reasons (want it behind VPN, integrate with other on-premises services, etc.).
I've started using GitLab Omnibus on my own server and I friggin' love it. I've moved all of my GitHub projects over to GitLab and haven't been happier to know that if I want to change something, I can. That being said, I do have some questions.
1) Is there a way for me to make modifications to the front-end and still keep those changes when I upgrade?
2) What kind of server should I be using the fastest git pulls/pushes? Currently, my server is running on a 30GB SSD DO droplet with 1GB RAM.
1. No, but after a discussion on HN https://news.ycombinator.com/item?id=10931690 we did decide to merge the branded login page into CE. If you are looking for another front-end change please let me know.
I'm a front-end developer and designer so I love tweaking things to my liking. There are links that don't look like links and padding issues in a few places. The ability to choose custom fonts from Brick.im would be great too. If nothing else, I'll make the changes and figure out how to write a script that brings my changes back after I update/upgrade.
Thanks for the requirements link, I must've missed that.
Having people pick custom fonts might make it hard to get the design right for everyone.
Reapplying changes in Omnibus is hard since it is shipped without a git repo, so you can't use git stash or git merge. You would need to switch to an installation from source but we don't recommend that.
I really hope you can contribute the changes you would like to see, GitLab's frontend can still use a lot of polish.
I know this isn't good feedback and I'm sorry for it, but when I tried using GitLab for a group project in school I had some trouble adding everybody to the repository and then letting them pull through the GitHub client.
In the end I had to switch to using GitHub for that project, because the others got impatient and it was hard to even convince them of using git at all.
Maybe it's just me, but it'd be nice if you could make that experience easier and would maybe offer a client of your own with really basic features for not-so-technical people to use.
Thank you for doing an AMA! I know I'm late to the party, but I have an experience-report/feature-request/question:
I tried to use GitLab in a classroom setting, and it went okay. One of the reasons we decided against using it the next year was the apparent lack of an archival backup feature (c.f. my Stack Exchange [question](http://serverfault.com/q/627618/172148) on the matter.)
We'd like to start completely fresh every year, so that former course assistants and students don't have access, but we'd also like to keep around the old data (for various reasons). Given that GitLab can only restore a backup to the same version that generated it, the only option this left us with was to archive the whole VM, which just feels sloppy.
I understand that this feature is not a priority and is a relatively large technical undertaking, so I'm not holding my breath on it getting implemented; even so, I thought that sharing my experience would be valuable.
Once again, thank you for engaging with the community and for such a great product.
GitLab EE's source code is also available, though not under an open source license. Most of the differences are things I'd like to eventually see in an open source project (maybe GitLab CE, maybe a plugin, maybe a fork).
From my perspective the best thing would be for them to eventually open source some features I'd like to have in an open source project hosting service, once they've made more reasons for people to pay them. The worst thing would be if someone added it in a plugin or fork of GitLab CE and the company GitLab were to claim that they must have looked at the GitLab EE source code. GitLab Pages and audit logs are the features I'd most like to see in the open source version.
This is much like Nginx Plus's improved load balancing with health checks, which has me considering Tengine.
Thanks for your perspective and naming the features you would like to see in GitLab CE. Can I ask what open source project you are considering to host on-premises with GitLab CE?
I agree that falsely accusing people of looking at the EE code would be very bad. So far we only once declined a contribution to CE by claiming it was EE code, in this case the code was verbatim, the diff showed a zero character difference. Future calls will be harder but we'll try to prevent false declines.
One example would be KDE, who considered Gitlab but ended up going with Phabricator because they are one of those 100+ developer projects that wanted the LDAP, analytics, logging, etc but also being a major open source software community wouldn't settle to not dogfood free software, and the CE was missing too much at the time.
Personally, I much prefer Gitlabs project -> code / issues / milestones / etc workflow over Phabricator's git / issues milestones -> projects workflow, and love using Gitlab, but there are a lot of free software communities (Gnome, Freedesktop.org, among others) who are almost certainly going to try moving to more modern project management services in the near future and will be forced away from the IMO best UX Gitlab offers for ones like gogs / phabricator that both sate their needs for a free software solution that also has the featureset for these thousand+ developer ecosystems.
Currently GitLab has LDAP, analytics, and logging. I'm glad you like the UX of GitLab. I'm not sure what essential features are still missing from it in your opinion. Can you elaborate?
I'm not one of the KDE web devs that run their infrastructure, I'm just a project contributor / maintainer. There has been some historical recording of the process that led to KDE having to give up on the idea, though:
Thanks for the links. I'm sorry I never got the chance to talk to the KDE people and address the concerns we had. We're always open to adding or open sourcing features that are needed by large open source projects.
Despite setting up my own gitlab instance once, and trying to get the company I was working at onboard, I never knew that gitlab.com was a thing for hosting projects... is this recent?
Either way, just signed up. Excited to support Gitlab, any way I can.
The free hosted Gitlab is great. I really appreciate having it around. And if you haven't looked at it recently, it's faster than it used to be.
Free unlimited private repos w/ 10GB storage per repo (including LFS!) is fantastic. A recent project I worked on involved integrating ~15 upstream modules into a build process. Having the ability to set up a git repo for each module instead of thinking 'maybe I can come up with some hack to do this with less repos' is huge.
Having Gitlab CI w/ the ability to use your own workers just by running a single docker command is the icing on the cake.
And the fact that the repos which need to stay on our own infrastructure can also use GitLab - with an open source option to boot - is what makes choosing GitLab a very easy decision.
Recently had a need for something like this and Gitlab ended up losing to BitBucket Server which we bought along with JIRA and Confluence. Gitlab seems like a nice, light solution, but their issue tracker ain't JIRA.
My company is using atlassian products heavily and I was surprised to find very good support for GitLab. I run it locally and love it and I'm pushing to use it at work.
It's worthwhile noting that the integration between JIRA and Bitbucket (naturally) goes far beyond adding comments with links to a ticket.
Our aim was to provide an at the glance view of the development status (# of commits, branches, pull requests and their status, builds and deployments) with the option to see more detailed information right within JIRA. And of course you can create a new branch right from your JIRA issue.
Lastly, ensuring that the data is 100% reliable and up to date was an important consideration which most of the basic webhook integrations simply ignore.
No doubt, that said I've used both before and I generally prefer GitLab to bitbucket and so as long as the basics work I'm happy. Also GitLab can satisfy both Bitbucket and Bamboo and since my company needs to host all apps it's MUCH cheaper to use GitLab than to pay for 2 more tools for all developers.
See, here's the thing: I don't want free private repos to exist. What GitHub has done is incentive making things open source, and that's immeasurably valuable.
I agree that this has been a very positive effect. On the other hand forcing people to make code public when they might not want to might lead to problems when people are haunted by code they didn't intent to be read by others.
Nobody is forcing anybody to make their code public. It's their choice. You can have your code on your machine and on your servers only. Hosting your code is an option.
Actually I do, isn't that how it is most frequently done? Fact is that even though it works and you can set it up yourself, it is not a good solution to decentralizing a code base. You might have a private machine to which everybody ssh'es and pushes and pulls from, but only a few do that because they don't want to be/have the ops people who run that box. And that is including but not limited to issues and a sane UI for collaborations. That's very well the problem that github/bitbucket/gitlab and the like solve.
So you are telling me that there is no problem and people should just use a private SSH connection to a box they own?
For it to be open source it must "made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose."
If you publish a github repo with no LICENSE file that specifies an actual open source license it's all rights reserved by default.
It seems rms would agree with my definition - at least partly. From one of his GNU essays[1]:
Nearly all open source software is free software, but
there are exceptions. First, some open source licenses
are too restrictive, so they do not qualify as free
licenses. For example, “Open Watcom” is nonfree because
its license does not allow making a modified version
and using it privately.
He considers Open Watcom to be open source but nonfree, when it has a license that would not qualify as open source by your definition. I think you're using the OSI definition? I tend to think of open source software more like rms does in his essay. If I can see and read the code, the source is open for me to peruse, then I consider it open source. Might be a total legal clusterf*ck to work with, but still, I have access to the source. I don't think the issue is as clear cut as no license - all rights reserved[2].
I'm interested in what would be the name for software released on a GitHub public repo, but with all rights reserved?
RMS is focused on the four freedoms. Open Source licenses which don't provide those freedoms he considers to be nonfree.
In the extreme case, you can read the source, but all rights are reserved, as you mentioned. Java is the highest profile project that existed this way until it was finally open-sourced. You could read the source, but were not allowed to really do anything with it. As such, it was not only non-free, but also not open source.
A more reasonable conclusion is that developers not involved in open source use github free repos, people find their stuff, start talking to them, they start collaborating, and then they become open source projects.
On gitlab when most stuff is default-private it leads to a lot of potential collaboration being lost, regardless of license.
How do you mean open source? I can work on a project or whatever in a private repo then release it as open source, or close source, or both. If it is not ready it hurts the open source probably to have half implemented, broken, unmaintained junk.
Now it makes Github look good -- look we have millions of users, billions of lines of code, so many repos. You can see it here it all.
Of course it is important to realize it is free and provided by Github with their infrastructure. So certainly not implying that owe people with free repos anything and if they want those terms of agreement for whatever reason then that's fine.
I just don't necessarily agree that what github is doing is necessarily to benefit "open source" as movement (if there is such a thing).
Actually, I do want free private repos to exist as a mostly open source developer. I often start cooking a project in a private repo. If it leads nowhere I just keep the repository private. Usually that meant moving it to BitBucket because I only have 5 private repos on GitHub[1]. Once I am happy with the quality or usefulness, I clean up the history and make the repository public.
[1] Yep, my BitBucket account is basically a graveyard.
Bitbucket's free private repos are the best backup solution for university stuff, which is super valuable. I'd rather use git than say Dropbox to version code, I don't want to share unsubmitted assignments and I want a backup - it's perfect.
I'll just jump in to vouch for Gitlab CE, in a self-hosted setup.
@sytse: it is one of the best documented and well packaged pieces of software these days. Specially in the Ruby world. Thank you for that. Gitlab really makes a difference.
Where others just distribute Docker images or directly nothing (because omg it is too hard to do proper packaging), Gitlab has nice packages for CentOS, Debian and Ubuntu (the distros that usually run in production servers).
We had an old install from git using mysql. Migrating to Omnibus and converting the DB to postgresql was painless. Surprisingly, it was a perfectly documented process without any pitfalls, or any outdated info. Omnibus packages are just wonderful. apt-get upgrade will just do all the necessary, DB migrations and restart all the components with almost zero downtime.
This proved to me that Gitlab actually gives uttermost care to the CE edition and that it is not just marketing.
Thanks Alex for posting this. I'm so glad you had a positive experience upgrading.
We spend a lot of time making our Omnibus packages a flawless install and upgrade experience. Docker images are great but for many users Docker is not an option.
I will be honest, the switch from self compiled MySql to Omnibus Postgres was not so great for me and my team. But. We love GitLab, and now that we are on Omnibus I get updates done in < 5 mins. Thank you all for building an amazing piece of software. Also kudos to your team, even as a CE user you have helped me resolve a bug or two here and there. It's been a great ride. I wouldn't trade our GitLab in for anything.
Cool! I see it is on the latest release. BTW Work is underway for a native Debian package, it is weeks away from completion https://poddery.com/posts/2272322
Please don't... Github is an institution and the only thing replacing it should be something equally global but based on a new protocol of sorts enabling truly decentralized and distributed sharing and collaboration on a higher interaction level.
But meanwhile, again please let's not fragment needlessly - that's certainly not something worth the price to pay for an (admittedly great) "alternative" service be it self-hosted or otherwise...
Edit: I'm strictly talking open-source projects here - Gitlab is a fantastic solution for private repos!
No idea why you were down voted to oblivion, having a contrary opinion is not grounds for that.
I also completely agree, newer Internet users don't understand that we've lost a lot of the decentralized nature of the Internet. Usenet is a perfect example where everything that is used instead is fundamentally worse. With modern computers and better protocols and distributed algorithms a UUCP-like project hosting facility would be really cool.
There always will be a market for well designed implementations!
We do should look into new projects like keybase fs, ipfs and the likes to think up a really new solution for sure - we probably still need to tackle some more "basic" foundational solutions first though.
The GitLab logo is actually of a Tanuki (Japanese Raccoon Dog), but still kind of like a fox, as in, it definitely has that scrappy, playful, spirit. Certainly equally as cool as an Octocat.
Competition is good! Forget all the hate going on against Github right now. We should be support things like GitLab and Bitbucket more in order to get the competition going strong. I'd like to see even more competition in this area.
It's amazing that we're migrating all of open source into a single centralized proprietary basket - amazing in a slow motion trainwreck kind of a way.
After we already watched its predecessor Sourceforge fill opensource projects with malware too. One day we're going to look back on all this and laugh "well that was bloody stupid!"
Even Git was created to free the comunity from the commercial restritions of BitKeeper, and the first thing we've done with git is make it centralised and proprietary again.
(Granted the friendlier UI and social network layer is needed, and Github has done a fantastic job there, but holy cow does this feel like watching a trainwreck)
I've been using Bitbucket for 3 years now and i absolutely love the fact that you can create private repos and have many tools available for free, highly recommended.
Ditto! Bitbucket has served me well for so many years esp with their ondemand integrations. I really don't see why I should move to any other gitxxx. Moving tools is also a pain point so best to choose wisely.
I agree, and I also love that for students you get unlimited everything. You get to have 5 team members per repository for free, which is great for smaller development teams. If BitBucket wasn't where I house some of my private projects already I would move to GitLab.
I was wondering what would be the implications of publishing gitlab enterprise edition with an MIT license and make it easy to fork without subscriptions (basically like the community edition).
From what I understand, the real value that you are selling with an enterprise edition is the support, dedicated staff, monitoring services and training.
We tried licensing the enterprise edition under an open source license but asking people nicely to not distribute it. People didn't distribute it but our customer where very confused about this so we changed the license.
If you don't mind me asking, what was confusing to the customer?
Again, I don't mean to be rude, just curiosity, how would you react if people forked the community edition and implemented some of the enterprise edition features and released it under the MIT expat licence?
The customers didn't understand that they paid to get access to an Enterprise Edition that had an open source license.
If people forked CE to add features of EE we would wonder why we didn't merge those in. For our criteria for merging features that are currently EE only please see https://about.gitlab.com/about/#stewardship
Github serves two major purposes: (1) one is to be a git repository, and (2) another purpose is to be the central meeting ground for discovery and community participation. GitLab can serve for the purpose of being a git repository.
The problem is that the more competition we have for (2), the less functional any of the competitors are in serving (2).
Given that when Github goes down, a lot of tools and development workflows also go down, I can understand there being a backup repository. But that's not the same as serving purpose (2), that's just redundancy for (1).
The same problem exists for Facebook. The more Facebooks there are, the less functional any Facebook is.
(2) another purpose is to be the central meeting ground for discovery and community participation. [...] The problem is that the more competition we have for (2), the less functional any of the competitors are in serving (2).
While this is true, especially for open source projects. I'd rather see a healthy open source community on top of an open source platform than a proprietary one. This for two reasons:
1. Suppose that some features are needed by an open source community. In the case of GitHub, you have to ask and wait until they throw something over the wall. In the case of GitLab, you can write the code yourself, submit a pull request. With a bit of luck, it's in the next version of GitLab.
2. Suppose that GitHub or GitLab as a company becomes evil. This is not far-fetched, look at SourceForge. With GitLab, you could fork the latest community edition and have pretty much the same functionality.
I had no idea that GitLab had support for changing what type of commit is created on-merge. That's actually a really temping feature; I've spent so much time trying to convince people (especially those starting out) why manually rebasing and merging is A Good Thing™.
I'm a rails guy and have run a consulting shop based on rails. But Im actually a bit surprised (and impressed) that you distribute a self-installed piece of software based on Rails (yes I have seen Omnibus and all the cool things you do. As I said very, very impressive!)
I have personally lost many a "enterprise" contract because of the Ruby thing. Not just that, but at the end of the day Java is very performant with least deployment effort .
Which is why we became a JRuby shop first (and packaged JAR for distribution) and eventually to Spring Boot and Scala.
I understand the value of Rails (my current startup is also built on that) - but I'm wondering if it makes sense for you guys to bite the bullet and jump to the JVM.
Try the gitlab installation, and speak to it specifically, rather than to general Rails experience.
Gitlab install is fast and easy (though it didn't used to be). Gitlab has had a hugely successful rapid increase in usability/maintainability/installability.
I agree that there's a lot of worth in having a turn-key solution that's fast, especially if installing dependencies is required anyway (e.g. Ruby isn't necessarily on the user's system, neither is Java, so since you have to install a dependency anyway...).
While it's not like the JVM will never be a source of annoyance for Gitlab admins, speed/user-perceived latency is more than just a feature when porting from an offering that's as polished and good as GitHub. This is especially true for people that would have to rationalize cutting over from GitHub to Gitlab in an enterprise environment.
Damn I knew GitLab was good but that article made it sound far more amazing than GitHub. I'm impressed.
One thing I've really wanted was a voting system -> merge. Is there a way to require X amount of votes (in general or from specific in a specific group) which, once that is hit, allows the PR to be merged into master? Part of our typical code review workflow is requiring a specific amount of people to approve the PR before it goes in but it's basically the honor system right now and it would be really cool to turn that into some sort of rule.
We use GitLab at work, and while it works great for hosting internal stuff, any open source projects I'm still going to put on GitHub.
GitHub has the community, and I'd personally not like to see that divided, not to mention the interface is just so much easier to use - GitLab's is mildly infuriating.
I for one am a very happy user of Github. Two mid size open source projects, dozens tiny ones and a few commercial private repos. Github has private repos you just need to pay for them and they are actually very affordable. I've seen developers who make >100 per hour choose bitbucket because they don't want to pay for private repos. How is that rational...? I like Github and I like paying them for a service I use every day.
Travis on the other hand... could use a bit of work :)
Maybe I'm just using git wrong, but it seems to highly encourage spinning off little repos for each project you might have so I have a ton of repos. E.g., each of my old school projects is its own repo. My usage would put me past their largest personal plan. Granted most of these projects are in "archive" mode, but I'd rather not have to pick which projects to host based on their current activity -- I just want everything in the same place.
I guess I could make some public, but not open source, but that seems like an odd solution too. And I don't want to be publishing homework assignments for others.
288 comments
[ 2.8 ms ] story [ 322 ms ] threadIs the free (free as in beer, I'm not an open source zealot otherwise) Gitlab not just a part of the conversion funnel, eventually made unsustainable once growth plateaus?
There will always be an open source version of GitLab, more than 1000 people contributed and it the most popular self-hosted option, used on-premises by more than 100,000 organizations. They will keep going with the open source version, with our without GitLab Inc.
But the MySQL purchase by Sun and Oracle has shown what can happen to projects when the company is acquired. The best option we saw is to at least codify our promise to the rest of the community in https://about.gitlab.com/about/#stewardship
When we break our promise it is time to fork.
Any suggestions are appreciated.
Other (unrelated) minor things:
- SAML support exists, but at last check was mostly broken. Universities in particular use SAML over OAuth (See http://www.incommonfederation.org/participants/)
- Resource usage seems very high for small shops; will there be a GitLab "lite"? ...would be especially awesome if it didn't need a mostly dedicated container and could drop in as a subfolder of an existing site (with minimal resource requirements).
Saml support should be pretty good, it was contributed by CERN and they use it in production. Please see http://doc.gitlab.com/ce/integration/saml.html for documentation. If you encounter a bug please create an issue on https://gitlab.com/gitlab-org/gitlab-ce/issues
We will try to reduce memory usage by something like 20% in the coming year. We have package for the Raspberry Pi 2 if you're into that. But GitLab will always be large due to its many features. For more details see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst... If you want something with minimal requirements I recommend Gogs https://gogs.io/
(installation instructions) https://about.gitlab.com/downloads/#raspberrypi2
(original blog post) https://about.gitlab.com/2015/04/21/gitlab-on-raspberry-pi-2...
I run our Shibboleth IDP among other things, and I was told by the team that was looking at GitLab at the time that it was impossible to tie it in with the currently available SAML SP plugins. This was over a year ago, maybe things have improved...
Actual question, do you have much Australian based business and do you see yourselves needing account managers there (here) in the near future?
We just hired our first person for APAC sales, Michael Alessio https://about.gitlab.com/team/
We don't have any open positions now but you can always shoot him a mail. michael@ company domain, please include a reference to this comment
> preserve our culture, mission and goals.
Pick one. Or is there a historic precedent I'm unaware of?
On a serious note, the shift in the latter parameters can be smaller than in an acquisition, but to "preserve" would imply actively managing employee (and founder) expectations in the build-up to IPO.
Any chance of that happening soon?
To rephrase: There are folks willing to give you cash right now to be the host for their projects. Would there be a way to convince you to take it?
We do not think that paying for hosting itself makes sense, see https://about.gitlab.com/gitlab-com/#why-gitlab-com-will-be-...
Instead of giving cash to use I would encourage people to move their projects and contribute by adding the features they need or helping our people, see https://about.gitlab.com/about/#donations
I recently started to mirror my repositories between GitHub and GitLab (they're just really small R packages).
It was very simple to update my local git config file so that "git push origin master" now pushes changes to both GitHub and GitLab.
I've also made it clear in the README how to install from GitLab.
Three minor annoyances:
* GitLab doesn't support Rmarkdown in .Rmd files, so my vignettes look great on GitHub, but not GitLab.
* I wanted to start an R Group (and did so), where people could share their R related projects all in one place. Unfortunately, as the projects are only shared with the group, they don't display when publically looking at the group if not signed in.The group image is also broken. [0]
* Relative links don't quite work the same, so some README links still only point to GitHub, as they were broken on the GitLab mirror. (Might just be user error!)
I also have a self-hosted installation running for a couple of private projects. It's on a small DO instance and does thrash resources a little, but generally works fine for two developers.
Thanks for such a useful product!
[0] https://gitlab.com/groups/rstats
I filed a bug: https://gitlab.com/gitlab-com/support-forum/issues/541
1. GitLab uses the awesome Rouge library to do syntax highlighting, this does support R https://github.com/jneen/rouge/blob/master/lib/rouge/lexers/... but apparently Rmarkdown is broken. I hope someone will contribute this to Rouge.
2. If you want to display the projects publically please make them public. If I misunderstood please let me know.
3. Please email support@gitlab.com about the broken group image and reference this comment. I'm sorry it is not working.
4. Relative links took a lot of work but I didn't hear any complains in the last few months. If it is not user error please open an issue.
5. If you self-hosted installation thrashes consider switching to the Omnibus packages (if you haven't done so already) and increasing memory. For memory requirements please see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst...
Thanks again for your comment.
What's the current status of the GitLab.com infrastructure? Are you still on Azure, and if so, how has it been? Does it seem like things are humming along and stable now, or do you foresee some more growing pains before things are rock solid?
1. gitlab.com site search is effectively down. A simple keyword search, e.g. for 'omniauth' takes 45 seconds:
https://gitlab.com/search?utf8=%E2%9C%93&search=omniauth&gro...
I periodically find other site links which are surprisingly slow, like this one.
2. I'd really like to add GitLab oauth2 as a first-class citizen for people to sign in to my apps( e.g. http://nonstop.qa/users/sign_in ), along with GitHub and Google. Adding those two were easy, but I haven't found a working, maintained Ruby omniauth GitLab adapter.
Thanks, and good luck!
2. GitLab is an OAuth 2.0 provider, for the docs see http://doc.gitlab.com/ce/integration/oauth_provider.html I see that there is https://github.com/linchus/omniauth-gitlab updated 5 months ago, did you try that one?
And yep, I've tried that OAuth provider. This is me, raising an issue about it not working: https://github.com/linchus/omniauth-gitlab/issues/10
all i read is that it's EE, but will it be brought to CE is the bigger question, and how does that fall into your current roadmap for upcoming releases in CE?
----
Follow up, do you plan on adding any code intelligence to your EE search, such as being done by the team at sourcegraph.com?
The way I see it is like this... github, sourcegraph & gogs all are missing the ability to categorize repositories in groups. This is a must when you have a lot of repos, thanks for including it.
gogs = super fast, minimalistic but solid. github = $$$$$$ stash/bitbucket = nickel and diming over features & $$$$ sourcegraph = not mature enough, missing code intelligence for majority of the languages we use gitlab ce = great feature set, bad search and some performance struggles (that i see you are addressing)
in the end, we are likely to go with your product, but the search in CE almost hurts my feelings to use. (me: search for "test" in all repos: 0 results. search for "test" in specific repo: 1 result. me: scratch my head)
all in all, really excited to kick stash out and give my team a deeper feature set to play with.
Thanks for taking the time to come here, I'm late to the party.
The code management analytics we're planning to build are detailed in https://gitlab.com/gitlab-org/gitlab-ee/issues/112 I think this is quite different from sourcegraph
Your search in CE looks like a bug to me. It would be great if you can reproduce this on GitLab.com and open an issue for it.
It has been said that that GitHub has many killer features that are lacking in Gitlab or Bitbucket (e.g. Github has better issues handling, prettier graphs). Do you agree? And if you do, what features of Gitlab would you like to improve to compete with Github's killer features?
For features that we like to have please see https://about.gitlab.com/direction/
One possible workflow -
1. User defines perf metrics in some metadata file in repo.
2. User checks in data for metrics with every commit.
3. Gitlab shows a view of the metrics changing over time.
Obviously you should ensure that your performance tests are run on the same type of machine every time. But you can do this by labeling runners.
We're working on making it faster in https://gitlab.com/gitlab-com/operations/issues/42
Only one question: We want to use Gitlab CI for Continuous Deployment, but I can't find any meaningful resources to build a django project and deploy it e.g. on another server or docker instance. Do you have any information about this?
The file we use to test GitLab itself (a Rails app) can be found on https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.gitlab-...
With the rest of the community we're working on more tutorials, I heard one about iOS projects was pretty close https://gitlab.com/gitlab-com/blog-posts/issues/29
I've create an issue to improve the discoverability of the CI examples https://gitlab.com/gitlab-org/gitlab-ce/issues/13410
One thing: I never managed to make GitLab pages work. It may just be me, but I find the existing documentation very confusing, unclear what should be the name of the repo to host the static website, which conventions are used etc. I would appreciate a better tutorial.
We are planning to write a blog post about it with a walkthough https://gitlab.com/gitlab-com/blog-posts/issues/39
Codes of Conduct are a form of Socio-Political entry-ism by which third party activists try to interject a vaguely defined set of Behavioral, Ideological and Speech codes which participating individuals must accept in order to participate.
Once Instituted activists can try and use these 'Codes' as a pretext to attack there perceived political and social enemies in the project. Attempt to expel developers can spread across all social media, email, and any other information that can be dug up.
Attempts to redefine project goals and redirect resources away from there original purpose towards social and political objectives set by the entrants are also attempted. Generally turning open productive software communities into unproductive, divisive, monoculture, that serve as ideological vehicles.
It is important that FLOSS software development is politically and socially neutral. Open to anyone who wants to contribute and learn and help improve the code. I hope that GitLab will endorse political and ideological neutrality which opens the door for everyone to participate by keeping Codes of Conduct out of your terms of service.
https://www.reddit.com/r/KotakuInAction/comments/3ab802/warr...
Unfortunately until this Code of Conduct is withdrawn and links with serial Harasser and political entriest Coraline Ada Ehmke are removed I can not endorse or contribute to GitLab.
I do hope GitLab removes the Contributor Covenant and replaces it with a more honest and inclusive statement.
So, I read the their code of conduct, and nothing struck me as wrong (well, aside from that link back to the Contributor Covenant homepage, which is wrong, breathlessly hyperbolic, and politically charged).
Then I had a couple of realizations:
1. A sign on all public trash cans and dumpsters saying "MOTHERS, DO NOT THROW AWAY YOUR BABIES. YOU WILL BE PROSECUTED" would be correct, but it would be insulting because it implies the sign is necessary.
2. The existence of the code of conduct could be a dog-whistle. It could signal to the Caroline Adas of the world "We'll do whatever you want." Or even "Pease, please, please leave us alone. We'll do whatever you want". Both would be bad.
Codes of conduct will not increase participation in your project they will reduce participation. No one wants to be part of a nanny state where political ideologues like Coraline Ada Ehmke poor over social media and attack you when they read things that disagree with there personal political and religious beliefs.
Project leaders and Platform providers can remove the door for entry-ism by simply removing third party codes of conduct. If you still feel the need to have some community guidance keep it simple to the point and honest.
Thanks for participating in the community discussions.
I have a question/comment in terms of the UI that GitLab provides for developers.
Are there any plans to add a customizable dashboard for gitlab? Think social media sites like twitter/fb/g+. They all have notification numbers over the icons signalling the amount of new emails/messages etc.. gitlab needs the option to add these to the sidepanel!
It would be so darn useful to have say, 5 extra icon counters for whatever project/merge request search filters one is currently using.
e.g. 2 extra sidepanel contexts showing
- big red '5' counter on icon for merge requests with author bob, on project xyz. Because bob made 5 comments on merge requests on project xyz
- big red '2' counter on icon for merge requests with author karen, bob or steve on project abc. ditto as above.
I think extra 'tweakability' features like this for Gitlab's UI would make it easier to manage complex development environments where its necessary to keep an eye on many different scopes around a project. and have the abliity to evolve the dashboard's info display over the projects lifetime as 'hotspots' of attention need to be shifted around to different service codebases and team members.
thanks again
Also as an ops engineer I love how hassle free our Gitlab instance has been to maintain.
The following features are most concerning:
https://gitlab.com/gitlab-org/gitlab-ee/issues/150 https://gitlab.com/gitlab-org/gitlab-ce/issues/4176
https://gitlab.com/gitlab-org/gitlab-ee/issues/112 (This one I am not as much concerned about, it's very complicated it seems, I can understand a bit why this would be EE)
The squash functionality is likely to stay EE only since it is similar to rebasing. Rebasing is EE only because larger enterprises are more likely to have this workflow.
Regarding the 'test the merge' functionality I've only heard requests from large organizations for that, can you detail the context in which you want to use it?
The code analytics is a typical enterprise feature in my view.
I think that the private/confidential issues in https://gitlab.com/gitlab-org/gitlab-ce/issues/3678 is something that are needed for really large organizations and for people hosting on GitLab.com, so in my view it can be EE only.
For all of the above I try to keep an open mind, so feel free to push back. Based on discussions here we do decide to merge features into CE, for example the branded homepage https://news.ycombinator.com/item?id=10931690
There might be some confirmation bias here going on. In my experience, a lot of enterprise clients I've worked with are using Gitlab. I'm yet to see one major open source project on Gitlab, apart from gitlab itself.
'Test the merge' is something that we already get from GitHub. Travis CI tests both the merge and the branch itself. I think it only makes sense to test both, in fact, if I were to choose one way for a Merge Request, I would just test the merge result.
We have IoT Platform SDKs (See https://github.com/IOT-DSA/sdk-dslink-dart and https://github.com/IOT-DSA/sdk-dslink-java for examples) that at somepoint I would like to pitch the idea to move from GitHub to GitLab fully. We currently utilize GitLab for only a portion of our projects. We find it really helpful that Travis CI tests both the merge result and the branch, and even though I could look over it to switch GitLab (because let's face it, GitLab > GitHub), I would love to be able to tell the other developers that they will only be gaining functionality.
As for the code analytics, I have second guessed myself, and I completely agree with you now. This is definitely something that I see most useful in the enterprise setting.
There are a couple of ways to implement this feature and we're discussing them in https://gitlab.com/gitlab-org/gitlab-ce/issues/4176 Feel free to join the conversation and/or contribute it. For now this feature is planned for 8.7 but this might change.
See https://docs.travis-ci.com/user/pull-requests#How-Pull-Reque... and http://cl.ly/3L303u2j072x/Image%202016-02-13%20at%207.17.57%... for how Travis CI checks both.
a) I know some projects which would love to move to gitlab from sourceforge, but you don't provide mailing lists like the latter, right?
b) Why is your git-blame feature so fragile? It barely works for me, almost always shows the "error" page.
c) Since you shut down gitorious you have published a mirror to get the data out (thanks! finally!), but I don't find one repository in your list in here :( : https://gitorious.org/index-list.html it was called banshee-community-extensions/windows-binaries.git or something like that.
b) I think there is something wrong and have created an issue https://gitlab.com/gitlab-org/gitlab-ce/issues/13413
c) sorry it took so long for the mirror to be copied to the internet archive, I've asked for help with your question but this will likely take a couple of days.
* With SPA I mean that clicking on a link, my browser doesn't load a new page, but rather some JavaScript seems to do it.
* Depending on the browser width, the description of the icons on the left disappears. It should always be there, I'd rather have a horizontal scrollbar than not knowing which button does what.
* Fixed headers. Vertical screen space is the most important thing to me, so there should be nothing on the top blocking the stuff I want to read. Also please don't start to animate it or let the header slide in when I scroll up.
* Infinite scrolling.
* Icon fonts. I don't like the default font. If I block it, some icons don't work anymore.
3. Do you mean the animation? You don't do this yet.
5. SVGs
1. I agree that these browser functions are broken. I think the speedup is worth it but that is personal. BTW Turbolinks are a default feature of modern rails apps, doesn't mean they are right but they are common.
3. We don't plan to do this either as far as I'm aware.
5. Icons in SVG would be nicer but that looks like a lot of work.
I have to say: Gitlab's support seems to be top-notch. I'm sorry for being a bit harsh and thanks for the kind response! :)
To add to sytses:
- We're introducing some more pagination over infinite scrolling. If we see this is successful, we might continue that trend - eventually we will replace the icons with svgs, probably when we switch to our inhouse icons. There is no due date for that, though.
I mean, there is gitlab.com, there is ee, weird multi user licenses, community edition, githost etc.
you need to simplify entry.
Multi user licenses are common in the industry but I don't like them either so we're switching to subscriptions you can buy per user before either GitLab 8.5 or 8.6.
It works great, I really like this project, I think it beats any alternative hands down.
I really like the accurate documentation for upgrading between versions from source (keep it up !).
I think there is a very good balance between EE-CE features, I find that the availability of the features is well thought of.
I don't use GitLab-CI at the moment (running buildbot), are there any plans to integrate support for builtbot ? or on the other hand, edit history of the CI (in jenkins you can simply delete any entry you'd like).
Keep it up ! besides the CI, GitLab offers me everything I currently need. Thanks.
We would love to see support for buildbot. I found https://pypi.python.org/pypi/buildbot-gitlab/0.1.2
And with the commit status api introduced in GitLab 8.1 it should be easy for CI products to support GitLab.
It's been a long coming for the open source community.
A burndown chart is something we planned to do now that we have issue weights. I couldn't find the issue for it so I created on https://gitlab.com/gitlab-org/gitlab-ce/issues/13422
A burndown chart is something we planned to do now that we have issue weights. I couldn't find the issue for it so I created on https://gitlab.com/gitlab-org/gitlab-ce/issues/13422
I am currently very happy with my self-hosted GitLab instance for my personal projects. But I would love to have some of the EE features (both for my workflow and experience working with enterprise tools) and I'm willing to put my money where my mouth is. However open source is very important to me so my question is do you think it would ever be possible to purchase a personal use EE instance without license keys, calling home, and under an open source license?
Why is the gitlab.com option so cheap, even for corporations even if they pay for support? I understand you're still trying to gain market share more than be profitable right now but as a company paying nothing for the product certainly makes me feel like it might go away at any moment and even if we pay for support we may not receive the level of support that we need.
As corporate users, maybe we're not gitlab's target audience right now but aside from those questions it seems like a nice alternative to github, especially with regards to the additional ability to have pull requests rebased before merge...
Our self hosted option currently is more popular than our SaaS one. More than 100,000 organizations use it because they can't use a SaaS for legal, integration, technical and security reasons (want it behind VPN, integrate with other on-premises services, etc.).
GitLab.com is free because we make enough money with GitLab EE to pay for it. For more context and to understand why we think this is sustainable please see https://about.gitlab.com/gitlab-com/#why-gitlab-com-will-be-...
1) Is there a way for me to make modifications to the front-end and still keep those changes when I upgrade?
2) What kind of server should I be using the fastest git pulls/pushes? Currently, my server is running on a 30GB SSD DO droplet with 1GB RAM.
1. No, but after a discussion on HN https://news.ycombinator.com/item?id=10931690 we did decide to merge the branded login page into CE. If you are looking for another front-end change please let me know.
2. Per our requirements https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst... I would advise 2GB of RAM.
Thanks for the requirements link, I must've missed that.
Having people pick custom fonts might make it hard to get the design right for everyone.
Reapplying changes in Omnibus is hard since it is shipped without a git repo, so you can't use git stash or git merge. You would need to switch to an installation from source but we don't recommend that.
I really hope you can contribute the changes you would like to see, GitLab's frontend can still use a lot of polish.
I tried to use GitLab in a classroom setting, and it went okay. One of the reasons we decided against using it the next year was the apparent lack of an archival backup feature (c.f. my Stack Exchange [question](http://serverfault.com/q/627618/172148) on the matter.)
We'd like to start completely fresh every year, so that former course assistants and students don't have access, but we'd also like to keep around the old data (for various reasons). Given that GitLab can only restore a backup to the same version that generated it, the only option this left us with was to archive the whole VM, which just feels sloppy.
I understand that this feature is not a priority and is a relatively large technical undertaking, so I'm not holding my breath on it getting implemented; even so, I thought that sharing my experience would be valuable.
Once again, thank you for engaging with the community and for such a great product.
I think archiving the whole VM makes sense.
Another solution would be to start with a fresh namespace/group each year instead of a fresh server.
From my perspective the best thing would be for them to eventually open source some features I'd like to have in an open source project hosting service, once they've made more reasons for people to pay them. The worst thing would be if someone added it in a plugin or fork of GitLab CE and the company GitLab were to claim that they must have looked at the GitLab EE source code. GitLab Pages and audit logs are the features I'd most like to see in the open source version.
This is much like Nginx Plus's improved load balancing with health checks, which has me considering Tengine.
We do try to open source features that are requested by open source projects, such as the branded login page after a HN discussion https://news.ycombinator.com/item?id=10931690
I agree that falsely accusing people of looking at the EE code would be very bad. So far we only once declined a contribution to CE by claiming it was EE code, in this case the code was verbatim, the diff showed a zero character difference. Future calls will be harder but we'll try to prevent false declines.
More about this our criteria to merge CE contributions if they are already in EE can be found in https://about.gitlab.com/about/#stewardship
Personally, I much prefer Gitlabs project -> code / issues / milestones / etc workflow over Phabricator's git / issues milestones -> projects workflow, and love using Gitlab, but there are a lot of free software communities (Gnome, Freedesktop.org, among others) who are almost certainly going to try moving to more modern project management services in the near future and will be forced away from the IMO best UX Gitlab offers for ones like gogs / phabricator that both sate their needs for a free software solution that also has the featureset for these thousand+ developer ecosystems.
http://permalink.gmane.org/gmane.comp.kde.devel.community/61... https://mail.kde.org/pipermail/kde-community/2014q1/000667.h... https://forum.kde.org/viewtopic.php?f=292&t=130854&p=350671#...
Either way, just signed up. Excited to support Gitlab, any way I can.
Free unlimited private repos w/ 10GB storage per repo (including LFS!) is fantastic. A recent project I worked on involved integrating ~15 upstream modules into a build process. Having the ability to set up a git repo for each module instead of thinking 'maybe I can come up with some hack to do this with less repos' is huge.
Having Gitlab CI w/ the ability to use your own workers just by running a single docker command is the icing on the cake.
And the fact that the repos which need to stay on our own infrastructure can also use GitLab - with an open source option to boot - is what makes choosing GitLab a very easy decision.
Our aim was to provide an at the glance view of the development status (# of commits, branches, pull requests and their status, builds and deployments) with the option to see more detailed information right within JIRA. And of course you can create a new branch right from your JIRA issue.
Lastly, ensuring that the data is 100% reliable and up to date was an important consideration which most of the basic webhook integrations simply ignore.
Take a look at the documentation, which provides a great overview of the integration: https://confluence.atlassian.com/jira/viewing-the-code-devel...
So you are telling me that there is no problem and people should just use a private SSH connection to a box they own?
For it to be open source it must "made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose."
If you publish a github repo with no LICENSE file that specifies an actual open source license it's all rights reserved by default.
I'm interested in what would be the name for software released on a GitHub public repo, but with all rights reserved?
[1]: http://www.gnu.org/philosophy/open-source-misses-the-point.h...
[2]: https://opensource.com/law/13/8/github-poss-licensing
https://en.wikipedia.org/wiki/Java_(software_platform)#Licen...
On gitlab when most stuff is default-private it leads to a lot of potential collaboration being lost, regardless of license.
Now it makes Github look good -- look we have millions of users, billions of lines of code, so many repos. You can see it here it all.
Of course it is important to realize it is free and provided by Github with their infrastructure. So certainly not implying that owe people with free repos anything and if they want those terms of agreement for whatever reason then that's fine.
I just don't necessarily agree that what github is doing is necessarily to benefit "open source" as movement (if there is such a thing).
[1] Yep, my BitBucket account is basically a graveyard.
@sytse: it is one of the best documented and well packaged pieces of software these days. Specially in the Ruby world. Thank you for that. Gitlab really makes a difference.
Where others just distribute Docker images or directly nothing (because omg it is too hard to do proper packaging), Gitlab has nice packages for CentOS, Debian and Ubuntu (the distros that usually run in production servers).
We had an old install from git using mysql. Migrating to Omnibus and converting the DB to postgresql was painless. Surprisingly, it was a perfectly documented process without any pitfalls, or any outdated info. Omnibus packages are just wonderful. apt-get upgrade will just do all the necessary, DB migrations and restart all the components with almost zero downtime.
This proved to me that Gitlab actually gives uttermost care to the CE edition and that it is not just marketing.
So thank you Gitlab for being so awesome.
We spend a lot of time making our Omnibus packages a flawless install and upgrade experience. Docker images are great but for many users Docker is not an option.
GitLab CE is just as performant and easy to upgrade as EE and we strive to keep it that way https://about.gitlab.com/about/#stewardship
Currently our team member Axil is upgrading a GitLab installation from 5.0 all the way to the latest version to ensure it is as smooth as it can be https://twitter.com/gitlab/status/698236575231119360
If you want to know more about upgrading GitLab please see https://about.gitlab.com/update/
Good Kubernetes instructions (from a RedHat person if I'm correct) are on http://www.projectatomic.io/blog/2015/01/deploying-a-contain...
There is also a great community docker image that has Kubenetes instructions https://github.com/sameersbn/docker-gitlab/tree/master/kuber...
BTW I'm also passionate about making it easier to deploy apps hosted on GitLab to Kubernetes, see https://gitlab.com/gitlab-org/gitlab-ce/issues/3286 for more details.
Great to hear that after converting to Omnibus the updates are smooth. We try to help all our users, customer or not.
https://aur.archlinux.org/packages/gitlab/
But meanwhile, again please let's not fragment needlessly - that's certainly not something worth the price to pay for an (admittedly great) "alternative" service be it self-hosted or otherwise...
Edit: I'm strictly talking open-source projects here - Gitlab is a fantastic solution for private repos!
I also completely agree, newer Internet users don't understand that we've lost a lot of the decentralized nature of the Internet. Usenet is a perfect example where everything that is used instead is fundamentally worse. With modern computers and better protocols and distributed algorithms a UUCP-like project hosting facility would be really cool.
There always will be a market for well designed implementations!
We do should look into new projects like keybase fs, ipfs and the likes to think up a really new solution for sure - we probably still need to tackle some more "basic" foundational solutions first though.
That's a fucking stupid headline.
Here's my answer: No.
Here's why: I am the creator of LinuxOnTheWeb. It's an entire OS in a browser, not some stupid early 2000's-esque HTML4 bullshit.
Here's another reason: I'm the fucking peace guy.
And yet another: I'm way fucking cooler that some "look at me in Silicon Valley I'm a CEO" douchebag.
And finally: You don't like me, fuck you, I'm the peace guy.
https://linuxontheweb.appspot.com/
Google me, assholes.
And by "me", I mean "the peace guy".
What makes gitlab unsuitable for linuxontheweb?
What makes an 'os-on-the-web' different from 'html4 bullshit' to a version control tool?
It's just code either way.
I guess it's this guy: http://www.alligator.org/news/campus/article_85290102-e1de-1...
Edit: it gets worse: http://www.alligator.org/news/campus/article_2fd263ce-2661-1...
After we already watched its predecessor Sourceforge fill opensource projects with malware too. One day we're going to look back on all this and laugh "well that was bloody stupid!"
Even Git was created to free the comunity from the commercial restritions of BitKeeper, and the first thing we've done with git is make it centralised and proprietary again.
(Granted the friendlier UI and social network layer is needed, and Github has done a fantastic job there, but holy cow does this feel like watching a trainwreck)
From what I understand, the real value that you are selling with an enterprise edition is the support, dedicated staff, monitoring services and training.
The current license https://gitlab.com/gitlab-org/gitlab-ee/blob/master/LICENSE is proprietary but it does allow people to see the code, modify it and contribute patches https://gitlab.com/gitlab-org/gitlab-ee/merge_requests
Part of the value of a subscription is our support and training, but the unique features of EE https://about.gitlab.com/features/#compare also are important.
Again, I don't mean to be rude, just curiosity, how would you react if people forked the community edition and implemented some of the enterprise edition features and released it under the MIT expat licence?
If people forked CE to add features of EE we would wonder why we didn't merge those in. For our criteria for merging features that are currently EE only please see https://about.gitlab.com/about/#stewardship
The problem is that the more competition we have for (2), the less functional any of the competitors are in serving (2).
Given that when Github goes down, a lot of tools and development workflows also go down, I can understand there being a backup repository. But that's not the same as serving purpose (2), that's just redundancy for (1).
The same problem exists for Facebook. The more Facebooks there are, the less functional any Facebook is.
While this is true, especially for open source projects. I'd rather see a healthy open source community on top of an open source platform than a proprietary one. This for two reasons:
1. Suppose that some features are needed by an open source community. In the case of GitHub, you have to ask and wait until they throw something over the wall. In the case of GitLab, you can write the code yourself, submit a pull request. With a bit of luck, it's in the next version of GitLab.
2. Suppose that GitHub or GitLab as a company becomes evil. This is not far-fetched, look at SourceForge. With GitLab, you could fork the latest community edition and have pretty much the same functionality.
I have personally lost many a "enterprise" contract because of the Ruby thing. Not just that, but at the end of the day Java is very performant with least deployment effort .
Which is why we became a JRuby shop first (and packaged JAR for distribution) and eventually to Spring Boot and Scala.
I understand the value of Rails (my current startup is also built on that) - but I'm wondering if it makes sense for you guys to bite the bullet and jump to the JVM.
Gitlab install is fast and easy (though it didn't used to be). Gitlab has had a hugely successful rapid increase in usability/maintainability/installability.
While it's not like the JVM will never be a source of annoyance for Gitlab admins, speed/user-perceived latency is more than just a feature when porting from an offering that's as polished and good as GitHub. This is especially true for people that would have to rationalize cutting over from GitHub to Gitlab in an enterprise environment.
One thing I've really wanted was a voting system -> merge. Is there a way to require X amount of votes (in general or from specific in a specific group) which, once that is hit, allows the PR to be merged into master? Part of our typical code review workflow is requiring a specific amount of people to approve the PR before it goes in but it's basically the honor system right now and it would be really cool to turn that into some sort of rule.
https://gitlab.com/gitlab-org/gitlab-ce/issues/13411
GitHub has the community, and I'd personally not like to see that divided, not to mention the interface is just so much easier to use - GitLab's is mildly infuriating.
Travis on the other hand... could use a bit of work :)
It only works with GitLab repo's but on GitLab.com you can use the mirror external repositories feature http://doc.gitlab.com/ee/workflow/repository_mirroring.html
I guess I could make some public, but not open source, but that seems like an odd solution too. And I don't want to be publishing homework assignments for others.