1 [[!meta title="Cvičení"]]
8 Cvičení probíhají v laboratoři [KN:E-s109][1] a vede je
9 [Michal Sojka][2]. Druhým cvičícím je [Jan Kaisrlík][8].
11 Na stanicích v laboratoři je síťová instalace [Debian][6] GNU/Linux.
12 Informace o účtech a vzdáleném přístupu se nacházejí na stránkách
13 [IT oddělení katedry řídicí techniky][5].
18 1. Seznámení se s předmětem a hodnocením. Úloha 1: [[Hackovací intro|cviceni/1]].
19 2. Úloha 2: [[Tvorba "produktu" z nezávislých OSS komponent|cviceni/2]] (embedded Linux)
20 3. [[Specifikace individuálního zadání|cviceni/3]] samostatná práce a jeho zařazení
21 do existujících OS projektů (konzultace se cvičícími)
22 4. Úloha 3: [[Verzovací systém Git|cviceni/4]]
23 5. [[Prezentace projektu do kterého budu přispívat v samostatné práci a
24 nástin řešení|cviceni/5]]
25 6. Úloha 4: [[Obsluha mnoha klientů|cviceni/server]]
26 7. Úloha 5: [[Open street map|cviceni/osm]]
27 8. Test (14. 4. 2016) ([[zadání|cviceni/6]], [[výsledky|cviceni/6/vysledky]])
28 9. [[Samostatná práce, konzultace|cviceni/konzultace]]
29 10. [[Samostatná práce, konzultace|cviceni/konzultace]]
30 11. [[Samostatná práce, konzultace|cviceni/konzultace]]
31 12. [[Prezentace výsledků (19. 5. 2016; povinná účast)|cviceni/11]]
32 13. [[Zápočet|cviceni/12]]
34 Podmínky udělení zápočtu
37 * Účast na 1. – 8. a 12. cvičení (individuálně hodnotíme předchozí omluvy ze závažných důvodů),
38 * odevzdané úlohy 1 – 5,
40 * prezentace záměru práce,
41 * prezentace výsledku práce.
43 <a name="semestralka" />
47 Cílem samostatné práce je zkusit si na vlastní kůži jak funguje (či
48 nefunguje :-) ) vývoj open source softwaru a naučit se komunikovat s
49 open source vývojářskými komunitami. Každý student si vybere
50 existující open source projekt a pokusí se do něj přispět.
52 Vybraný projekt musí splňovat následující podmínky:
54 * má veřejně přístupný repozitář s historií projektu
55 * historie musí dokládat minimálně dva roky aktivního vývoje nebo na
56 vývoji musí pracovat minimálně pět aktivních vývojářů (autorů
59 Příspěvek do projektu může být téměř vše, co projektu prospěje –
63 * přidání nové vlastnosti,
64 * napsání dokumentace,
65 * lokalizace (netechnické činnosti hodnotíme menším počtem bodů).
67 Cílem ale není pouze práci provést, ale dostat ji do projektu tak, aby
68 její výsledky byly dostupné všem, kdo daný projekt využívají. V
69 závislosti na typu (a velikosti) projektu může být tento krok mnohem
70 těžší než vlastní vývojová práce. Je potřeba srozumitelně vysvětlit
71 správcům projektu co děláte, proč to děláte a případně reagovat na
72 další požadavky správců.
74 Výsledky své práce zveřejněte na své
75 [[profilové stránce|student/2015]]. Na konci semestru by vaše stránka
76 měla vypadat podobně jako např.
77 [[stránka pana Houdka|student/houdepre]].
79 Jak si vybrat vhodný projekt?
80 -----------------------------------
82 Open source projekty se dají rozdělit na dobře a špatně fungující.
83 Chceme, abyste se v tomto předmětu zapojili do těch dobrých a špatně
84 fungujícím se vyhnuli. Nejenom, že tím dostanete víc bodů, ale hlavně
85 ze své práce budete mít mnohem lepší pocit.
87 V seznamu níže uvádíme naše doporučení ohledně výběru projektu a
88 úlohy, kterou budete řešit. Doporučení vycházejí ze zkušeností z
89 minulých běhů předmětu OSP.
91 * Zkontrolujte, že je projekt živý, t.j. do repozitáře přibývají
92 commity a správci projektu komunikují s ostatními (mailing list,
93 fórum, IRC). Pokud je poslední commit v projektu několik let starý
94 nebo se během posledních pár měsíců neobjevila v mailing listu
95 jediná zpráva od správců, projektu se vyhněte.
97 * Pokud se rozhodnete opravit chybu, kterou najdete v bug trackeru, je
98 dobré si vybrat takovou chybu, která byla správci projektu
99 potvrzena. Často se v bug trackeru objevují hlášení od uživatelů,
100 která sice jako chyby vypadají, ale ve skutečnosti to chyby nejsou.
101 Může se jednat i vlastnosti programu, které správci nechtějí měnit,
102 nebo to může být chyba konfiguraci daného uživatele apod. Ať už je
103 důvod jakýkoli, pokud takovou chybu-nechybu opravíte, moc úspěchu s
106 A i když si vyberete potvrzenou chybu, přemýšlejte nad tím jak je
107 její oprava užitečná pro uživatele. Často se totiž studentům stává,
108 že i když chybu opraví, nedostane se jim do konce předmětu žádné
109 odezvy, protože v projektu řeší důležitější (užitečnější) věci.
111 * Pokud chcete implementovat novou vlastnost, vyberte si takovou věc o
112 kterou mají uživatelé (nebo správci) zájem. Nevymýšlejte nesmysly,
113 které nikoho nezajímají.
115 Pokud nevíte jaký projekt si vybrat, může vám pomoct
116 [[tato stránka|cviceni/projekty]]. Při práci na projektech vám můžou
117 pomoct [[odpovědi na často kladené otázky|faq]].
119 Google summer of code
122 Širokou nabídku open source projektů, včetně konkrétních úloh, které
123 mají zájem o příspěvky studentů představuje
124 [Google summer of code][4]. Většina technologií společnosti Google je
125 postavena na open source softwaru (OSS) a proto společnost sponzoruje
126 rozvoj těchto projektů a platí studenty na nich pracující. Studenti
127 mohou zasílat přihlášku do 27. března. Rozhodnutí o přijetí či
128 nepřijetí bude známo 27. dubna. Studenti OSP přijatí do GSOC získají
129 všechny body za *průběh samostatné práce*. Povinnost závěrečné
130 prezentace a její bodové hodnocení však zůstává.
132 Představu o schválených organizacích a tématech projektů lze
133 získat například z minulých běhů programu ([Google summer of code 2014][9]).
134 Většina z přijatých organizací pokračuje v dalším běhu. Diskuze
135 a seznam potenciálních témat pro další běh je pak připravovaný
136 většinou na ktomu určené stránce ve Wiki projektu.
137 Projekt RTEMS má přímo připravený [návod][10] pro zájemce o GSoC
138 a [seznam projektů k řešení][11].
141 [1]:http://www.fel.cvut.cz/education/rozvrhy-ng/public/cz/mistnosti/10/12/m10121304.html
142 [2]:http://rtime.felk.cvut.cz/~sojka/
143 [3]:http://cmp.felk.cvut.cz/~pisa/
144 [4]:https://www.google-melange.com/gsoc/homepage/google/gsoc2015
145 [5]:http://support.dce.felk.cvut.cz/mediawiki/index.php/GNU/Linux_v_laborato%C5%99%C3%ADch
146 [6]:http://www.debian.org/
147 [7]:http://dce.fel.cvut.cz/katedra/ing-rostislav-lisovy
148 [8]:https://dce.fel.cvut.cz/katedra/ing-jan-kaisrlik
149 [9]:https://www.google-melange.com/gsoc/projects/list/google/gsoc2014
150 [10]:https://devel.rtems.org/wiki/GSoC
151 [11]:https://devel.rtems.org/wiki/Developer/OpenProjects