Această pagină este o lucrare în desfășurare și are nevoie de atenția experților în domeniu, în special în ceea ce privește verificarea faptelor.
Acest ghid oferă informații mai detaliate despre ce trebuie stocat în câmpurile de metadate. Majoritatea elementelor sunt depășite și vor fi fuzionate cu manualul în timp.
Codul sursă
Serverul F-Droid nu publică direct un APK online, în schimb, serverul F-Droid are nevoie de o sursă construibilă din care să construiască un APK. În acest fel, serverul garantează că APK-ul rezultat reprezintă cu exactitate codul sursă, fără anti-funcții ascunse.
Deoarece F-Droid construiește fiecare aplicație din codul său sursă (prin intermediul Android SDK cu ant, gradle sau maven, uneori cu ajutorul Android NDK, programe standard GNU/Linux și o mică pre-procesare în shell-ul BASH), probabil dacă puteți vedea un fișier numit AndroidManifest.xml sau build.gradle în sursele dvs., atunci există multe posibilități ca F-Droid să fie capabil să o construiască.
Rețineți că majoritatea proiectelor apelează la biblioteci
preinstalate. Codul sursă pentru acestea se găsește în altă parte. Pentru
ant, acestea se vor găsi în dosarul libs/, iar cele externe sunt
menționate în fișierele project.properties; pentru gradle, acestea vor fi
menționate în build.gradle și sunt de obicei extrase din
http://mvnrepository.com; pentru maven, vor exista fișiere pom.xml care
descriu dependențele. Dacă se utilizează biblioteci pre-construite în cod
nativ, acestea se vor găsi adesea în res/raw/ sau assets/: ar trebui să
se spună ceva despre acestea în README. Exemplul de mai sus are o singură
dependență de un fișier jar cu o referință text și nu utilizează nicio
bibliotecă externă, deci nu sunt necesare referințe suplimentare.
Licență
- E.g.În general:
https://gitlab.com/fdroid/fdroidclient/blob/master/LICENSE (overall of a source code under a GPLv3+ license); - E.g. Antetul codului sursă: https://gitlab.com/fdroid/fdroidclient/blob/master/app/src/main/java/org/fdroid/fdroid/AppDetails.java (header of a file under a GPLv3+ license); - E.g. Biblioteci: https://gitlab.com/fdroid/fdroidclient/tree/master/libs (see the LICENSE file with the Apache License, Version 2.0 license for that library); - E.g. Lucrări artistice: https://f-droid.org/about (see the CC BY-SA 3.0 license for artworks)
Toate aplicațiile din depozitul F-Droid trebuie să fie FOSS (Free and Open Source software). Dacă software-ul nu indică în mod clar o licență care este listată ca licență de software liber în GNU license list, atunci probabil că nu este.
Dacă nu există niciun README sau LICENSE în codul sursă al aplicației, este foarte dificil pentru comunitatea F-Droid să verifice dacă întregul cod sursă, bibliotecile și ilustrațiile sunt publicate sub o licență liberă și cu sursă deschisă adecvată. Prin urmare, este o bună practică să verificați dacă aplicația are anteturi în fiecare fișier din codul sursă, un fișier text în dosarul bibliotecilor și o declarație în codul sursă sau pe site-ul oficial al aplicației care explică în mod clar licența pentru toate lucrurile care pot fi găsite în legătură cu aplicația.
Nota: Există o mică precizare de făcut în legătură cu utilizarea GNU General Public License v2. Biblioteca de asistență Android și majoritatea celorlalte biblioteci Android sunt licențiate sub Licența Apache. Din cauza motive tehnice legale, acestea nu pot fi combinate cu licența GNU General Public License v2. În cazul unei aplicații lansate sub licența GPLv2, aceasta este acceptată din punct de vedere legal numai dacă anteturile codului sursă ale aplicației menționează “GPLv2 sau ulterior”, atunci putem alege licența generală să fie GPLv3 (aceasta deoarece, dimpotrivă, GPLv3 este complet compatibil din punct de vedere legal cu biblioteca de suport Android și cu celelalte biblioteci).
Rezumate
Rezumatul trebuie să fie cât mai scurt posibil și să descrie ceea ce face aplicația sau ceea ce îi permite utilizatorului să facă, de exemplu, în loc de “Client de e-mail”, utilizați “Primește și trimite e-mailuri”.
Descriere
Descrierile trebuie să fie redactate într-un stil obiectiv și neutru, cel puțin primul paragraf fiind dedicat descrierii aplicației și a caracteristicilor acesteia. Acesta poate fi urmat de un ajutor concis pentru caracteristici/probleme specifice și de linkuri către resurse externe pentru mai multe informații. De asemenea, ar trebui incluse, dacă este cazul, informații suplimentare, cum ar fi linkuri către aplicații conexe/compatibile/necesare (dar nu alternative).
Alte câteva note:
- Fraze precum “o aplicație de luat notițe pentru Android” nu ar trebui să apară niciodată. Evident că este pentru Android. Evident că este o aplicație.
- În mod similar, nu spuneți “este software liber” sau “este open source”, pentru că este evident că este.
- Nu ar trebui să existe niciun element legat de compatibilitate (de exemplu, “pentru Android 2.3+”), deoarece acest lucru este gestionat automat. Includeți note de compatibilitate doar atunci când aplicația client nu le detectează automat.
- Rezumatul va fi afișat întotdeauna împreună cu descrierea, așa că evitați să îl repetați.
- Dacă există vreo diferență în ceea ce privește construcția F-Droid în comparație cu una standard, aceasta ar trebui descrisă.
- Niciodată nu ar trebui să existe ceva scris din punctul de vedere al dezvoltatorului, de exemplu “Am scris această aplicație de galerie de pisici pentru că îmi plac pisicile”.
Alte informații care merită să fie menționate sunt:
- Aplicația necesită permisiuni de root?
- Poate interacționa cu alte aplicații?
- Cât de ușor este de utilizat?
Donații
În cazul în care un proiect acceptă donații, linkul ideal pentru donații ar fi o pagină specifică pe care proiectul o menține în acest scop. În cazul în care nu există o astfel de pagină, este acceptabil să se facă un link către pagina lor care are o pictogramă de donație sau ceva similar undeva pe ea, dar acest lucru nu creează o experiență bună pentru utilizator atunci când, de exemplu, cineva selectează “Donate” în clientul F-Droid și apoi trebuie să caute detaliile pe o pagină. Încercați să încurajați dezvoltatorii să creeze o pagină dedicată, dacă este posibil.
Anti-Funcții
În plus, unele programe, chiar dacă sunt programe libere și cu sursă deschisă, pot prezenta practici care pot fi considerate nedorite și pe care le considerăm AntiFuncții”. Acolo unde este posibil, comunitatea F-Droid include în continuare aceste aplicații în depozit, dar semnalizând și catalogând aceste anti-funcții pentru a avertiza utilizatorii (prin clientul F-Droid și prin browserul de depozit web) de prezența lor în aplicație. Chiar dacă software-ul poate fi inclus în F-Droid chiar și cu anti-funcții, se întâmplă frecvent ca software-ul cu aceste anti-funcții să nu fie de fapt în întregime FOSS (de exemplu, publicitatea și urmărirea activității utilizatorului sunt adesea activate prin intermediul bibliotecilor binare non-libere), ceea ce compromite în acest fel includerea aplicației în depozitul F-Droid.
Actualizare
- https://gitlab.com/fdroid/fdroidclient/graphs/master
- https://gitlab.com/fdroid/fdroidclient/network/master
- https://f-droid.org/news-and-reviews
Introducerea aplicației în depozit nu reprezintă sfârșitul poveștii: trebuie să menținem versiunile, descrierile și URL-urile actualizate.
Cel mai important este să știți când sunt publicate noile versiuni. Avem trei metode automate și una manuală: din etichete; verificarea AndroidManifest.xml la cea mai recentă revizuire din depozit; și verificarea Google Play. Dacă acestea nu sunt suficiente, trebuie să ne uităm la versiunea pachetului publicat de dezvoltatorii din amonte, fie prin încărcarea paginii web Google Play, fie prin descărcarea unui APK și verificarea versiunii acestuia. Etichetele de depozit sunt modalitatea naturală de etichetare a noilor versiuni (căutați-le sub “releases” pe un exemplu din github.com sau în directorul “tags” în cazul depozitelor SVN). Dacă nu găsiți etichete, ar fi de ajutor să faceți o problemă în acest sens pe issue tracker. În exemplu, indicăm o pagină changelog ca o verificare de rezervă; alte posibilități sunt o pagină de descărcare a codului Google sau un link Google Play.
