Skip to content

Commit

Permalink
Clarify and simplify copyright and LGPL license
Browse files Browse the repository at this point in the history
- Update the copyright header in all source files with a simplified version that uses the SPDX license identifier for the LGPL.
- Combining the two copyright holders into a single line.
- Add the `COPYRIGHT.md` file that clarify who’s holding the copyright and the special propietary use exception for one copyright holder.
- Adding the GPL license along with the LGPL addendum.
- No functional changes were made to the source code.
  • Loading branch information
erbsland-dev committed Jan 5, 2024
1 parent 7b299ac commit 676ea87
Show file tree
Hide file tree
Showing 60 changed files with 1,239 additions and 838 deletions.
16 changes: 3 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
# Copyright © 2023 Tobias Erbsland. Web: https://erbsland.dev
# Copyright © 2023 EducateIT GmbH. Web: https://educateit.ch
#
# This program is free software: you can redistribute it and/or modify it under the terms of the
# GNU Lesser General Public License as published by the Free Software Foundation, either
# version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along with this program.
# If not, see <https://www.gnu.org/licenses/>.
# Copyright © 2024 Tobias Erbsland https://erbsland.dev/ and EducateIT GmbH https://educateit.ch/
# According to the copyright terms specified in the file "COPYRIGHT.md".
# SPDX-License-Identifier: LGPL-3.0-or-later

cmake_minimum_required(VERSION 3.25)

Expand Down
105 changes: 105 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@

# Erbsland DEV Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers of Erbsland DEV pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies within all project spaces and when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at github@erbsland.dev. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
83 changes: 83 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Erbsland DEV Contributing Guidelines

First of all, thank you for considering to contribute to our software! We appreciate your time and effort. This document provides a set of guidelines to help ensure a smooth contribution process. Please take a moment to review and follow these guidelines to help maintain a healthy and inclusive project environment.

## Code of Conduct

By participating in this project, you agree to abide by the [Code of Conduct](./CODE_OF_CONDUCT.md). Please ensure you read and follow its principles to help maintain a welcoming and inclusive community environment.

## How Can I Contribute?

### Reporting Bugs

If you encounter a bug, please create a new issue in the project's issue tracker. Be sure to include the following information:

* A clear and concise description of the bug.
* Steps to reproduce the issue.
* Any additional information that may be helpful (e.g., screenshots, logs, or environment details).

### Suggesting Enhancements

To suggest a new feature or enhancement, please create a new issue in the project's issue tracker. In your suggestion, include:

* A clear and concise description of the enhancement.
* The motivation behind the suggestion (e.g., how it would improve the project or solve a problem).
* Any relevant examples or resources that support your suggestion.

### Code Contributions

At Erbsland DEV, we maintain high standards for security, reliability, and quality in our software. To ensure the integrity of the codebase, we do not accept pull requests by default. If you would like to contribute code, please follow the steps below:

1. Start by reporting a bug or suggesting a feature through the issue tracker. Alternatively, you can contact us directly to discuss your proposed contribution.

2. Wait for feedback from the maintainers or the community. This will help ensure that your proposed changes align with the project's goals and quality standards.

3. Once your proposal has been reviewed and approved, you may proceed with creating a pull request. Make sure to follow the instructions outlined in the [Pull Requests](#pull-requests) section.

Please note that any pull requests submitted without prior communication or approval may be declined. This policy helps maintain the quality and consistency of the Erbsland DEV project. Your understanding and cooperation are greatly appreciated.

### Pull Requests

Once your proposal has been reviewed and approved, please follow these steps to contribute code changes:

1. Create a new branch for your changes.
2. Compile and test your changes.
3. Write unit tests that test your added code through fully.
4. Commit the changes to your new branch.
5. Push your changes to your fork on GitHub.
6. Open a pull request on the original repository and the repository with the unit tests.

Please note: **Make sure your code follows _the exact coding style_ of the existing code.** Code that is not formatted as existing code of the project is a reason to **reject** your pull request.

## Style Guidelines

### Coding Style

**This project uses "Black" for code formatting.**

If you contribute code, you must run the "Black" code formatter with the parameter `--line-length=120`.

Please also follow these general coding style guidelines:

* Document all classes, methods and instance variables using doc-strings.
* Document internal and private methods if its use is not obvious.

### Commit Messages

When writing commit messages, follow these guidelines:

* Write concise and descriptive commit messages.
* Start the commit message with a capital letter.
* List *every* change of your commit, group the changes where possible.
* If you do extensive changes, split them into multiple small commits.

## Legal

### Licensing of Contributions

All contributions must be made under the same license as the project.

### Copyright Notice for Contributions

By contributing to this project, you agree to license your contributions under the same terms as the existing copyright and license. Your contributions will be incorporated into the existing copyrighted material without separate copyright attribution. This does not affect your rights to use your own contributions for any other purpose, including licensing them under different terms.

61 changes: 61 additions & 0 deletions COPYRIGHT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@

# Informative Preamble

Hey there! 👋 If you're reading this, you might be a developer, a contributor, or just someone curious about the project *Erbsland Qt TOML*. While this document may look a bit formal, there's no need to fret! Its main goal is to clarify the copyright and license terms, primarily for those explicitly listed as *Copyright Holders* further down.

## What This Means for You

- **Developers and Contributors**: For those of you diving deeper into the code, thank you! This document won't impact your contributions or your ability to use the project. In fact, it's designed to protect the project's open-source nature, ensuring the code remains free for everyone. However, do make sure to read the [Contributing](./CONTRIBUTING.md) document.

- **Users**: If you're using this software in your projects, rest easy. These terms are set up to protect both the project's longevity and its open-source status. This ensures you can continue to use it with confidence.

So, unless you're specifically listed as a *Copyright Holder*, go ahead and carry on. These terms aim to ensure that *ErbslandFORMER* remains a free and open-source project, serving the best interests of all its users.

---

# Copyright Terms for Project *Erbsland Qt TOML*

_Version: 1.0, Last Modified: 2024-01-04_

## Copyright Holders

- Tobias Erbsland, Erbsland DEV.
- EducateIT GmbH.

## License

This program is free software: you can redistribute it and/or modify it under the terms of the **GNU Lesser General Public License** as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **GNU Lesser General Public License** for more details.

You should have received a copy of the **GNU Lesser General Public License** along with this program. If not, see <https://www.gnu.org/licenses/>.

## Active Entities

- Tobias Erbsland, Erbsland DEV, reserves the right to enforce the license terms and issue disclaimers regarding liability for the project.
- EducateIT GmbH, granted special permissions solely under the ownership of Marc Rollier, may use a copy of this software under the following alternative terms:
1. Permission to integrate the software into EducateIT GmbH's proprietary projects, without being required to disclose source code.
2. Obligation to contribute bug fixes back to the open-source project, but not new features.

## Succession and Termination

In the event that Tobias Erbsland or EducateIT GmbH cease to exist, or if there is a change in ownership or control of EducateIT GmbH, the following terms shall apply:

- The copyright held by Tobias Erbsland will pass on to his designated heirs or executors. If no such party can reasonably be identified, the copyright will be considered to be held by the remaining copyright holder(s).
- In the event of EducateIT GmbH's dissolution, bankruptcy, termination, or change in ownership or control, its copyright and associated rights are terminated, and the copyright will revert to the remaining copyright holder(s).
- Should there be a change in ownership or control of EducateIT GmbH (currently owned by Marc Rollier), the copyright and associated rights held by EducateIT GmbH are terminated.

In the unlikely event that all copyright holders cease to exist and no heirs or executors can reasonably be identified, the copyright for the project will be transferred to the Free Software Foundation to ensure its continued stewardship under the terms of the GNU Lesser General Public License.

## Governing Law and Jurisdiction

This agreement is governed by the laws of Switzerland. Any disputes arising from or related to this agreement shall be resolved exclusively in the courts located in Bern, Switzerland.

## Severability

If any clause in this document is found to be legally unenforceable or invalid, that clause will be limited or eliminated to the minimum extent necessary so that this agreement otherwise remains in full force and effect and enforceable. The remaining clauses will be interpreted in a manner that most closely approximates the original intent of the parties.

## Contact

- Tobias Erbsland: [erbsland.dev](https://erbsland.dev/)
- EducateIT GmbH: [educateit.ch](https://educateit.ch/)
Loading

0 comments on commit 676ea87

Please sign in to comment.