Google Summer of Code 2022 / GNOME

Jako každý rok, tak i letos běží projekt Google Summer of Code. Zprávičkou nám to připomněl root.cz. Samozřejmě i letos je na místě GNOME a už od loňska se může do projektu zapojit kdokoliv starší 18 let a přispět tak do vývoje svobodného softwaru. Čas přihlásit se bude od 4. do 19. dubna.

Vstupní předpoklady

Veškeré potřebné informace jsou na stránce pro GSoC spadající pod GNOME Foundation. Základní předpoklady pro účast na GSoC jsou tedy:

  • Poslat příspěvek do nějakého projektu na Gitlabu. Tím se ověří, že umíte přeložit projekt, spustit a nahrát úpravu zpět.
  • Vyberte si projekt
  • Vyplňte přihlášku

Projekty

Třeba už víte, v jakém projektu vám co chybí, pokud je to pod hlavičkou GNOME a seženete někoho kdo bude dělat mentora. Pokud nemáte, nebo neseženete, můžete se podívat třeba na seznam aplikací pro GNOME, číst blogy, či slídit na IRC. Následující nápady jsme sebrali z fóra, kde by se postupně měli objevovat další. Rozsah těchto projektů je typicky 350 hodin.

Zdraví - přepracování synchronizace

Zdraví (health) slouží ke sledování zdravotního stavu, vizualizuje vše týkající se zdraví a pomáhá ho lépe sledovat. V tuto chvíli musí uživatelé zadávat informace ručně, což otravné a náchylné na chyby. Cílem je tedy zlepšit synchronizaci s aplikacemi 3. stran jako jsou třeba Google Fit, Nextcloud Health, Apple Health, nebo aplikace pro PineTime. Aplikace je napsaná v rustu, takže základy rustu bude potřeba ovládat a samotný vývoj bude vedený SCRUMem. Detaily a diskuze v ticketu.

Tváře GNOME

Faces of GNOME (tváře GNOME) je iniciativa, která chce přiblížit tváře všech, na jejichž úsilí GNOME staví. Nejde jenom o vývojáře minulé nebo současné, ale i kdo je ve správní radě, kdo jsou členové nadace, kdo se stará o projekt Outreachy, kdo dělá mentoring, atd. Umíte-li dělat weby (CSS a Javascript), nebojíte-li se generátoru statických stránek Jekyll, je to projekt pro Vás. Informace a diskuze opět v ticketu.

GNOME Websites Framework - část 2

GNOME a přidružené projekty mají velké množství webů a některé už trochu zastarávají, či jejich údržba je neúměrně náročná. Z těchto důvodů se pracuje na platformě nabízející odpovídající komponenty použitelné při tvorbě těchto webů, která navíc odpovídá GNOME HIG. Takže umíte-li CSS, nebojíte se ponořit se ještě hlouběji do tmavých vod CSS a umíte se držet nějaké "designové formy", přihlašte se. Informace a diskuze v odpovídajícím ticketu

GNOME Shell, Overlay plane unredirection of client buffers

Mutter by potřeboval implementovat možnost obejít standardní vykreslování grafických bufferů použitím odpovídajícího API, které poskytuje API. Tento projekt vyžaduje znalost počítačové grafiky, jejího renderování, skvělou práci s C a zkušenost s KMS/DRM. Detaily s diskuzí v ticketu.

GTK 4 pro GNOME Translations

Překlady GNOME je editor .po souborů používaných v překladech. Teď je napsaná v GTK 3 a cílem projektu je dostat jí na GTK 4. Tato migrace bude vyžadovat úpravu všech widgetů, které jsou specifické pro tuto aplikaci. Na konci by měla vše fungovat s GTK 4 a libadwaita, rozhraní odpovídat GNOME HIG a fungovat přepínání světlé/tmavé rozhraní. Budete potřebovat znalost C a GTK. Podívejte se na ticket, kde jsou další informace a diskuze.

Rozšířit možnosti generátoru GObject introspekce pro Rust

Projekt láká fanoušky Rustu, kteří by se rádi lépe seznámili s fungováním GObject, protože knihovna pro rust je generována na základě GIR souborů. Výsledkem by měla být implementace některých “bylo by fajn mít” vlastností. Umíte-li Rust a C, je to pro vás. Více informací si můžete zjistit na chatu.

Podpora hledání v záznamech u Polari IRC

Polari je populární IRC klient a má bohužel omezené možnosti, co se týče hledání v historii. Cílem je dokončit migraci z Telepathy logger na Tracker, aby se možnosti hledání vylepšili. Aplikaci používají OSS vývojáři a vyhledávání by jim výrazně pomohlo (nehledě, že hledání v chatu je celkem zásadní vlastnost).

Přidání protokolu Chromecast k podporovaným v GNOME síťové displeje

gnome-network-displays v současné době podporuje protokol Miracast pro síťové displeje, ale populární Chromecast chybí. Z přidání podpory by benefitovala celá řada uživatelů. K projektu potřebujete Python s GTK a víc informací najdete v ticketu.

Pitivi Editor videí

Pitivi má nápadů rovnou několik:

Všechny mají ale jedno společné - chce to umět Python a poslat nějaký merge request, kterým prokážete, že se v kódu dokážete orientovat.

Valadoc - Přidání podpory nejnovějších GIR atributů a formátování gi-docgen

Nejprve bude potřeba doplnit podporu nejnovějších funkcí přímo v kompilátorů, jako jsou třeba settery a gettery a správně je signalizovat. Potom rozšířit dokumentaci o odpovídající záznamy a rozšířit a zlepšit generovanou dokumentaci. Jestli umíte programovat ve Vale, víte, jak fungují překladače a znáte GObject, možná čeká na vás. Více informací v ticketu.

GNOME Connections na Rustu

GNOME Connections je náš klient pro vzdálenou plochu a v současné době podporuje VNC a RDP, ideálně by měl podporovat další protokoly využitím již existujících projektů. Z toho důvodů je žádoucí migrace na Rust, kde by mělo být možné využít projekt RDW (GTK 4 widget pro vzdálená spojení). Takže vás bude čekat práce s gtk-rs a RDW. Ideálně si přinesete zkušenost s vývojem aplikací pro Linux a vzdálenou plochou. Mrkněte se na odpovídající ticket

Tak třeba Vás některý projekt osloví a pomůžete posunout naší společnou kárku zase o fous dál. My se tu budeme těšit na Vaše příspěvky