]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blobdiff - cviceni.mdwn
lectures: minor update of link to LinuxDays 2023 presentation listing.
[edu/osp-wiki.git] / cviceni.mdwn
index 5f551c9ed94d1ea7b54fad752bf32117717c5e00..84fc81916d8fd1ad8062fe40e457ac44740bcc62 100644 (file)
 [[!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.
 
+<a name="semestralka" />
 Samostatná práce
 ==========
 
-[[Nabídka projektů|cviceni/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