Impressum - Apache License - Angaben richtig machen

  • Antworten:24
  • OffenNicht stickyBentwortet
Gelöschter Account
  • Forum-Beiträge: 72

19.05.2016, 21:29:26 via Website

Hallo,

im Internet wurde ich leider nicht fündig, darum stelle ich meine Frage nun hier.

ich benutze in meiner APP die Java API von:

www.twofortyfouram.com
tasker.dinglisch.net/plugins.html

Nun ist es doch Pflicht einen Hinweis in der APP zu machen, ich habe aber keine Ahnung wie man einen solchen Hinweis richtig macht.

Zur Zeit sieht mein Impressum so aus

Legal Notice
Contact:
Email: developer@blberger.de
Required access rights:
This application does not need additional access rights
Privacy policy:
This application does not store any personal data

Dies soll nun um den Apache Lizenz Hinweis erweitert werden etwa so.

Acknowledgements
This application contains Java classes under the Apache License, Version 2.0 of
www.twofortyfouram.com
tasker.dinglisch.net/plugins.html

Oder muss man jede einzelne Klasse angeben.
Ich hab keine Ahnung wie man so etwas richtig macht und muss ich die Urheber darüber informieren dass ich ihre Klasse benutze?
Ich bin da sehr unsicher und hab vorerst die Veröffentlichung meiner APP eingestellt.

Hier ein Screenshot:
image

— geändert am 19.05.2016, 21:52:00

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

19.05.2016, 22:52:18 via Website

Rexxar

Braucht man nicht im Impressum noch Telefonnummer, Adresse und Name? (also allgemein in DE)

Die Impressumspflicht gilt im Grunde für Printmedien. Darunter fallen auch Webseiten. Eine APP ist im Grunde aber kein "Printmedium" daher braucht es eigentlich kein Impressum. Stell dir einmal eine simple Taschenrechner APP mit Impressum vor (laughing). Jedoch gibt es APP, die als "Printmedium" funktionieren und die brauchen dann wieder ein Impressum. Am besten man hat eins :?
Was eine APP auf jeden Fall braucht ist ein Datenschutz Hinweis und da hat man anscheinend die Wahl diesen IN der APP oder auf der Homepage anzugeben. Wie auch immer. Die Struktur hab ich von verschiedenen APPs abgeguckt. Anscheinend reicht die Angabe einer Email.

Nun bin ich darüber gestolpert dass wenn man Open Source Software verwendet, dass man dann die Rechteinhaber angeben muss und beim nachsehen wie es andere machen bin ich teilweise fündig geworden. Jedoch bin ich des Englischen nicht besonders mächtig, daher es mir auch schwer fällt den Apache 2.0 Lizenz umfassend zu verstehen.

Viele APPs haben in dieser Richtung wenig oder keine Angaben. Gefunden habe ich zu dem Thema im deutschen Internet nichts. Zum Thema Impressum bezieht sich alles auf Webseiten!

Irgendwann werden von Absahnern die APP-Programmierer als Geldquelle entdeckt wie es bei anderen Plattformen bereits passiert ist. Und das kann ich mir nicht leisten.

Wie auch immer, vielleicht kennt sich ja jemand mit dem Thema aus und kann mir da helfen. Wenn nicht, dann gebe ich auf.

Grüße

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

20.05.2016, 12:10:00 via Website

Rafael K.

Gibt auch ne Lib, die das für dich macht

.....github.com/mikepenz/AboutLibraries

Das ist ja super (*), dann versuch ich mal die einzubinden :) wobei wir schon beim nächsten Thema wären .....

Edit:
Hab soweit alle installiert, jedoch bekomme ich eine Fehlermeldung ich denke da fehlt noch was oder die Grandle ist veraltet (Android Studio 2.0):

Error:(19, 1) A problem occurred evaluating root project 'WidgetLauncher4'.

Could not find method compile() for arguments [com.mikepenz:aboutlibraries:x.y.z@aar, build_83g8862c9oq1py0p1h54mlwx4$_run_closure2@2f9763c6] on root project 'WidgetLauncher4'.

Aber ich denke da muss ein neuer Thread aufgemacht werden ... oder?

Grüße

— geändert am 20.05.2016, 14:25:11

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

21.05.2016, 17:25:17 via Website

Rafael K.

Gibt auch ne Lib, die das für dich macht

https://github.com/mikepenz/AboutLibraries

hi alle,

nach langen Versuchen hab die Library "AboutLibraries" endlich zum laufen bekommen :)

Es werden verschiedene Library angezeigt, jedoch keine Verwendete Apache Lizenzen.

wie muss ich "AboutLibraries" konfigurieren dass es automatisch die Apache Lizenzen anzeigt? Oder geht das dann doch nicht mit dem Tool?

Die verwendeten Klassen sind als Source-Code eingebunden und haben Apache 2.0 Lizenz Hinweise.

das soll noch in den ProGuard, wie heist die Datei und wo finde ich diese?

-keep class .R
-keep class *.R$ {
<< fields>>;
}

Edit 22.5.16 13:16

ich hab eine einfach eLösung gefunden und schließ den Thread nun.

Grüße

— geändert am 22.05.2016, 13:17:57

Can Erdener Yazar

Antworten
  • Forum-Beiträge: 57

23.05.2016, 07:56:38 via Website

Hallo Bernhard,

kannst du bitte die eLösung auch mit uns teilen?
Ich suche nähmlich auch eine Lösung für das selbe Problem.

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

23.05.2016, 18:46:16 via Website

Can Erdener Yazar

Hallo Bernhard,

kannst du bitte die eLösung auch mit uns teilen?
Ich suche nähmlich auch eine Lösung für das selbe Problem.

image

Leider konnte ich die Library "AboutLibraries" nicht nutzen, weil diese erst ab API-10 läuft und meine APP aber API 8 benötigt. Der Grund warum meine APP API-8 benötigt ist, dass unter API-8 das Menu noch unten recht ist! (siehe Screenshot).

Viele von mir untersuchte APP haben keine Hinweise zu verwendeten Libraries (Apache 2.0 Lizenzen) jedoch fand ich in einer APP eine einfache Lösung die ich für meine Zwecke angepasst habe (siehe Screenshot). Anstatt viel zu schreiben wurde einfach ein Link zur Quelle der Library angegeben die dann sowieso alle Informationen enthält. Die fand ich praktisch. Ob das Juristisch ausreicht weis ich nicht. Auf jeden Fall habe ich darauf hingewiesen dass meine APP Externe Libraries verwendet und woher ich diese bezogen habe.

Zu beachten ist dann wohl noch der Umstand, dass meine APP kostenlos ist. Wäre meine APP kostenpflichtig, sieht es womöglich wieder ganz anders aus. Rechtsunsicherheit besteht bei mir immer noch. Da meine APP International angeboten wird, beschränke ich das Impressum auf das absolute Minimum. Wobei ein Impressum anscheinen nur in D Pflicht ist.

Fall jemand eine bessere Lösung hat, immer her damit :)

Grüße

— geändert am 23.05.2016, 19:46:26

Can Erdener Yazar

Antworten
  • Forum-Beiträge: 434

01.06.2016, 17:39:22 via Website

Hallo,
warum du den Menü-Button unten brauchst verstehe ich zwar nicht, soll mir aber egal sein^^
Zeige doch einfach die verwendeten Libs in einem Dialog, der auf ein passendes Datenmodell (zB das hier) zurückgreift.
In die Gui wird das dann wie folgt geladen (brauchst halt einen custom Dialog, der das passende Layout bereitstellt):

/**
 * license dialog
 * */
if (builder.licenseDialog) {
    if (builder.libNames.length == builder.libDevelopers.length
            && builder.libDevelopers.length == builder.libLicenses.length
            && builder.libNames.length != 0) {

        LinearLayout llLibContainer = (LinearLayout) builder.customView.findViewById(R.id.ll_dialog_license_container);

        for (int i = 0; i < builder.libNames.length; i++) {
            LayoutInflater inflater = LayoutInflater.from(builder.context);
            LinearLayout llLicenseInfo = (LinearLayout) inflater.inflate(R.layout.item_license, null);

            ((TextView) llLicenseInfo.findViewById(R.id.tv_lib_name)).setText(builder.libNames[i]);
            ((TextView) llLicenseInfo.findViewById(R.id.tv_lib_developer)).setText(builder.libDevelopers[i]);
            ((TextView) llLicenseInfo.findViewById(R.id.tv_lib_licence)).setText(builder.libLicenses[i]);
            llLibContainer.addView(llLicenseInfo);
        }
    } else Log.e(TAG, "Invalid license information. Check the size of the arrays.");
} // end license dialog

Zu den Lizenzen (ab hier keine Gewähr auf Richtigkeit):
Ansonsten stellt es bei Apache2.0 keinen Unterschied dar, ob dein Programm kostenfrei oder gewerblich genutzt wird. Sobald du den Rechteinhaber unter Angabe der Lizenz nennst, darfst du den Code verwenden, modifizieren, etc. wie du lustig bist.
Bei anderen Lizenzen ist das anders.. Bei der GNU Public Licence ist es aber idR so, dass du es nicht kommerziell nutzen darfst...

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

01.06.2016, 21:49:06 via Website

pepperonas

Hallo,
warum du den Menü-Button unten brauchst verstehe ich zwar nicht, soll mir aber egal sein^^

Ganz einfach, ich hab schon in den Vorversionen (1-3) andere Möglichkeiten versucht :-). Und die ist einfach die Beste :-) Warum Google den Menu-Button von rechts unten nach rechts oben verschoben hat ist mir ein Rätsel.

Zeige doch einfach die verwendeten Libs in einem Dialog, der auf ein passendes Datenmodell (zB das [hier][1]) zurückgreift.
In die Gui wird das dann wie folgt geladen (brauchst halt einen custom Dialog, der das passende Layout bereitstellt):

Vielen Dank für den Code, ich wird ihn mir später genauer ansehen :-) und hoffe dass er API8 kompatibel ist :) (Vileicht kann man es ja anpassen :-)

Zu den Lizenzen (ab hier keine Gewähr auf Richtigkeit):
Ansonsten stellt es bei Apache2.0 keinen Unterschied dar, ob dein Programm kostenfrei oder gewerblich genutzt wird. Sobald du den Rechteinhaber unter Angabe der Lizenz nennst, darfst du den Code verwenden, modifizieren, etc. wie du lustig bist.
Bei anderen Lizenzen ist das anders.. Bei der GNU Public Licence ist es aber idR so, dass du es nicht kommerziell nutzen darfst...

Ich möchte es nur richtig machen und das ist nicht einfach :-( Hast du ein Beispiel wie man richtig darauf verweist?

Grüße und Danke

Antworten
  • Forum-Beiträge: 434

01.06.2016, 23:51:10 via Website

Hmm, eigentlich gibt es durch die NavigationView und den FloatingActionButton kaum noch eine Interaktion, bei der das Menü wirklich von Relevanz wäre..
Wenn du einen AlertDialog einsetzt ist der Code auch für API8 lauffähig. Aber nochmal: Du sparst dir so viel Arbeit, wenn du >API17 wählst. Von mir aus auch API14... Das Ende vom Lied ist, dass du viel Programmieraufwand für kaum Mehrwert auf dich nimmst (den Menü-Button mal außenvorgelassen, aber wie gesagt dafür gibts bestimmt die richtige Alternative für dich).

image

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

03.06.2016, 15:23:59 via Website

Das Programmieren ist eigentlich keine Problem, aber woher hat das Programm den Text? Oder reicht es die Lizenzfreigebe (siehe unten) zu kopieren und was macht man wenn solche Lizenzangaben Fehlen? (Siehe TaskerPlugin)

ich benutze zum Beispiel von http://www.twofortyfouram.com die API, die Freigabe ist implizit enthalten weil angeboten Jedoch habe ich keinen Lizenz Hinweis für die API-Pakete gefunden sondern nur in einzelnen Source-Codes. Wie geht man damit richtig um? Vielleicht ist es auch twofortyfouram egal ob man darauf verweist, da ich in der Homepage keine Verpflichtung dazu gefunden habe.

/*
* Copyright 2013 two forty four a.m. LLC http://www.twofortyfouram.com
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and limitations under the License.
*/

in der Apache Homepage habe ich zwar vieles gefunden wie man einen Sorce-code unter die Lizenz stellt, aber nicht wie man auf eine Verweist. (vielleicht bin ich auch blind).

Das selbe bei http://tasker.dinglisch.net/plugins.html da benutze ich die Klasse TaskerPlugin. Explizit als Programm-Hilfe zur Kommunikation mit Tasker gedacht. Jedoch ohne irgend einen Public Lizenz Hinweis. Vielleicht muss man da auch nicht darauf hinweisen.

Da im Google Playstore im Prinzip alle Impressum-Informationen enthalten sind, frage ich mich ob es überhaupt notwendig ist in der APP solche Informationen zusätzlich anzugeben oder ob es auch ausreicht sie in der Beschreibung im Google Playstore mit unter zu bringen :?

Wie auch immer, ich möchte es richtig machen :)

Grüße

— geändert am 03.06.2016, 15:35:50

Antworten
  • Forum-Beiträge: 434

03.06.2016, 15:51:06 via Website

In deinem Beispiel handelt es sich ja (wie in vielen, vielen Fällen) um die Apache2.. Und genau den Text den du oben in deinem Zitat hast, nimmst du um den Rechteinhaber zu nennen - die Blockquotes ala "/**/" würde ich aus Gründen der Optik noch entfernen. :)
Das ganze gehört dann in die App (und nicht in den Store bzw. nicht in die Beschreibung dort).

Habe es auch schon gesehen, das manchmal Lizenzen zusammengefasst werden also Apache2 alle Rechteinhaber zusammen nennen dann den eigentlichen Liz.-Text, dann alle Rechteinhaber von MIT-Lizenz nennen und dann den MIT-Text also so zB

Alfred J. Quack 2013 - Blubb
Dagobert Duck 2015 - XLib

Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this file except in compliance with the License. You
may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.


Mickey Mouse 2012 - AnyToolsLib

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

hier die Texte:
https://www.apache.org/licenses/LICENSE-2.0.txt
https://opensource.org/licenses/MIT

Schau dir mal beide Links an (bei der Apache ganz runter scrollen), dann siehst du dass es eine Art Template ist..

Nachtrag:
Nein, es ist nicht davon auszugehen, dass es twofortyfouram egal ist, ob man drauf verweist, denn genau deswegen haben sie ja gerade den Code unter eine Lizenz (hier offensichtlich Apache2) gestellt - da spielt es keine Rolle ob auf der Homepage nichts zu finden ist.
... Aber es wird wohl auch nichts passieren, wenn du die Lizenz nicht nennst. Glaube die meisten Programmierer werden deswegen jetzt kein Fass aufmachen, aber falsch ist es trotzdem und dazu noch schlechter Stil.

— geändert am 03.06.2016, 15:59:57

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

03.06.2016, 20:45:38 via Website

Danke für deine Antwort,

es wird ein Weilchen dauern bis ich das studiert und einen Prototyp habe.

Grüße

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

04.06.2016, 18:27:10 via Website

Hallo alle,

hier meinen Prototyp :D, ich hoffe das wäre so ok :?

image

ich hab die beiden Zeilen als Link zusammengefasst, das müsste doch erlaubt sein :?

image

— geändert am 04.06.2016, 18:42:18

Antworten
  • Forum-Beiträge: 434

04.06.2016, 20:58:54 via Website

Hey,
das sieht schon gut aus, rechtlich bist du meiner Einschätzung nach damit auf der sicheren Seite.
Was die Darstellung angeht missachtet dein Prototyp allerdings derzeit einige Punkte der Gudelines... Mittlerweile gibt es einige Nutzer, die es negativ in die Bewertung einfließen lassen, wenn die gewohnten Design-Prinzipien beim Entwickler keine Beachtung fanden.
Beispiele:
Writing: application -> app, access rights -> permissions
Usability: Dialog Button immer unten rechts...
Metrics und Keylines: 16dp margin links, je nach (Unter-)Überschrift 8dp nach unten, etc...

Ging dir zwar in dem Thread nicht um besagten Aspekt, aber so ganz habe ich die Hoffnung noch nicht aufgegeben, dass du noch Gefallen am Coden für >API17 findest :D aber jetzt will ich dann auch gut sein lassen :P

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

05.06.2016, 12:13:19 via Website

pepperonas

Hey,
das sieht schon gut aus, rechtlich bist du meiner Einschätzung nach damit auf der sicheren Seite.
Was die Darstellung angeht missachtet dein Prototyp allerdings derzeit einige Punkte der [Gudelines][1]... Mittlerweile gibt es einige Nutzer, die es negativ in die Bewertung einfließen lassen, wenn die gewohnten Design-Prinzipien beim Entwickler keine Beachtung fanden.

Guidelines sind meines Erachtens Empfehlungen :) und es gibt ja auch die künstlerische Freiheit :) Und so manches Design wie das Material, Flat usw. finde ich zum ...... :(

Beispiele:
Writing: application -> app, access rights -> permissions

Ich verstehe das nicht, kannst du das erklären? :?

Usability: Dialog Button immer unten rechts...

Gut, ich verschieb ihn nach unten rechts :?

Metrics und Keylines: 16dp margin links, je nach (Unter-)Überschrift 8dp nach unten, etc...

Das versteh ich so nicht, kannst das mal erklären :?

Ging dir zwar in dem Thread nicht um besagten Aspekt, aber so ganz habe ich die Hoffnung noch nicht aufgegeben, dass du noch Gefallen am Coden für >API17 findest :D aber jetzt will ich dann auch gut sein lassen :P

Ich hab mit API 21 angefangen :D Das hatte aber einige Nachteile :( Zum Beispiel dass damals nur etwa 5% API 21 verbreitet war). (danger)

Dann wollte ich meinen Launcher für meinen Milestone 2 kompatibel machen (API10) :D und das hat einen Menu-Knopf recht unten mit 3 Punkten, der ungenutzt war :( und da kam mir die Idee diesen als Menu zu nutzen, denn ein Menu brauch ich nun mal. (lightbulb), aber dann ist das Menu bei API 9+ rechts oben im Titelbalken :( ein Launcher braucht aber keinen Titelbalken :( Dann der Trick, wenn man API 8 verwendet, ist auch bis API 23 das Menu unten Rechts in der immer vorhandenen Navileiste (lightbulb) und es ist 100% mit allen API kompatibel. (thinking)

Einiges muss halt API 8 Kompatibel sein eben auch die 'Legal Notice' (danger)

Manches das API 8 sowieso nicht unterstützt, kann dann ab API 16 laufen :D entsprechende Filter sind eingebaut. Zum Beispiel Fullscreen das funktioniert erst ab API 19 ;)

void setScreenOptions(boolean fullscreen) {

    if (Build.VERSION.SDK_INT >= 19 && fullscreen) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_IMMERSIVE
        );

    }

}

— geändert am 05.06.2016, 12:28:46

Antworten
  • Forum-Beiträge: 434

05.06.2016, 17:46:39 via Website

Wie gesagt mir gings ja nicht darum dich zu bequatschen oder zu irgendwas zu überreden. Wenn du API10 (bzw. eigentlich ist es ja sogar API8) für deinen persönlichen Gebrauch erreichbar machen willst, kann ich das natürlich vollkommen nachvollziehen, es erschwert die Arbeit meiner Meinung nach aber extrem und macht im Normalfall eben kaum Sinn - jedenfalls vor dem Hintergrund der Statistik über die API-Verbreitung.

In den Guidelines wird gesagt, dass man statt "application" "app" sagen soll und auch die Begrifflichkeiten wiederverwendet (Berechtigungen sind Berechtigungen und nicht "Zugriffsrechte"). Klar kann man das alles ignorieren, aber letztlich hat es den Sinn, dass der Nutzer sich in jeder App sofort zurecht findet und das sollte ja im Interesse jedes Entwicklers sein :) Außerdem bekommt das gesamte Android-Ökosystem so eine einheitliche, professionelle Gestalt.
Deswegen bitte nicht als negative Kritik auffassen, wenn ich hier etwas vom Thema abgekommen bin und dir noch ein paar Tipps mit auf den Weg geben wollte (das eigentliche Programmieren scheint bei dir ja keine größeren Fragen aufzuwerfen.. da das bei mir ähnlich ist, bzw. ich mir auch recht viel selbst zusammen suchen kann, bin ich immer über jeden Tipp hinsichtlich "Softskills" dankbar^^) ;)

Zu den Keylines und Metrics: Docs

LG Martin

Open Source

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

05.06.2016, 20:14:52 via Website

pepperonas

Deswegen bitte nicht als negative Kritik auffassen, wenn ich hier etwas vom Thema abgekommen bin und dir noch ein paar Tipps mit auf den Weg geben wollte (das eigentliche Programmieren scheint bei dir ja keine größeren Fragen aufzuwerfen.. da das bei mir ähnlich ist, bzw. ich mir auch recht viel selbst zusammen suchen kann, bin ich immer über jeden Tipp hinsichtlich "Softskills" dankbar^^) ;)

hab ich auch nicht so verstanden, bin ja für Vorschläge dankbar.

Writing: application -> app, access rights -> permissions

kannst du mir schreiben was du da meinst (thinking)

grüße

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.182

05.06.2016, 20:21:27 via App

Hat er doch schon.
Einfach auf die wortformulierungen achten und den Standard benutzen.
Aus Applikation soll dan App werden und Zugriffsrechten berechtigungen.
Genau das steht da, nur auf Englisch;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten

Empfohlene Artikel