Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

Commit

Permalink
Merge pull request #64 from pacstall/chore/community-standards
Browse files Browse the repository at this point in the history
Improve community standards
  • Loading branch information
wizard-28 authored Oct 12, 2022
2 parents 2a8e087 + 88764fe commit 80a2984
Show file tree
Hide file tree
Showing 3 changed files with 181 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!-- Please explain the changes you made -->

<!--
Please, make sure:
- you have read the contributing guidelines:
https://github.com/pacstall/libpacstall/blob/master/docs/CONTRIBUTING.md
- you have formatted the code using rustfmt:
https://github.com/rust-lang/rustfmt
- you have checked that all tests pass, by running `just test`
- you have updated the changelog (if needed):
https://github.com/pacstall/libpacstall/blob/master/CHANGELOG.md
-->
54 changes: 54 additions & 0 deletions CODE_OF_CONDUCT.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#+TITLE: The FOSS Code of Conduct
#+AUTHOR: Derek Taylor
#+DATE: April 23, 2021

* THE FOSS CODE OF CONDUCT
+ VERSION: 1.0
+ DATE: April 23, 2021
+ AUTHOR: Derek Taylor

This code of conduct is written to guide an individual's choices and actions within the free and open source software (FOSS) community. This code will help one determine the purpose and the course of his work as well as his place as a member of this community.

** 1. THE ETHIC OF RECIPROCITY
The most fundamental ethic is that of reciprocity--treat others as you would like others to treat you. Ask yourself if you are treating others in a manner that they would not treat you? If so, then your actions are out of bounds and you should cease those actions. Emotional reactions should be calculated carefully. Before acting, decide how the potential response might benefit you and/or the community and how it might hinder you and/or the community.

** 2. POLITICAL ACTIVISM
While there is certainly a political element to the free software movement and open source software movement, political activism outside of the scope of those movements has no place in this community. The number one political agenda for any free and open source project should be the promotion of free and open source software. Any other political messages could distract or divert people from our primary mission. This is unacceptable! When you are here, you are fighting for free and open source software. If you want to also fight for causes like social justice or human rights (which are certainly noble causes), then you should join an organization whose primary goal is to fight for those causes.

** 3. ACTIONS DEFINE US
People should not be prejudged because of their race, ethnicity, nationality, religious beliefs, gender identity, sexual orientation, age or gender, but rather evaluated on their accomplishments and actions. Harassment and discrimination should not and will not be tolerated. Instead, you be judged on your actions. And based on your actions, you will either succeed with your achievements or fail due to your incompetence or impotence.

** 4. INEQUALITY
On equality: no two people are the same. Common sense should dictate that no two individuals have the exact same strength, intelligence, strive to succeed, perseverance, etc. When you claim that two people are equal, it is insulting to both individuals. The term inequality should not have a negative connotation; in fact, our inequality should be celebrated. It is what makes each of us unique, and it is what makes our community diverse.

** 5. ACCEPTANCE RATHER THAN TOLERANCE
Acceptance is expected among our members, but not necessarily tolerance. Tolerance is negative in connotation and in practice. Tolerance means to endure with forbearance and restraint. It implies that you must fight your own instincts. Tolerance requires patience and causes stress and frustration. More importantly, tolerance drains you of your vital energy. Energy is not limitless so rather than wasting energy on tolerance, direct that energy towards something positive. Acceptance is a positive emotion and should be practiced by our members. Where tolerance focuses on the bad aspects of the person or situation, acceptance is seeing the good in the person or situation. So when you find yourself becoming irritated at the behavior of others, look deeper and find the positive aspects that are there within each of us.

** 6. DO NOT BE JUDGEMENTAL
Do not judge others, either externally (verbally or in writing) or internally (in your own private thoughts). The practice of judging and condemning is a negative emotion and is the sign of a shallow intellect. Typically, the ones who are condemning are doing so because of their own inadequacies. Those that condemn others are often trying to focus on the negative aspects of others to avoid the pain of recognizing the negative aspects of themselves. A wise man once said, "Judge not, lest you be judged."

** 7. VICTIM MENTALITY AND MARTYRDOM
Some people are habitual victims, seeking personal attention all the time. When someone is committed to being a victim, everyone else is to blame, and there is absolutely no hope whatsoever for this person. The victim only has one cause--themself. Some victims prefer to play the role of martyr. They often pick fights in order to lose--to be the victim, to be the martyr. Martyrdom is often used by weaklings who cannot admit defeat or admit that they were wrong. If you are in a situation were martyrdom is your only course of action, then you are probably championing the wrong cause. Victim mentality and self-martyrdom will not be tolerated.

** 8. YOUR VALUE TO THE COMMUNITY
We as human beings tend to over-valuate ourselves, always thinking we are worth more than we actually are. No one ever claims that they are overpaid or treated too well by others. We think we are owed. We are clothed psychologically with pretenses and fraud, but we have to understand that the market is never wrong. You may think that you deserve more money, greater respect or better treatment; but if no one is willing to give you these things, then the market has priced you accordingly. You must learn to evaluate yourself as an impartial observer.

** 9. COOPERATION AND COMPETITON
While cooperation is the foundation of a healthy community and should be encouraged, competition among individuals should also be encouraged. The brutal fact is that the more we opt out of competition, the lower our position in the community is likely to be. Being competitive is necessary for one to succeed and to rise above the ranks. So if you feel yourself slipping down the ranks of the pecking order, recognize that others are outcompeting you; and do something about it!


* ENFORCING THE CODE OF CONDUCT

The following actions are available to community leaders in the event that disciplinary action needs to be taken:

** 1. VERBAL WARNING
The verbal warning should be a private consultation from a community leader who should explain the violation and prescribe any corrective actions, such as a public or private apology.

** 2. WRITTEN WARNING
The written warning is a formal warning that should be part of the member's permanent record. The written warning is appropriate if the member being disciplined has already received a verbal warning, or if the offense warrants skipping the verbal warning altogether.

** 3. TEMPORARY BAN
The temporary ban should be used for serious violations of the Code of Conduct. The member being disciplined is banned from any kind of interaction, public or private, with the community for a specified time.

** 4. PERMANENT BAN
A permanent ban is appropriate when the member being disciplined has proven that he cannot abide by the Code of Conduct. The member being disciplined is banned from any kind of interaction, public or private, with the community. This ban is permanent and irrevocable.
115 changes: 115 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Contribution guidelines

First off, thank you for considering contributing to libpacstall.

If your contribution is not straightforward, please first discuss the change you
wish to make by creating a new issue before making the change.

## Reporting issues

Before reporting an issue on the
[issue tracker](https://github.com/pacstall/libpacstall/issues),
please check that it has not already been reported by searching for some related
keywords.

## Pull requests

Try to do one pull request per change.

### Committing

Follow the [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0) specification for your
commit messages.

### Updating the changelog

Update the changes you have made in
[CHANGELOG](https://github.com/pacstall/libpacstall/blob/master/CHANGELOG.md)
file under the **Unreleased** section.

Add the changes of your pull request to one of the following subsections,
depending on the types of changes defined by
[Keep a changelog](https://keepachangelog.com/en/1.1.0/):

- `Added` for new features.
- `Changed` for changes in existing functionality.
- `Deprecated` for soon-to-be removed features.
- `Removed` for now removed features.
- `Fixed` for any bug fixes.
- `Security` in case of vulnerabilities.

If the required subsection does not exist yet under **Unreleased**, create it!

## Developing

### Set up

First fork the project, and clone your fork to your machine.

You'll need to install [Just](https://github.com/casey/just#installation)
next. Think of it like the `make` command.

After you've installed Just, run the following command to setup your
development environment:

```shell
just # or `just setup-dev`
```

That will install the following development tools to your machine:

* Nightly `rustfmt` for formatting the code in the project.
* `pre-commit` for pre-commit hooks, which run before you commit to make sure
that your commit is up to standards.
* `codespell` for spell checking.

Then run the tests to verify that your development environment is setup correctly.

```shell
just test
```

### Useful Commands

- List all Just recipes:

```shell
just -l
```

- Build the project

```shell
just build
```

- Run all checks (`spellcheck`, `clippy`, `test`, `fmt`):

```shell
just check
```

- Run the spell checker:

```shell
just spellcheck
```

- Run Clippy:

```shell
just clippy
```

- Run all tests:

```shell
just test
```

- Format the code in the project

```shell
just fmt
```

0 comments on commit 80a2984

Please sign in to comment.