Weblate forráskód¶
A Weblate fejlesztése a GitHub felületen zajlik. Szívesen látjuk, ha elágaztatja (forkolja) a kódot, és beküld egy módosítási kérelmet (pull request). Más formában benyújtott javításokat is örömmel fogadunk.
Lásd még
Ismerje meg a Weblate belső működését, és nézze meg, hogyan fest belülről a rendszer.
Licenc és szerzői jog¶
Kód beküldésekor elfogadja, hogy módosításait és új kódját ugyanazon licenc alatt teszi közzé, mint amit a tároló már használ, hacsak erről másként nem állapodnak meg.
Lásd még
A Licenc részletesebben bemutatja a licencelési feltételeket.
Jó javítás (patch) írása¶
Változások elkülönítése¶
Kellemetlen, ha valaki egy hatalmas javítást küld be, ami állítólag 11 különféle problémát orvosol, miközben a megbeszélések és vélemények szerint ezek közül 10-el nem értenek egyet vagy 9-et már másként megoldottak. Ilyenkor a beolvasztást végző személynek ki kell válogatnia az érdemi módosítást a sok forrás közül, ami jelentős többletmunkát jelent.
Lehetőleg minden egyes javítás, amely egy problémát kezel, külön véglegesítésként (commitként) kerüljön beküldésre, saját leírással, amely pontosan meghatározza, mit módosít. Így a karbantartó vagy más érdekelt fél szelektíven alkalmazhatja a változtatásokat.
A különálló változtatások emellett nagyban segítik a hibakeresést és a visszakövetést (bisecting) is a jövőbeli problémák és regressziók feltárásában.
Dokumentáció¶
A dokumentáció írása fárasztó lehet, de valakinek el kell végeznie. Sokkal könnyebb a helyzet, ha a dokumentációt a kódmódosításokkal együtt küldi be. Ne feledje dokumentálni a metódusokat, az összetett kódrészeket és a felhasználók számára látható funkciókat.
Tesztelési esetek¶
A tesztek lehetővé teszik, hogy gyorsan ellenőrizzük a funkciók működését. Ezt az állapotot megőrizni és tovább javítani csak úgy lehet, ha minden újonnan hozzáadott funkció tesztelve van. Minden új funkcióhoz legalább egy érvényes teszteset szükséges, amely igazolja, hogy az a dokumentációnak megfelelően működik.
Véglegesítési üzenetek¶
A Git véglegesítéseknek a Conventional Commits szabványt kell követniük.
Kódolási szabvány és kódellenőrzés (lint)¶
A kódnak meg kell felelnie a PEP 8 kódolási irányelveknek, és a ruff formázóval kell formázni.
Az új kódokban használni kell a PEP 484 szerinti típusjelöléseket. Ezeket még nem ellenőrizzük a CI rendszerben, mivel a meglévő kódok még nem tartalmazzák ezeket.
A kódminőség ellenőrzésére használható a ruff, amelynek beállításai a pyproject.toml fájlban találhatók.
A legegyszerűbb módja annak, hogy mindezt automatikusan betartsa, a pre-commit telepítése. A tároló tartalmaz hozzá konfigurációt, amely ellenőrzi, hogy a véglegesített fájlok rendben vannak-e. Telepítés után (már szerepel a pyproject.toml fájlban) futtassa a pre-commit install parancsot a Weblate klónozott könyvtárában. Így minden változás automatikusan ellenőrzésre kerül.
Az ellenőrzés manuálisan is elindítható, az összes fájl ellenőrzéséhez futtassa:
pre-commit run --all
Biztonságos kódolás¶
A Weblate-hez írt bármely kódnak a Security by Design Principles elveit kell követnie.
Mesterséges intelligencia (AI) irányelvek¶
Ha tartalmat küld be a projekt számára, ezzel engedélyt ad annak változatlan felhasználására, és garantálnia kell, hogy jogosult annak terjesztésére. A módosítás beküldésével elfogadja, hogy az bekerülhet a projektbe, és a projekt licencfeltételei szerint továbbterjeszthető. A beküldőnek tudatában kell lennie, hogy az ő felelőssége, hogy ne küldjön be engedély nélküli kódot.
Ez független attól, hogy AI-t használtak-e vagy sem.
Módosítási kérelem beküldésekor természetesen ügyelni kell arra, hogy a javaslat jó minőségű legyen, a lehető legjobb szándékot tükrözze, és megfeleljen az irányelveinknek. Alapszabály: ha bárki felismeri, hogy AI segítségével készült, akkor még érdemes dolgozni rajta.
Elfogadunk AI által generált kódot a projektben, de annak meg kell felelnie a kódolási szabványoknak, legyen áttekinthető, dokumentált, tartalmazzon teszteseteket, és minden egyéb követelménynek is eleget kell tennie.