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

  • febra@lemmy.world
    link
    fedilink
    arrow-up
    36
    arrow-down
    3
    ·
    edit-2
    30 days ago

    I’m a developer. I use main/release/dev for new projects, because it just sounds better and is more intuitive to me honestly. “Master” doesn’t make much sense. Like what’s so “master” about a “master branch”? It’s just the main branch everything gets merged into. It doesn’t “control” branches. There’s no “master/slave” relationship there. So again, “master” was never really intuitive to me.

    Old projects don’t get relabeled, they stay master, cause relabeling the main branch could cause potential problems. That’s my two cents.

    • Zink@programming.dev
      link
      fedilink
      arrow-up
      17
      ·
      29 days ago

      I look at “master” in our repo like you would refer to a master recording or a remaster, or similarly the gold master for when you could say a video game has gone gold.

      • febra@lemmy.world
        link
        fedilink
        arrow-up
        4
        arrow-down
        3
        ·
        29 days ago

        I don’t know what a master recording is. Googled it and it seems to be related to vinyl or something. So yeah, kind of hard for me to wrap my head around that, but definitely an interesting outlook.

    • Evotech@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      30 days ago

      Same for databases, master / slave does not really describe the relationship anymore. It’s a primary, secondary, control node, read only or something else.

    • Wizzard@lemm.ee
      link
      fedilink
      arrow-up
      7
      ·
      29 days ago

      That’s where you should use something more like top / bottom /s

      I think in this sense, master is more akin to the ‘recording’ master - The best version of the recording to which others are generated, and all parts merged; no ‘slaves’ necessarily just the ‘master’.

    • jacksilver@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      29 days ago

      I think that’s because in computer science most master/slave nomenclature comes from hardware with a command/control structure (still notable in things like Spark where the namenode/master node controls the data nodes).

      GIT just took naming conventions from other existing design patterns (although I should probably look up sources to verify that assumption).

    • SpaceCowboy@lemmy.ca
      link
      fedilink
      arrow-up
      3
      arrow-down
      5
      ·
      30 days ago

      Master can also mean proficiency. If you say you’ve mastered a trade it doesn’t mean you enslaved the trade, you simply have complete knowledge of the trade.

      So in that context, the master branch is the complete branch. The branch that other branches stem from because it’s the one with code from all the teams. You could branch from another team member’s branch but if that branch hasn’t merged from master in a while, it won’t have all the knowledge (code). When you merge in master you’re getting knowledge from elsewhere from the branch that’s aware of more things than your branch is: the branch that has mastery of the code, the master branch.

      • febra@lemmy.world
        link
        fedilink
        arrow-up
        8
        arrow-down
        1
        ·
        29 days ago

        That’s not how the terms entered computing though. We always used master in opposition of one or multiple slaves. It implies that one component has control and orders the other one around.

    • Cryophilia@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      8
      ·
      edit-2
      29 days ago

      Did you know that most people are not developers, and for many other use cases “master” does in fact imply control?

      Edit: I guess not

      • febra@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        29 days ago

        We’re talking about computing here. At least the post does. I guess you could be a QA engineer or something else, but this discussion is mostly a thing with developers.