[[!meta title="Open Source Programování"]]
[Popis předmětu][1] na stránkách [fakulty][2].
Studenti se seznámí s open-source projekty a technikami ověřenými při
programování rozsáhlejších aplikací a operačních systémů. Budou
uvedeny důvody, které vedly k založení projektu GNU, a vysvětleno,
proč může být tento přístup vhodnou platformou i pro spolupráci
komerčních firem. Dále budou popsány standardní nástroje pro tvorbu,
správu, ladění a testování zdrojových kódů a základní skladba
operačního systému POSIXového typu. Předložen bude i úvod do tvorby
ovladačů pro takovéto operační systémy a skladby uživatelských a
grafických knihoven. Závěrečný blok přednášek bude zaměřen na využití
popsaných technik ve vestavných aplikacích a pro řízení v reálném
čase.
Aktuality
=========
* Ve čtvrtek 24.3. v době cvičení bude probíhat písemný a praktický test
* Vyhlášen [seznam organizací](http://www.google-melange.com/gsoc/program/accepted_orgs/google/gsoc2011), které budou
podporované v [Google Summer of Code 2011](http://www.google-melange.com/gsoc/program/home/google/gsoc2011)
* 3. 3. 2011: Zveme studenty na
[[exkurzi do vyvojovjového pracoviště Siemens Corporate Technology|exkurze]],
která se uskuteční 23. března 2011.
* Ve dnech 5. a 6. března proběhne na Strahově konference a setkání [install fest](http://www.installfest.cz/if11/).
Hodnocení předmětu
==========
[[!table class="borders" data="""
Co | Podmínka
zápočtu | Body | Poznámky |
Cvičení 1 (úprava MC) | ✓ | 5 | a) |
Cvičení 2 (dmsg vypíše Hello ) | ✓ | 5 | a) |
Cvičení 3 (předložení návrhu samostatné práce) | ✓ | 5 | a) |
Cvičení 4 (úprava patche proti Git historii) | ✓ | 5 | a) |
Prezentace záměru práce | ✓ | 5 | d) |
Test v půli semestru | ✓ | 15 | |
*Průběh samostatné práce* | | | |
Odezva od člena projektu | | 3 | d) |
Vaše změny (i nepřijaté) jsou dostupné ve veřejném repozitáři | | 3 | d) |
Otestování vašich změn členem projektu | | 3 | d) |
Zahrnutí vaší implementace do projektu | | 3 | d) |
Vaše změny jsou zdokumentovány v dokumentaci projektu | | 3 | d) |
Výsledná práce odpovídá zadání ze 3. týdne | | 3 | d) |
Prezentace výsledku práce | ✓ | 10 | b), d) |
Ohloh KudoRank | | 10 | c), d) |
Zkouška | | 30 | |
**Celkem** | | **108** | |
"""]]
[[!table class="borders" data="""
Známka | počet bodů
A | 90 – ∞
B | 80 – 89
C | 70 – 79
D | 60 – 69
E | 50 – 59
F | < 50 nebo < 15 ze zk. písemky
"""]]
#### Poznámky:
- 5 bodů pokud je úloha odevzdána do příštího cvičení (včetně), jinak
1 bod.
- 4 – 10 bodů podle pořadí hodnoceného všemi přítomnými.
- počet uznaných bodů z hodnocení na serveru Ohloh bude omezen
podle počtu uživatelem vytvořených commitů (příspěvků) do registrovaných
projektů starších než jeden rok.
- pokud si vyberete v rámci zapojení do OSP lokalizaci, bude vaše bodové hodnocení z něho sníženo o 1/3.
#### Pravidla pro studenty kombinovaného studia (KS):
Pro absolvování kurzu je vyžadované vypracování všech úloh
a prezentací stejně jako pro ostatní studenty. Studentů kombinované
formy se však netýká snížení počtu bodů v případě
pozdějšího odevzdání úloh a také se mohou dohodnout
se cvičícím na odevzdání úloh a první prezentace elektronickou
cestou. Povinnou zůstává přítomnost na cvičení s testem
a na závěrečných prezentacích.
Podobné kurzy na jiných školách
===============================
* [Andrew Tridgell: Teaching FOSS at Universities, LCA 2010](http://2009.r2.co.nz/20100118/50100.htm)
([slides](http://www.lca2010.org.nz/slides/50100.odp))
* [The Australian National University, Free and Open Source Software Development](http://cs.anu.edu.au/students/comp8440/)
* [Fachhochschule Augsburg, Hubert Högl](http://www.hs-augsburg.de/~hhoegl/oss/oss.html)
* [TeachingOpenSource.org](http://teachingopensource.org/)
* [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))
Literatura
============
* The Linux Documentation Project
* Popis programátorských technik v Unixu
* GNU Operating System
* Embedded Linux kernel and driver development,
* Love R.: Linux Kernel Development (2nd Edition), Novell Press, 2005.
* Corbet J., Rubini A., Kroah-Hartman G.: Linux Device Drivers (3rd Edition),
* O'Reilly Media, Inc., 2005, ISBN-10: 0596005903, ISBN-13: 978-0596005900
* [Karl Fogel: Producing Open Source Software (How to Run a Successful Free Software Project)](http://producingoss.com/en/index.html)
* [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/)
Prezentace studentských projektů z minulých běhů předmětu
==========================================================
* [[Studenti|student/2010]]
[1]: http://www.feld.cvut.cz/education/bk/predmety/12/53/p12539404.html
[2]: http://fel.cvut.cz/