1 [[!meta title="Open Source Programování"]]
3 [Popis předmětu][1] na stránkách [fakulty][2].
5 Studenti se seznámí s open-source projekty a technikami ověřenými při
6 programování rozsáhlejších aplikací a operačních systémů. Budou
7 uvedeny důvody, které vedly k založení projektu GNU, a vysvětleno,
8 proč může být tento přístup vhodnou platformou i pro spolupráci
9 komerčních firem. Dále budou popsány standardní nástroje pro tvorbu,
10 správu, ladění a testování zdrojových kódů a základní skladba
11 operačního systému POSIXového typu. Předložen bude i úvod do tvorby
12 ovladačů pro takovéto operační systémy a skladby uživatelských a
13 grafických knihoven. Závěrečný blok přednášek bude zaměřen na využití
14 popsaných technik ve vestavných aplikacích a pro řízení v reálném
20 * Prezentace indifiduálních prací proběhnou ve čtvrtek 17. 5. 2012 (14./zápočtový týden).
21 Výuka ve čtvrtek v 13. týdnu (10. 5.) se totiž v tomto semestru řídí úterním rozvrhem.
23 * Termín náhradního testu bude vybrán podle možností Ing. Michala Sojky Ph.D. a výběru
24 ve formuláři na [Doodle - OSP test](http://doodle.com/bya37ntx93svn7cq).
30 [[!table class="borders" data="""
31 Co | Podmínka<br/>zápočtu | Body | Poznámky |
32 Cvičení 1 (úprava MC) | ✓ | 5 | a) |
33 Cvičení 2 (dmsg vypíše Hello <my name>) | ✓ | 5 | a) |
34 Cvičení 3 (předložení návrhu samostatné práce) | ✓ | 5 | a) |
35 Cvičení 4 (úprava patche proti Git historii) | ✓ | 5 | a) |
36 Prezentace záměru práce | ✓ | 5 | d) |
37 Test v půli semestru | ✓ | 15 | |
38 *Průběh samostatné práce* | | | |
39 Odezva od člena projektu | | 3 | d) |
40 Vaše změny (i nepřijaté) jsou dostupné ve veřejném repozitáři | | 3 | d) |
41 Otestování vašich změn členem projektu | | 3 | d) |
42 Zahrnutí vaší implementace do projektu | | 3 | d) |
43 Vaše změny jsou zdokumentovány v dokumentaci projektu | | 3 | d) |
44 Výsledná práce odpovídá zadání ze 3. týdne | | 3 | d) |
45 Prezentace výsledku práce | ✓ | 10 | b), d) |
46 Ohloh KudoRank | | 10 | c), d) |
48 **Celkem** | | **108** | |
51 [[!table class="borders" data="""
58 F | < 50 nebo < 15 ze zk. písemky
62 <ol class="lower-alpha">
63 <li>5 bodů pokud je úloha odevzdána do příštího cvičení (včetně), jinak
65 <li>4 – 10 bodů podle pořadí hodnoceného všemi přítomnými.</li>
66 <li>počet uznaných bodů z hodnocení na serveru Ohloh bude omezen
67 podle počtu uživatelem vytvořených commitů (příspěvků) do registrovaných
68 projektů starších než jeden rok.</li>
69 <li>pokud si vyberete v rámci zapojení do OSP lokalizaci, bude vaše bodové hodnocení z něho sníženo o 1/3.</li>
72 #### Pravidla pro studenty kombinovaného studia (KS):
73 Pro absolvování kurzu je vyžadované vypracování všech úloh
74 a prezentací stejně jako pro ostatní studenty. Studentů kombinované
75 formy se však netýká snížení počtu bodů v případě
76 pozdějšího odevzdání úloh a také se mohou dohodnout
77 se cvičícím na odevzdání úloh a první prezentace elektronickou
78 cestou. Povinnou zůstává přítomnost na cvičení s testem
79 a na závěrečných prezentacích.
81 Podobné kurzy na jiných školách
82 ===============================
84 * [Andrew Tridgell: Teaching FOSS at Universities, LCA 2010](http://2009.r2.co.nz/20100118/50100.htm)
85 ([slides](http://www.lca2010.org.nz/slides/50100.odp))
86 * [The Australian National University, Free and Open Source Software Development](http://cs.anu.edu.au/students/comp8440/)
87 * [Fachhochschule Augsburg, Hubert Högl](http://www.hs-augsburg.de/~hhoegl/oss/oss.html)
88 * [TeachingOpenSource.org](http://teachingopensource.org/)
89 * [Aberystwyth University: Open Source Development Issues](http://www.aber.ac.uk/en/modules/deptcurrent/?m=CS38110) ([Steve McIntyre: prednáška](http://www.einval.com/~steve/talks/Aberystwyth-2009/HEADER.html))
90 * [Karlova Univerzita, MFF, Open source programování](http://pasky.or.cz/vyuka/2011-PRG055/)
95 * The Linux Documentation Project <http://tldp.org/>
96 * Popis programátorských technik v Unixu <http://dce.felk.cvut.cz/pos/os_api/unix.html>
97 * GNU Operating System <http://www.gnu.org/>
98 * Embedded Linux kernel and driver development, <http://free-electrons.com/>
99 * Love R.: Linux Kernel Development (2nd Edition), Novell Press, 2005.
100 * Corbet J., Rubini A., Kroah-Hartman G.: Linux Device Drivers (3rd Edition),
101 * O'Reilly Media, Inc., 2005, ISBN-10: 0596005903, ISBN-13: 978-0596005900
102 * [Karl Fogel: Producing Open Source Software (How to Run a Successful Free Software Project)](http://producingoss.com/en/index.html)
103 * [An Exploration of Fedora’s Online Open Source Development Community](http://www.cyber-anthro.com/beta-an-exploration-of-fedora%E2%80%99s-online-open-source-development-community/)
105 Prezentace studentských projektů z minulých běhů předmětu
106 ==========================================================
108 * [[Studenti 2010|student/2010]]
109 * [[Studenti 2011|student/2011]]
111 [1]: http://www.feld.cvut.cz/education/bk/predmety/12/53/p12539404.html
112 [2]: http://fel.cvut.cz/