58 votes

GitLab is reportedly up for sale

26 comments

  1. [16]
    davek804
    Link
    I've been following this for a few weeks now... been rather quiet (as one would expect). Gitlab is the core of my work. I'm rather concerned about this. I don't look forward to needing to use...

    I've been following this for a few weeks now... been rather quiet (as one would expect). Gitlab is the core of my work. I'm rather concerned about this. I don't look forward to needing to use corporate's Github implementation where I don't control my own destiny.

    20 votes
    1. [15]
      cstby
      Link Parent
      Maybe check out Gitea and Forgejo?

      Maybe check out Gitea and Forgejo?

      12 votes
      1. [3]
        ebonGavia
        Link Parent
        And SourceHut for that matter. Drew's good people.

        And SourceHut for that matter. Drew's good people.

        11 votes
        1. [2]
          gianni
          (edited )
          Link Parent
          That’s interesting to hear—almost all of my interactions with Drew have been unpleasant and hostile. So much so that I tend to avoid his software these days.

          That’s interesting to hear—almost all of my interactions with Drew have been unpleasant and hostile. So much so that I tend to avoid his software these days.

          5 votes
          1. hungariantoast
            Link Parent
            He's chilled out a lot in the past few years, at least on his blog and social media. No idea what it's like to collaborate with him though

            He's chilled out a lot in the past few years, at least on his blog and social media. No idea what it's like to collaborate with him though

            5 votes
      2. [5]
        creesch
        Link Parent
        The trouble is that it is not quite as easy as swapping out repositories. Gitlab also comes with a ci/cd platform, issue management, etc. Having been involved in such migrations at bigger...

        The trouble is that it is not quite as easy as swapping out repositories. Gitlab also comes with a ci/cd platform, issue management, etc.

        Having been involved in such migrations at bigger companies it frankly speaking is a huge pain in the ass.

        11 votes
        1. [4]
          0xSim
          Link Parent
          So does Gitea. Granted, I doubt most bigger organization will ever use Gitea or Forgejo, but IMO it's worth it to at least check it out.

          Gitlab also comes with a ci/cd platform, issue management, etc.

          So does Gitea. Granted, I doubt most bigger organization will ever use Gitea or Forgejo, but IMO it's worth it to at least check it out.

          2 votes
          1. [3]
            creesch
            Link Parent
            I am sure they do, the platforms we migrated to also offer everything GitLab does. The problem is that each platform has a different architecture for things like pipelines. For example. The GitLab...

            I am sure they do, the platforms we migrated to also offer everything GitLab does. The problem is that each platform has a different architecture for things like pipelines.

            For example. The GitLab yaml configuration for pipelines doesn't work on other platforms. In fact each platform uses a different syntax with different env variables, different methods to do specific things, etc.

            This effectively means that you need to rewrite all your pipelines. Assuming a modern "devops" setting where teams are responsible for their own pipelines it effectively means a considerable amount of time spend that is not spend on actual application development.

            11 votes
            1. davek804
              Link Parent
              Ha. Yeah. I agree with your points. Gitea looks interesting, but the effort involved in shifting between CI/CD implementations is annoying enough to make me not want to do it. I stood up a copy of...

              Ha. Yeah. I agree with your points. Gitea looks interesting, but the effort involved in shifting between CI/CD implementations is annoying enough to make me not want to do it. I stood up a copy of Gitea in my infrastructure, and I'll poke around. That being said, the migration from Jenkins to Gitlab CI/CD was a long-enough effort. I'd be sad to need to do another migration. Also that being said, though, these migrations encourage a lot of code clean up and consolidation. So, if I'm forced to do it ... there's some minor benefits. It's just an annoyance!

              6 votes
            2. Mendanbar
              Link Parent
              Yeah this is what worries me the most. We use a ton of pipeline templates to do heavy lifting and this would be a huge undertaking to migrate.

              Yeah this is what worries me the most. We use a ton of pipeline templates to do heavy lifting and this would be a huge undertaking to migrate.

      3. [6]
        akselmo
        Link Parent
        You can test the Forgejo waters with Codeberg, it's where I place all my repos: https://codeberg.org/

        You can test the Forgejo waters with Codeberg, it's where I place all my repos: https://codeberg.org/

        1 vote
        1. [5]
          RheingoldRiver
          Link Parent
          I used codeberg a bit when I was triaging kbin issues last summer. It (codeberg) was one of the most unpleasant platforms I've ever had the displeasure of working with. In particular, the behavior...

          I used codeberg a bit when I was triaging kbin issues last summer. It (codeberg) was one of the most unpleasant platforms I've ever had the displeasure of working with. In particular, the behavior of home and end were bound weirdly, so that they took you to the beginning & end of the semantic rather than lexicographic line, i.e. line wrapping was not taken into account and it only respected the \n character. That was only one of the issues, but it was the most viscerally annoying so it's the one that stuck with me the most.

          2 votes
          1. [4]
            hungariantoast
            (edited )
            Link Parent
            Okay, I went and looked up "semantic lines" and now I’m even more confused. I’m going to guess that by "semantic lines" you mean the visual line break where the text editor, browser, etc. wraps...

            Okay, I went and looked up "semantic lines" and now I’m even more confused.

            I’m going to guess that by "semantic lines" you mean the visual line break where the text editor, browser, etc. wraps the line?

            And "lexicographic lines" are the lines that are actually terminated with \n?

            So when you say "[home/end] took you to the beginning & end of the semantic [line]", isn't that what you'd want? The home/end keys move the cursor to the end of the visual/wrapped line, not the end of the logical line?

            I guess I'm just overly curious about this because I have been wresting with my own home/end line navigation weirdness in Emacs, and nothing makes sense anymore haha


            I know I'm getting off into the weeds a bit here, but I'll explain my troubles, because it might be of interest to someone else:

            What bothered me about Emacs was that home and end would take me to the absolute beginning or end of a line (the logical line), such as where the linebreak \n was located.

            I came to Emacs from Visual Studio Code. In VSCode, the home/end keys will first take you to the visual beginning or end of a line, based on if and where that line is visually wrapped by the editor. Hitting the home or end key a second time will then take you to the end of the logical line.

            I cannot seem to replicate this "smart movement" of home/end in Emacs. I did come up with a temporary solution though:

            Regardless of wrapping (visual-line-mode in Emacs parlance), home/end still navigate to the beginning or end of a logical line.

            Using the mwim package though, I was able to set C-a and C-e to intelligently move to the visual beginning and ends of lines.

            So now, depending on which version of the beginning or end of a line I want to navigate to (the logical or visual point), I can press either home or end, or C-a or C-e. It's not ideal, but it is a temporary solution.

            The problem is I haven't figured out a way, with a third party package or native Emacs, to replicate VSCode's smart navigation/double function of home/end. I have to either use home/end or C-a/C-e depending on if I want to move to the logical or visual end of a line.

            I'm confident there's a way to accomplish this, I just haven't found it yet. Worst case, I'll have to write my own package to do it.

            This comment probably seems totally random and poorly written. I'll come back and clean it up when I'm awake again.

            (And for anyone who knows what I'm talking about: I use visual-line-mode globally, and you can pry it from my cold, dead hands)

            2 votes
            1. [2]
              heraplem
              (edited )
              Link Parent
              I think this will do what you want for the "beginning of line" case: (defun smart-beginning-of-line () (interactive) (let ((start (point))) (beginning-of-visual-line) (when (equal start (point))...

              I cannot seem to replicate this “smart movement” of home/end in emacs.

              I think this will do what you want for the "beginning of line" case:

              (defun smart-beginning-of-line ()
                (interactive)
                (let ((start (point)))
                  (beginning-of-visual-line)
                  (when (equal start (point))
                    (beginning-of-line))))
              
              3 votes
              1. hungariantoast
                (edited )
                Link Parent
                Thank you so much, this is exactly what I was looking for! I took this function, duplicated it for beginning and end versions, and added shift-selection support. This is what I came up with:...

                Thank you so much, this is exactly what I was looking for!

                I took this function, duplicated it for beginning and end versions, and added shift-selection support. This is what I came up with:

                (defun smart-beginning-of-line ()
                  (interactive
                   (progn
                     (handle-shift-selection)))
                  (let ((start (point)))
                    (beginning-of-visual-line)
                    (when (equal (point) start)
                      (beginning-of-line))))
                
                (defun smart-end-of-line ()
                  (interactive
                   (progn
                     (handle-shift-selection)))
                  (let ((end (point)))
                    (end-of-visual-line)
                    (when (equal (point) end)
                      (end-of-line))))
                
                (global-set-key (kbd "<home>") 'smart-beginning-of-line)
                (global-set-key (kbd "<end>") 'smart-end-of-line)
                

                That ended up working great. However, I also use the mwim package because it has some nice indentation and comment-aware smart navigation features. So, the end result in my init.el is a little different.

                I actually necro'd an eight-year-old issue for mwim to share this solution with someone who was looking for the same thing, so it wasn't just me you helped.

                Thanks again!

                2 votes
            2. RheingoldRiver
              Link Parent
              no I mean the other way. semantically, a line break is where \n appears in the text and nowhere else, the way it's presented in your browser has nothing to do with the actual meaning of the text....

              I’m going to guess that by “semantic line” you mean the visual line break where the text editor, browser, etc wraps the line?

              no I mean the other way. semantically, a line break is where \n appears in the text and nowhere else, the way it's presented in your browser has nothing to do with the actual meaning of the text. but the lexicographic presentation is relevant and the line wrapping means that you want home and end to behave with respect to the visual word wrapping.

              I am not sure where emacs comes into this, are you just wondering about it? My complaint is about codeberg, it has no preference for this and uses the nonstandard "only \n matters and I absolutely hated using it

              I tried changing this toggle in sublimetext several years ago for about 1 day cos I thought it might be interesting to see if I liked it. I did not like it and I changed it back to default. But, I appreciated that it gave you the choice.

              1 vote
  2. [3]
    devalexwhite
    Link
    I used to use GitLab a while back (when Microsoft bought GitHub). Recently tried to use it again and it seemed normal people couldn’t create repos anymore? Was super confused on what happened,...

    I used to use GitLab a while back (when Microsoft bought GitHub). Recently tried to use it again and it seemed normal people couldn’t create repos anymore? Was super confused on what happened, haven’t thought of it again since then.

    7 votes
    1. [2]
      EpicAglet
      Link Parent
      I am normal people (my mom had me tested) and I use GitLab. Have no issues cheating repos, so don't know what was going on when you tried it.

      I am normal people (my mom had me tested) and I use GitLab. Have no issues cheating repos, so don't know what was going on when you tried it.

      13 votes
      1. creesch
        Link Parent
        Poor repos being cheated on...

        Poor repos being cheated on...

        11 votes
  3. [3]
    akselmo
    Link
    Well that's interesting. Wonder if someone buys them and they will just close-source everything as much as possible.

    Well that's interesting. Wonder if someone buys them and they will just close-source everything as much as possible.

    4 votes
    1. [2]
      creesch
      Link Parent
      Possible, but unlikely. They already have a commercial offering. It could be that the community edition gets less and less development but remains to be seen.

      Possible, but unlikely. They already have a commercial offering. It could be that the community edition gets less and less development but remains to be seen.

      4 votes
      1. arqalite
        Link Parent
        At least the community edition is (mostly) MIT-licensed, so a fork can be made and maintained if the userbase wants to.

        At least the community edition is (mostly) MIT-licensed, so a fork can be made and maintained if the userbase wants to.

        1 vote
  4. [4]
    ogre
    Link
    I’m trying to understand why Datadog would be a more likely buyer than an AI company like Google. I have to imagine that GitLab’s valuation is pumped up by the wealth of training data hidden in...

    I’m trying to understand why Datadog would be a more likely buyer than an AI company like Google. I have to imagine that GitLab’s valuation is pumped up by the wealth of training data hidden in private repos, and that Google would be interested in acquiring that data for their Gemini models. I just don’t know enough about Datadog to see what strategic value would be in an acquisition like this. Can anyone clue me in?

    1 vote
    1. [3]
      JoshuaJ
      Link Parent
      Datadogs customers are all enterprise, gitlab has a sizeable enterprise customer base that datadog can upsell to, and build easy integrations for existing gitlab customers with triggers via...

      Datadogs customers are all enterprise, gitlab has a sizeable enterprise customer base that datadog can upsell to, and build easy integrations for existing gitlab customers with triggers via existing ci/cd pipelines.

      Seems like a way to grow via sharing customer bases.

      6 votes
      1. [2]
        Mendanbar
        Link Parent
        Datadog and Gitlab offerings are super aligned and have very little overlap as well, last I checked. I'm not sure yet how I feel about this news overall... but Datadog isn't the worst buyer I...

        Datadog and Gitlab offerings are super aligned and have very little overlap as well, last I checked. I'm not sure yet how I feel about this news overall... but Datadog isn't the worst buyer I could think of.

        4 votes
        1. JoshuaJ
          Link Parent
          As a customer of Gitlab, the main thing I would be sorry to see go, is the level of transparency they keep. Their company handbook is hosted online and open. A lot of their engineering practices...

          As a customer of Gitlab, the main thing I would be sorry to see go, is the level of transparency they keep. Their company handbook is hosted online and open. A lot of their engineering practices and product development ideas, OKR’s process, etc. is open for other companies to learn from. I find their writing super useful and wouldn’t want to see it go with a culture change via acquisition.

          2 votes