1 [[!meta title="Open Source Programování"]]
4 V tomto předmětu se studenti seznámí s open-source projekty a technikami ověřenými při
5 programování rozsáhlejších aplikací a operačních systémů. Budou
6 uvedeny důvody, které vedly k založení projektu GNU, a vysvětleno,
7 proč může být tento přístup vhodnou platformou i pro spolupráci
8 komerčních firem. Dále budou popsány standardní nástroje pro tvorbu,
9 správu, ladění a testování (nejenom) open-source softwaru a základní skladba
10 operačního systému POSIXového typu. Předložen bude i úvod do tvorby
11 ovladačů pro takovéto operační systémy a skladby uživatelských a
12 grafických knihoven. Závěrečný blok přednášek bude zaměřen na využití
13 popsaných technik ve vestavných aplikacích a pro řízení v reálném
16 [Popis předmětu][1] na stránkách [fakulty][2].
21 * Náhradní test se bude psát 24. dubna 2014 v 9:15.
23 * Výsledky písemky si budete moct prohlédnout a prodiskutovat se
24 cvičícím 17. dubna od 11:00 v KN-E:s109.
26 * Přednáška 26. února bude o vývoji otevřeného kancelářského balíku [LibreOffice](http://www.libreoffice.org/).
27 Přednášku přednese Jan Holešovský, mnohaletý vývojář projektu, nyní pracující na tomto projektu
28 ve společnost [Collabora](http://www.collabora.com/). Přednáška je dohodnutá na běžný čas a místo -- 14:30 [T2:C3-132](http://www.fel.cvut.cz/education/rozvrhy-ng/public/cz/mistnosti/10/11/m10115004.html).
30 * Ve dnech 1. a 2. března proběhne na Strahově konference a setkání [InstallFest](http://installfest.cz/if14/).
31 Prezentace představí různé otevřené technologie a nástroje. Jejich značná část se pak zabývá operačním systémem
32 GNU/Linux, na ně provozovanými službami a jeho využitím i na různých počítačových a mobilních platformách.
37 Pro účely komunikace mezi studenty a vyučujícími slouží
38 [mailing list][ml]. Studentům doporučujeme sledovat komunikaci na
39 mailing listu, buď v [archivu][ar] nebo prostřednictvím
40 [přihlášení se k odběru][ml]. Vyučující předpokládají, že studenti
41 berou na vědomí zaslané informace.
43 <img src="Twitter_logo.png" alt="Twitter" class="twitter-logo">[[#CTU_OSP|twitter]]
45 [ml]: https://rtime.felk.cvut.cz/mailman/listinfo/osp
46 [ar]: https://rtime.felk.cvut.cz/pipermail/osp/
51 <!-- TODO: U cvičení 3 smazat poznámku a) -->
53 [[!table class="borders" data="""
54 Co | Podmínka<br/>zápočtu | Body | Poznámky |
55 Cvičení 1 (úprava MC) | ✓ | 5 | a) |
56 Cvičení 2 (dmsg vypíše Hello <my name>) | ✓ | 5 | a) |
57 Cvičení 3 (předložení návrhu samostatné práce) | ✓ | 5 | a) |
58 Cvičení 4 (úprava patche proti Git historii) | ✓ | 5 | a) |
59 Prezentace záměru práce | ✓ | 5 | |
60 Test v půli semestru | ✓ | 15 | |
61 *Průběh samostatné práce* | | | |
62 Odezva od člena projektu | | 3 | b) |
63 Vaše změny (i nepřijaté) jsou dostupné ve veřejném repozitáři | | 3 | b) |
64 Otestování vašich změn členem projektu | | 3 | b) |
65 Zahrnutí vaší implementace do projektu | | 3 | b) |
66 Vaše změny jsou zdokumentovány v uživatelské dokumentaci projektu | | 3 | b) |
67 Výsledná práce odpovídá zadání ze 3. týdne | | 3 | b) |
68 Profilová stránka a slidy k závěrečné prezentaci jsou anglicky | | 2 | |
69 Prezentace výsledku práce | ✓ | 10 | c) |
72 **Celkem** | | **105** | |
75 [[!table class="borders" data="""
82 F | < 50 nebo < 15 ze zk. písemky
86 <ol class="lower-alpha">
87 <li>5 bodů pokud je úloha odevzdána do příštího cvičení (včetně), jinak
89 <li>pokud si vyberete jako samostatnou práci lokalizaci, bude vaše bodové hodnocení sníženo o 1/3.</li>
90 <li>4 – 10 bodů v závislosti na hodnocení (hlasování) všemi přítomnými.</li>
91 <li>Ohloh profil s kudorankem větším než 0 získaným za commity v open-source
92 projektech splňujících požadavky na [[samostatnou práci|cviceni#semestralka]].</li>
95 #### Pravidla pro studenty kombinovaného studia (KS):
96 Pro absolvování kurzu je vyžadované vypracování všech úloh
97 a prezentací stejně jako pro ostatní studenty. Studentů kombinované
98 formy se však netýká snížení počtu bodů v případě
99 pozdějšího odevzdání úloh a také se mohou dohodnout
100 se cvičícím na odevzdání úloh a první prezentace elektronickou
101 cestou. Povinnou zůstává přítomnost na cvičení s testem
102 a na závěrečných prezentacích.
104 Podobné kurzy na jiných školách
105 ===============================
107 * [Andrew Tridgell: Teaching FOSS at Universities, LCA 2010](http://2009.r2.co.nz/20100118/50100.htm)
108 ([slides](http://www.lca2010.org.nz/slides/50100.odp))
109 * [The Australian National University, Free and Open Source Software Development](http://cs.anu.edu.au/students/comp8440/)
110 * [Fachhochschule Augsburg, Hubert Högl](http://elk.informatik.fh-augsburg.de/hhweb/oss/index.html)
111 * [TeachingOpenSource.org](http://teachingopensource.org/)
112 * [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))
113 * [Karlova Univerzita, MFF, Open source programování](http://pasky.or.cz/vyuka/2011-PRG055/)
114 * [Open Source Software Practice, Rensselaer Polytechnic Institute (Troy, NY)](http://www.opensourcesoftwarepractice.org/)
115 * [Open Source Comes to Campus](http://campus.openhatch.org/) -- one-day workshop taught by OpenHatch people.
120 * [Karl Fogel: Producing Open Source Software (How to Run a Successful Free Software Project)](http://producingoss.com/en/index.html), CreateSpace, 2009, ISBN-13: 978-1441437716
121 * Překlad [Karl Fogel: Tvorba open source softwaru](http://knihy.nic.cz/), CZ.NIC, z. s. p. o., 2012, ISBN-13: 978-80-904248-5-2
122 * The Linux Documentation Project <http://tldp.org/>
123 * Popis programátorských technik v Unixu <http://dce.felk.cvut.cz/pos/os_api/unix.html>
124 * GNU Operating System <http://www.gnu.org/>
125 * Embedded Linux kernel and driver development, <http://free-electrons.com/>
126 * Love R.: Linux Kernel Development (2nd Edition), Novell Press, 2005.
127 * Corbet J., Rubini A., Kroah-Hartman G.: Linux Device Drivers (3rd Edition), O'Reilly Media, Inc., 2005, ISBN-10: 0596005903, ISBN-13: 978-0596005900
128 * [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/)
129 * [Ben Lynn: Git Magic](http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html)
130 * [Defensive patent publications](http://opensource.com/education/13/2/software-defensive-patents)
132 Prezentace studentských projektů z minulých běhů předmětu
133 ==========================================================
135 * [[Rok 2010|student/2010]]
136 * [[Rok 2011|student/2011]]
137 * [[Rok 2012|student/2012]]
138 * [[Rok 2013|student/2013]]
140 [1]: http://www.feld.cvut.cz/education/bk/predmety/12/53/p12539404.html
141 [2]: http://fel.cvut.cz/