X-Git-Url: http://rtime.felk.cvut.cz/gitweb/edu/osp-wiki.git/blobdiff_plain/d8a83dd65caf6ea56de7267b69da09aff8506124..HEAD:/cviceni.mdwn diff --git a/cviceni.mdwn b/cviceni.mdwn index 7fbff796..84fc8191 100644 --- a/cviceni.mdwn +++ b/cviceni.mdwn @@ -1,43 +1,152 @@ [[!meta title="Cvičení"]] -[[!toc]] +[[!toc levels=2]] Obecné informace ========== -Cvičení probíhá v laboratoři [KN:E-s109][1]. +Cvičení probíhají v laboratoři [KN:E-s109][1] a vede je +[Michal Sojka][2]. Druhým cvičícím je [Jan Kaisrlík][8]. -[1]:http://www.feld.cvut.cz/education/rozvrhy-ng.B092/public/cz/mistnosti/10/12/m10121304.html +Na stanicích v laboratoři je síťová instalace [Debian][6] GNU/Linux. +Informace o účtech a vzdáleném přístupu se nacházejí na stránkách +[IT oddělení katedry řídicí techniky][5]. Osnova ========== -1. Seznámení se s předmětem a hodnocením, kontakt s reálným OS - projektem -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í +1. Seznámení se s předmětem a hodnocením. Úloha 1: [[Hackovací intro|cviceni/1]]. +2. Úloha 2: [[Tvorba "produktu" z nezávislých OSS komponent|cviceni/2]] (embedded Linux) +3. [[Specifikace individuálního zadání|cviceni/3]] samostatná práce a jeho zařazení do existujících OS projektů (konzultace se cvičícími) -4. Verzovací systém Git -5. Prezentace projektu do kterého budu přispívat v samostatné práci a - nástin řešení -6. Test -7. Samostatná práce -8. Samostatná práce -9. Samostatná práce -10. Samostatná práce -11. Prezentace výsledků (povinná účast) -12. Zápočet +4. Úloha 3: [[Verzovací systém Git|cviceni/4]] +5. [[Prezentace projektu do kterého budu přispívat v samostatné práci a + nástin řešení|cviceni/5]] +7. Úloha 4: [[Open street map|cviceni/osm]] +6. Úloha 5: [[Obsluha mnoha klientů|cviceni/server]] +8. Test (14. 4. 2016) ([[zadání|cviceni/6]], [[výsledky|cviceni/6/vysledky]]) +9. [[Samostatná práce, konzultace|cviceni/konzultace]] +10. [[Samostatná práce, konzultace|cviceni/konzultace]] +11. [[Samostatná práce, konzultace|cviceni/konzultace]] +12. [[Samostatná práce, konzultace|cviceni/konzultace]] +13. [[Prezentace výsledků (19. 5. 2016; povinná účast)|cviceni/11]] +14. [[Zápočet|cviceni/12]] Podmínky udělení zápočtu ========== -* Účast na 1. - 6. a 11. cvičení, -* odevzdané úlohy z 1. - 4. cvičení +* Úč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ěr práce +* prezentace záměru práce, * prezentace výsledku práce. + Samostatná práce ========== -[[Nabídka projektů|projekty]] +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|student/2015]]. Na konci semestru by vaše stránka +měla vypadat podobně jako např. +[[stránka pana Houdka|student/houdepre]]. + +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|cviceni/projekty]]. Při práci na projektech vám můžou +pomoct [[odpovědi na často kladené otázky|faq]]. + +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][4]. 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][9]). +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][10] pro zájemce o GSoC +a [seznam projektů k řešení][11]. + + + [1]:http://www.fel.cvut.cz/cz/education/rozvrhy-ng/public/cz/mistnosti/10/12/m10121304.html + [2]:http://rtime.felk.cvut.cz/~sojka/ + [3]:http://cmp.felk.cvut.cz/~pisa/ + [4]:https://www.google-melange.com/gsoc/homepage/google/gsoc2015 + [5]:http://support.dce.felk.cvut.cz/mediawiki/index.php/GNU/Linux_v_laborato%C5%99%C3%ADch + [6]:http://www.debian.org/ + [7]:http://dce.fel.cvut.cz/katedra/ing-rostislav-lisovy + [8]:https://dce.fel.cvut.cz/katedra/ing-jan-kaisrlik + [9]:https://www.google-melange.com/gsoc/projects/list/google/gsoc2014 + [10]:https://devel.rtems.org/wiki/GSoC + [11]:https://devel.rtems.org/wiki/Developer/OpenProjects