]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - cviceni.mdwn
Vlozeno 12. cviceni - konzultace
[edu/osp-wiki.git] / cviceni.mdwn
1 [[!meta title="Cvičení"]]
2
3 [[!toc levels=2]]
4
5 Obecné informace
6 ==========
7
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].
10
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].
14
15 Osnova
16 ==========
17
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]]
34
35 Podmínky udělení zápočtu
36 ==========
37
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,
40 * absolvován test,
41 * prezentace záměru práce,
42 * prezentace výsledku práce.
43
44 <a name="semestralka" />
45 Samostatná práce
46 ==========
47
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.
52
53 Vybraný projekt musí splňovat následující podmínky:
54
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ů
58   commitů).
59
60 Příspěvek do projektu může být téměř vše, co projektu prospěje –
61 např.:
62
63 * oprava chyby,
64 * přidání nové vlastnosti,
65 * napsání dokumentace,
66 * lokalizace (netechnické činnosti hodnotíme menším počtem bodů).
67
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ů.
74
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]].
79
80 Jak si vybrat vhodný projekt?
81 -----------------------------------
82
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.
87
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.
91
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.
97
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
105   tím nesklidíte.
106
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.
111
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í.
115
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]].
119
120 Google summer of code
121 ----------
122
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á.
132
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].
140
141
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