[HN Gopher] The KDE community is moving to GitLab
       ___________________________________________________________________
        
       The KDE community is moving to GitLab
        
       Author : caution
       Score  : 200 points
       Date   : 2020-06-29 16:57 UTC (6 hours ago)
        
 (HTM) web link (about.gitlab.com)
 (TXT) w3m dump (about.gitlab.com)
        
       | cptskippy wrote:
       | Did I read that correctly, they were on Subversion before this?
        
         | quantummkv wrote:
         | Only the translation communities, according to the article. But
         | I wouldn't be surprised if more of the repositories were on
         | subversion. There was no git in the 90's when KDE started
        
           | wheels wrote:
           | > _There was no git in the 90 's when KDE started_
           | 
           | There was no _Subversion_ when KDE started. Like most
           | projects of its era, KDE started with CVS, and moved to
           | Subversion in 2005.
        
             | sho_hn wrote:
             | In fact, I recall we had to contribute code to SVN to make
             | it scale to our existing monorepo size :-)
        
           | lbeltrame wrote:
           | Only the translation teams use SVN (and perhaps some very old
           | websites, but I think most if not all of them have been moved
           | to git). All the code lives on git, instead.
        
         | sho_hn wrote:
         | We started seriously looking into git in 2007/2008, then
         | launched git.kde.org in 2010. We had set ourselves the goal to
         | lose zero history, and doing a perfect import while
         | transitioning from a monorepo (with lots of interesting code
         | movement within the hierarchy) to hundreds of individual
         | repositories was quite challenging back then! We had to invent
         | some of the tooling (svn2git) along the way.
        
           | lima wrote:
           | Are you still happy with your choice to migrate away from a
           | monorepo?
        
         | ahartmetz wrote:
         | It was Subversion until 2010 or so. After that, Git with... I
         | think Reviewboard (and various other tools), then Phabricator,
         | soon (and some parts already) GitLab.
        
         | [deleted]
        
       | nikisweeting wrote:
       | Has anyone built a bridge that mirrors issues between Github &
       | Gitlab? (the codebase can obv. just be synced via git itself)
       | 
       | Would be awesome if you could pick your platform without losing
       | all the devs who only use one platform or the other to discuss
       | issues.
        
         | abalaji wrote:
         | GitHub and GitLab have visual indications for the mirroring you
         | mentioned, example:
         | 
         | * https://github.com/PyCQA/flake8
         | 
         | * https://gitlab.com/pycqa/flake8
         | 
         | I'm not aware of any tools that sync issues between the
         | platforms. But, I'm sure someone could build something to set
         | that up using GitHub Actions / GitLab CI.
        
       | x3haloed wrote:
       | Great sales pitch. The part that's missing is the most important
       | part: why they chase GitLab instead of a competitor.
        
       | tapoxi wrote:
       | Since there's other large open-source projects on GitLab too
       | (namely GNOME) I think it would be pretty neat if there was some
       | sort of ActivityPub-esque federation between GitLab instances, to
       | foster a sense of community in an application that's more
       | distributed than GitHub is. You miss out on a lot with so many
       | teams living in their own bubble.
        
         | q3k wrote:
         | You might be interested in ForgeFed [1].
         | 
         | [1] - https://forgefed.peers.community/
        
         | jfkebwjsbx wrote:
         | I genuinely ask: why is "a sense of community" important in a
         | productivity tool?
         | 
         | I have never cared about all the "social features" that work
         | tools seem to always end up introducing...
        
           | beamatronic wrote:
           | Right? If I wanted to deal with people I wouldn't have become
           | a computer programmer.
        
             | jfkebwjsbx wrote:
             | It is not about being social or not (I am a quite social
             | individual), but about the context that I am wondering.
             | 
             | When I am working, I am not trying to be social but to be
             | professional.
        
           | zoomablemind wrote:
           | If you're an open-source project, the community aspect allows
           | a better engagement of ... community, that is devs, users.
           | For devs that means reviews and interactions, for users -
           | issue reporting, maybe some support.
           | 
           | Integration of community features improves visibility and
           | situational awarness. Compare this to emails or IRC, or
           | forums.
           | 
           | Of course, effectiveness of this is as good as the ability to
           | manage the vast information that get generated in open
           | projects like this. What's the point of having everyting in
           | one place if it's hard for users to find the information they
           | need, or if no one is able to properly care for the tons of
           | issues raised from the community... Anyways, GitLab is a tool
           | that helps one organize and tie together these streams of
           | project information.
        
           | tapoxi wrote:
           | Software is a collaborative effort, and the easier you make
           | it to collaborate and share information with others, the
           | better. Imagine @ing a GNOME dev in a different instance to
           | comment on a bug report in KDE, or seeing an newsfeed update
           | that your favorite framework is making a breaking change in
           | the next release, or opening a PR/MR in another project
           | without having to create _yet another_ account.
           | 
           | You don't need to use any of those, but I think that the
           | large community is partly what makes GitHub such a valuable
           | tool.
        
             | jfkebwjsbx wrote:
             | This is a good answer, but the feature you mention sounds
             | to me like it is useful because it is a productivity
             | feature (avoiding time creating accounts and switching tabs
             | in a browser), not really used for socialization.
             | 
             | Like when telephone lines were introduced, they were a
             | massive boost to productivity. Even if they could be used
             | as a social feature _within companies_ , it was not why
             | they were useful there.
        
           | qchris wrote:
           | I have use GitHub to host some of my professional work that
           | is publicly available, and I do use it primarily as a
           | productivity tool with the benefit that I can link other
           | people to it if they need to.
           | 
           | However, I find the "sense of community" features on GitHub
           | to be really important, because I also do a lot of unrelated
           | open-source work as a hobby. In those areas, I'm able to
           | follow people who are coding things similar to mine. I'm able
           | to see when they create a new project, and seeing their stars
           | often leads me to new tools that I find useful. I'm hopeful
           | that the people that follow me or my repositories feel
           | similarly. A sense of community helps to make me enjoy the
           | work I'm doing a little more.
           | 
           | It's kind of like running into someone who's looking through
           | the same section of the hardware store as you. I'm not going
           | to the store to talk with them, but if I end up having a nice
           | interaction with someone who's working on something similar
           | to me or having the same problem I am, it usually brightens
           | my day a little bit.
        
       | LockAndLol wrote:
       | Hopefully with the coordinated move to gitlab and the now greater
       | existence of Gitlab instances, there will be a push towards
       | ForgeFed[0] which will allow cross-instance merge requests,
       | forking, issue creation and more.
       | 
       | I imagine it would make collaboration between different instances
       | / groups easier e.g a KDE developer won't have to create an
       | account on Debian's gitlab in order to fork a project or create
       | an MR, but simply stay on the KDE instance, do all the work there
       | and then submit a cross-instance MR.
       | 
       | 0: https://forgefed.peers.community/
        
       | thaumaturgy wrote:
       | Jumping onto one of the most popular source control platforms is
       | a really good move for KDE, but I'm a bit disappointed to read
       | this. Phabricator is a really excellent piece of software, and
       | seeing large projects like KDE running on it gave me hope that it
       | would have a long life ahead still.
        
         | slezyr wrote:
         | I can't blame them, GitLab's CI integration is great. Take a
         | look at it:
         | 
         | https://invent.kde.org/network/kaidan/-/pipelines/25364
         | 
         | I've tried to find same in the Blender's phabricator and it
         | doesn't look that they have CI support at all.
        
           | thaumaturgy wrote:
           | Yep. Phabricator kiiiinda has CI through Harbormaster, but
           | it's not well documented and only sorta kinda works, and if I
           | remember right, requires running arcanist commands locally.
           | It's way far behind what other platforms are doing.
        
             | lima wrote:
             | Harbormaster works fine, though it requires a million
             | clicks to set up.
             | 
             | It can trigger automatically for new commits or new
             | revisions.
             | 
             | Gitlab is much better at the CI part, though, but
             | significantly worse for code review.
        
             | slezyr wrote:
             | Ah, it reminds me of another issue - AWS-type naming
             | (harbormaster, maniphest, phriction, diffusion,
             | differential) I simply can't what are those without
             | clicking them.
        
               | thaumaturgy wrote:
               | The naming style wasn't great, but you get used to it,
               | like anything else. The architecture itself was
               | beautiful; rather than trying to build a single
               | monolithic application, the developers built a federated
               | suite of applications that all shared a common
               | architecture. This made it possible for the developers to
               | treat each Phabricator component as a separate project
               | and also allowed Phabricator administrators to set up a
               | la carte configurations according to the organization's
               | specific needs.
        
           | techntoke wrote:
           | There are many high-quality CI platforms that integrate into
           | Git that look great. It doesn't have to be built into a large
           | monolithic platform like GitLab. I feel like this is a bad
           | decision too. You'd think they'd at least move to Sourcehut.
        
       | Jonnax wrote:
       | It's cool that KDE are using the Community Edition if Gitlab
        
         | jsiepkes wrote:
         | So how do they deal with (what seems to me) basic functionality
         | that the Gitlab community edition is missing? Like for example
         | linking issues as related?
        
           | sho_hn wrote:
           | We told our friends at GitLab from the start that we would be
           | running the Community Edition, as our policies and principles
           | require.
           | 
           | During the eval phase mentioned in the announcements we
           | worked out a list of blockers we saw in adopting the GitLab
           | CE, some of which had existing solutions in the GitLab
           | Enterprise Edition. We submitted this feedback to GitLab,
           | both via a master account ticket we kept with them as well as
           | by being active in individual tickets. We also aligned our
           | requirements with other open source communities around us
           | (e.g. our friends at Gnome and VideoLAN) to take
           | opportunities to communicate them with one voice.
           | 
           | As a result some functionality of GitLab EE has been migrated
           | to GitLab CE (or GitLab Core, which both build on, to be
           | correct). A very important one for us just recently in 13.1 -
           | Merge Request Reviews.
           | 
           | We're really happy that GitLab takes feedback from the open
           | source software community seriously and engages in productive
           | dialog about it wrt/ the CE (a good relationship with
           | upstream has always been #1 for KDE's tooling choices).
           | Conversely, KDE has a long and proud history of lifting up
           | the communities relying on the tools it adopts (we've
           | contributed in significant ways to SVN, valgrind, CMake,
           | gitolite, Redmine and many other tools we've been using over
           | the years) and we're happy other users will benefit from the
           | more powerful CE. --Eike, KDE e.V.
        
             | ragerino wrote:
             | That's awesome. Thank you!
        
       | rhabarba wrote:
       | How fitting: One of the most over-engineered desktop environments
       | moves from one obscure hosting facility for the most
       | unnecessarily complicated version control system to another.
        
       | nfoz wrote:
       | What advantages do people like from Gitlab as opposed to just
       | using git? I'm not too familiar with gitlab/github, so I'm sure
       | it's a naive question, but I'm wondering what the main value-add
       | that's missing from the basic tools is?
        
         | melling wrote:
         | I'd like to know also. Gitlab appears to have a free account
         | too; I do pay for Github. Do people use both?
         | 
         | Someone mentioned online that Gitlab has a richer markdown
         | format. I haven't really investigated but I found this a moment
         | ago:
         | 
         | https://docs.gitlab.com/ee/user/markdown.html
        
         | lotyrin wrote:
         | Gitlab has an opinionated (and mostly open source) toolchain
         | and set of practices for proposing, implementing, validating,
         | operating, and monitoring software and changes to that software
         | built on top of Git at one end and Kubernetes at the other,
         | with lots of configurable escape hatches to override its smart
         | defaults when/if you need to.
         | 
         | I haven't really seen anything else quite like it (though it
         | does have a long way to go still).
         | 
         | People try to roll their own from-scratch solutions or plug in
         | an off the shelf tool here or there and their idea-to-
         | production pipelines are generally worse or incomplete in
         | comparison. Most of the architects of these things only care
         | about their corner of the solution space and the rest are
         | either neglected or have their own champions and their own
         | siloed solutions.
         | 
         | Nothing off the shelf quite resembles it either. If you e.g.
         | buy and use the entire Atlassian suite and train and get
         | everyone to agree on the desired flows and practices, so much
         | is left to you to design that no two such systems are likely to
         | be similar, nor (in my experience) is any one such system
         | likely to be very effective or efficient in daily use.
         | 
         | I'd really enjoy seeing Gitlab mature and expand, I would love
         | to work at an org that adjusted itself to fit something like
         | what Gitlab is trying to be, instead of trying to make their
         | hodgepodge of tools adhere to their personal tastes and
         | political dynamics, etc. (a Sisyphean task as those landscapes
         | are under constant arbitrary change).
        
         | Scarblac wrote:
         | Pull requests are the thing they offer that is closest to Git
         | itself but not available in the base Git. It's a code reviewing
         | tool to use before merging branches.
         | 
         | Developer A has a branch that he wants to merge with the master
         | branch. He opens a pull request for that merge, and Developer B
         | can look at the diff online and _comment on it_. On individual
         | lines or blocks, or on the PR as a whole. The comments can
         | become discussions, new commits can be added to the pull
         | request and the comments are marked as outdated if that code
         | was updated, when everything is OK developer B can press an
         | "Approve" button and the branch can be merged.
        
           | Stratoscope wrote:
           | A note on terminology:
           | 
           | GitHub and GitLab have similar features. GitHub calls them
           | pull requests. GitLab calls them merge requests.
        
         | bra-ket wrote:
         | no master->main renaming bullshit
        
         | mekoka wrote:
         | Git is still what you use to manage your project's "snapshots"
         | at any given time. But GitHub/GitLab add a plethora of tools to
         | make it easier to manage your project and facilitate
         | collaboration. In addition of offering the service, GitLab
         | gives the possibility to host your own copy of their solution
         | (it's open source).
        
         | beisner wrote:
         | Git is a version control system, whereas Gitlab/Github are
         | source-code hosting applications. You use git to interact with
         | Gitlab/Github.
         | 
         | Without going too in-depth, they allow teams to set up accounts
         | on a central website, where team members can contribute to that
         | central git repository. There are also other project-management
         | features baked into the tool (code review, issue tracking,
         | etc).
         | 
         | Of course, this can all be done using a bare git server running
         | on some publicly-available computer, but they offer nice UIs
         | and very friendly onboarding so that makes them attractive for
         | teams.
        
         | thaumaturgy wrote:
         | Fair question, you shouldn't be getting downvoted for it imo.
         | 
         | Larger projects need a way to collect bug reports, feature
         | requests, maintain documentation, and set up milestones and
         | release schedules, at a minimum. Ideally you want all of this
         | integrated into your vcs, so that when a developer decides to
         | push a commit related to a specific bug or feature request,
         | that commit gets attached to that bug or feature request.
         | 
         | When these are set up and run well, they are very powerful for
         | mid-to-larger organizations.
        
           | deadbunny wrote:
           | I would say that hosting on a centralised service like GitHub
           | it Gitlab also reduces friction for contributors - bug
           | reports, code, docs - as people will usually already have an
           | account so they can make drive by contributions.
           | 
           | Having to find a bug tracker, create an account, log a bug is
           | a lot of hassle for a random library or small project. I know
           | I've given up raising bugs for some things as I couldn't be
           | bothered with the rigmarole of sign-up, verification, etc...
           | On Gitlab/GitHub there is much less friction because I use
           | both regularly and and can use them for multiple projects,
           | large and small.
        
           | fimbulvetr wrote:
           | I would like to second this and point out that while someone
           | can self host and set all of this stuff up, at some points
           | there are economies of scale for using a provider to do this
           | because the provider's raison d'etre is to create these
           | interfaces that make it easy for everyone to interact with
           | git. The developers on KDE, etc. probably don't want to spend
           | their time working on the UI for their
           | bug/issue/feature/commit request tool when they could be
           | working on KDE things.
           | 
           | Finally, there's the fact that many more users will be
           | familiar with GitLab (or GitHub, BitBucket, and so on) than
           | they would with each and every opensource project's flavor of
           | bug/issue/feature/commit tracker. For instance, I know
           | exactly how to find the "releases" section on github quickly
           | - if KDE wrote their own bug/issue/feature/commit tracker,
           | I'd have to find the "releases" area and remember where it is
           | every time since I don't use that UI as often as I use
           | github.
        
         | ragerino wrote:
         | GitHub and GitLab add project management capabilities to your
         | project.
         | 
         | Both come with a IssueTracker (for bugs, feature requests,
         | ...), a Wiki (for documentation), simple user management, and
         | webhooks for automated build platforms.
         | 
         | You can do things like adding an issue-id into a commit
         | statement which displays your commit in the issue ticket for
         | others to reproduce what exactly was changed to fix a bug or
         | implement a new feature. This can be super helpful when someone
         | wants to extend a feature. Or reproduce why something isn't
         | working any more, and fixing it instead of reverting the code
         | and reintroducing a bug that was fixed (We had exactly such a
         | problem of a reoccurring bug because two dev's didn't
         | understand each others commits)
         | 
         | I prefer using GitLab for my company and private projects,
         | since Microsoft has acquired GitHub. For public projects I
         | prefer GitHub because the user community is larger.
         | 
         | GitLab also comes with extensive project management and DevOps
         | support, and can run on your own infrastructure.
        
           | g105b wrote:
           | You can run Github on your own infrastructure too, so is the
           | only benefit of GitLab that it isn't owned by Microsoft (the
           | largest contributor to The Linux Foundation since 2005)?
        
             | burkaman wrote:
             | Github Enterprise is $21 per user per month, and GitLab
             | Community Edition is free.
        
               | techntoke wrote:
               | It is free and open source, unlike GitHub
        
         | Denvercoder9 wrote:
         | CI, issue tracker, pull requests, etc.
        
         | jfkebwjsbx wrote:
         | When those projects started, not much. They offered Git storage
         | and an issue list, pretty much.
         | 
         | Then they started to grow, specially GitLab in the beginning,
         | and now try to be a single centralized solution for all
         | software development needs like Atlassian, IBM and others had
         | always been selling.
        
         | shmerl wrote:
         | Gitlab is replacing Phabricator, not Git. It's a higher level
         | tool.
        
           | brnt wrote:
           | Aha. I was already thinking: what does Gitlab add next to
           | Phabricator? And the KDE Bugzilla instance. Will that be
           | moved over as well? KDE has many parallel systems like that
           | unfortunately.
        
       | rvz wrote:
       | Great news for KDE and open source. Self-hosting with something
       | like GitLab, Gitea, etc is still an option if you are dealing
       | with an open-source project like GNOME, Xfce, etc. This allows
       | you to control your data, source-code and the server if it goes
       | down with the sys-admins to maintain it and you can still mirror
       | your official repository from GitLab/Gitea to GitHub.
       | 
       | It isn't a good idea to 'centralise everything' [0] on a server
       | or VM instance that you don't own, which is why self-hosting is
       | better for companies and open-source projects than on GitHub.
       | 
       | [0] https://news.ycombinator.com/item?id=22867803
        
         | slezyr wrote:
         | It's not about GitHub, it's interesting that they move from
         | Phabricator(?) to GitLab.
        
         | rH61W3epxeHMjg4 wrote:
         | Many open source projects are self-hosting Gitlab:
         | 
         | Gnome: https://gitlab.gnome.org/GNOME
         | 
         | Freedesktop : https://gitlab.freedesktop.org/explore/groups
         | 
         | Arch Linux : https://gitlab.archlinux.org/archlinux
        
           | mixologic wrote:
           | Debian: https://salsa.debian.org/public
        
           | mixologic wrote:
           | Drupal: https://git.drupalcode.org
        
           | zelphirkalt wrote:
           | Free a.k.a. libre, not open. Ot's even in the name this time
           | ...
        
         | zelphirkalt wrote:
         | I think KDE contributors are mostly knowingly contributing to
         | free (libre) software. To call this only open source does a
         | disservice to KDE as a community. It's not the nicest thing to
         | say. I guess you were unaware of this and not intentionally
         | mixing up the terms. I think KDE devs would pro ably disagree
         | with you calling it only open source.
         | 
         | KDE devs correct me, if I am wrong please.
        
         | ssutch3 wrote:
         | KDE is "self hosting" https://invent.kde.org/public/
        
       | zmmmmm wrote:
       | I think this is great but the "Why KDE moved to GitLab" section
       | is downright weird - doesn't seem to provide any clear reason why
       | and mostly talks about how hard it is. Why put that section in if
       | then to not properly address it? It is almost counterproductive
       | because it makes me really wonder now why when they can't
       | actually state a clear advantage.
        
         | [deleted]
        
       ___________________________________________________________________
       (page generated 2020-06-29 23:00 UTC)