Invite-only communities are on the roadmap — this is mostly a frontend feature, so it is relatively straightforward to implement without touching the network.
Private communities however, is a bit of an issue. Aether is a flood network, what that means is, your computer will carry an almost full copy of the network (minus the stuff you blocked, or whitelisted, and so on). That means even if we make a community private by encrypting it and, those encrypted messages that no one outside the community can read still uses the network and disk space of every computer on the network. For people who are not in that community, there is no incentive to carry those messages since they have no use for them. If we implemented this, somebody would eventually make an “Aether Lite” that doesn’t carry those private messages. And that would be a better app, since it would not be spending resources on things you couldn’t see, and people would move to that app, since it would be lighter without losing any functionality.
For the private communities to work, there has to be a reason for other people that can’t see it to still carry it. For invite-only communities they can still read the content, so they get some benefit from carrying the content, so that one works out.