Compare commits

..

No commits in common. "main" and "gitea-to-forgejo" have entirely different histories.

24 changed files with 94 additions and 440 deletions

View file

@ -1,56 +0,0 @@
# syntax=docker/dockerfile:1
FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04
ARG USER=vscode
ARG DEBIAN_FRONTEND=noninteractive
RUN usermod -s /usr/bin/zsh ${USER}
# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version.
ARG VARIANT=hugo_extended
# VERSION can be either 'latest' or a specific version number
ARG VERSION=latest
# Download Hugo
RUN case ${VERSION} in \
latest) \
export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\
esac && \
echo ${VERSION} && \
case $(uname -m) in \
aarch64) \
export ARCH=ARM64 ;; \
*) \
export ARCH=64bit ;; \
esac && \
echo ${ARCH} && \
wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-${ARCH}.tar.gz && \
tar xf ${VERSION}.tar.gz && \
mv hugo /usr/bin/hugo
# Hugo dev server port
EXPOSE 1313
USER ${USER}
ARG HOME=/home/${USER}
WORKDIR ${HOME}
ARG PNPM_HOME=${HOME}/.local/share/pnpm
ENV PATH="${PNPM_HOME}:$PATH"
RUN <<EOT
wget -qO- https://get.pnpm.io/install.sh | ENV="${HOME}/.zshrc" SHELL=/bin/zsh sh -
pnpm env use -g lts
EOT
ARG OHMYZSH_HOME=${HOME}/.oh-my-zsh
# ARG OHMYZSH_THEME=${OHMYZSH_HOME}/custom/themes
# RUN <<EOT
# git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${OHMYZSH_THEME}/powerlevel10k
# sed -i 's|ZSH_THEME="devcontainers"|ZSH_THEME="powerlevel10k/powerlevel10k"|g' .zshrc
# echo 'POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true' >> .zshrc
# EOT
RUN <<EOT
hugo completion zsh > ${OHMYZSH_HOME}/plugins/git/_hugo
EOT

View file

@ -1,51 +0,0 @@
{
"name": "Hugo & pnpm",
"build": {
"dockerfile": "Dockerfile"
},
// 👇 Features to add to the Dev Container. More info: https://containers.dev/implementors/features.
// "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} },
// 👇 Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"html.format.templating": true
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
// https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-front-matter
"eliostruyf.vscode-front-matter",
// https://marketplace.visualstudio.com/items?itemName=rusnasonov.vscode-hugo
"rusnasonov.vscode-hugo",
// https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode
"budparr.language-hugo-vscode",
// https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hugo-themer
"eliostruyf.vscode-hugo-themer",
// https://marketplace.visualstudio.com/items?itemName=kaellarkin.hugo-shortcode-syntax
"kaellarkin.hugo-shortcode-syntax",
// "csstools.postcss",
// "esbenp.prettier-vscode",
// "tamasfe.even-better-toml",
// "naumovs.color-highlight",
// "GitHub.vscode-pull-request-github",
// "eamodio.gitlens",
"davidanson.vscode-markdownlint",
"streetsidesoftware.code-spell-checker"
]
}
},
"remoteUser": "vscode",
"postCreateCommand": "pnpm install-completion zsh"
}

View file

@ -2,25 +2,25 @@ kind: pipeline
name: default name: default
steps: steps:
# stable site
- name: build_stable - name: build_stable
image: floryn90/hugo:ext-alpine-ci image: debian:buster-slim
user: root
environment:
HUGO_SECURITY_HTTP_URLS: none
commands: commands:
- apt-get update; apt-get upgrade -y
- apt-get install -y wget git
- wget https://github.com/gohugoio/hugo/releases/download/v0.111.2/hugo_extended_0.111.2_linux-amd64.deb -O hugo.deb
- dpkg -i hugo.deb
- hugo --destination _site/ - hugo --destination _site/
when: when:
branch: branch:
- main - main
# staging site
- name: build_staging - name: build_staging
image: floryn90/hugo:ext-alpine-ci image: debian:buster-slim
user: root
environment:
HUGO_SECURITY_HTTP_URLS: none
commands: commands:
- apt-get update; apt-get upgrade -y
- apt-get install -y wget git
- wget https://github.com/gohugoio/hugo/releases/download/v0.111.2/hugo_extended_0.111.2_linux-amd64.deb -O hugo.deb
- dpkg -i hugo.deb
- hugo --baseURL "https://staging.data.coop" --destination _site/ - hugo --baseURL "https://staging.data.coop" --destination _site/
when: when:
branch: branch:
@ -66,17 +66,12 @@ steps:
exclude: exclude:
- pull_request - pull_request
# - name: notify - name: notify
# image: spotlightkid/drone-matrixchat-notify:latest image: plugins/matrix
# settings: settings:
# homeserver: https://data.coop homeserver: https://data.coop
# roomid: '!plKSghHbepWeUEtbHE:data.coop' roomid: plKSghHbepWeUEtbHE:data.coop
# userid: username:
# from_secret: matrix_username from_secret: matrix_username
# password: password:
# from_secret: matrix_password from_secret: matrix_password
# markdown: 'yes'
# template: |
# `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
#
# ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK})

7
Dockerfile_hugo Normal file
View file

@ -0,0 +1,7 @@
FROM debian:buster-slim
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y wget git && \
wget https://github.com/gohugoio/hugo/releases/download/v0.111.1/hugo_extended_0.111.1_linux-amd64.deb -O hugo.deb && \
dpkg -i hugo.deb

View file

@ -10,7 +10,7 @@ Running with Docker
In `docker-compose.yml`, we have specified a `serve` target which you can run locally like this: In `docker-compose.yml`, we have specified a `serve` target which you can run locally like this:
```bash ``` {.sourceCode .bash}
docker-compose up serve docker-compose up serve
``` ```
@ -25,7 +25,7 @@ file an issue!
Example recipe Example recipe
```bash ``` {.sourceCode .bash}
# Fetch .deb from Github # Fetch .deb from Github
wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_X.Y.Z_Linux-64bit.deb -O hugo_extended.deb wget https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_X.Y.Z_Linux-64bit.deb -O hugo_extended.deb
@ -45,7 +45,7 @@ hugo server
Deploying the site Deploying the site
------------------ ------------------
Simply pushing to `main` in our main repo at Simply pushing to `master` in our main repo at
<https://git.data.coop/data.coop/website/> will trigger a <https://git.data.coop/data.coop/website/> will trigger a
build-and-deploy of the website. build-and-deploy of the website.

View file

@ -17,15 +17,7 @@ markup:
languages: languages:
da: da:
title: data.coop title: data.coop
params:
description: "Et datakollektiv, der passer på dine data."
weight: 1 weight: 1
# First Hugo looks in your post front matter for an images value (images: [""])
# Then Hugo searchs for image page resources with feature, cover or thumbnail in their name. These are images files under a directory that matches the post (e.g. content\posts\first-post)
# If not images are found, Hugo looks for images (images: [""]) in your site config
# If no image if found, then an image-less Twitter summary card is used instead of summary_large_image
# https://digitaldrummerj.me/hugo-preview-when-sharing-twitter/
images: ["/static/img/some_card_preview_large_da.png"]
LanguageName: Dansk LanguageName: Dansk
menu: menu:
nav: nav:
@ -43,10 +35,7 @@ languages:
weight: 4 weight: 4
en: en:
title: data.coop title: data.coop
params:
description: "A data collective that takes care of your data."
weight: 2 weight: 2
images: ["/static/img/some_card_preview_large_en.png"]
LanguageName: English LanguageName: English
menu: menu:
nav: nav:
@ -63,3 +52,5 @@ languages:
url: "en/rights/" url: "en/rights/"
weight: 4 weight: 4
params:
description: "Et datakollektiv, der passer på dine data."

View file

@ -38,4 +38,3 @@ Vores kerneprincipper er:
</dl> </dl>
Ud fra de kerneprincipper vil vi med tiden udbyde onlinetjenester til medlemmerne. Hovedtanken er, at vi som udgangspunkt stoler mere på hinanden end på "de store" som f.eks. Google, Microsoft eller Facebook. Ud fra de kerneprincipper vil vi med tiden udbyde onlinetjenester til medlemmerne. Hovedtanken er, at vi som udgangspunkt stoler mere på hinanden end på "de store" som f.eks. Google, Microsoft eller Facebook.

View file

@ -3,7 +3,6 @@ title: Welcome to data.coop
--- ---
data.coop is a cooperative, which owns and operates a digital infrastructure for its members. Our fundamental vision is to protect our members' data. data.coop is a cooperative, which owns and operates a digital infrastructure for its members. Our fundamental vision is to protect our members' data.
The community consists of members around the Copenhagen-area and is open to inquiries from abroad to start sister infrastructures based on the same principles.
Our core principles are: Our core principles are:

View file

@ -2,7 +2,7 @@
title: "Om os" title: "Om os"
--- ---
**[data.coop]({{< ref "/" >}})** er en forening og et kooperativ. **data.coop** er en forening og et kooperativ.
Vi — medlemmerne i kooperativet — ejer vores egne data. Vi — medlemmerne i kooperativet — ejer vores egne data.

View file

@ -2,10 +2,7 @@
title: "About" title: "About"
--- ---
**[data.coop]({{< ref "/" >}})** is an association and a cooperative. **data.coop** is an association and a cooperative.
The community consists of members around the Copenhagen-area and is open to inquiries from abroad to start sister infrastructures based on the same principles.
If you are interested in becoming a member of data.coop but you are not able to participate in physical meetings in Copenhagen, we encourage that you get in touch with us about a vision you have for your community, rather than signing up as a member.
We — the members of the cooperative — own our own data. We — the members of the cooperative — own our own data.

View file

@ -2,35 +2,20 @@
title: Bliv medlem title: Bliv medlem
--- ---
[data.coop]({{< ref "/" >}}) er en demokratisk forening. Medlemmer bestemmer [data.coop](https://data.coop) er en demokratisk forening. Medlemmer bestemmer
over foreningens generelle drift og hvordan data skal forvaltes. Dette sker som i en helt klassisk forening i henhold til vores vedtægter på den årlige over foreningens generelle drift og hvordan data skal forvaltes. Dette sker som i en helt klassisk forening i henhold til vores vedtægter på den årlige
generalforsamling. generalforsamling.
Du bør læse vores [vedtægter]({{< ref "/rights.md" >}}) og især vores [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md) inden du melder dig ind. Har du spørgsmål, kan du finde os på [Matrix og IRC]({{< ref "/about.md" >}}) eller [sende en e-mail til bestyrelsen](mailto:board@data.coop). Du bør læse vores [vedtægter](/rights/) og især vores [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md) inden du melder dig ind. Har du spørgsmål, kan du finde os på [Matrix og IRC](/about/) eller [sende en e-mail til bestyrelsen](mailto:board@data.coop).
## Medlemspris Du bliver medlem ved at overføre penge til vores konto og sende en email til
vores kasserer, [benjaoming@data.coop](mailto:benjaoming@data.coop), med dit navn.
Vores kontingentår løber fra og med 1. juli til og med 30. juni. * Reg. 8401 (Merkur)
* Kontonr. 1016866
* Tekst på overførslen: Fornavn+efternavn
Medlemskab består af et kontingent til foreningen, samt en medlemsydelse for brug af tjenesterne. Betalinger følger det kontingentåret. Dvs. medlemskab er fortløbende fra betaling af kontingent frem til overstået ordinær generalforsamling. Medlemsydelsen er ligeledes 1 år forudbetalt og følger også kontingentåret, dog i indmeldelsesåret er kun indregnet tilbageværende måneder til og med juni. Årligt kontingent: **300 kr** (dog gerne mere)\
Nedsat kontingent for studerende/arbejdsløse: **50 kr**
* Almindeligt medlem: **600 kr / år** Kontingent-perioden gælder for det foreningsår, man melder sig ind i. Dvs. medlemskab er fortløbende fra betaling af kontingent frem til overstået ordinær generalforsamling.
* Heraf 150 kr kontingent
* ...og 450 kr medlemsydelse (inkl. moms)
* Nedsat kontingent: **100 kr / år**
* Heraf 50 kr kontingent
* ...og 50 kr medlemsydelse (inkl. moms)
Nedsat kontingent tilbydes til studerende og arbejdsløse.
## Sådan melder du dig ind
En betalingsløsning er under udvikling.
Du melder dig ind ved at skrive til kasserer@data.coop med følgende information:
* At du har læst og er enig i vores [vedtægter]({{< ref "/rights.md" >}}) og [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md).
* Ønsket primært brugernavn
* Ønsket email-adresse
Herefter kan vi sende dig en invitation og et betalingslink.

View file

@ -2,43 +2,31 @@
title: Become a member title: Become a member
--- ---
[data.coop]({{< ref "/" >}}) is a cooperative established as a democratic association. [data.coop](https://data.coop) is a cooperative established as a democratic association.
The members decide on the association's operations and how data should be governed. The members decide on the association's operations and how data should be governed.
Governance resembles any classic association: We have legal statutes and formal general assemblies. Governance resembles any classic association: We have legal statutes and formal general assemblies.
You need to read our [statutes]({{< relref "/rights.md" >}}) and our You need to read our [statutes](/rights/) and our
[Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md) [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md)
before becoming a member. before becoming a member.
If you have questions, you can find us on [Matrix or IRC]({{< ref "/about.md" >}}) or [send an email to the board](mailto:board@data.coop). If you have questions, you can find us on [Matrix or IRC](/about/) or [send an email to the board](mailto:board@data.coop).
*English speakers:* We would love to have you as a member. *English speakers:* We would love to have you as a member.
Many parts of this organization are already in English, Many parts of this organization are already in English,
but our legal documents are not (yet). but our legal documents are not (yet).
Please write us if you have any questions. Please write us if you have any questions.
## Price You become a member by paying the annual membership fee to our account *and* sending an email
to our treasurer [benjaoming@data.coop](mailto:benjaoming@data.coop), containing your name.
Our membership period runs from one general assembly to the next => July 1st until June 30th. Currently, the only option is to wire a bank payment to our Danish bank account:
A membership is comprised of a contingent to the association and a service fee. Payments follow the membership period. * Reg. 8401 (Merkur)
* Kontonr. 1016866
* Text: First name + last name
* Ordinary membershio: **600 kr / år** Annual membership: **DKK 300** (or more)\
* ...of which 150 kr is contingent Reduced annual membership (students/unemployed): **DKK 50**
* ...and 450 kr are service fee (incl. VAT)
* Reduced membership: **100 kr / år**
* ...of which 50 kr is contingent
* ...and 50 kr is service fee (incl. VAT)
The reduced membership is offered to students and unemployed members. The membership period counts from *association year* that you sign up in.
That means that a membership is valid from when it's paid and until and including the next general assembly.
## How to become a member
We are developing a sign-up form.
Currently, you sign up by writing kasserer@data.coop with the following info:
* That you have read and agree to our [statutes]({{< ref "/rights.md" >}}) and [Acceptable Usage Policy (AUP)](https://git.data.coop/data.coop/dokumenter/src/branch/main/Acceptable%20Usage%20Policy.md).
* A desired primary username
* The email address to connect to your account
After this, we can send you an invite and payment link.

View file

@ -43,15 +43,13 @@ foreningens hjemmeside og mailinglister. Ordinær generalforsamling afholdes
hvert år inden udgangen af september måned. Dagsorden for ordinær hvert år inden udgangen af september måned. Dagsorden for ordinær
generalforsamling skal indeholde følgende punkter: generalforsamling skal indeholde følgende punkter:
1. Formalia 1. Valg af dirigent og referent.
1. Valg af dirigent.
2. Generalforsamlingens lovlighed (er indkaldelsen sket rettidigt).
3. Valg af referent.
2. Bestyrelsens beretning. 2. Bestyrelsens beretning.
3. Fremlæggelse og godkendelse af regnskab, budget og kontingent. 3. Fremlæggelse af regnskab, budget og kontingent.
4. Indkomne forslag. 4. Indkomne forslag.
5. Valg (Jf. § 3) 5. Godkendelse af vedtægtsændringer og Acceptable Use Policy
6. Eventuelt 6. Valg (Jf. § 3)
7. Eventuelt
### § 4.1. Afholdelse af generalforsamlinger og bestyrelsesmøder ### § 4.1. Afholdelse af generalforsamlinger og bestyrelsesmøder
Generalforsamlinger og bestyrelsesmøder kan afholdes på internettet. Generalforsamlinger og bestyrelsesmøder kan afholdes på internettet.
@ -79,14 +77,10 @@ Bestyrelsen fastsætter selv sin forretningsorden.
Bestyrelsen kan sammensætte samarbejdsgrupper af medlemmer, der kan fungerer Bestyrelsen kan sammensætte samarbejdsgrupper af medlemmer, der kan fungerer
som idéudviklingsforum for foreningen. som idéudviklingsforum for foreningen.
### § 5.1 Tegningsret
Tegningsret for foreningen har forpersonen og kassereren, dog ved køb, salg eller Tegningsret for foreningen har forpersonen og kassereren, dog ved køb, salg eller
pantsætning af fast ejendom, indgåelse af driftsaftaler samt ved optagelse af pantsætning af fast ejendom, indgåelse af driftsaftaler samt ved optagelse af
lån, af den samlede bestyrelse. lån, af den samlede bestyrelse.
Den samlede bestyrelse kan meddele prokura til individuelle medlemmer af bestyrelsen.
## § 6. Medlemskab ## § 6. Medlemskab
Som medlem kan enhver fysisk person optages, som har interesse i at støtte Som medlem kan enhver fysisk person optages, som har interesse i at støtte
foreningens formål. Medlemskab er bindende for et år ad gangen. foreningens formål. Medlemskab er bindende for et år ad gangen.
@ -114,56 +108,14 @@ på en ekstraordinær generalforsamling.
Mistillid til administratorer skal meldes til bestyrelsen. Bestyrelsen kan midlertidigt fratage en administrator vedkommendes administrationsrettigheder, indtil mistillidserklæringen mod vedkommende er behandlet. Mistillid til administratorer skal meldes til bestyrelsen. Bestyrelsen kan midlertidigt fratage en administrator vedkommendes administrationsrettigheder, indtil mistillidserklæringen mod vedkommende er behandlet.
## § 8. Moderationspolitik ## § 8. Kontingent/finansiering
Foreningen vedtager en moderationspolitik for foreningens sociale tjenester på generalforsamlingen. Moderationspolitikken håndhæves af et moderatorhold.
### § 8.1 Udpegning af moderatorer
Bestyrelsen udpeger moderatorer.
Udpegning af moderatorer skal annonceres til foreningens medlemmer.
Kun medlemmer af foreningen kan bestride hvervet som moderator. Moderatorer skal så vidt muligt findes udenfor bestyrelsen, dog skal mindst én moderator samtidig være bestyrelsesmedlem.
### § 8.2 Mistillid til moderatorer
Hvis der er mistillid til en eller flere moderatorer skal dette behandles
på en ekstraordinær generalforsamling.
Mistillid til moderatorer skal meldes til bestyrelsen. Bestyrelsen kan midlertidigt fratage en moderator vedkommendes moderatorrettigheder, indtil mistillidserklæringen mod vedkommende er behandlet.
## § 9. Kontingent/finansiering
De årlige kontingenter fastsættes af generalforsamlingen. De årlige kontingenter fastsættes af generalforsamlingen.
Foreningen kan herudover finansieres ved sponsor- og annoncestøtte samt bidrag Foreningen kan herudover finansieres ved sponsor- og annoncestøtte samt bidrag
fra offentlige/private virksomheder, fonde, øvrige foreninger/institutioner og fra offentlige/private virksomheder, fonde, øvrige foreninger/institutioner og
private personer, så længe det ikke stiller krav til foreningens dispositioner. private personer, så længe det ikke stiller krav til foreningens dispositioner.
## § 10. Medlemsydelse ## § 9. Ekstraordinær generalforsamling
Foreningen stiller tjenester til rådighed for sine medlemmer mod betaling af medlemsydelse.
Medlemsydelsen defineres og prissættes af bestyrelsen.
### § 10.1 Leverings- og betalingsbetingelser
Bestyrelsen fastsætter leverings- og betalingsbetingelser, såsom betalingsperioder, frister og refusion.
Bestyrelsen forudsætter sig ret til at pålægge gebyrer eller lukke for tjenester ved udebleven betaling.
### § 10.2 Ændring af medlemsydelser og betalingsbetingelser
Ændring af ydelser og betalingsbetingelser skal annonceres til foreningens medlemmer mindst 30 dage inden ændringen træder i kraft.
Tilføjelser af flere tjenester eller ændringer på konfigurationen af tjenester anses IKKE som ændringer, der kræver varslinger.
### § 10.3 Indsigelse mod ændringer
Hvis et eller flere medlemmer er uenige i ændringer af medlemsydelsen eller betalingsbetingelser, kan de indsende en skriftlig indsigelse til bestyrelsen.
Indsigelsen skal være bestyrelsen i hænde senest 14 dage før ændringen træder i kraft.
Hvis bestyrelsen modtager indsigelser fra mindst 1/3 af foreningens medlemmer, skal bestyrelsen indkalde til en ekstraordinær generalforsamling, hvor ændringen skal fremsættes som forslag og godkendes af generalforsamlingen.
## § 11. Ekstraordinær generalforsamling
Indkaldelse sker, hvis et flertal af bestyrelsen ønsker det. Indkaldelse sker, hvis et flertal af bestyrelsen ønsker det.
Indkaldelse sker, hvis 1/3 af medlemmerne ønsker det. Indkaldelse sker, hvis 1/3 af medlemmerne ønsker det.
@ -172,10 +124,10 @@ Indkaldelse sker under samme betingelser, som anført i §4.
Dagsorden skal motiveres. Dagsorden skal motiveres.
## § 12. Regnskab ## § 10. Regnskab
Regnskabsåret for Foreningen er kalenderåret. Regnskabsåret for Foreningen er kalenderåret.
## § 13. Opløsning ## § 11. Opløsning
Opløsning af foreningen kræver et flertal på ¾ af generalforsamlingens eller Opløsning af foreningen kræver et flertal på ¾ af generalforsamlingens eller
den ekstraordinære generalforsamlings fremmødte medlemmer. den ekstraordinære generalforsamlings fremmødte medlemmer.

View file

@ -2,163 +2,10 @@
title: Legal statutes of data.coop title: Legal statutes of data.coop
--- ---
> This translation is provided solely for the purpose of guidance. The [Danish version](/rights/) remains the official and legally binding version. data.coop does not have a translation of its Danish statutes.
## § 1. Name and location The reason is that we cannot guarantee that the democratic process that established the Danish statutes would understand an English translation in the same way.
The name of the association is: data.coop
The association is based in the city of Copenhagen but (its activities are) primarily online. While we work out this challenge,
we encourage that you use some auto-generated translation of the [Danish statutes](/rights/)
## § 2. Aim and ask us questions about anything that would seem unclear.
The main aims of the association is to provide digital infrastructure to its members, while keeping the core principles of the association — privacy, encryption, decentralization and zero knowledge — in focus.
### § 2.1 Secondary aims
* The association works to promote its core principles.
* The association helps people act responsibly online.
* The association collaborates with other data cooperatives and/or helps other start up similar initiatives.
* The association may provide its services to other non-profits, grassroots movements and similar, working independently of the association with goals that match the aims and core principles of the association.
## § 3. Governance
Overriding power of the association lies with the General Assembly, consisting of members with a valid proof of membership.
The General Assembly elects:
- A board of 5 members
- 2 alternate board members
- 1 financial auditor
- Optionally, 1 alternate financial auditor
Board members are elected for a period of 2 years, so that at least 2 members are up for election every year. The auditor and alternates are up for election every year.
## § 4. The General Assembly (GA)
The board calls for meetings of the GA no less than 14 days prior through the website of the association and mailing lists. The GA meets every year before the end of September. The agenda of the annual meeting of the GA must include the following items:
1. Formalities
1. Election of a meeting chair and notetaker
2. Legality of the meeting (was the meeting called in time)
3. Election of a notetaker
2. Report from the board
3. Presentation and approval of accounts, budget and membership fee
4. Incoming motions
5. Elections (as per §3)
6. Any other business
### § 4.1. Holding of meetings of the GA and the board
Meetings of the GA and the board may take place online.
### § 4.2. Incoming motions and statute amendments
Motions and statute amendments must be received by the board no less than a week before the meeting of the GA and presented to members no less than 4 days before the the meeting of the GA.
### § 4.3. Statute amendments
Passing of statute amendments requires a three-quarters majority of members present at the meeting of the GA.
### § 4.4. Motions
Passing of motions requires a simple majority of members present at the meeting of the GA.
## § 5. The board of the association
The executive power of the association lies with the board (as per §3). The board itself elects its officers including a chair, a vice chair and a treasurer. The board delegates handling of daily business of the association to an executive committee consisting of the chair, vice chair and treasurer.
The board is in charge of drafting the accounts and the budget.
The board itself determines its own rules of procedure.
The board may create ad-hoc working groups consisting of members, functioning as fora for developing ideas for the association.
### §5.1 Legal authority
The chair and treasurer have legal authority, but when it comes to purchasing, selling, or mortgaging real estate, making service agreements, or taking loans, the board as a whole must agree to bind the association.
The board as a whole may assign power of attorney to individual members of the board.
## § 6. Membership
Any physical person who supports the aims of the association may become a member. Membership is binding for one year at a time.
The board has the authority to remove members from the association if they act in violation of the Acceptable Use Policy (AUP).
Membership is continuous from the payment of dues until the conclusion of the annual meeting of the GA.
## § 7. Administrators
The services offered by the associated are maintained by a team of administrators. Only members of the association can assume the role of administrator.
Only administrators hold administrative access to the servers and services of the association.
### § 7.1 Appointment of administrators
The board appoints administrators.
The appointment of administrators must be announced to the members of the association.
### § 7.2 Mistrust of administrators
Mistrust towards one or more administrators must be addressed at an extraordinary meeting of the GA.
Mistrust towards administrators must be reported to the board. The board has the authority to temporarily suspend an administrator's administrative rights until the declaration of mistrust against them is addressed
## § 8. Moderation policy
The association maintains a moderation policy for its social services, approved by the GA. The moderation policy is enforced by a team of moderators.
### § 8.1 Appointment of moderators
The board appoints moderators.
The appointment of moderators must be announced to the members of the association.
Only members of the association can hold the position of moderator. Ideally, moderators should not be board members, however, at least one moderator must also be a board member.
### § 8.2 Mistrust of moderators
Mistrust towards one or more moderators must be addressed at an extraordinary meeting of the GA.
Mistrust towards moderators must be reported to the board. The board has the authority to temporarily suspend a moderator's moderator rights until the declaration of mistrust against them is addressed
## § 9. Membership fees/funding
Annual membership fees are decided by the GA.
Additionally, the association can receive funding through sponsorships, advertising support, as well as contributions from public/private companies, foundations, other associations/institutions, and private individuals, as long as it does not impose conditions on the association's decisions.
## § 10. Service fees
The association provides services to its members who pay a service fee.
The service fee is defined and determined by the board.
### § 10.1 Terms of delivery and payment
The board determines the terms of delivery and payment, such as terms, payment times and refunds.
The board reserves the right to charge late fees or suspend services in case of lacking payments.
### § 10.2 Change of service fees and payment terms
Changes to service fees or payment terms must be announced to the members of the association no later than 30 days before taking effect.
The addition of services or changes to service configurations are NOT considered changes requiring notice.
### § 10.3 Disputing changes
If one or more members disagree with changes in service fees or payment terms, they may file a dispute in writing to the board.
The dispute must be received by the board no later than 14 days before the change would take effect.
If the board receives disputes from at least 1/3 of the members of the association, the board must call for an extraordinary GA, at which the change must be presented as a motion to be approved by the GA.
## § 11. Extraordinary General Assembly (GA)
Extraordinary GAs may be called if desired by a majority of the board.
Extraordinary GAs may be called if desired by one-third of the members.
Extraordinary GAs are called following the same terms as in §4.
The agenda must be substantiated.
## § 12. Accounts
The association's financial year is the calendar year.
## § 13. Dissolution
Dissolution of the association requires a majority vote of three-quarters of members present at the GA or extraordinary GA.
The dissolution must then be approved at a subsequent extraordinary GA.
In the event of the dissolution of the association, the association's assets shall be transferred to European Digital Rights (EDRi) and Free Software Foundation Europe (FSFE)
The association data.coop was founded on June 24, 2014.

View file

@ -5,10 +5,10 @@ title: Tjenester
Visse tjenester **data.coop** driver er kun for medlemmer, andre er åbne for alle. Visse tjenester **data.coop** driver er kun for medlemmer, andre er åbne for alle.
Alle tjenester er benævnt med [badges]({{< ref "/services/#badges" >}}), der deklarerer i hvor høj grad den Alle tjenester er benævnt med [badges](/services/#badges), der deklarerer i hvor høj grad den
enkelte tjeneste lever op til [kerneprincipperne defineret i formålsparagraffen enkelte tjeneste lever op til [kerneprincipperne defineret i formålsparagraffen
i vores vedtægter]({{< ref "/rights.md#-2-formål" >}}). i vores vedtægter](/rights/#-2-formål).
Vi har skrevet en definition af [hvad de forskellige badges dækker over]({{< ref "/services/#badges" >}}). Vi har skrevet en definition af [hvad de forskellige badges dækker over](/services/#badges).
Klik på hver tjenestes navn for at se detaljer: Klik på hver tjenestes navn for at se detaljer:

View file

@ -1,10 +1,12 @@
version: "3" version: "3"
services: services:
server: serve:
image: floryn90/hugo:ext-alpine build:
command: server context: .
dockerfile: Dockerfile_hugo
command: |
/bin/bash -c "cd /code && hugo serve"
network_mode: host
volumes: volumes:
- ".:/src" - .:/code
ports:
- "1313:1313"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,10 +1,10 @@
<!doctype html> <!doctype html>
<html lang="{{ .Site.Language.Lang }}"> <html lang="{{ site.Language }}">
{{ partial "head.html" . }} {{ partial "head.html" . }}
<body> <body>
<aside> <aside>
<header> <header>
<a href="{{ .Site.Home.Permalink }}"><img src="/static/img/logo_{{ .Site.Language.Lang }}.svg" alt="data.coop logo" width="240" height="140"></a> <a href="/"><img src="{{ printf "/static/img/logo_%s.svg" .Site.Language.Lang | absURL }}" alt="data coop logo" width="240" height="140"></a>
<div class="nav-toggle" id="nav-toggle-header"> <div class="nav-toggle" id="nav-toggle-header">
<span id="nav-toggle-a"></span> <span id="nav-toggle-a"></span>

View file

@ -1,11 +1,12 @@
<h2 id="badges">{{ i18n "badges_headline" }}</h2> <h2 id="badges">{{ i18n "badges_headline" }}</h2>
<section class="badge-definitions"> <section class="badge-definitions">
{{/* TODO: This needs to be sensitive to current language */}}
{{- $translated_badges := index $.Site.Data.badges .Lang }} {{- $translated_badges := index $.Site.Data.badges .Lang }}
{{ range $badge_key, $badge := $translated_badges.badges.badges }} {{ range $badge_key, $badge := $translated_badges.badges.badges }}
<div class="badge-icon"> <div class="badge-icon">
{{ $svg := printf "static/static/img/badges/%s" .icon }} {{$svg := printf "static/static/img/badges/%s" .icon}}
{{ $svg | readFile | safeHTML }} {{ $svg | readFile | safeHTML }}
</div> </div>
<div class="badge-name">{{ title .name }}</div> <div class="badge-name">{{ title .name }}</div>

View file

@ -9,19 +9,17 @@
<meta name="description" content="{{ . }}"> <meta name="description" content="{{ . }}">
{{ end }} {{ end }}
<link rel="apple-touch-icon" sizes="180x180" href="/static/img/apple-touch-icon.png"> <link rel="apple-touch-icon" sizes="180x180" href="{{ "/static/img" | absURL }}/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/img/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="{{ "/static/img" | absURL }}/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/img/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="{{ "/static/img" | absURL }}/favicon-16x16.png">
<link rel="manifest" href="{{ "" | absURL }}/site.webmanifest"> <link rel="manifest" href="{{ "" | absURL }}/site.webmanifest">
<link rel="mask-icon" href="/static/img/safari-pinned-tab.svg" color="#4b3aba"> <link rel="mask-icon" href="{{ "/static/img" | absURL }}/safari-pinned-tab.svg" color="#4b3aba">
<meta name="msapplication-TileColor" content="#4b3aba"> <meta name="msapplication-TileColor" content="#4b3aba">
<meta name="theme-color" content="#4b3aba"> <meta name="theme-color" content="#4b3aba">
{{ template "_internal/twitter_cards.html" . }}
{{ template "_internal/opengraph.html" . }}
{{ $style := resources.Get "static/css/style.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint "sha512" }} {{ $style := resources.Get "static/css/style.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint "sha512" }}
<link rel="stylesheet" href="{{ $style.RelPermalink }}" integrity="{{ $style.Data.Integrity }}"> <link rel="stylesheet" href="{{ $style.RelPermalink }}" integrity="{{ $style.Data.Integrity }}">
<title>{{ .Title }} | {{ .Site.Title }}</title> <title>{{ .Title }} | {{ .Site.Title }}</title>
</head> </head>

View file

@ -3,7 +3,7 @@ license: "MIT"
licenselink: "https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/blob/master/LICENSE" licenselink: "https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/blob/master/LICENSE"
description: "Yay data.coop theme - started with this one https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/" description: "Yay data.coop theme - started with this one https://github.com/zwbetz-gh/minimal-bootstrap-hugo-theme/"
homepage: "https://data.coop" homepage: "https://data.coop"
tags: ["nice"] tags: ["nice",]
features: ["responsive", "small page size", "fuck google", "no tracking"] features: ["responsive", "small page size", "fuck google", "no tracking"]
min_version: "0.60.1" min_version: "0.60.1"