]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - cviceni.mdwn
Pointer to RTEMS instruction for students interested in GSoC.
[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 [Michal Horn][8].
10
11 Na stanicích v laboratoři je síťová instalace [Debian][6] GNU/Linux
12 7 (Wheezy). Informace o účtech a vzdáleném přístupu se nacházejí na
13 stránkách [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 6. Úloha 4: Obsluha mnoha klientů
26 7. Úloha 5: Open street map
27 8. Test (16. 4. 2015) ([[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ů (14. 5. 2014; povinná účast)|cviceni/11]]
32 13. [[Zápočet|cviceni/12]]
33
34 Podmínky udělení zápočtu
35 ==========
36
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,
39 * absolvován test,
40 * prezentace záměru práce,
41 * prezentace výsledku práce.
42
43 <a name="semestralka" />
44 Samostatná práce
45 ==========
46
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.
51
52 Vybraný projekt musí splňovat následující podmínky:
53
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ů
57   commitů).
58
59 Příspěvek do projektu může být téměř vše, co projektu prospěje –
60 např.:
61
62 * oprava chyby,
63 * přidání nové vlastnosti,
64 * napsání dokumentace,
65 * lokalizace (netechnické činnosti hodnotíme menším počtem bodů).
66
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ů.
73
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]].
78
79 Jak si vybrat vhodný projekt?
80 -----------------------------------
81
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.
86
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.
90
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.
96
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
104   tím nesklidíte.
105
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í nedostanou na ni do konce předmětu žádnou
109   odpověď, protože v projektu řeší důležitější (užitečnější) věci.
110
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í.
114
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]].
118
119 Google summer of code
120 ----------
121
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á.
131
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].
139
140
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]:http://dce.fel.cvut.cz/katedra/ing-michal-horn
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