# 🏘️ Community Guidelines

This page details the guidelines for what sort of communities we allow hosted on programming.dev, and what rules we expect them to follow. Do note that this is not the same as federated communities.

## Types of communities allowed
As the name of the site suggests, programming.dev is dedicated to all content related to programming, and as such all topics directly related to programming are generally allowed. We also allow some content that are programming adjacent as listed below. Do note that these are all guidelines, and the admin team reserves the right to make exceptions, both to content allowed and not allowed. If you have a community idea you are not sure fits these guidelines, or you want us to make an exception, you are encouraged to ask in a post in [our meta community](https://programming.dev/c/meta). Alternatively, you can directly message the admin community team: [Bugsmith](https://programming.dev/u/bugsmith) or [UlrikHD](https://programming.dev/u/UlrikHD).

### Programming adjacent topics allowed
- Computer hardware, e.g. Raspberry Pi, Robotics, Mechanical Keyboards
- Software, e.g. Linux, Jetbrains, NixOS, Matrix
- Computer/Software related concepts, e.g. Privacy, Security, Open Source
- Culturally connected topics e.g. Creation focused games, Unix configurations, Comics à la XKCD
- Blogs about the topics outlined above. (See rules below that applies specifically to blog communities)


## General community guidelines
Do note that these are all general guidelines; exceptions may be made on a case by case basis in consultation with the admin team.

1. The rules of our [Code of Conduct](https://legal.programming.dev/docs/code-of-conduct/) apply to all communities.
2. No NSFW communities. If you don't think the community is fit to browse at work for a wide spread of people, it's likely not fit for programming.dev. 
3. Community content should primarily be driven by humans. Communities that have a majority of content produced by bots without human oversight are not allowed.
4. Communities should have a clear topic and purpose. Communities that are too broad or vague may be asked to narrow their focus. Programming.dev already provides [c/programming](https://programming.dev/c/programming) as a generic catch-all community for the instance.

## Blog specific rules

While we allow communities dedicated to a single person's blogs, to avoid spam and abuse there are specific rules that apply to these communities.

1. The community must be either moderated by the admin team or an admin approved moderator. This is a precautionary measure to avoid moderation abuse by the blog author.
2. All content shared must be free and available without creating any secondary accounts.
3. A maximum of 2 posts can be posted per day. If you feel this is too restrictive, please reconsider whether a microblog platform such as [mastodon](https://mastodon.social) would be a better fit for your content. Programming.dev hosts a mastodon instance at [bytes.programming.dev](https://bytes.programming.dev).
4. Programming.dev is not an advertisement board; if your blogs primarily focuses on selling products, services or courses, the admin team reserves the right to exercise judgment on a per-case basis if we allow it.
5. The blog must be primarily about topics that fits the guidelines previously outlined.