Hi all,
For the tl;dr crowd: https://github.com/geany
And now for the long version :)
I've setup Geany as an organization on Github.com[1]. I've also setup an empty repository[2] for when the SVN conversion is ready to push.
I will try and explain how this works because it's a little bit complicated at first glance.
To create an Organization, you first need to create a personal account. The personal account can't have the same name as the Organization. After the personal account is created, you convert it into an Organization which is almost a separate entity but is in some ways tied to the personal account.
The personal account I created to do this is called 'geanyadmin' (to avoid clashing with the Organization name).
Once the organization is created, you can add "Owners" to it. Owners have the exact same access as the 'geanyadmin' user, for example, an owner could theoretically sign up the Geany organization to a pay account, the Owners have wide-open access to everything. Basically there's no real reason to ever use the 'geanyadmin' account as far as I can see, once Owners are added to the Organization.
Just to start, because I had their Github usernames, I've added Enrico and Colomban as owners, as well as myself since I need access to set the stuff up. Whoever else should be an Owner (Frank, Nick, etc.) just let me (or other Owners) know. Read below as for why not too many people really need to be "Owners".
Now with an Organization, and some Owners who are able to administer the Organization, we come to Teams. Teams are groups of users who all have the same permissions on one or more repository. Teams can be setup to have Pull Only, Pull and Push, and Pull, Push and Administer access.
Just to give an example, we'll take the 'geany' repository which will be the main Geany core repository. We could add a team for "Core Developers", this group of users could be the existing people with commit access to SVN. In fact I've already created this team, with all 3 permissions mentioned above, and since I had their Github usernames, I've added Colomban and Enrico to this group.
Now, what we could do, for example, is to create another Team called "Contributors" or something, and this Team could have Pull only access (even without being in a team, anyone can still clone/pull). Myself, I would probably go into the "Contributors" Team, since I contribute a fair bit, but I don't have commit access.
Another Team could be called "Translators", and have one of the three levels of access control mentioned above, and it could be for all the Geany repositories, since translators likely work on both Geany and Geany-Plugins. Another Team could be "Newsletter Writers" or something and they could have perhaps Push and Pull access on the "newletters" repository only.
For starting, I suggest the following Teams:
- Core Developers (Pull/Push/Admin) - Core Contributors (Pull) - Plugin Developers (Pull/Push) - Plugin Contributors (Pull) - Translators (Pull/Push? or does it go through Frank?) - on both geany and plugins repositories? - Newsletter Editors (Pull/Push on newsletters repo)
Keep in mind that any Github user can be in as many of the above Teams as needed, and we can create any? amount of teams, these are just some suggestions.
So anyway, I hope that makes things a bit clear. Just to sum up some key points:
* Colomban and Enrico currently have complete access to the geany organization and can do anything at all, including adding other Owners or Teams or Team members, etc.
* The geanyadmin user is mostly useless, except maybe for setting up some service hooks and things like that.
* I will give Colomban the password for the geanyadmin account. I can still help with setting up on Github since my own personal account is setup as an Owner (thought not with commit access on the geany repository).
* On Github, the icon for the geany Organization, as well as the geanyadmin can only be show if their email addresses are attached with a Gravatar account. To avoid forcing anyone else to sign up for this service, and since I already had an account, I've setup the emails under my Gravatar account. All it does is link team@geany.org to the Geany logo I uploaded. The geanyadmin icon is coming from my Gravatar account, attached with matt@geany.org (just for the Gravatar, not for the accounts actual email address).
* We need everyone's Github usernames so we can add them as appropriate (this won't be my call). I suggest the existing SVN committers get same access as before, and for now, all others go into a Pull Only Team. Anyone besides the core devs/committers should also give their Github usernames so they can be added, with Pull Only permissions, as Team members and be "associated" with the organization (at least this is my understanding).
And now I have a question; now that Geany and Geany Plugins are grouped together under the same organization, should we drop the geany- prefix on the plugins repository?
This would give us the following repositories to start:
- geany - plugins - newsletter - talks (?)
Comments, questions, and slander are welcome. And don't forget to give me your Github usernames!
Cheers, Matthew Brush
[1] https://github.com/geany [2] https://github.com/geany/geany