From 12b10bcb26b8fbc85de4d7498d5657e890bf7301 Mon Sep 17 00:00:00 2001 From: saxodwarf Date: Sun, 4 Apr 2021 19:48:12 +0200 Subject: [PATCH] Initial commit --- .gitignore | 140 +++++++++++++++++++++ LICENSE | 354 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 + 3 files changed, 496 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8b73e7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,140 @@ +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..eb0337e --- /dev/null +++ b/LICENSE @@ -0,0 +1,354 @@ +Deutsche Freie Software Lizenz + +(c) Ministerium für Wissenschaft und Forschung Nordrhein-Westfalen 2004 Erstellt +von Axel Metzger und Till Jaeger, Institut für Rechtsfragen der Freien und +Open Source Software - ( http://www.ifross.de ) . + +Präambel + +Software ist mehr als ein Wirtschaftsgut. Sie ist die technische Grundlage +der Informationsgesellschaft. Die Frage der Teilhabe der Allgemeinheit ist +deswegen von besonderer Bedeutung. Herkömmlich lizenzierte Programme werden +nur im Object Code vertrieben, der Nutzer darf das Programm weder verändern +noch weitergeben. Das Lizenzmodell der Freien Software (synonym "Open Source +Software") gewährt Ihnen dagegen umfassende Freiheiten im Umgang mit dem Programm. +Die Deutsche Freie Software Lizenz folgt diesem Lizenzmodell. Sie gewährt +Ihnen das Recht, das Programm in umfassender Weise zu nutzen. Es ist Ihnen +gestattet, das Programm nach Ihren Vorstellungen zu verändern, in veränderter +oder unveränderter Form zu vervielfältigen, zu verbreiten und öffentlich zugänglich +zu machen. Diese Rechte werden unentgeltlich eingeräumt. + +Die Deutsche Freie Software Lizenz verbindet die Rechtseinräumung allerdings +mit Pflichten, die dem Zweck dienen, das freie Zirkulieren des Programms und +aller veröffentlichten Fortentwicklungen zu sichern. Wenn Sie das Programm +verbreiten oder öffentlich zugänglich machen, dann müssen Sie jedem, der das +Programm von Ihnen erhält, eine Kopie dieser Lizenz mitliefern und den Zugriff +auf den Source Code ermöglichen. Eine weitere Pflicht betrifft Fortentwicklungen +des Programms. Änderungen am Programm, die Sie öffentlich verbreiten oder +zugänglich machen, müssen nach den Bestimmungen dieser Lizenz frei gegeben +werden. + +Die Deutsche Freie Software Lizenz nimmt auf die besonderen Anforderungen +des deutschen und europäischen Rechts Rücksicht. Sie ist zweisprachig gestaltet +und damit auch auf den internationalen Vertrieb ausgerichtet. + + + + § 0 Definitionen + + + +Dokumentation: Die Beschreibung des Aufbaus und/oder der Struktur der Programmierung +und/oder der Funktionalitäten des Programms, unabhängig davon, ob sie im Source +Code oder gesondert vorgenommen wird. + + + +Lizenz: Die zwischen dem Lizenzgeber und Ihnen geschlossene Vereinbarung mit +dem Inhalt der "Deutschen Freien Software Lizenz" bzw. das Angebot hierzu. + + + +Lizenznehmer: Jede natürliche oder juristische Person, die die Lizenz angenommen +hat. + + + +Programm: Jedes Computerprogramm, das von den Rechtsinhabern nach den Bestimmungen +dieser Lizenz verbreitet oder öffentlich zugänglich gemacht worden ist. + + + + Object Code: Die maschinenlesbare, übersetzte Form des Programms. + + + +Öffentlich: Nicht nur an einen bestimmten Personenkreis gerichtet, der persönlich +oder durch die Zugehörigkeit zu einer juristischen Person oder einem öffentlichen +Träger miteinander verbunden ist. + + + +Öffentlich zugänglich machen: Die öffentliche Weitergabe des Programms in +unkörperlicher Form, insbesondere das Bereithalten zum Download in Datennetzen. + + + +Rechtsinhaber: Der bzw. die Urheber oder sonstigen Inhaber der ausschließlichen +Nutzungsrechte an dem Programm. + + + +Source Code: Die für Menschen lesbare, in Programmiersprache dargestellte +Form des Programms. + + + +Verändern: Jede Erweiterung, Kürzung und Bearbeitung des Programms, insbesondere +Weiterentwicklungen. + + + +Verbreiten: Die öffentliche Weitergabe körperlicher Vervielfältigungsstücke, +insbesondere auf Datenträgern oder in Verbindung mit Hardware. + + + +Vollständiger Source Code: Der Source Code in der für die Erstellung bzw. +die Bearbeitung benutzten Form zusammen mit den zur Übersetzung und Installation +erforderlichen Konfigurationsdateien und Software-Werkzeugen, sofern diese +in der benötigten Form nicht allgemein gebräuchlich (z.B. Standard-Kompiler) +oder für jedermann lizenzgebührenfrei im Internet abrufbar sind. + + + + § 1 Rechte + +(1) Sie dürfen das Programm in unveränderter Form vervielfältigen, verbreiten +und öffentlich zugänglich machen. + +(2) Sie dürfen das Programm verändern und entsprechend veränderte Versionen +vervielfältigen, verbreiten und öffentlich zugänglich machen. Gestattet ist +auch die Kombination des Programms oder Teilen hiervon mit anderen Programmen. + + (3) Sie erhalten die Rechte unentgeltlich. + + + + § 2 Pflichten beim Vertrieb + +(1) Wenn Sie das Programm verbreiten oder öffentlich zugänglich machen, sei +es in unveränderter oder veränderter Form, sei es in einer Kombination mit +anderen Programmen oder in Verbindung mit Hardware, dann müssen sie mitliefern: + +1. alle Vermerke im Source Code und/oder Object Code, die auf diese Lizenz +hinweisen; + +2. alle Vermerke im Source Code und/oder Object Code, die über die Urheber +des Programms Auskunft geben; + +3. einen für den Empfänger deutlich wahrnehmbaren Hinweis auf diese Lizenz +und die Internetadresse < http://www.d-fsl.de > ; + + 4. den vollständigen Text dieser Lizenz in deutlich wahrnehmbarer Weise. + +(2) Wenn bei der Installation des Programms und/oder beim Programmstart Lizenz- +und/oder Vertragsbedingungen angezeigt werden, dann müssen + + 1. diese Lizenz, + + 2. ein Hinweis auf diese Lizenz und + +3. ein Hinweis auf den oder die Rechtsinhaber an den ersten unter dieser Lizenz +nutzbaren Programmbestandteilen + + ebenfalls angezeigt werden. + +(3) Sie dürfen die Nutzung des Programms nicht von Pflichten oder Bedingungen +abhängig machen, die nicht in dieser Lizenz vorgesehen sind. + +(4) Sofern Sie mit dem Programm eine Dokumentation erhalten haben, muss diese +Dokumentation entsprechend mitgeliefert werden, es sei denn, die freie Mitlieferung +der Dokumentation ist Ihnen aufgrund der Lizenz für die Dokumentation nicht +gestattet. + + + + § 3 Weitere Pflichten beim Vertrieb veränderter Versionen + +(1) Veränderte Versionen des Programms dürfen Sie nur unter den Bedingungen +dieser Lizenz verbreiten oder öffentlich zugänglich machen, so dass Dritte +das veränderte Programm insgesamt unter dieser Lizenz nutzen können. + +(2) Wird das Programm oder ein Teil hiervon mit einem anderen Programm kombiniert, +gilt auch die Kombination insgesamt als eine veränderte Version des Programms, +es sei denn, das andere Programm ist formal und inhaltlich eigenständig. Ein +anderes Programm ist dann als eigenständig anzusehen, wenn es die folgenden +Voraussetzungen alle erfüllt: + +1. Der Source Code der kombinierten Programme muss jeweils in eigenen Dateien +vorhanden sein, die keine Bestandteile des anderen Teils enthalten, die über +die zur Programmkombination üblichen und erforderlichen Informationen über +den anderen Teil hinausgehen, wobei der Source Code des anderen Programms +nicht mitgeliefert werden muss. + +2. Der mit dem Programm kombinierte Teil muss auch dann sinnvoll nutzbar sein, +wenn er nicht mit dem Programm kombiniert wird, und zwar entweder alleine +oder mit sonstigen Programmen. Was als "sinnvoll nutzbar" anzusehen ist, richtet +sich nach der Auffassung der betroffenen Fachkreise. Zu den betroffenen Fachkreisen +gehören alle Personen, die das Programm oder Programme mit vergleichbarer +Funktionalität entwickeln, benutzen, verbreiten oder öffentlich zugänglich +machen. + +(3) Wenn Sie das Programm oder einen Teil hiervon - verändert oder unverändert +- zusammen mit einem anderen Programm verbreiten oder öffentlich zugänglich +machen, das unter der GNU General Public License (GPL) lizenziert wird, darf +das Programm auch unter den Bedingungen der GPL genutzt werden, sofern es +mit dem anderen Programm ein "derivative work" im Sinne der GPL bildet. Dabei +sollen die Hinweise auf diese Lizenz entfernt und durch einen Hinweis auf +die GPL ersetzt werden. Ob bei der Zusammenstellung ein "derivate work" im +Sinne der GPL entsteht, beurteilt sich nach Ziffer 2 b) der GPL. Diese Bestimmung +lautet: "You must cause any work that you distribute or publish, that in whole +or in part contains or is derived from the Program or any part thereof, to +be licensed as a whole at no charge to all third parties under the terms of +this License." Die GPL kann abgerufen werden unter http://www.fsf.org/licenses/gpl. + +(4) Wenn Sie das Programm in einer veränderten Form verbreiten oder öffentlich +zugänglich machen, müssen Sie im Source Code einen Hinweis mit den Änderungen +aufnehmen und mit dem Datum der Änderung versehen. Der Hinweis muss erkennen +lassen, welche Änderungen vorgenommen wurden und bestehende Vermerke, die +über die Urheber des Programms Auskunft geben, übernehmen. Dies gilt unabhängig +davon, ob Sie einen eigenen Urhebervermerk hinzufügen. Anstelle eines Hinweises +im Source Code können Sie auch ein Versionskontrollsystem verwenden oder weiterführen, +sofern dieses mitverbreitet wird oder öffentlich zugänglich ist. + +(5) Sie dürfen von Dritten für die Einräumung eines einfachen Nutzungsrechts +an veränderten Versionen des Programms kein Entgelt verlangen. + +(6) Wenn Sie an der veränderten Version des Programms ein anderes Schutzrecht +als ein Urheberrecht erwerben, insbesondere ein Patent oder Gebrauchsmuster, +lizenzieren Sie dieses Schutzrecht für veränderte und unveränderte Versionen +des Programms in dem Umfang, der erforderlich ist, um die Rechte aus dieser +Lizenz wahrnehmen zu können. + + + + § 4 Weitere Pflichten beim Vertrieb im Object Code + +(1) Wenn Sie das Programm nur im Object Code verbreiten, dann müssen Sie zusätzlich +zu den in § 2 und § 3 geregelten Pflichten entweder + +1. den vollständigen Source Code im Internet öffentlich zugänglich machen +und bei der Verbreitung des Object Codes deutlich auf die vollständige Internetadresse +hinweisen, unter der der Source Code abgerufen werden kann oder + +2. den vollständigen Source Code auf einem hierfür üblichen Datenträger unter +Beachtung der §§ 2 und 3 mitverbreiten. + +(2) Wenn Sie das Programm im Object Code öffentlich zugänglich machen, dann +müssen Sie zusätzlich zu den in § 2 und § 3 geregelten Pflichten den vollständigen +Source Code im Internet öffentlich zugänglich machen und dabei deutlich auf +die vollständige Internetadresse hinweisen. + +(3) Sofern Sie mit dem Programm eine Dokumentation erhalten haben, muss diese +Dokumentation entsprechend der Absätze 1 und 2 mitgeliefert werden, es sei +denn, die freie Mitlieferung der Dokumentation ist Ihnen aufgrund der Lizenz +für die Dokumentation nicht gestattet. + + + + § 5 Vertragsschluss + +(1) Mit dieser Lizenz wird Ihnen und jeder anderen Person ein Angebot auf +Abschluss eines Vertrages über die Nutzung des Programms unter den Bedingungen +der Deutschen Freien Softwarelizenz unterbreitet. + +(2) Sie dürfen das Programm nach den jeweils anwendbaren gesetzlichen Vorschriften +bestimmungsgemäß benutzen, ohne dass es der Annahme dieser Lizenz bedarf. +Dieses Recht umfasst in der Europäischen Union und in den meisten anderen +Rechtsordnungen insbesondere die folgenden Befugnisse: + +1. das Programm ablaufen zu lassen sowie die Erstellung von hierfür erforderlichen +Vervielfältigungen im Haupt- und Arbeitsspeicher; + + 2. das Erstellen einer Sicherungskopie; + + 3. die Fehlerberichtigung; + +4. die Weitergabe einer rechtmäßig erworbenen körperlichen Kopie des Programms. + +(3) Sie erklären Ihre Zustimmung zum Abschluss dieser Lizenz, indem Sie das +Programm verbreiten, öffentlich zugänglich machen, verändern oder in einer +Weise vervielfältigen, die über die bestimmungsgemäße Nutzung im Sinne von +Absatz 2 hinausgeht. Ab diesem Zeitpunkt ist diese Lizenz als rechtlich verbindlicher +Vertrag zwischen den Rechtsinhabern und Ihnen geschlossen, ohne dass es eines +Zugangs der Annahmeerklärung bei den Rechtsinhabern bedarf. + +(4) Sie und jeder andere Lizenznehmer erhalten die Rechte aus dieser Lizenz +direkt von den Rechtsinhabern. Eine Unterlizenzierung oder Übertragung der +Rechte ist nicht gestattet. + + + + § 6 Beendigung der Rechte bei Zuwiderhandlung + +(1) Jede Verletzung Ihrer Verpflichtungen aus dieser Lizenz führt zu einer +automatischen Beendigung Ihrer Rechte aus dieser Lizenz. + +(2) Die Rechte Dritter, die das Programm oder Rechte an dem Programm von Ihnen +erhalten haben, bleiben hiervon unberührt. + + + + § 7 Haftung und Gewährleistung + +(1) Für entgegenstehende Rechte Dritter haften die Rechtsinhaber nur, sofern +sie Kenntnis von diesen Rechten hatten, ohne Sie zu informieren. + +(2) Die Haftung für Fehler und sonstige Mängel des Programms richtet sich +nach den außerhalb dieser Lizenz getroffenen Vereinbarungen zwischen Ihnen +und den Rechtsinhabern oder, wenn eine solche Vereinbarung nicht existiert, +nach den gesetzlichen Regelungen. + + + + § 8 Verträge mit Dritten + +(1) Diese Lizenz regelt nur die Beziehung zwischen Ihnen und den Rechtsinhabern. +Sie ist nicht Bestandteil der Verträge zwischen Ihnen und Dritten. + +(2) Die Lizenz beschränkt Sie nicht in der Freiheit, mit Dritten, die von +Ihnen Kopien des Programms erhalten oder Leistungen in Anspruch nehmen, die +im Zusammenhang mit dem Programm stehen, Verträge beliebigen Inhalts zu schließen, +sofern Sie dabei Ihren Verpflichtungen aus dieser Lizenz nachkommen und die +Rechte der Dritten aus dieser Lizenz nicht beeinträchtigt werden. Insbesondere +dürfen Sie für die Überlassung des Programms oder sonstige Leistungen ein +Entgelt verlangen. + +(3) Diese Lizenz verpflichtet Sie nicht, das Programm an Dritte weiterzugeben. +Es steht Ihnen frei zu entscheiden, wem Sie das Programm zugänglich machen. +Sie dürfen aber die weitere Nutzung durch Dritte nicht durch den Einsatz technischer +Schutzmaßnahmen, insbesondere durch den Einsatz von Kopierschutzvorrichtungen +jeglicher Art, verhindern oder erschweren. Eine passwortgeschützte Zugangsbeschränkung +oder die Nutzung in einem Intranet wird nicht als technische Schutzmaßnahme +angesehen. + + + + § 9 Text der Lizenz + +(1) Diese Lizenz ist in deutscher und englischer Sprache abgefasst. Beide +Fassungen sind gleich verbindlich. Es wird unterstellt, dass die in der Lizenz +verwandten Begriffe in beiden Fassungen dieselbe Bedeutung haben. Ergeben +sich dennoch Unterschiede, so ist die Bedeutung maßgeblich, welche die Fassungen +unter Berücksichtigung des Ziels und Zwecks der Lizenz am besten miteinander +in Einklang bringt. + +(2) Der Lizenzrat der Deutschen Freien Software Lizenz kann mit verbindlicher +Wirkung neue Versionen der Lizenz in Kraft setzen, soweit dies erforderlich +und zumutbar ist. Neue Versionen der Lizenz werden auf der Internetseite http://www.d-fsl.de +mit einer eindeutigen Versionsnummer veröffentlicht. Die neue Version der +Lizenz erlangt für Sie verbindliche Wirkung, wenn Sie von deren Veröffentlichung +Kenntnis genommen haben. Gesetzliche Rechtsbehelfe gegen die Änderung der +Lizenz werden durch die vorstehenden Bestimmungen nicht beschränkt. + +(3) Sie dürfen diese Lizenz in unveränderter Form vervielfältigen, verbreiten +und öffentlich zugänglich machen. + + + + § 10 Anwendbares Recht + + Auf diese Lizenz findet deutsches Recht Anwendung. + +Anhang: Wie unterstellen Sie ein Programm der Deutschen Freien Software Lizenz? + +Um jedermann den Abschluss dieser Lizenz zu ermöglichen, wird empfohlen, das +Programm mit folgendem Hinweis auf die Lizenz zu versehen: + + "Copyright (C) 20[jj] [Name des Rechtsinhabers]. + +Dieses Programm kann durch jedermann gemäß den Bestimmungen der Deutschen +Freien Software Lizenz genutzt werden. + + Die Lizenz kann unter http://www.d-fsl.de abgerufen werden." diff --git a/README.md b/README.md new file mode 100644 index 0000000..3445b48 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# lamp-control +