Community policy, version 1
This version 1 was finalized on 2026-08-15 by Samuel Roland, the creator of the website.
If you wish to contribute code or content via pull requests on Codeberg, it is very important to read this policy until the end. You need to be aware of our mission, the licensing system, the code of conduct, the AI policy, and some rules for communications. As with any online collaboration, we need to set clear rules to ensure the best work is done. We tried to make the policy as easy to follow. Leave us your feedback if you have ideas to improve it.
Mission
We believe in the value of creating an online community, in helping each other get new skills, collaborating on writing guides, sharing tips, and building automations. We like to search for the best way to explain things, figuring out how to express complex ideas, create the best schemas, and invent new kinds of exercises.
For IT enthusiasts
Our mission is to help IT enthusiasts discover productivity tools. Tons of invaluable programs are available out there, and most people don't know them. We do the hard work of searching, testing, comparing them, and making them easy to install. We hope anyone can just learn and use them effectively without much effort or adaptation time.
For IT students
We aim to help students redefine their learning experience. Instead of just taking notes and learning alone, we want to participate in building a common good for current and future students. The learning experience can be transformed with better tools. We build dedicated tools and Linux setups. We design new training opportunities and strategies to build efficient mental models. Our guides are designed by students and for students to ensure top-level clarity and maximum impact on skills acquisition.
Licensing system
This section indicates the licenses applied to each of our creations. It is important you also understand what these licenses mean. Via the Developer Certificate of Origin, explained in a future section, contributors must certify their right to submit their contributions and to license them under the applicable license.
Licensing background
You don't know what a free license is, what free software/open-source is, or why copyright law is important ? Read this section if you need more context to understand the next parts of this section.
Note: We are not lawyers nor copyright experts, and we are simplifying a lot of details. Always read the full license text to have a wider picture.
What is copyright ?
Answer
Here is how the REUSE FAQ defines it.
Copyright is a legal construct that grants someone exclusive rights over a creative work. The most important exclusive right is in the name: The right to produce copies. Only the copyright holder is allowed to give new copies of their work to people. You do not need to do anything to gain copyright. As soon as you make a creative work, you instantly gain copyright over it.
... If you want others to be able to freely use, study and share your code, you must release it under a license.
What is a license ?
Answer
Here is how the REUSE FAQ defines it.
One problem with copyright as it pertains to software is that it makes software unshareable by default. A license changes that. A license defines the terms under which the copyright holder allows the recipient of the license to use the software.
What is copyright notice ?
Answer
Some licenses require crediting authors with a copyright notice. A simple example is Copyright (c) 2026 Samuel Roland.
Why should I care about copyright when contributing to this website ?
Answer
Because of copyright give exclusive rights to their authors, by default no one can modify and continue improving our content (except their authors). Teachers may not be permitted to distribute copies of the content or improved versions publicly.
If guide maintainers are not motivated anymore, anyone should be able to show up and continue the work. This is not the case by default.
We have the same issue with external contributions. Without any license, every contributor would have exclusive rights, making it illegal to redistribute their changes.
Without any license on the creations, if this website shuts down one day, nobody except their authors can legally change or even redistribute the content again for dozens of years (until copyright expires). Thousands of hours of labor condemned to being frozen or just lost (if nobody has archived a copy)...
This Licensing section addresses these important copyright-related issues and explains the importance of licensing for the community's existence.
What is a Free license, and why choosing one ?
Answer
To build a strong and long-lasting community, we need a way to give the legal permissions to everyone to continue distributing the content, hosting the website, and updating the guides, exercises, and automations. A free license is a license that provides fundamental rights to achieve this. Free licenses for code all guarantee four core freedoms: all users can use, study, share, and improve them. Free licenses for content allow others to share and adapt the work.
We care about user freedoms promoted by the movements known as Open-source, Free software and Free culture. You might know Creative Commons or the Free Software Foundation (FSF), who already did the legal work of writing licenses. We used some of their licenses.
What categories of licenses exist ?
Answer
Here is how the REUSE faq defines the first two when talking about software.
There are two broad categories of Free Software licenses; copyleft and permissive licenses.
A copyleft license give you the right to use, study, share, and improve a piece of software under one strict condition. If you make any changes to the program and share your version of the program with someone else, you must share your changes under the same license as the original. A well-known copyleft license is the GNU General Public License version 3.
A permissive license gives you the same Free Software rights, but does not include this condition. It is possible for someone to take a permissively licensed piece of software, make changes to it, and keep the changed version proprietary. A well-known permissive license is the Apache License, version 2.
We also take into account licenses related to public domain. Here is a recapitulation table.
| Type | Idea | Examples |
|---|---|---|
| Public domain | They enable authors to dedicate their work to the public domain. A license like CC0 doesn't require mentionning their authors. |
We use the one written by Creative Commons, CC0. See the easy-to-read overview. |
| Permissive | They give some fundamental freedoms. Software under permissive licenses can be used in other open-source projects and proprietary projects as well. | We are using the MIT license. See the online version, including an overview. |
| Copyleft | They also give some fundamental freedoms, but require using the same license when distributing the original or modified versions. This last detail makes some proprietary projects unable to integrate them. They are protecting the freedoms of the original versions, but also the modified versions. Work on these license will stay in the commons. | We use the GPL-3.0 license, published by the FSF. See the online version, including an overview. |
What approach did you chose ?
Answer
To protect freedoms of modified versions, we favor the Copyleft/ShareAlike licenses. There is not a single copyleft license adapted to all types of creations; we are therefore using multiple licenses. We chose to apply a permissive license for short-length works (such as quick scripts or small CLIs).
Type of creations
The LXUP community is creating multiple forms of digital work under copyright. These are stored on the Git organisation codeberg.org/lxup or directly on the website database.
- Guides content (text, images, schemas, ...) for productivity tools and IT courses at HEIG-VD and MSE from HES-SO.
- New exercises for specific university courses or for productivity tools
- Online discussions (feedback comments, online discussions on Codeberg, ...)
- Linux setups automated with Ansible
- Small CLIs in Fish or Rust
- Visual creations like the LXUP logos
- New formats like videos in the future...
Licensing tooling
To ensure all files have a license, we use the REUSE framework. This licensing chapter documents our choices, but any doubt or errors, the source of truth remains the file headers. In any case, if the situation is unclear or confusing, please let us know via the feedback system. All our Git repositories must be managed with these conventions.
We chose Samuel Roland and LXUP contributors <lxup.org> as the copyright notice. We don't want to list dozens of people because it would be hard to manage and very long to show at the bottom of every page.
# SPDX-FileCopyrightText: Samuel Roland and LXUP contributors <lxup.org>
#
# SPDX-License-Identifier: MIT
# labget - Better implementation of retrieve_lab REDS script to download starting files of a lab
...
You can check the status of any repository by running reuse lint.
Licensing the productivity repository
For the repository codeberg.org/lxup/productivity, the following rules are defined. Licenses are applied only on content hosted in the repository. Examples of content used but hosted outside are embedded YouTube videos or external images.
The following table doesn't apply to any content stored inside folders named external. In addition, if some files need another license different from the default defined in the table, it needs to be mentioned in their header.
| Folder | License | Details |
|---|---|---|
meta/ |
Unless otherwise stated, released under CC-BY-SA-4.0
See the license text online, including a quick overview. |
These folders include all our guides deployed on this website.
If some code snippets inside guide pages need another license, this can be mentioned at their beginning or at the top of the page. |
tools/ |
||
HEIG/ |
||
MSE/ |
||
setup/playbook/ |
Unless otherwise stated, released under GPL-3.0-or-later
See the license text online, including a quick overview. |
This folder contains our Ansible playbook executed via the LXUP CLI. |
setup/tools/ |
Unless otherwise stated, released under MIT
See the license text online, including a quick overview. |
This folder contains our dedicated tools (written in Fish and Rust) |
brand/ |
All rights reserved | This is a special case because it represents the logo and other brand assets that represent the LXUP brand. In case you want to reuse or create visuals with our logo, please contact us for permission first. |
Examples of special cases in the previous guidelines
- An example of release under MIT for a code file. We take the example of
productivity/HEIG/PCO/pocs/fastavg/main.cpp.// SPDX-FileCopyrightText: Samuel Roland and LXUP contributors <lxup.org> // // SPDX-License-Identifier: MIT // // Container to calculate the average of a list of integers faster, by avoiding to compute the whole sum from scratch everytime ... - To integrate code snippets where we want visitors to easily copy-paste into their own projects, the ShareAlike part of the
CC-BY-SA-4.0license might be a blocker. For the special occasions where we need to fix this, we can release some snippets under the MIT license to allow broader use. This is useful for Fish scripts inside guide pages that need to be tweaked before installation. Typst snippets to copy-paste into your reports are another example.# Easy updates ## Run all updates in a single command ... ```fish # SPDX-FileCopyrightText: Samuel Roland and LXUP contributors <lxup.org> # # SPDX-License-Identifier: MIT # # Easy updates system to "Update them All" (for all package managers) function upa ...
Licensing the website repository
The repository codeberg.org/lxup/website is still All rights reserved. No Free license was defined for now, because we are waiting on the Free license release of one Rust dependency. It will be released under a Free license when possible.
- Some external icons from various projects (like those visible on
lxup.org/tools) have their own respective licenses. - Because of this closed licensing, contributions are not open for now.
Licensing the feedback and discussions on lxup.org
A feedback system is integrated into lxup.org as a low-friction system to report issues and suggest improvements. Visitors can also comment on existing feedback or review proposed changes directly on the website. The goal is to allow broad participation to improve our creations by skipping the Codeberg account creation step.
Feedback comments will generally be short but may contain longer and useful contributions. Feedback comments can be used to share better code solutions, send bug reports, or try to rewrite some guides' sections to make them clearer. These longer messages could fall under copyright law. As we want to integrate external suggestions without having to reinvent them ourselves, we need to license them as well.
Therefore, all feedback comments and discussions created on lxup.org are released under CC0-1.0. See the online version, including an overview.
We don't expect visitors to read this policy just to send feedback. Instead, we have a specific Feedback policy shown before the feedback form is made visible. We present some privacy aspects and the licensing choice.
Licensing the discussions on Codeberg
For the repositories under codeberg.org/lxup, we might have several discussions around ideas/suggestions/bugs under the Issues (the ticketing system) or conversations around Pull Requests (PR). This section doesn't concern the modifications in the PR, we are talking about PR descriptions, Issues descriptions, associated comments, and PR reviews. They cannot be licensed under a Free license, because there is no way to ask visitors to "accept licensing their comment as ...". We cannot assume all visitors browsing our repositories will have read this policy, because of this technical limitation of Codeberg.
A simple example of what is means in practice. If a visitor is looking at an open PR, adds a comment with a useful 100 lines Fish script. Unless a Free license is explicitly given by the visitor, we cannot integrate it...
Therefore, all these discussions on Codeberg are considered All rights reserved, and we cannot integrate them into our creations. We encourage everyone to prefer the website feedback system instead of discussing on Codeberg. As most people don't own a Codeberg account, this approach can facilitate broader participation because it avoids separating discussions in two different systems.
External content
You only need to read this section, if you are using content created by someone else or hosted outside our repositories.
Read details
It is only possible to include external pieces of content or code in these cases
- When it already has a Free license compatible with the existing license. Examples: taking MIT code and using it in our MIT code.
- When it is in the public domain and marked as such (via the CC0 license)
In any case, please make sure to mention the source by link, the author, and the license. This will also help bring another opinion during the review. If you are not sure about your choices, we'll be able to discuss it as well.
It is acceptable to quote parts of external content via the right of quotation (see, for example, the Article 25 of the Copyright Act in the Swiss law). It is important to mention the source and name of the author if available.
Examples of acceptable use of external contents
-
Here is an example of reusing an existing script under the MIT license. Their LICENSE file contains
Copyright (c) 2016 Gergely Nagy.- We make sure to respect this copyright notice when available. We note it under the REUSE format:
SPDX-FileCopyrightText: 2016 Gergely Nagy - If we modify the work, we also add our own notice: A new comment line
SPDX-FileCopyrightText: Samuel Roland and LXUP contributors <lxup.org> - We also keep the link !
#!/bin/bash # SPDX-FileCopyrightText: 2016 Gergely Nagy # SPDX-FileCopyrightText: Samuel Roland and LXUP contributors <lxup.org> # # SPDX-License-Identifier: MIT # Installation Jetbrains Toolbox # This is based on the existing script licensed under MIT by Gergely Nagy and contributors # https://github.com/nagygergo/jetbrains-toolbox-install/blob/master/jetbrains-toolbox.sh ... - We make sure to respect this copyright notice when available. We note it under the REUSE format:
-
Importing a list of images or other embeddable content from external sources is possible when they are under compatible licenses. To clearly separate them from our creations, we store them inside a folder named
external. See this example of Wikipedia images for a cryptography course. When these licenses require attribution, those are given where the work is made visible. -
Look at this example of quoting a definition. We use Markdown quotes (the line prefixes
>).Quick definition of SQL Injection attacks from the OWASP. [Source](https://owasp.org/www-community/attacks/SQL_Injection) > SQL injection attacks are a type of injection attack, in which SQL commands are injected into data-plane input in order to affect the execution of predefined SQL commands.
Developer Certificate of Origin (DCO)
Before merging any PR, we require all contributors to accept the following Developer Certificate of Origin version 1.1 (DCO).
Source of the text: developercertificate.org.
To certify compliance with the DCO, we don't use the default Git Signed-off-by: system, because we want contributors to accept this Community policy as well. Therefore, a checkbox will be presented before the PR creation with the following line. This line will also be persisted in the PR description.
I have read and accept the [LXUP Community policy, version 1](https://lxup.org/meta/contrib/policy). By creating this PR, I certify that my contributions comply with the documented AI policy, the Licensing system, and the Developer Certificate of Origin 1.1.
If your contribution was done for your job or for a university course, there is a high probability you don't actually own it. Instead, your employer or university actually hold the copyright on your work. You need to ask for an explicit permission before accepting this DCO.
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Read more about this contributor statement in Sources for the DCO.
AI policy
What are the issues with AI ?
In the AI industry, generative AI or Large Language Models (LLM) including Claude, ChatGPT, Gemini, etc... raise too many concerns to be used like other tools. The major issues around quality, licensing, ethics, ecology, or trust are considered superior to the productivity gains. Our biggest problem is that no one can guarantee AI generated output doesn't contain copyrighted materials under incompatible licenses. We don't want to take the legal risks of accepting AI generated content. For ethical, ecological, and other reasons, we don't want to support AI providers. This small set of companies (OpenAI, Anthropic, Google, ...) are concentrating tons of power and money in a few hands, and we don't want to support this trend.
Another argument against LLM-generated content is that anybody else can also generate it. When students are visiting our website, they are looking for documentation made by teachers or students, carefully created for their learning. Otherwise, they would have just thrown their course's PDFs at any AI provider. The full context of university courses, teachers approaches, needs, and missing resources will never be available to LLMs. As students and teachers, we are uniquely equipped to understand the problems and their nuances, to create the most useful and accessible content to benefit everyone.
Current policy
- You MUST not use LLMs or other probabilistic tools to generate any text, image, video, graphics, or any other kind of contributions to the website.
- In addition to code and content, this rule applies to any communication with the project via feedback comments, Issues, Pull requests, emails, and security reports.
- It is fine to use LLMs to do research (debug technical issues, verify your explanations, look for ideas, or discuss a topic) as long as the generated output is not included in your contribution. Just keep in mind to never copy paste or let an AI agent modify the content itself.
- For the research use case, when the LLM generates some ideas or gives a direction, never follow it without critical thinking and further validation when possible. You can take inspiration to do it yourself manually. If a tool/command/config option was found by AI, it may not be the best or most recent way to fix it. Validate it with human sources and verify the solution by testing it yourself and checking official documentation. It will also benefit you to better understand the approach.
- As an exception, using translators, grammar/spell checkers, or speech-to-text systems (to dictate content instead of typing, without reformulation) is permitted. Examples are DeepL for translation or LanguageTool to find language issues.
- Any violation (suspected or verified) would lead to contributions being refused/closed with a warning about this policy (for Issues/Pull requests) or deleted/ignored/banned (for feedback). Violations can lead to a ban of the project. See below the Code of Conduct for details about exclusion.
This AI policy section was inspired by the contributing guide of manyfold and many others in our sources below.
Finding it too strict ? Not convinced about AI issues ?
To explore the many concerns of LLM, we recommend reading the very good article on Codeberg's blog, Protecting our FLOSS commons from LLMs.
For a deeper dive, the excellent book Empire of AI, by Karen Hao, is a key resource to understand the AI industry and numerous issues around their infinite run for scaling. The book is very convincing in showing the AI industry is following the same patterns of expansion as historical empires.
You can see what others have decided for their community in our Sources for the AI policy. The Asahi Linux project, Servo, and Gentoo adopt an equally strict "No LLM" approach. Other groups allow limited use, but with several conditions on author responsibility. Others accept all any usage but require marking AI-generated work as such.
Code of Conduct
We aspire to build a welcoming and helpful community, fostering productive collaboration to improve the website. We want to be inclusive and make everyone feel safe when contributing and discussing with the community.
To this end, the Conduction section of the Rust Code of Conduct with three changes:
- These rules apply to any discussions, feedback, and contributions to the projects around the website. This includes repositories on Codeberg and any interaction generated on
lxup.orgdirectly. - If you want to report concerns about some behavior in the LXUP community, please reach out to Samuel Roland via email (samuel.roland at master.hes-so.ch)
- Regarding moderation, repeated violations of this Code of Conduct or the previous AI policy can also lead to a temporary or definitive ban of the project. The project administrators with technical access will decide on the final action. It is possible to block the Codeberg account and potentially restrict feedback system access. If some contributions are integrated but are later found to be violating this community policy, we might be deleted from the project.
Communications
The HEIG-VD and HES-SO universities are based in the French-speaking part of Switzerland. This is why we have a mix of French and English in the content and in online communications. All online discussions and feedback can be done only in English or French. When someone starts in one language, the rest of the discussion should stick to it. The language of the guide should be preferred when choosing a language. (A French guide like MAT2 should be discussed in French).