It sounds way less offensive to those who decry the original terminology’s problematic roots but still keeps its meaning intact.

  • Fades@lemmy.world
    link
    fedilink
    English
    arrow-up
    160
    arrow-down
    33
    ·
    edit-2
    4 months ago

    No it doesn’t sound bad, words don’t need to be thrown away forever just because they’ve been used to describe unfair treatment. I’m so sick of having to relabel so many things that are so far divorced from the social issues they are used to describe. It’s so pointless and has no impact, the code doesn’t care which is master and which is the slave for they are simply descriptive labels.

    Are we supposed to never use the words master or slave ever again?? What’s next?

    My dev friends, no matter their race, all say the exact same thing. We still use master over main, come at us I guess.

    • Sinthesis@lemmy.world
      link
      fedilink
      arrow-up
      44
      arrow-down
      51
      ·
      edit-2
      4 months ago

      unfair treatment.

      We’re talking about slavery here.

      sick of having to relabel

      It’s not that hard…to be accommodating.

      divorced from the social issues

      from your point of view

      the code doesn’t care

      You’re right. Call it a controller and agent. I know naming is hard, but we’re smart enough to apply our lexicon.

      never use the words master or slave ever again? What’s next??

      Ah, the slippery slope fallacy.

      We still use master over main

      The default for new repositories on GitHub has been main for awhile now. You would have had to put in effort to change it to something else. You’re a stick in the mud.

      • Tyoda@lemm.ee
        link
        fedilink
        arrow-up
        14
        arrow-down
        1
        ·
        4 months ago

        The default for git repositories is still master. Not to be the “real programmers only use CLI” guy, but I feel like git init isn’t too hipster.

        • femtech@midwest.social
          link
          fedilink
          arrow-up
          1
          arrow-down
          4
          ·
          4 months ago

          The default has been main for awhile.

          This is the case in our current version of git (git version 2.28. 0). As of October 1, 2020, any new repository you create on GitHub.com will use main as the default branch.

          March 2021 for gitlab

            • Sinthesis@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              3
              ·
              4 months ago

              No shit? Let me guess; you’re still using git like Linus intended it to be, decentralized, by emailing each other tar.gz’s

              • Saik0@lemmy.saik0.com
                link
                fedilink
                English
                arrow-up
                3
                ·
                edit-2
                4 months ago

                No. I’m just not willing to attribute a COMPANY as the sole owner/stakeholder in a protocol that honestly has very little to do with them.

                Just because Github does something, doesn’t mean that they represent git.

                • Sinthesis@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  4 months ago

                  I just used the most popular/known example. Personally I haven’t liked GitHub since Micro$oft bought them. I’m ol’ school, 25 years in the biz so M$ really really leaves a bad aftertaste in my mouth.

                  I’ll answer your other question in the other thread.

              • Saik0@lemmy.saik0.com
                link
                fedilink
                English
                arrow-up
                2
                ·
                4 months ago

                can you point where ANYTHING is recommended at all there?

                Cause it simply says that you can change the name. But “master” is the default. That doesn’t sound like a “recommendation” at all. But just making people aware since some repositories try to force things like “Main”. Almost like the repo you’re using might be enforcing shit that Git in of itself doesn’t give a shit about.

                • Sinthesis@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  2
                  ·
                  4 months ago

                  which will suppress this warning

                  “I’m going to be annoying you until you do something about it” It is recommending that you take some sort of action, that choice is up to you as the user. In fact, the older way of disabling the warning was called advice.defaultBranchName

                  AFAIK git is still Linus Trovalds’ project and one thing he is known for is “you dont fuckin break user space”. That is acknowledged in the pull request https://github.com/git/git/pull/921

                  “will minimize disruption for Git’s users and will include appropriate deprecation periods”.

                  Linus is also a fuck-your-feelings kind of guy so deprecation_period == linus_date_of_death. No, I’m not implying Linus is racist/bigot, just that he feels that strongly about breaking user experience.

                  Git in of itself doesn’t give a shit about.

                  You’re right…and that’s why its unbelievable to me how some people are still (it has been nearly 4 years since that PR above) resistant to change this one little thing. This is just the initial branch that we’re talking about here. Git doesn’t care if you:

                  ﬌ git init
                  Initialized empty Git repository in /home/xxxxxx/tmp/.git/
                  
                  ﬌ touch foo && git add foo && git commit -am "foo"
                  [main (root-commit) 9c74dd1] foo
                   1 file changed, 0 insertions(+), 0 deletions(-)
                   create mode 100644 foo
                  
                  ﬌ git branch -a            
                  * main
                  
                  ﬌ git checkout -b bar
                  Switched to a new branch 'bar'
                  
                  ﬌ git branch -d main
                  Deleted branch main (was 9c74dd1).
                  
                  ﬌ git branch -a
                  * bar
                  
                  ﬌ git log      
                  commit 9c74dd18d493fec727e6ce9e4ba71ed356dd970d (HEAD -> bar)
                  Author: Butters
                  Date:   Thu Aug 22 00:14:44 2024 -0400
                  
                      foo
                  
                  • Saik0@lemmy.saik0.com
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    arrow-down
                    1
                    ·
                    4 months ago

                    “I’m going to be annoying you until you do something about it”

                    You call that annoying? Annoying would be not functioning at all unless you choose an choice… or even worse. Go the Github route and specifically force you to use anything other than master.

                    Git doesn’t care if you:

                    Right… So why are you attributing Github = Git… When It’s clear that’s not the case.

        • Sinthesis@lemmy.world
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          4 months ago

          …which you get a multiline message telling you to change your ways (Linus doesn’t break UX)…every time you init…weird.

          $ git init
          hint: Using 'master' as the name for the initial branch. This default branch name
          hint: is subject to change. To configure the initial branch name to use in all
          hint: of your new repositories, which will suppress this warning, call:
          hint:
          hint: 	git config --global init.defaultBranch <name>
          hint:
          hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
          hint: 'development'. The just-created branch can be renamed via this command:
          hint:
          hint: 	git branch -m <name>
          
          • Tyoda@lemm.ee
            link
            fedilink
            arrow-up
            3
            ·
            4 months ago

            Gonna be honest, I don’t think I ever read that. I think I usually just do git status immediately after to see if all’s well.

      • Riven@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        22
        arrow-down
        20
        ·
        4 months ago

        Fuck I don’t get your downvotes, you’re right. I get people want to vent but in the greater scheme of things having to use different words to be a smidge more inclusive isn’t that big of a deal or effort considering what some of us do to help our friends be accepted.

        • warbond@lemmy.world
          link
          fedilink
          arrow-up
          6
          arrow-down
          8
          ·
          4 months ago

          It’s so weird that so many people are calling being accommodating in such a small way “performative” or whatever! I think some people just can’t handle change and blame others for it.

          • orrk@lemmy.world
            link
            fedilink
            arrow-up
            15
            arrow-down
            2
            ·
            4 months ago

            or it’s just literally performative and doesn’t actually change anything about the realities of being POC in America other than making (ironically) a bunch of white people feel good about themselves.

    • elephantium@lemmy.world
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      2
      ·
      4 months ago

      I’m a dev, and I’m the opposite. At my work, we use main over master. I thought it was a little silly when we first switched, but now I’m used to it. It’s an arbitrary label anyway – could easily use trunk/branch from SVN or release/develop or any number of other labels to keep track of code.

      Hell, we got a new dev on the team a month or two ago, and he tends to name things ‘feat/do-the-thing’ instead of ‘feature/make-it-go’.

      It’s not as big a deal as people online make it out to be.

    • Sinthesis@lemmy.world
      link
      fedilink
      arrow-up
      12
      arrow-down
      24
      ·
      edit-2
      4 months ago

      unfair treatment.

      We’re talking about slavery here.

      sick of having to relabel

      It’s not that hard…to be accommodating.

      divorced from the social issues

      from your point of view

      the code doesn’t care

      You’re right. Call it a controller and agent. I know naming is hard, but we’re smart enough to apply our lexicon.

      never use the words master or slave ever again? What’s next??

      Ah, the slippery slope fallacy.

      We still use master over main

      The default for repositories on GitHub has been main. You would have had to put in effort to change it to something else. You’re a stick in the mud.

    • Rentlar@lemmy.ca
      link
      fedilink
      arrow-up
      36
      arrow-down
      4
      ·
      4 months ago

      Right? I get that langauge evolves and things go in and out of fashion, but this self-censoring for things completely unrelated to the original or derogatory meanings is kind of a pointless exercise to me.

    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      arrow-up
      25
      arrow-down
      4
      ·
      edit-2
      4 months ago

      master over main

      That one is the most stupid one too, because master in git doesn’t even refer to a master/slave relationship. It refers to a different meaning of the word master, namely “an original from which copies can be made”, as in master recording or master key. See 5b in the Merriam-Webster dictionary. And that’s how it’s used in git: any new branches are derived from master. Main just does not have the same nuance, because it does not imply a relationship between the branches, just that it’s somehow more important than the others.

      But of course, the real reason it was changed is because for companies like github it’s easier to give in to the crazies who demand this than to fight them.

      • aodhsishaj@lemmy.world
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        edit-2
        4 months ago

        Is it not the main working branch? Git is a system of change not just recording change. When you start a new project, do you open a new branch or create a whole new repository? That’s not rhetorical I’m genuinely curious.

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          13
          ·
          4 months ago

          Is it not the main working branch

          No it is not. On large distributed projects for which git was designed, you typically don’t directly work on main/master but you create a working branch to do your changes, and when they are ready you merge them to main/master.

          There are many types of git workflows, but main/master usually contains the code that is deployed to production or the latest stable release and not some work in progress.

          When you start a new project, do you open a new branch or create a whole new repository?

          You have to define “project” for that.

          • Is your project a change to existing code -> new branch, merge to main/master when done
          • Is your project something new that stands entirely on its own? -> new repository
          • PlexSheep@infosec.pub
            link
            fedilink
            arrow-up
            2
            ·
            4 months ago

            In fact, many projects forbid pushing to master entirely and only allow reviewed merging to the master. Then, every time the master changes, a new release of the software is made (either manually or automatically with CI/CD)

          • aodhsishaj@lemmy.world
            link
            fedilink
            arrow-up
            2
            arrow-down
            2
            ·
            4 months ago

            Ah we develop the same way. There’s testing then staging then prod is final review and is then finally merged to Main after documentation. Main branch is protected and merges are gated by review. There’s no need for master terminology there.

              • aodhsishaj@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                4 months ago

                In our environment Prod is only a holding area, the change/feature/bugfix is already approved for production, once the change is documented then the merge happens into main and Prod is consumed.

                Our “working” branches are ephemeral.

                  • aodhsishaj@lemmy.world
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    edit-2
                    4 months ago

                    Yeah, we’re trying to avoid a lot of hanging branches with no documentation so we try to prune as much as possible. So we built pruning and documentation into the workflow of the pipeline.

            • DefederateLemmyMl@feddit.nl
              link
              fedilink
              English
              arrow-up
              4
              ·
              4 months ago

              There’s no need for master terminology there

              Nobody said there is a need, you could call it foo or bar and it would still work. It just that master more accurately describes what it is. Main for example does not describe a derivative relationship, master does.

              Also, master in this context is totally unrelated to slavery so I could also just as easily say that there was no need to replace the existing terminology either. It doesn’t solve any real world problems of historic or currently existing slavery, and it doesn’t make anyone’s life better. The only reasons why it was done were appeasement and virtue signalling.

              • aodhsishaj@lemmy.world
                link
                fedilink
                arrow-up
                3
                arrow-down
                3
                ·
                4 months ago

                Sure, so if there’s no need for any certain terminology outside of an agreed upon definition what does it matter if it’s called master or main or unicorn farts? Why care about Master at all?

                • DefederateLemmyMl@feddit.nl
                  link
                  fedilink
                  English
                  arrow-up
                  9
                  arrow-down
                  3
                  ·
                  edit-2
                  4 months ago

                  Why care about Master at all?

                  I’ve already explained all my reasons, but I’ll reiterate. To summarize I basically have five main issues with it

                  1. The change was done in response to attempts at language policing and bullying by a vocal and militant minority. Giving into it is a form of appeasement towards an unreasonable demand.

                  2. The change retroactively modifies a terminology that was already agreed upon. Like, if git sprung into existence today, not many people would have an issue with it if they would call it main or trunk or primary from the get go. But that’s not what happened. Git was released in 2005 and it used master terminology. As a consequence, many existing repositories also use master. Now when someone is working with branches, like doing merges or pull requests, they suddenly have to remember: oh in this repository it is main, but in that repository it is still master. Or they have go out of their way to modify decade old repositories, potentially breaking all kinds of behind the scenes CICD stuff. Or they have to go out of their way to revert the default on all systems that they’re working on back to master. In any case, this change is a source of errors and wasted effort for zero net good.

                  3. It does no good in the real world other than making do-gooders feel good about themselves, and giving a capitalist entity some PR to appear more progressive than they are. We all still have masters, existing slaves are not freed, no historical wrongs of slavery or inequality are righted.

                  4. It’s a misguided change in this case because the word master in this context doesn’t even have a relationship to slavery. Just like a master degree you may hold, or a master key or a master recording of your favorite album have no bearing on slavery. Note that there are no “slave” branches in git.

                  5. Finally, in the case of git, master is simply more accurate than main because it carries a nuance (derivativeness) that main does not.

                  • AA5B@lemmy.world
                    link
                    fedilink
                    arrow-up
                    2
                    arrow-down
                    6
                    ·
                    4 months ago

                    Take a breath dude. While I also don’t see how there is a connection to anything negative and think that older term was slightly more accurate, does it really matter?

                    If there’s any chance it helps maintain a hostile workplace/industry, it’s trivial to change. Might as well.

                    My company didn’t force a change but our git software changed their default:

                    • some repos use “master”, some use “main” and it really doesn’t matter
                    • the name of the main branch is based on age: before vs after the git software changed. Clearly the most important factor is people are lazy and the default is good enough
        • orrk@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          you don’t work on main/master, you make a branch to work in, and then merge your changes back into master/main

          • aodhsishaj@lemmy.world
            link
            fedilink
            arrow-up
            4
            ·
            edit-2
            4 months ago

            Respectfully, I can do whatever the fuck I want. That’s the point of git. If I want to branch my way down to a stack overflow due to running out of free memory my system will very happily let me do that.

    • Phoenix3875@lemmy.world
      link
      fedilink
      arrow-up
      38
      arrow-down
      4
      ·
      edit-2
      4 months ago

      The problem with these token activism is that it’s hollow in content. The intent might be good, but the action is almost pure virtue signalling.

      Slavoj Zizek pointed out in multiple interviews that there’s a pervert self-reflectiveness in the self-censorship: privileged people “enjoy” being guilty of their privilege, so it’s more about themselves rather than the people they claim to represent. “Sorry, but you were naive and unaware of people being racist when they use these words, so let me stop them and now you are protected (by me) in an inclusive atmosphere.”

      A related radical freedom situation as an inverse to the above is that when friends get really close, even using racist slurs is treated as a gesture of intimacy, rather than racism. In an ideal world, the context in the public discourse would be so strong that even racist words lose their racist meaning (“oh, so you are joking as well”) rather than the opposite (assuming there’s ubiquitous “hidden” racism in the use of a word, even when there’s clearly none).

      Another critique is that it presents itself as a substitute of real solutions. Instead of addressing real problems, it provides a simple “everyday” solution, very much similar to the recycling movement. Of course we need to recycle, but we should be aware that it’s not a substitute of radical real actions (e.g. stopping the big oil).

    • pop@lemmy.ml
      link
      fedilink
      arrow-up
      9
      arrow-down
      5
      ·
      4 months ago

      No one told you to throw away anything. If it works for you then go wild. No one else cares what you do in private or a with your “dev friends”.

      I for one love shorts words to get meaning across. “main” was just sweet, the social issue thing was a good to have.

    • FlorianSimon@sh.itjust.works
      link
      fedilink
      arrow-up
      78
      arrow-down
      9
      ·
      4 months ago

      Honestly, while the controversy is incredibly stupid, it’s not something to get worked up about. Not good for your heart 😜

      You don’t have to relabel anything, just keep using old names for old stuff and maybe consider switching to main for your next GitHub project? It’s honestly not that big of a deal.

      • yogsototh@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        4 months ago

        I work for s company that suddenly asked to rename a lot of stuff. This had consequences. It cost time, money, and created a disconnect between internal to the dev vocabulary that couldn’t be changed easily and user facing vocabulary. Also we were lucky but this could gave broken some long used API that we are proud not to version because the policy we have internally is “we will NEVER break the API”. And so far, for 8 years we still haven’t.

        • FlorianSimon@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          That’s why I said to not rename existing stuff, but to consider changing default names for new things. Or don’t. It’s not the end of the world.

      • ScreamingFirehawk@feddit.uk
        link
        fedilink
        arrow-up
        34
        arrow-down
        2
        ·
        4 months ago

        It’s all good and well until you start working in a repo that has both master and main branches for some reason, and it is not clear which is actually the master/main branch.

        • MummifiedClient5000@feddit.dk
          link
          fedilink
          English
          arrow-up
          41
          arrow-down
          1
          ·
          4 months ago

          Then you’re working in an idiotic repo. You could just as well have have a master and an actual_master branch. Similar idiocy.

          • ScreamingFirehawk@feddit.uk
            link
            fedilink
            arrow-up
            12
            arrow-down
            1
            ·
            edit-2
            4 months ago

            It only takes one person to fuck it up. I agree it’s stupid, but introducing a conflicting standard increases the chances of someone fucking it up in the name of progressiveness. Needless to say I killed off the main branch that someone one had tried to make to replace the master branch.

          • SirQuackTheDuck@lemmy.world
            link
            fedilink
            arrow-up
            4
            ·
            edit-2
            4 months ago

            A place I used to work at had that… The corp had rolled out a non-delete policy with something akin to *master, so when someone made a abrv_master branch it got protected and couldn’t be deleted anymore.