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
Říjen 2021 Výkonný ředitel (CEO) společnosti Intel, Pat Gelsinger, potvrzuje prioritní postavení open source řešení (An Open Letter to an Open Ecosystem ). Za nabídkou je asi i snaha překonat učitou stagnaci za konkurencí (AMD) na straně jejich vývoje procesorů. Intel byl ale vždy v oblasti podpory GPU (až na nešťastný nákup SGX GMA500) příkladný, stejně jako u podpory procesorů atd. Na druhou stranu jejich management engines a FPGA nakloněné otevřenému vývoji, review a syntéze nejsou a reakce na tyto komentáře pod článkem zatím spíš chybí. Naopak Yosys již umožňuje návrh z Verilogu i VHDL až po mapování na Xilinx 7-Series and Lattice iCE40 FPGAs, přitom firma Lattice spolupracuje. Open source je volba i v kosmu. International Space Station přešla na terminálových počítačích na palubě z Windows na Debian GNU/Linux v roce 2013 pro jeho stabilitu a flexibilitu a spokojenost s jeho nasazením stále nové zprávy potvrzují.
Květen 2021 Linus Torvalds ve dvou rozhovorech pro TAG1 (první, druhý) mimo jiné odpovídá na otázku “Is or is not open source sustainable?”. V krátkosti “Yes. I’m personally 100% convinced that not only is open source sustainable, but for complex technical issues you really need open source simply because the problem space ends up being too complex to manage inside one single company. Even a big and competent tech company”.
Březen 2021 Microsoft dokončuje zametení tísíců člověkoroků práce svých vývojářů do propadliště dějin (Microsoft is ending support for the old non-Chromium Edge), komerční model vývoje neodstál proti práci hrstky neplacených nadšenců z projektu KHTML
Srpen 2020, Prezidentem Free Software Foundation je zvolený Geoffrey Knauth. Jeho proslov k převzetí a pokračování cesty započaté Richarde Matthew Stallmanem je k dispozici zde.
Červen 2020 Lenovo certifikuje celou řadu notebooků ThinkPad a ThinkStation Workstation pro použití s Ubuntu LTS a Red Hat Enterprise Linux, více v oznámení. Zároveň minmálně vybrané modely budou nabízené ke koupi s předisntalovanou distribucí Fedora, více v čase 1:27:46 Fedora 32 release party. Setkání české skupiny vývojářů projektu Fedora zajišťovala naše fakulta. přístup firmy Lenovo je příkladný v tom, že nebudou přizpůsobovat svému hardware jen určitou distribuci v určité verzi, ale zajstí podporu přes údržbu a rozvoj ovladačů v hlavním vývojovém stromu Linuse Torvaldse.
Červen 2020, Internet Archive přestane podporovat Internet Explorer aneb správa zdrojových kódů podle Microsoftu. Po letech popírání Internetu, kdy uživatelé museli spoléhat na cizí řešení Winsock založené na BSD Microsoft BSD kód integruje s velkou slávou do Windows a využívá jí k propagaci až je Bill Gates označen Otcem Internetu. Microsoft využívá zdrojové kódy prohlížeče Mosaic a platí až 100 mil USD ročně na jeho vývoj s týmem okolo tisíce vývojářů a další peníze do nástrojů pro tvorbu obsahu, který je z jiných prohlížečů těžko přístupný. Ve stejné době (1998) hrstka vývojářů hledá cestu jak z alternativním platforem udržet dostupnost obsahu Internetu a vzniká KHTML. Z něho vzniká WebKit na kterém staví svůj prohlížeč Apple, poději Google Chrome a nakonec Blink, na který Microsoft přechází jako na standardní prohlížeč a který jako 230 MB materiálu dodává i na GNU/Linux jako binární (pouze) Debian balíček Teams. Stojí za to se tedy zamyslet kam se podělo deset tisíc člověkoroků práce a jestli do důchodu odchází s pocite většího naplnění dobře živený vývojář, jehož veškerá práce sloužila k proszení pravidla “Jeden prsten vládne všem” a skončila na smetišti dějin nebo sice ne tak zajištění tvůrci původního kódu KHTML, Qt a dalších otevřených technologií. Zároveň je dobré se poučit do budoucna, které technologie pro udržitelný rozvoj používat.
Květen 2020, Prezident Microsoftu Brad Smith přiznal na konferenci pořádané MIT: “Microsoft was on the wrong side of history when open-source exploded at the beginning of the century and I can say that about me personally.” Srovnejte s Halloween documents.
Prosinec 2019 Televize CNBC s téměř 100 milióny platících zákazníků publikuje krátký filem The Rise Of Open-Source Software
Říjen 2018 Microsoft nakupuje webowou službu a kopletní systém pro vývoj a správu projektů ve verzovacím systému Git GitHub. Viz článek Microsoft finalizes its $7.5 billion GitHub acquisition
Listopad 2017 V seznamu 500 nejvýkonnějších výpočetních systémů světa se již nenachází ani jeden, který by nepoužíval jádro Linux. Viz článek Linux totally dominates supercomputers
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 https://wiki.control.fel.cvut.cz/pos/os_api/unix.html
- GNU Operating System http://www.gnu.org/
- The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) POSIX.1-2017
- Embedded Linux kernel and driver development, https://bootlin.com/ Docs
- 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