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