conda-incubator / governance Goto Github PK
View Code? Open in Web Editor NEWThe Conda & Conda-Incubator Governance Policy
License: Creative Commons Attribution 4.0 International
The Conda & Conda-Incubator Governance Policy
License: Creative Commons Attribution 4.0 International
Related to the currently running application to the NumFOCUS fiscal sponsorship, I'd like to formerly propose a few steps to clear up some organizational debt we've accrued over the years:
Any other things we should fix at the same time?
Several of us are meeting on Monday, August 29 to launch an effort to get a conda community website up and running, hopefully this year. We would like to have a conda-incubator
project while we define this effort.
We anticipate that whatever technical solution(s) we choose, it(they) will all place website content and infrastructure within a GitHub repository. This approach will support easy community contribution to the web site, and will also allow us avoid hosting costs for the web site.
Once we have a prototype implementation and minimal viable website content, we anticipate submitting a CEP to formally propose launching the website and taking this effort out of incubation. At that time we will also propose the formation of either a Website subteam, or a Community (or Outreach?) subteam to manage the repo and website.
See/Join the conda-dot-org Slack channel for more.
A github repository (probably inside conda or conda-incubator) where community members can submit health-check plugins that run with conda doctor
.
References
conda/conda#12854
https://github.com/conda-incubator/governance/blob/main/steering.csv
Any serious plans to add non-"he/him" to this list? If so, I am interested in checking them out.
Currently, 12/16 are "he/him", assuming the others are unknown/tbd.
@jakirkham @jezdez We should settle on one thing. I don't think it matters what we do, but we need to be consistent.
As we (Quansight) consider, moving conda-store to conda-incubator, one thing that we are likely to want to do is call out some of the (fiscal) sponsors of that project in either the readme or the project website. I didn't see anything in the governance docs about this (or I missed it).
So two questions.
The main purpose for this is to encourage companies to participate/fund efforts to improve the Conda ecosystem. We have clients who want to be seen as good open source citizens and this is one way that they can do that. It would also be nice for the current core companies that are on the steering council and heavily investing in Conda to be acknowledged somewhere.
A somewhat related discussion from the dask community is here: dask/community#44
@conda-incubator/steering Here's my official proposal to create a new conda infra team
I'm proposing to form a new "Infrastructure" subteam
Following the governance policy, this is a static charter with the additional condition that any member of the steering council may join this team if they so choose without the approval of the rest of the steering council.
The "Infrastructure" subteam helps with maintenance of the developer and community infrastructure of the conda project, as delegates of the conda steering council.
That includes the conda, conda-archive and conda-incubator organizations on GitHub and related lower-level infrastructure systems that enable the steering council, projects under the conda governance policy and the larger conda community to participate in an effective, open and transparent Open Source ecosystem.
The "Infrastructure" team works as delegates of the conda steering council and follows the Conda Code of Conduct. It provides the necessary help to members of the conda ecosystem, when they request it, and limits its scope of work according to their roles and responsibilities mentioned above.
EDIT: Changed from "dynamic" to "static" charter, meaning:
EDIT 2: fleshed out team charter
EDIT 3: added actions and .github repos
This proposal falls under the "Sub-team Formation" policy of the conda governance policy, please vote and/or comment on this proposal. It needs 50% of the Steering Council to vote yea to pass.
To vote, please leave "Yes" or "No" below as comments.
If you would like to propose changes to the current proposal or have questions, please leave a comment below as well.
This vote will end on 2022-02-01.
Following the governance policy for subteams, as mentioned on the conda slack team, I'd like to initiate a communications subteam to better coordinate communication in the conda organizations.
See the formal proposal below.
As a first step, I'll propose to participate in the subteam as the required steering council member, but I'd like to invite other steering council members to join as well, if they are interested in this area of work.
Please respond below in case you're interested in joining the subteam.
The meeting left me feeling frustrated, and I've heard similar sentiments from a few of you. I want to discuss my perceptions, reconcile them with yours, and work on ways to have better meetings in the future.
In my humble opinion, it was unfair to say at the beginning of the meeting “we won’t be talking about the transfer of conda/conda-build/constructor/conda-pack projects” and then expect Cheng or other Anaconda team to cover when Peter and Michael Grant already left after they thought their part wouldn’t come up. I don't remember the exact language, but I'm hoping we can collectively agree on what was said, and why Peter and Michael Grant decided that they didn't need to stay.
Furthermore, the meeting felt very aggressive and impatient towards Anaconda. I am perhaps a bit biased towards Anaconda, given my past role there. What I will point out as an outsider is that Anaconda is trying to help, as evidenced by efforts to change the CLA system. That CLA system work is 100% selfless time for Anaconda - it does them no benefit, and only helps this community effort. We all need to find ways to move this community forward, not just make demands on Anaconda.
I perceived lots of discontent from several people at the meeting, but I'm not at all clear what their goals are, nor what any milestones might be. We need to focus on some achievable targets. I see several possibilities. For each of these, please bear in mind that there may be additional prerequisites to making these happen. Those would need to be negotiated individually.
Perhaps we need some way of prioritizing these? Ranked choice voting? Whatever we do, we need to get to a place where we ask "what can I do (minimally involving Anaconda) to help move this along" and not "why is Anaconda blocking this?" Again, I no longer have direct insight into Anaconda's activities. My experience, though, and Anaconda's efforts on things like the CLA bot, indicate that Anaconda is acting in good faith, and they deserve the benefit of the doubt.
One of the unconference segments in the NumFOCUS summit 2023 in Amsterdam was dedicated to packaging and we spoke a lot about how PyData maintainers experience friction when they are testing workflows or contributing packages to the conda ecosystem. One of the action items hinted at the necessity for better documentation and educational materials.
Inspired by the Numpy Newcomers meetings, I wonder if the conda (and conda-forge) communities would benefit from having such a space where novice (or not so novice!) users can pass by and ask their questions. Our current community calls have a tint of core decision making, expert discussions and reporting that might make it unaccessible or daunting to those that just want to solve a couple doubts.
My intention would be to run this session one hour before the core calls in case the attendees want to stay. With good note taking, we might be able to accumulate good documentation drafts for proper content in conda.org, FAQs and whatnot.
Tagging @travishathaway and @tnabtaf for their interest and alignment, but anyone is welcome to drop their thoughts here!
As part of recent discussion around governance, a somewhat smaller (though still quite important) point about what date deadlines mean came up. In particular when a deadline is reached. This comment ( #51 (comment) ) suggested AoE (Anywhere on Earth) deadlines might make sense. IOW the deadline is reached when Anywhere on Earth is past that deadline. This makes a lot of sense given our distributed nature. Adopting this clearly and clarifying it would help avoid future confusion around deadlines.
Code of Conduct Finalization Committee, to be replaced by the
Code of Conduct Committee, once a proposal is adopted by the Steering Council.
The Code of Conduct Finalization Committee will be responsible for
The Code of Conduct Committee will be responsible for
The driving goal of the CoC Committee is:
Maintaining a welcoming and safe culture in the conda ecosystem
This will drive numerous subgoals in the Code of Conduct, including promoting a welcoming and safe culture across the ecosystem, having clear mechanisms for reporting, and taking prompt action on any reported or observed incidents, and, whenever possible, informing the community when incidents happen, and what actions were taken.
We will strive to incorporate current best practices from other projects.
We are seeking a Dynamic Charter. We believe that the Code of Conduct committee should be as independent as possible from the Steering Council. Unfortunately, there are well known examples of leadership in open source projects being the source of Code of Conduct violations. Therefore we believe the Code of Conduct Committee should be able to select its own members, and also have minimal overlap with the Steering Council membership.
The Finalizing committee will finalize the Code of Conduct, and will include in that document nominations for the Code of Conduct Committee that will take over once the Code of Conduct is approved. We expect some overlap between the finalizing committee and the first actual committee.
Initial Finalizing Committee members:
Note:
As discussed in the conda community meeting of June 8th, we asked if we could create a new team to guarantee the maintenance of constructor
, menuinst
and conda-pack
.
These are the people that I know they expressed interest in being part of these efforts:
Hi @myancy-anaconda!
I hope you have been well. Would you like to remain active in the conda organization or should we move you to emeritus?
You are more than welcome to stay active, but we have not seen you in a while.
Following changes at anaconda inc and the creation of conda/ceps and https://github.com/conda-archive, it seems to be time for us to revisit the governance, proposing an update and voting on it.
I am starting this issue to gather comments/feedback.
cc @jezdez
In order to help us manage a curated list of plugins, we will need to form a sub-team for this purpose as specified in our code of conduct. This sub-team will be responsible for approve which plugins get promoted to a special index which will be promoted on platforms such as the future conda.org website.
Following the terms defined under "Teams & Roles", I was wondering if it's time to ask the core team if anyone wants to become emeritus-core (e.g. since some have moved on)?
Core members that are inactive (commits, GitHub comments/issues/reviews, dev meetings, and voting on polls) in the past six months will be asked if they want to become emeritus-core developers. One week after asking, if the inactive core member has not responded, they will be automatically moved to emeritus status.
Full disclosure: I'm not a core member (read: applied and voted in by the core membership) and can't do this myself.
Hello everyone, I would like to move the conda-recipe-manager project to conda-incubator
.
We hope that this move will allow others to easily contribute to our recipe automation efforts. To start, our primary focus is on the conversion of our existing recipe format to the new "v1" format proposed in CEP-13 & CEP-14
I am currently working through migrating this work from another Anaconda project, percy. As of writing this proposal, the conversion is not complete BUT most of the applicable code and configuration files have been copied-over.
I would like to migrate the repository at: https://github.com/anaconda/conda-recipe-manager
I would like the existing build-team to manage this project.
I am submitting this issue for the historical record. Any feedback is welcome and appreciated! Thanks!
(The text of this issue was heavily based on the precedent set by Issue #108)
Hi team, the conda-tui team would like to move our project to conda-incubator.
I would like to migrate the repository at: https://github.com/anaconda-hackdays/conda-tui
And create a conda-incubator/conda-tui team with the following collaborator: @mattkram
I am submitting this issue for the historical record. Any feedback is welcome and appreciated!
As our new governance in #51 has passed, we are now in the situation where we likely have exceeded some limits on people per funder and most steering committee members do not have their funder listed.
I am opening this issue to track the changes so we can get back to business.
@conda-incubator/steering Please add your funding state and work amongst yourselves to adjust things!
This vote is to ratify the conda governance document in its current form, which you can read here.
This PR falls under the ratification policy, please vote and/or comment on this PR.
This vote needs 75% of votes yea to pass.
To vote please leave Approve (yea 👍) or Request Changes (nay 👎) reviews.
If you would like changes to the current language please leave a comment to be incorporated on the next version.
This vote will end on August 13th, 2020.
We keep notes of our meeting in this repo, but we have a little gap between June 2022 and March 2023. AFAIK the notes are still in the HackMD team, but it'd be nice to have a copy here too.
I’m proposing to form a “Technical Review Board” subteam to improve the process of authoring, reviewing and voting on Conda Enhancement Proposals.
Following the governance policy, this is a static charter with the additional conditions that:
The Technical Review Board is charged with the following:
The “Technical Review Board” is working for the Conda Steering Council and follows the Conda Code of Conduct. The team provides guidance to new and existing authors of Conda Enhancement Proposals with the objective to submit the proposals for vote to the Conda Steering Council individually or optionally as part of a regular (quarterly) omnibus set.
The team in particular exists to enable the Conda Steering Council to conduct votes on matters that require deep technical understanding and to facilitate the participatory process.
As part of the adoption of this proposal, I suggest to:
Since we're now starting to add a few non-project subteams such as the communications and infrastructure team, we should start tracking them for easier maintenance via PRs and record-keeping.
Maybe it would suffice to have a SUBTEAMS.md
that lists the teams from top to bottom, including their team charter, members and important links like chat rooms etc.
If we're making sure the content is nicely formatted, we could even possibly render it as part of the conda-incubator/conda-dot-org work when it's ready?
Hi All,
You may have noticed recent activity in the conda-governance incubator project. So far changes have been limited to typos/formatting (PR #40), and clarity updates (Issue #41)—updates that don’t change policy in any way.
However, that is about to change. I really, really want to get our governance out of incubator status and into actual use. In the next 2-3 months look for these three efforts:
We need to have a working, welcoming, and enforceable code of conduct and we need it soon. Not having this sends absolutely the wrong message to both current and potential community members.
Our current draft code of conduct is a copy of the NumFOCUS CoC template. It’s a great place to start, but I suspect we could improve it some before we adopt it. We are also going to need a CoC committee to respond to reports.
Expect an issue in a week or two about the CoC. If you care about CoCs then please join that discussion (and maybe the committee too). Several of you expressed an interest on the most recent conda community call. Expect a shout when this issue is created.
The conda Organization has historically been funded by Anaconda, Inc. and is currently not Fiscally Sponsored by a non-profit. conda is a NumFOCUS Affiliated Project, but that doesn’t allow the conda Organization to handle trademarks, and we can’t deal with outside funding in any way (receiving or distributing).
Expect an issue (maybe in May?) about applying for fiscal sponsorship, probably with NumFOCUS. Their next application review period is in July. If you have experience with fiscal sponsorship or with NumFOCUS then please consider joining this discussion.
A widespread and continuing issue in open source is how to encourage contributions (including input on project direction) from commercial entities, while avoiding having companies’ financial interests override what is best for the overall community.
Look for an issue proposing a Steering Council model that considers the source of Council members’ financial backing when weighting the Council votes of individual members. Whenever more than one Council member has common funding the weight of their votes will be reduced compared to Council members that do not share common funding sources with other Council members. We hope to propose a weighting that makes it impossible for any one company (or grant consortium) to unilaterally enforce its will on the conda Organization.
Of course the devil is in the details. We hope to publish a draft proposal by the end of April. We are pretty sure there will be plenty of discussion on this one.
Thanks for reading this far. Please let me know if you have questions, and please keep your eyes open for governance issues in the next few months.
Cheers,
Dave C
Hi all,
A new governance model for the conda community has been in the works for several years. This topic has a huge amount of interest (it came up in last week's libmamba webinar Q&A; it was the first topic of discussion spawned by the opening of the @condaproject account; it is the topic of our two already open issues; ...).
I started as an Open Source Community Manager at Anaconda in December of 2021. I am the first person to have this position. Getting community conda governance in place is currently my biggest task. This issue, and this PR #40 are the first two baby steps before addressing harder issues like policy and conduct committee membership. PR #40 deals with typos and formatting in the current governance proposal. It also includes small fixes to improve clarification.
However, there are a number of things where it is not straightforward what the intent of the text is (to me anyway), and that's what this issue is about: seeking clarity on those (or other points).
Here goes:
The document implies in at least two places that if there is a 50-50 tie in the voting, that the "Yes" votes win.
Q: Is that what we want?
If so, we should say that explicitly. If not, we should say something like:
Votes require more than half of the total votes to pass. Ties result in a "no" decision.
First, the current verbiage seems a wee bit dominant to me. An example:
The core team is the only team with voting rights.
Second, it is rarely explicitly stated which type(s) of teams each voting rule is for. Is there any objection if I
I would attempt to preserve current policy in every way.
The current text is confusing to me. It is:
Prior to their submission, grant proposals must be supplied to
the core members and a vote called under the Spending of funds
policy. If the vote does not pass the proposal is not to be
submitted in its current form and an additional round of voting
is required on any subsequent draft. If the vote passes and the
funds are awarded, further voting to spend the funds is not
required.
Maybe it's just me? Is there a more direct way to say what we are trying to say?
Note: This is not a point of clarity, but is does not involve policy changes, only nomenclature changes; and it strikes me as something we should do sooner rather than later.
The document talks about Core and Maintainer teams. I (and others) argue that both of these terms are sub-optimal.
First Core does not tell people what this group does. It is also slightly confusing: every repo we have has a core of people supporting it. Finally, Core sounds vaguely exclusionary to me.
Some options:
I dunno, but something.
Our current title is descriptive of what the groups do, and our naming does not strike me as exclusionary in any way. But, I don't think Maintainers is a compelling word either. I would love to have something that great in an email invitation to join the team:
Dear X,
We could like to formally invite you the join the Maintenance team for project Y in the conda Organization.
See?
I'm fine leaving this term as it is, but if someone has a cooler idea then now is a convenient time to change this.
Thanks everyone. Discussion is encouraged.
Cheers,
Dave C.
I was recently reading through the governance document to figure out exactly how projects move from conda-incubator to conda. Even after reading these two sections:
In order to make the process of graduating from incubation to conda a little more clear, I propose adding a special section that defines this process in more of a linear way and perhaps even uses examples to make it more clear.
Additionally, we could even add a check list temple issue for this repository that incubation projects could use when making the jump to "conda". This template could look like the ones we have for releases:
https://github.com/conda/infra/blob/main/.github/sync/RELEASE.md#1-open-the-release-issue
Hey team, the conda-store team would like to move their projects to conda-incubator
.
This means transferring:
And creating a conda-incubator/conda-store
team with the following external collaborators:
I am submitting this issue for the historical record, but any feedback is welcome and appreciated!
So far we have made small, non-policy changes to the conda governance proposal (see #40 and #42). I would like to start a discussion about significant policy changes. This issue is a proposal for how the conda Organization’s Steering Council membership and voting could work. This issue has a summary of the proposal, followed by a longer version. Eventually this discussion will be reflected in a (likely) longer form in the conda governance document.
This is an opinionated proposal that encourages both community and commercial contribution and innovation, while clearly limiting how much any single funding entity can control decision making and direction.
Several goals drive this effort:
We propose limiting the number of Council members with common funding sources to a maximum of 2. We also propose expanding the Council to include Provisional Members - representatives of recently involved organizations that are funding at least 1 FTE working on the conda ecosystem, but that have not yet had time to establish their contribution credentials in the conda community.
This enables particularly active organizations to have an increased voice on the Steering Council (up to 2 members), while limiting these organizations’ total voting power. It also encourages new investors (in terms of FTE funding) to quickly become involved, as they can have a voice immediately. We believe this will encourage a Steering Council with independent / volunteer members and a wide range of interested funded organizations as well.
Of course the devil is in the details. The remaining sections dive into the specifics of how this proposal might be implemented. It is a specific and hopefully coherent proposal, but it is just a starting point. It is also long and detail oriented.
Steering Council members should be invested in the conda ecosystem and community, and have time and energy to contribute to the conda Organization governance.
We propose to largely keep the current Steering Council membership model:
Nominate new Steering Council member: The proposer must provide a sufficient justification as to why the nominee should be welcomed into the Steering Council. Prior service to the community, including but not limited to: working on conda organization projects, writing conda specifications, and helping to bridge disparate communities are an important part of the nomination process.
- Sensitive
- 2/3rds majority to pass
We propose two changes to our Council membership rules. One limits membership, and the other expands it.
This proposal is about the balancing act between encouraging individuals and commercial entities/grant funded groups to contribute to the projects they use, while preventing any one organization from dominating community governance, and then favoring their financial interests over the interests of the larger community. This proposed restriction is key to the prevention part of this dance.
This rule sounds straightforward and it mostly is. The challenge comes in determining who someone’s funders actually are.
Keeping track of funding is central to our goal of encouraging participation while also limiting the potential impact on any one funding organization. However, funding can be multilayered and complicated.
For example, Robert is a researcher in the Computer Science department at Western Michigan University and is working on a National Science Foundation (NSF) grant. For the purposes of the conda Organization, is Robert’s funder his CS department, the university, the specific grant, a division of NSF, the NSF, the US government, or all of the above?
Meanwhile, across the world, Gouri works for GitHub, San-Yih works for LinkedIn, and João works on VS Code. Do they work for separate funders, or are they all funded by Microsoft?
We propose this guiding principle for determining which level(s) of funding to use for membership eligibility:
When determining if funding is shared, pick the broadest level of funding where people might have a common set of goals because of their shared funding source.
In Robert’s situation, two levels are good candidates for determining shared funding.
In most circumstances we would not include the university as a funder because projects in the CS department, and in the Economics department, for example, are unlikely to have shared interests driven by both being at the same university. People funded by NSF, divisions of NSF, or the US government are also unlikely to have shared interests that are driven by their shared funding.
In the corporate example we can imagine that since Microsoft is a large company, these three largely unrelated parts of it are unlikely to have common goals based mainly on their common ultimate funder. However, a company that wanted to control the conda Organization could do so by enlisting people from across their organization, claim separate funding, and then capture the council. In this case, the default guideline is to treat all parts of a company as having one funder.
Nominated members need to provide a list of organizations that fund above some minimum amount of their time (25% ?). Nominees will need to provide a complete “chain of funding” for each such funding source. For example: “GitHub, a part of Microsoft”, or “CS Dept at Western Michigan University, Computational Reproducibility Made Easy grant, NHGRI, NIH, US Federal Government.”
The Steering Council will then determine the appropriate funding level(s) to consider when looking for common funding with existing and proposed members.
Council members will need to keep their funding documentation up to date, and notify the council whenever it changes.
There will also be cases where people have absolutely no funding related to conda (and we want to encourage passionate "volunteer" members like this). In these cases, we still need to document this funding state, but we may not want to require that people list their (irrelevant) funding.
As mentioned above, we propose keeping this section in the governance document:
Nominate new Steering Council member: The proposer must provide a sufficient justification as to why the nominee should be welcomed into the Steering Council. Prior service to the community, including but not limited to: working on conda organization projects, writing conda specifications, and helping to bridge disparate communities are an important part of the nomination process.
(Emphasis added)
This criteria works really well for ensuring that Council members are invested in the community, and have a proven record of contributing to it before they can become part of community governance.
It does not assure commercial enterprises that, if they choose to commit funds to the conda ecosystem, then their voice will be heard, and their contributions will be given a fair evaluation by the existing community.
To better communicate our openness, and to quickly give these contributing organizations a voice at the table, we propose adding Provisional Memberships. Provisional Members have the same rights and responsibilities as other members, but have a different evaluation criteria for membership, and are subject to some restrictions.
In addition, no more than 1/3 of the Steering Council membership can be Provisional Members. Put another way, at all times, at least 2/3 of the Steering Council membership holds their seat because of their demonstrated contributions to the conda ecosystem. If these thresholds are violated then all other Council business is suspended until these requirements are met. The requirements can be met by dropping Provisional members, or by adding contributing members.
Organizations that are not already involved in conda governance, and that are funding at least one FTE contributing to the conda ecosystem can request 1 provisional membership on the Steering Council. The evaluation criteria for evaluating this request should be based on the organization’s and the nominated person’s commitment to open source principles as demonstrated in other projects.
Provisional memberships are also expected to be temporary, lasting just long enough for contributors from that organization to demonstrate their values and earn representation just like everyone else. Provisional memberships can also be revoked at any time by a simple majority vote of the Steering Council, if and when the Council determines that the organization or the individual is no longer acting in the larger interests of the conda community.
We want the Steering Council to reflect a wide range of interests. We also want it to be small enough to be tractable and to have a reasonable expectation that quorum requirements can be met when votes are called.
Suggested minimum and maximum sizes for the Steering Council are:
The minimum of 9 works well with the minimum quorum size of 5 specified below. The maximum of 21 allows for a lot of participation, including as many as 7 Provisional Members, and representation from 11 to 21 different participating organizations.
This proposal has some impact on Council voting. Specifically, to prevent any one funder from being responsible for the majority of votes on any topic, the minimum quorum for a vote must be at least 5 members, or the specified council membership percentage for this type of vote, whichever is greater.
No. This proposal includes special Steering Council Provisional seats for new funding organizations. This encourages new organizations to get involved at the top level. However, contributors from these organizations must earn project team status just like everyone else: by first establishing themselves as contributing members to that project.
Yes. But this usually isn’t directly related to their funding source. As per the current proposal, there are two types of active projects: Community and Federated. Federated projects are not required to be open to new membership. Community projects must be open to new members who demonstrate their capability and interest in the project through working with the project as a contributor first. If an application to join a Community project is rejected, the person can appeal to the Steering Council. If the rejected person can prove that they in fact meet the criteria for becoming a Project Team member and that they were rejected for inappropriate reasons, including their funding source, then the rejection will be overturned.
Voting policies and procedures in Community projects are established by each Project Team, subject to approval by the Steering Council.
The Steering Council and the Project Teams have different roles and different motivations, and this model reflects that. Project Team members are heavily invested in their projects. This proposal aims to impose just enough oversight of Project Team procedures to ensure that membership and voting are indeed open and fair.
There is still a worst case here: A project may join as a Community Project, but in fact not be committed to open source principles. They could consistently reject “outside” applications for Project Team membership, even when applicants have proven their qualifications. This would result in the Steering Council overriding them, and a gradual shift in how that Project Team works. However, this would not be a pleasant transition for anyone involved, and the original team members would likely leave. This can be partially addressed by clearly communicating requirements for Community Projects before agreeing to add a new project
Community Projects need to license/assign their trademarks when entering the conda Organization. This is an act of good faith and communicates to the community that they are committed to our overall efforts.
The proposed trademark policy, in 3 easy pieces:
There is a great discussion of trademarks in the context of the Dask project. Our governance model could also adopt several guidelines from that discussion as well. For projects that request to use conda Organization trademarks:
Examples of project names that violate the 3rd and 4th guidelines would be conda Pro
, and google-conda-saves-the-day
.
We are in an unusually challenging situation here because the conda name and logo are obviously derived from the Anaconda Inc. name and logo. We do however have some precedent to guide us: Projects like conda-forge (name), Bioconda (name and logo) and conda-lock (name) have been approved in the past. We should continue to expect that similar approvals will be forthcoming from the Steering Council after the core conda trademarks are licensed from Anaconda.
A proposed plan for moving our governance model from Incubator status to "production" status
Does this work merit a formal sub-team? If so, we suggest a Dynamic Charter consisting of anyone who is in the Governance channel on Slack.
For communication channels we could use the Governance slack channel for discussion, and this issue for decisions and status updates.
Use our channels and calls to finalize our ideas. @tnabtaf sees this resulting in an updated version of the original proposal in this issue.
Take the ideas and convert them to formal text. Our intent must be spelled out in unambiguous text.
Our current Steering Council membership exceeds the shared funding thresholds in this proposal.
A proposal:
To be clear, everyone on the current council will be eligible to vote on the rules change and the suggested revised Council membership.
The PR will apply policy changes, update the Steering Council, and move our governance documents from the incubator repo to the conda organization repo
The existing Steering Council may want changes made to the proposal. Work with the Steering Council to clarify anything, explain our reasoning, and to apply updates.
Many, many thanks to Jannis Leidel (@jezdez), Matt Becker (@beckermr), Travis Oliphant (@teoliphant), Cheng Lee (@chenghlee), Peter Wang (@pzwang) and Van Lindberg for their feedback and help with this proposal.
Dave C
PS: "Feedback and help with this proposal" ≠ full endorsement of everything in this proposal!
Hi All,
The last of the three major goals in the Finalizing Governance issue (#43) is Fiscal Sponsorship:
The conda Organization has historically been funded by Anaconda, Inc. and is currently not Fiscally Sponsored by a non-profit. conda is a NumFOCUS Affiliated Project, but that doesn’t allow the conda Organization to handle trademarks, and we can’t deal with outside funding in any way (receiving or distributing).
Applications are due by July 15. With that in mind, I have walked through the NumFOCUS application form and created draft responses to each question (see below).
Note that this application has been given a lot less thought and by a lot less people, than have the Code and Conduct and Governance proposals. Most of these items will be only included in the application, but some of them will end up on the Conda project web page at NumFOCUS. Please review this proposal in the next few weeks. Improvement to anything, but especially text that will eventually show up on the NumFOCUS website, are strongly encouraged.
Yes
conda (or is it is Conda? See this conda-docs issues).
We currently are focused around our two GitHub organizations:
We are planning to turn conda.org into a project community website later this year.
Conda is an open source package management system and environment management system that runs on Windows, macOS, Linux and z/OS. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. Conda supports software written in any language.
Yes
Will use the conda C logo
Twitter: @condaproject
The Conda Organization currently has no legal status. We cannot accept funding or formally sponsor work or events, and we can't manage trademarks. Joining NumFOCUS enables us to do all those things, and would also raise Conda's visibility in the open source scientific software community.
Fiscal Sponsorship
Comprehensive.
This is currently under Conda-Incubator project on GitHub.
https://github.com/conda-incubator/governance/blob/master/README.md
It will be moving out of the Conda-Incubator and into the Conda repo this summer. It will then be at https://github.com/conda/governance/blob/master/README.md
https://github.com/orgs/conda/projects/2/views/1
The Conda Developer Guide is at https://conda.io/projects/conda/en/latest/dev-guide/index.html
⇒⇒⇒⇒ We need 5 volunteers from the Steering Council here.
And what are signatories? They are the ones who sign the contract with NumFOCUS. The most relevant bit of that contract is
The Signatories, each a signatory hereto, hereby establish and comprise the initial members of the {{Leadership Body Name}} to carry out the Project's activities as stated in §3. The Signatories acknowledge that the {{Leadership Body Name}} shall be subject to all of the terms of this Agreement. As of the effective date of this Agreement, the Signatories hereby transfer all rights, benefits, obligations, and privileges under this Agreement to the {{Leadership Body Name}}.
Which to me says that the signatories are signing for the Steering Council, and the Steering Council is now responsible for what is in the document.
Conda Organization Steering Council
None. Or someone's home address?
Conda is widely used to simplify installation of open source software across operating systems, and to cleanly manage multiple (and possibly conflicting) run time environments on the same computer.
Or a one liner:
Conda simplifies dependency and environment management for open source software.
Conda is an open source package management system and environment management system that runs on Windows, macOS, Linux and z/OS. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. Conda supports software written in any language.
Conda is an operating system, programming language, and domain agnostic tool. It is used in education, research and commercial applications to simplify software installation and manage run-time environments.
OK, that is not very specific, but it is true…
What Industries is your project mainly used in? Ex: Government, Higher Education, Finance, Business Applications, etc.
What Languages does your project use? Ex: Python, C, Javascript, R, Julia, etc.
What are some simple one or two-word applications for your project? Ex: Data Wrangling, Numeric Computing, Modeling, Visualization, etc.
See example here: https://numfocus.org/project/pandas
Sprint at SciPy 2022, July 16-17, 2022
We do not have one. One will appear on conda.org later this year.
Many NumFOCUS tools have been packaged in Conda, and are widely deployed using Conda. The most closely integrated project is conda-forge (https://numfocus.org/project/conda-forge). Most of the NumFOCUS sponsored tools are available in conda, usually through conda-forge, including:
And then we stopped looking. Of the first 15 project listed on the NumFOCUS at least 14 of them have been made available through conda
The mission of NumFOCUS is to promote open practices in research, data, and scientific computing by serving as a fiscal sponsor for open source projects and organizing community-driven educational programs.
Conda enables tool developers to create versions of their tools that can be easily installed on many different operating systems. This lowers the barrier to using these tools and allows many users who otherwise could not manage installation of software dependencies, or multiple run-time environments.
The Conda ecosystem consists of several projects. From June 2021 to May 2022 these projects had 5 or more contributors (commits only)
16 - grayskull
14 - conda-build
13 - conda
13 - conda-docs
13 - conda-lock
9 - constructor
8 - governance
7 - conda-package-handling
6 - conda-pack
The number of unique committers across all projects is likely around 25 to 30.
The number of committers is easy to measure, we believe this is a poor indicator of active contributors. This does not include Pull Request reviews, call participation, training, code of conduct committee membership, and many other types of contribution.
We are holding a sprint at PyCon 2022. We also are planning to work with Outreachy for their upcoming intern cohort.
These are hosted in several places:
We also have forums for users:
We require a permissive license. Licenses currently in use include
Our Code of Conduct is currently in incubator status, and is based on the NumFOCUS template. We expect this to be fully deployed this summer.
Dave Clements
There was some discussion in the steering council chat room about record-keeping and discoverability of onging and past votes, since the they are becoming harder to track down.
As such @jakirkham and me are suggesting to do:
votes
directory in this repositoryWe also may want to look into if there is already a service that would provide automated vote reporting for standard votes (read: public ones).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.