Obecné informace

Cvičení probíhají v laboratoři KN:E-s109 a vede je Michal Sojka. Druhým cvičícím je Jan Kaisrlík.

Na stanicích v laboratoři je síťová instalace Debian GNU/Linux. Informace o účtech a vzdáleném přístupu se nacházejí na stránkách IT oddělení katedry řídicí techniky.

Osnova

  1. Seznámení se s předmětem a hodnocením. Úloha 1: Hackovací intro.
  2. Úloha 2: Tvorba “produktu” z nezávislých OSS komponent (embedded Linux)
  3. Specifikace individuálního zadání samostatná práce a jeho zařazení do existujících OS projektů (konzultace se cvičícími)
  4. Úloha 3: Verzovací systém Git
  5. Prezentace projektu do kterého budu přispívat v samostatné práci a nástin řešení
  6. Úloha 4: Open street map
  7. Úloha 5: Obsluha mnoha klientů
  8. Test (14. 4. 2016) (zadání, výsledky)
  9. Samostatná práce, konzultace
  10. Samostatná práce, konzultace
  11. Samostatná práce, konzultace
  12. Samostatná práce, konzultace
  13. Prezentace výsledků (19. 5. 2016; povinná účast)
  14. Zápočet

Podmínky udělení zápočtu

  • Účast na 1. – 8. a 12. cvičení (individuálně hodnotíme předchozí omluvy ze závažných důvodů),
  • odevzdané úlohy 1 – 5,
  • absolvován test,
  • prezentace záměru práce,
  • prezentace výsledku práce.

Samostatná práce

Cílem samostatné práce je zkusit si na vlastní kůži jak funguje (či nefunguje :-) ) vývoj open source softwaru a naučit se komunikovat s open source vývojářskými komunitami. Každý student si vybere existující open source projekt a pokusí se do něj přispět.

Vybraný projekt musí splňovat následující podmínky:

  • má veřejně přístupný repozitář s historií projektu
  • historie musí dokládat minimálně dva roky aktivního vývoje nebo na vývoji musí pracovat minimálně pět aktivních vývojářů (autorů commitů).

Příspěvek do projektu může být téměř vše, co projektu prospěje – např.:

  • oprava chyby,
  • přidání nové vlastnosti,
  • napsání dokumentace,
  • lokalizace (netechnické činnosti hodnotíme menším počtem bodů).

Cílem ale není pouze práci provést, ale dostat ji do projektu tak, aby její výsledky byly dostupné všem, kdo daný projekt využívají. V závislosti na typu (a velikosti) projektu může být tento krok mnohem těžší než vlastní vývojová práce. Je potřeba srozumitelně vysvětlit správcům projektu co děláte, proč to děláte a případně reagovat na další požadavky správců.

Výsledky své práce zveřejněte na své profilové stránce. Na konci semestru by vaše stránka měla vypadat podobně jako např. stránka pana Houdka.

Jak si vybrat vhodný projekt?

Open source projekty se dají rozdělit na dobře a špatně fungující. Chceme, abyste se v tomto předmětu zapojili do těch dobrých a špatně fungujícím se vyhnuli. Nejenom, že tím dostanete víc bodů, ale hlavně ze své práce budete mít mnohem lepší pocit.

V seznamu níže uvádíme naše doporučení ohledně výběru projektu a úlohy, kterou budete řešit. Doporučení vycházejí ze zkušeností z minulých běhů předmětu OSP.

  • Zkontrolujte, že je projekt živý, t.j. do repozitáře přibývají commity a správci projektu komunikují s ostatními (mailing list, fórum, IRC). Pokud je poslední commit v projektu několik let starý nebo se během posledních pár měsíců neobjevila v mailing listu jediná zpráva od správců, projektu se vyhněte.

  • Pokud se rozhodnete opravit chybu, kterou najdete v bug trackeru, je dobré si vybrat takovou chybu, která byla správci projektu potvrzena. Často se v bug trackeru objevují hlášení od uživatelů, která sice jako chyby vypadají, ale ve skutečnosti to chyby nejsou. Může se jednat i vlastnosti programu, které správci nechtějí měnit, nebo to může být chyba konfiguraci daného uživatele apod. Ať už je důvod jakýkoli, pokud takovou chybu-nechybu opravíte, moc úspěchu s tím nesklidíte.

    A i když si vyberete potvrzenou chybu, přemýšlejte nad tím jak je její oprava užitečná pro uživatele. Často se totiž studentům stává, že i když chybu opraví, nedostane se jim do konce předmětu žádné odezvy, protože v projektu řeší důležitější (užitečnější) věci.

  • Pokud chcete implementovat novou vlastnost, vyberte si takovou věc o kterou mají uživatelé (nebo správci) zájem. Nevymýšlejte nesmysly, které nikoho nezajímají.

Pokud nevíte jaký projekt si vybrat, může vám pomoct tato stránka. Při práci na projektech vám můžou pomoct odpovědi na často kladené otázky.

Google summer of code

Širokou nabídku open source projektů, včetně konkrétních úloh, které mají zájem o příspěvky studentů představuje Google summer of code. Většina technologií společnosti Google je postavena na open source softwaru (OSS) a proto společnost sponzoruje rozvoj těchto projektů a platí studenty na nich pracující. Studenti mohou zasílat přihlášku do 27. března. Rozhodnutí o přijetí či nepřijetí bude známo 27. dubna. Studenti OSP přijatí do GSOC získají všechny body za průběh samostatné práce. Povinnost závěrečné prezentace a její bodové hodnocení však zůstává.

Představu o schválených organizacích a tématech projektů lze získat například z minulých běhů programu (Google summer of code 2014). Většina z přijatých organizací pokračuje v dalším běhu. Diskuze a seznam potenciálních témat pro další běh je pak připravovaný většinou na ktomu určené stránce ve Wiki projektu. Projekt RTEMS má přímo připravený návod pro zájemce o GSoC a seznam projektů k řešení.