V tomto předmětu se studenti 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í (nejenom) open-source softwaru 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.
Popis předmětu na stránkách fakulty a odkaz na rozvrh v Bílé knize ČVUT.
Aktuality
24 května 2017 Zveřejněnil Brian Harry ve své sérii článků o Git Virtual File System - GVFS popis závěrečné fáze obměny kocepce správy zdrojových kódů operačního systému Microsoft Windows
- The largest Git repo on the planet, autor Brian Harry.
13 května 2016 od 13:00 bude v místnosti KN:G-205 k tématu efektivního řešení úlohy Obsluha mnoha klientů prezentovat Bc. Martin Vajnar článek Algorithmic Improvements for Fast Concurrent Cuckoo Hashing, autorů Xiaozhou Li, David G. Andersen, Michael Kaminsky, Michael J. Freedman.
5 května 2016 byly publikovány výsledky průzkumu zájmu zaměstnavatelů o odborníky se znalostí Open-Source technologií a vývoje The 2016 Open Source Jobs Report: Companies Hungry for Professional Open Source Talent
2015 Společnost Microsoft přechází s kompletní platformou Dot Net na otevřený vývojový model
Komunikace
Pro účely komunikace mezi studenty a vyučujícími slouží mailing list. Studentům doporučujeme sledovat komunikaci na mailing listu, buď v archivu nebo prostřednictvím přihlášení se k odběru. Vyučující předpokládají, že studenti berou na vědomí zaslané informace.
Další komunikační kanály jsou:
Hodnocení předmětu
Co | Podmínka zápočtu |
Body | Poznámky, deadline |
|
---|---|---|---|---|
Úloha 1 (úprava MC) | ✓ | 5/1 | a), 10. 3. 2016 | |
Úloha 2 (dmsg vypíše Hello ) | ✓ | 5/1 | a), 17. 3. 2016 | |
Konzultace návrhu samostatné práce | ✓ | |||
Úloha 3 (úprava patche proti Git historii) | ✓ | 5/1 | a), 31. 3. 2016 | |
Prezentace záměru práce | ✓ | 5/1 | ||
Úloha 4 (Open street map) | ✓ | 5/1 | a), 14. 4. 2016 | |
Úloha 5 (obsluha mnoha klientů) | ✓ | 5(+5)/1 | a), b), 28. 4. 2016 | |
Test v půli semestru | ✓ | 15 | ||
Průběh samostatné práce | ||||
Odezva od člena projektu | 3 | c) | ||
Vaše změny (i nepřijaté) jsou dostupné ve veřejném repozitáři | 3 | c) | ||
Otestování vašich změn členem projektu | 3 | c) | ||
Zahrnutí vaší implementace do projektu | 3 | c) | ||
Vaše změny jsou zdokumentovány v uživatelské dokumentaci projektu | 3 | c) | ||
Výsledná práce odpovídá zadání ze 3. týdne | 3 | c) | ||
Profilová stránka a slidy k závěrečné prezentaci jsou anglicky | 2 | |||
Prezentace výsledku práce | ✓ | 1 – 5 | d) | |
Open HUB kudorank | (3) | e) | ||
Zkouška | 30 | |||
Celkem | 100+(8) |
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 “deadlinu” (včetně), jinak 1 bod.
- Pět nejlepších studentů získá navíc 1 – 5 bonusových bodů.
- pokud si vyberete jako samostatnou práci lokalizaci, bude vaše bodové hodnocení sníženo o 1/3.
- 1 – 5 bodů v závislosti na hodnocení (hlasování) všemi přítomnými.
- [Open HUB][4] profil s kudorankem větším než 0 získaným za commity v open-source projektech splňujících požadavky na samostatnou práci.
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 (slides)
- The Australian National University, Free and Open Source Software Development
- Fachhochschule Augsburg, Hubert Högl
- TeachingOpenSource.org
- Aberystwyth University: Open Source Development Issues (Steve McIntyre: prednáška)
- Karlova Univerzita, MFF, Open source programování
- Open Source Comes to Campus — one-day workshop taught by OpenHatch people.
Literatura
Pro prohloubení či upřesnění látky probírané na přednáškách mohou posloužit následující odkazy:
- Karl Fogel: Producing Open Source Software (How to Run a Successful Free Software Project), CreateSpace, 2009, ISBN-13: 978-1441437716
- Překlad Karl Fogel: Tvorba open source softwaru, CZ.NIC, z. s. p. o., 2012, ISBN-13: 978-80-904248-5-2
- Floss Manuals http://flossmanuals.net/
- The Linux Documentation Project http://tldp.org/
- Popis programátorských technik v Unixu http://dce.felk.cvut.cz/pos/os_api/unix.html
- GNU Operating System http://www.gnu.org/
- Embedded Linux kernel and driver development, http://free-electrons.com/
- 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
- An Exploration of Fedora’s Online Open Source Development Community
- Ben Lynn: Git Magic
- Defensive patent publications