+1 to all suggestions
On Friday, August 15, 2014, Britton Smith email@example.com wrote:
I'm very in favor of putting some official procedures into a YTEP. Having a codified process may also help with conflict resolution as well.
Apache does something with their projects where developers who make sustained contribution are made "members" after nomination by another member and are given write access to the main repo. It's a small thing, but if we perhaps have an official definition of "yt member" in a YTEP with a posted list of members, it can be something people can point to as a way of demonstrating that they've done significant work on the project.
I think it might also be good to have officer-like positions where people are representatives for various areas of the code, such as data structures, visualization, analysis_modules, etc. and to have semi-regular meeting of these people. This may be as much leadership as we need for now, just a group that meets on a schedule to make sure everyone's on the same page with releases and major development efforts.
What do people think of something like this?
Thanks for bringing this up -- it's a tough topic, but also I think really important. At the WSSSPE conference last year, a paper was submitted talking about the Apache model:
which talks about a lot of related topics. Apache does some interesting things. They use the word "meritocracy" which I am rather -1 on using (see, for instance,
http://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-commun... ) but I do think there is something to be said for a large part of their methods of organization.
Like you, I think we are overdue. I would like to point out that, for all intents and purposes, you are *already* the ombudsman for the yt community. I don't think you're proposing we have a committee that bosses everyone around, but rather one that enables a larger number of people to have a say, particularly because yt has become embedded in many of our scientific workflows and it touches a lot of research activities now. I like the idea of members. I like the idea of a project management committee, but it's not clear to me how that would work, or which decisions we have made recently that they would weigh in on. I also really like the idea of having "code liasons" to different data platforms and/or communities, and the idea of having people who are responsible for many different areas of the code and codifying that in some way is quite attractive to me.
For what it's worth, a few weeks ago I gave a presentation on my "vision" for the future of yt (http://goo.gl/JKt6MA). The thing is, while I gave this presentation, it's just *my* vision -- it is not necessarily anyone else's vision. And I think it's time we have some method of taking into account a diverse set of opinions for what we as a community can emphasize, how we resolve conflicts, and so on and so forth.
Again, thanks for bringing this up. We need to have this conversation.
Greeting yt developers,
First, I want to congratulate everyone here on the successful release of yt-3.0. This was a massive effort on the part of so many and a true testament to the strength of this team.
At the time of writing this, there are 78 members of the yt-dev mailing list. As someone who does most of their work in very small collaborations, this amazes me and make me very proud. In case you're wondering, the yt-users list has 268 members.
As a project, yt has a significant amount of infrastructure: code review with pull requests, issue tracking, automated testing, emails lists, an IRC channel, enhancement proposals, workshops. All of this is evidence of our legitimacy as a Real Thing. However, one big missing piece is a system of governance. I don't know exactly what this means, but I have some ideas, which I will share below. What I want to do right now is to start a discussion that will, hopefully, include as many people as possible on this list.
For me, governance means (roughly) the following:
a set of procedures in writing for how various things are to be done, such as acceptance of pull requests, releases, designating developers as core contributors, etc.
a governing body to make decisions and help guide the project.
This accomplishes a number of things, which as a project I think we need, such as:
overall stability of the project.
providing a system for conflict resolution.
maintaining the spirit of yt as a team effort.
providing a way for active contributors to get credit for their contribution in the form of official recognition.
So, these are my initial thoughts, but I really think this deserves a thorough discussion with as many people participating as possible. Please, think about what governance means to you, whether we need it, what it should be, and what we might get out of it, and share your thoughts over the next few days. I look forward to this discussion.
yt-dev mailing list firstname.lastname@example.org