
GitHub adds support for nested organization teams - scrollaway
https://github.com/blog/2378-nested-teams-add-depth-to-your-team-structure
======
masklinn
> If your team structure is Employees > Engineering > Application Engineering
> > Identity, granting Engineering write access to a repository means
> Application Engineering and Identity also get that access.

 _Finally_.

> Membership inheritance from parent to child teams isn't automatic. If you're
> a member of Engineering and someone creates a child team called Security,
> team members of Engineering aren't automatically direct team members of
> Security.

Ok that was worded weirdly, but it makes sense. I think the wording of
"parent" and "child" teams is confusing, "super" and "sub" teams is much
clearer, and it makes perfect sense that when you create a subteam it starts
empty, the opposite would be completely broken since the entire point of
subteams would be to increase access rights.

One thing they did not touch upon though: can you be a member of a team and
one of its subteams? (that would be somewhat annoying).

~~~
greglindahl
That's the usual meaning of parent and child in computer science.

~~~
ChristianBundy
Correct, but we usually use it to mean categorical inheritance rather than
membership inheritance.

~~~
farnsworth
What's the difference? An object in a category is a member of that category,
right?

------
mLuby
Obligatory reference to Conway's Law:

"organizations which design systems ... are constrained to produce designs
which are copies of the communication structures of these organizations"
-[https://www.wikiwand.com/en/Conway%27s_law](https://www.wikiwand.com/en/Conway%27s_law)

~~~
encoderer
Which I've always read as a paraphrase of Churchill: 'First we shape our
structures, thereafter they shape us.'

------
batbomb
If anyone in github is listening:

Can you please add:

1\. Bulk team adding/editing. From
[https://github.com/orgs/[org]/people](https://github.com/orgs/\[org\]/people),
add the ability to select multiple people and add them on a team. I do this
via a script, but I don't like doing it that way. Also, a better way of
finding who is NOT in a specific team, i.e. filter by users who are not in the
"staff" team.

2\. A special team which has everyone in it by default

3\. A way of contacting everyone in a team without resorting to adding
everyone to a specific team, giving that team write access, creating an issue
and/or @mentioning everyone.

~~~
EGreg
Why do we have to be grateful like serfs for any favors the masters bequeath
to us?

Git is decentralized. Why do you need github?

Everything can be summed up with the word "social". Permissions, connections
between people, notifications, contacts, etc etc.

Social is not decentralized today. Even though money already is, publishing
is, version control is.

That's the reason we accept such posts as "wow thanks".

Imagine if something like Wordpress existed which let you run your own social
network and easily put together the exact permission rules you need for your
organization. Let you do everything in that post, but open source and free w
plugins?

I thought back in 2011 there should be something like this. So I'm building
it: [https://qbix.com/platform](https://qbix.com/platform)

Don't beg, just install it and configure your own social network to do what
your organization needs.

~~~
icebraining
Frankly, the hostility in your post just puts me off trying your platform.
Learn from [http://harmful.cat-v.org](http://harmful.cat-v.org) \- try adding
some humor.

Decentralized or not, someone has to actually build the features, and that's
still a reason to thank them. A framework is cool and all, but doesn't
actually solve the problem, it just makes the job easier.

~~~
EGreg
You miss the point of my comment. When facebook says "now you can manage the
privacy defaults of your posts" many people feel relief and gratitude that
they did that. Many of us don't even realize how ridiculous that is. It's like
serfs thanking their feudal lords for doing something in a one-size-fits-all
way they could have easily done themselves if the platform had been
decentralized.

The same thing with the App Stores and other things. So thankful that our
latest version wasn't rejected for competing with Twitter or Apple or
whatever. Yes, they built it. But that's phase 1. It's way better when it's an
open source platform and no one gatekeeper to deal with.

Are you grateful you can wear a blue shirt? Or that now finally they'll play
your song on a radio?

It's not about hostility towards github or anyone in particular. It's just
pointing out (using the vernacular many geeks use to exaggerate a point) the
ridiculousness of "we finally let you have sub groups" and "ok but please
please add this feature".

Bitcoin will decentralize money and you won't be grateful that a bank lets you
pay someone without a problem.

The web decentralized publishing and you aren't begging someone to please
publish your story with a video so your friends can read it. It's just a
market.

Same here. Centralization in social holding back progress by a lot, and
preventing people from getting things done in the real world, and leads to
business models to suck people into spending more time posting cat videos and
commenting on politics and exacerbates their echo chambers until they hate
each other, because they think they only have two choices for President etc
etc. And what's the next big thing? VR. Suck them into even more virtual
reality and monetize their time. Well, I could be a little mad -- not at the
players but the rules of the game. Decentralize. Change the rules.

Don't like my platform? Use another! But host your own social network!

You want more geek-vitriol? Here it is from a famous source:

[http://ascii.textfiles.com/archives/1717](http://ascii.textfiles.com/archives/1717)

~~~
icebraining
You're actually preaching to the choir, I don't disagree at all with your
point, I just don't think it applies here.

Look, at my job we self-host Gitlab CE. It's 100% Free Software and we could
implement all the features we want without asking them a damn thing. Yet I
still have asked them to "please add this feature".

It has nothing to do with being Free Software or not, but with asking them to
do actual work in implementing the feature.

~~~
EGreg
Yep, and that's great! In your situation you also have the following choices:

1) Add it yourself

2) Pay someome who is an expert with Gitlab CE code, maybe even certified as
expert but doesn't work for GitLab CE.

3) Buy a plugin made by someone on a marketplace, which has reviews, maybe
passed a security audit, etc.

In short, I am not saying no one has to charge anything. I'm saying that in an
open ecosystem there would be plenty of options. You don't thank wordpress
they finally let you add analytics or privacy to your wordpress blog, like you
would with blogger.com back in the day. You may still have to pay for the
plugin BUT you don't have to wait for an overworked Automattic to build it.
You have an entire ecosystem.

And to take it one step further, with open standards you can then have
multiple platforms out there to choose from, which can all work with each
other.

------
maaaats
I'd like to have nested projects as well. For instance I want one top-level
having my talks, and then sub projects for each talk. Now I either have to
clutter my repos with many small projects, or have one big repo with many
folders. Which I don't like, as issues, comments, stars etc. should be
directed directly to the talk, not a big project. Other top level projects
would be one for various PoCs, learning different languages, programming
competitions, maybe one for stuff I did at university etc.

Same for organizations, where I work we now have hundreds of repos in a flat
structure. Impossible to manage.

~~~
deathanatos
[https://github.com/isaacs/github/issues/49](https://github.com/isaacs/github/issues/49)
— I'd give it an upvote, and if you haven't yet, an email to GitHub support.

(I'd like hierarchical repos for both users and orgs.)

------
danielsamuels
I wish the team permissions system was better. I'd love to be able to give
developers write access to the code, but issue writers only access to the
issues system.

~~~
scrollaway
Indeed! Granular permissions are direly lacking on Github. That and better
Project boards.

------
JoshTriplett
This is awesome.

Now, if only you could have a hierarchy of _organizations_. If you have a
large company, it'd be helpful to have
github.com/companyname/someinitiative/{project,project2,anotherproject} ,
rather than a single organization containing hundreds of projects.

~~~
kiliankoe
Would be nice, but the URL scheme would have to be different. A lot of tooling
builds on top of GitHub's user/org and repo identifiers making up the entire
URL.

~~~
JoshTriplett
A different separator would be fine. org:team/project , for instance? Even
using the same org/project URLs would work fine, if some means existed to
_organize_ them by team.

------
usuallybaffled
I would like to organize my repositories into folders. Is that coming?

------
hamandcheese
"Could this be a tree, or graph?" is a great question to ask yourself when
choosing how to model your schema. Even if you don't plan to expose that to
users initially.

------
JetSpiegel
Doesn't Gitlab had this for ages?

What is the value-add of Github this days, really? I mean for companies, why
pay for github when you can have an internal gitlab instance?

~~~
sytse
We added sub groups in GitLab 9.0 on March 22
[https://about.gitlab.com/2017/03/22/gitlab-9-0-released/](https://about.gitlab.com/2017/03/22/gitlab-9-0-released/)

------
dustinarmstrong
I'm excited to try this out but I wonder how much complexity it will add to
managing specific individuals. If you assigned a team, then needed to remove
one person will it require you to remove the entire team then add individuals
again?

~~~
NadaAldahleh
Nada from GitHub here. You can remove/add people to the team without removing
their parent team. Does that answer your question?

~~~
dustinarmstrong
Yea, that's clear enough. I think this feature just doesn't apply to our use
case. Excited to see the growth though. Thanks.

------
jamesdo_0
Can you not filter open PRs by team? Can you not assign teams to PRs?

~~~
masklinn
Github teams are only for access control to projects within an organisation.

