namespace tf {

/** @page rules Rules

This page summarizes coordination rules fulfilled by the %Taskflow @ref CoreMembers.
We impose these rules to ensure scientific excellence, continuity, and transparency.
Since the %Taskflow community has matured substantially in recent months,
we will revisit these rules as the community needs.

We accomplish these rules with reference to the governance document 
of <a href="https://dask.org/">Dask</a>
and <a href="https://tardis-sn.github.io/tardis/index.html">TARDIS</a>.

@tableofcontents

@section TheProjectOverview The Project Overview

%Taskflow (The Project) is an open-source software project
that aims to simplify parallel and heterogeneous computing in C++ software ecosystem. 
We release %Taskflow under the non-viral MIT license, 
developed openly and hosted in public GitHub repositories under 
the @ProjectGitHub. 
Examples of project software include the %Taskflow core library, 
%Taskflow profiler (tfprof), and applications to other domains such as computer-aided design (CAD) and machine learning.
We host a @ProjectWebsite to highlight these components.

%Taskflow is developed by a distributed team of developers, called 
@ref contributors. 
Contributors are individuals who have contributed code, documentation, designs, user support, or other work to one or more project repositories. Anyone can be a Contributor. Contributors can be affiliated with any legal entity or none. Contributors participate in the project by submitting, reviewing and discussing GitHub Pull Requests and Issues and participating in open and public project discussions on GitHub, Stack Overflow, Gitter chat rooms, and mailing lists. The foundation of project participation is @em openness and @em transparency.

%Taskflow community consists of all contributors and users. 
Contributors work on behalf of and are responsible to the larger project community 
and we strive to keep the barrier between contributors and users as low as possible.

@section JoiningCoreMembers Joining Core Members

@ref CoreMembers are essential to the growth of %Taskflow because they provide the core technical development, maintenance, and support for the community.
New members of are nominated by current members or our sponsors. 
All core members can vote on nominated candidates, 
who require a 2/3 majority in their favor in order to be approved.

@section RulesForRoles Rules for Roles

Every core member of %Taskflow can vote and the election
will go through an anonymous rank voting system.
If there is a tie, the principal investigator will facilitate a discussion
to make a runoff decision.

Depending on the funding status, 
the principal investigator may change and be re-selected.
Such a change will be broadcast to all core members and
we will strike a balance between how each member is funded and 
how the funding may direct %Taskflow.
At this stage, @twhuang is the principal investigator 
and will remain the role for another 3-4 years.

@section SoftwareDecisions Software Decisions

Decisions about software architecture and design, and releases 
should take into account consistency over the %Taskflow codebase
and best practices. 
The final decision rests with the core members by a 2/3 majority.

@section FinancialDecisions Financial Decisions

Financial decisions, such as research grants and company gifts,
are made by the Principal Investigator, @twhuang.
We will inform the core members with a reasonable time ahead
to allow them to raise any objections, for example, 
biased features to an individual's interest.
The core members can veto decisions with a 2/3 majority.

@section CommunityPartners Community Partners

We acknowledge the importance of <i>Community Partners</i> 
in disseminating %Taskflow to external communities. 
A Community Partner is a set of individuals (does not need legal recognition) 
that effectively supports and communicates the needs of an external community in using the Project. 
External communities might be focused around a specific scientific or social discipline (like biology or education), 
a social grouping (like Chinese speakers), 
or another such group that benefits from a collective voice. 
Community Partners will have demonstrated technical expertise 
in using the Project, as well as social expertise in effectively filtering concerns, 
and questions from their community to keep our project thrive.

We acknowledge Community Partners in the following ways:

@li Public acknowledgement of their community on %Taskflow webpages and other promotional material if that community is organized enough to have a central brand.
@li Inclusion of the Community Partner in %Taskflow planning meetings and workshops

Please also visit @ref HowCanIGetCredit to understand how we acknowledge contributors.

@section ChangingTheRules Changing the Governance Rules

Changes to the governance rules are submitted via a @PullRequest to edit this documentation.
The pull request is then refined in response to public comment and review, 
with the goal being consensus in the community.

*/

}






