1

Téma: Open source - OI SI

Premyslim, kam se uchylim na magisterske studium...procetl jsem tedy i OI a narazil jsem na predmet na magistru OI SI - open source programovani...pod jehoz nazvem se da cekat skutecne ledascos...osobne jsem cekal vyvoj nejakeho modulu do open source projektu (modul do netbeans, firefox, open office) nebo vyvoj nejake valstni utility pod GPL licenci...moznosti je hodne...rozhodne jsem vsak necekal tesnou vazbu na konkretni programovaci jazyk a psani ovladacu...musim rict, ze po rozkliknuti predmetu jsem celkem koukal jako puk...protoze dany predmet imho nema moc spolecneho s open source programovanim...a podle me ani s oborem softwarove inzenyrstvi...cekal bych to spise na necem ve stylu "systemove programovani"...SI bych cekal proste o level nebo dva vys...
rad bych se proto zeptal, jestli jsou predmety OI jiz finalni, pripadne nazor ostatnich na tento predmet (co jsem se ptal kolegu, tak vetsinou s mym nazorem souhlasili)

jenom sem hodim osnovu cviceni predmetu "Open-source programovani"

Osnova cvičení
1.Úvodní seznámení s používaným HW a SW
(konkrétní architektury podle aktuální dostupnosti kitů
- x86, ColdFire, PowerPC či ARM)
2. Předvedení kompilace jádra a přípravy minimálního souborového

systému, vysvětlení, jak budou tento základ dále studenti používat
3. Úloha procvičující napsání minimálního znakového ovladače
4. Rozšíření ovladače o zpracování přerušení a připojení
na vstupně výstupní piny
5. Dokončení kompletního ovladače s plnou infrastrukturou
PCI nebo platform device
6. Rezerva na dokončení práce na driveru.
7-11. Prácena některé komplexnější úloze,
např. komunikace s ovladači motorů vybavených protokolem CANopen,

aplikace nad grafickými knihovnami vhodnými pro malá zařízení,
realizace ovladačů dotykového displaye atd.
12-13. Prezentace výsledků předchozí práce pro ostatní členy skupiny
14. Zápočet

And the people bowed and prayed
To the neon God they made.

2

Re: Open source - OI SI

Pavel Mička (mickap1) napsal:

Premyslim, kam se uchylim na magisterske studium...procetl jsem tedy i OI a narazil jsem na predmet na magistru OI SI - open source programovani...pod jehoz nazvem se da cekat skutecne ledascos...osobne jsem cekal vyvoj nejakeho modulu do open source projektu (modul do netbeans, firefox, open office) nebo vyvoj nejake valstni utility pod GPL licenci...moznosti je hodne...rozhodne jsem vsak necekal tesnou vazbu na konkretni programovaci jazyk a psani ovladacu...musim rict, ze po rozkliknuti predmetu jsem celkem koukal jako puk...protoze dany predmet imho nema moc spolecneho s open source programovanim...a podle me ani s oborem softwarove inzenyrstvi...cekal bych to spise na necem ve stylu "systemove programovani"...SI bych cekal proste o level nebo dva vys...
rad bych se proto zeptal, jestli jsou predmety OI jiz finalni, pripadne nazor ostatnich na tento predmet (co jsem se ptal kolegu, tak vetsinou s mym nazorem souhlasili)

...

Diky za konkretni otazku. Predmet je jednim z povinnych v oboru SI magisterskeho programu, a z povinnych predmetu programu/oboru je skutecne nejblizsi realnemu hardware. Jako povinny je zarazen proto, aby se budouci softwarovi inzenyri relativne dukladne seznamili s principy fungovani operacnich systemu. Predmet v tomto rozsahu Vas nenauci napsat plnohodnotny operacni system, ale umozni Vam pochopit jaka jsou omezeni operacnich systemu, ktere efekty na relativne nizke urovni mohou ovlivnit vykon celeho systemu a jak je treba korektne naspecifikovat prostredi pro beh konkretni aplikace a sadu testu pro validaci teto aplikace v prostredi.

V neposledni rade se jedna i o "obecnou kulturu", ktera Vam umozni dobre komunikovat se systemovymi specialisty a pripadne je tez v budoucnosti efektivneji ridit.

Do jiste miry by slo podobneho efektu dosahnout i vyukou na vyssi urovni, ale uroven pochopeni kterou ziskate tim, ze si operacni system de-facto vytvorite a upravite bude pravdepodobne hlubsi a trvalejsi.

M.R.

3

Re: Open source - OI SI

Jsem trosku zmaten... "Open-source programovani" != "programovani operacniho systemu" alespon ja si pod tim predstavim uplne neco jineho, viz. to co psal Pavel...

"Pochybuji, tedy myslím. Myslím, tedy jsem"
René Descartes

4

Re: Open source - OI SI

Bc. Martin Půlpitel (pulpim1) napsal:

Jsem trosku zmaten... "Open-source programovani" != "programovani operacniho systemu" alespon ja si pod tim predstavim uplne neco jineho, viz. to co psal Pavel...

uznavam, ze pojmenovani je z hlediska oboru SI malo vystizne. Je to dano historicky, mam matnou vzpominku (a malou chut to hledat), ze se predmet puvodne mel jemnovat programovani open source operacnich systemu, nebo nejak podobne. Az posleze to bylo zkraceno na unosnejsi delku, nicmene s posunutim vyznamu. Soucasne jmeno je vystizne pro obor HW, se kterym je predmet sdilen, a to zamerne. Povazujeme totiz za prinosne, aby se studenti dvou ruznych oboru potkali pri tomto relativne velmi prakticky zamerenem predmetu, a meli moznost navzajem pochopit lehce odlisne pristupy k reseni stejnych problemu na rozhrani dvou oblasti specializace.

5

Re: Open source - OI SI

Ing. Martin Rehák (rehakm1) napsal:
Pavel Mička (mickap1) napsal:

Premyslim, kam se uchylim na magisterske studium...procetl jsem tedy i OI a narazil jsem na predmet na magistru OI SI - open source programovani...pod jehoz nazvem se da cekat skutecne ledascos...osobne jsem cekal vyvoj nejakeho modulu do open source projektu (modul do netbeans, firefox, open office) nebo vyvoj nejake valstni utility pod GPL licenci...moznosti je hodne...rozhodne jsem vsak necekal tesnou vazbu na konkretni programovaci jazyk a psani ovladacu...musim rict, ze po rozkliknuti predmetu jsem celkem koukal jako puk...protoze dany predmet imho nema moc spolecneho s open source programovanim...a podle me ani s oborem softwarove inzenyrstvi...cekal bych to spise na necem ve stylu "systemove programovani"...SI bych cekal proste o level nebo dva vys...
rad bych se proto zeptal, jestli jsou predmety OI jiz finalni, pripadne nazor ostatnich na tento predmet (co jsem se ptal kolegu, tak vetsinou s mym nazorem souhlasili)

...

Diky za konkretni otazku. Predmet je jednim z povinnych v oboru SI magisterskeho programu, a z povinnych predmetu programu/oboru je skutecne nejblizsi realnemu hardware. Jako povinny je zarazen proto, aby se budouci softwarovi inzenyri relativne dukladne seznamili s principy fungovani operacnich systemu. Predmet v tomto rozsahu Vas nenauci napsat plnohodnotny operacni system, ale umozni Vam pochopit jaka jsou omezeni operacnich systemu, ktere efekty na relativne nizke urovni mohou ovlivnit vykon celeho systemu a jak je treba korektne naspecifikovat prostredi pro beh konkretni aplikace a sadu testu pro validaci teto aplikace v prostredi.

V neposledni rade se jedna i o "obecnou kulturu", ktera Vam umozni dobre komunikovat se systemovymi specialisty a pripadne je tez v budoucnosti efektivneji ridit.

Do jiste miry by slo podobneho efektu dosahnout i vyukou na vyssi urovni, ale uroven pochopeni kterou ziskate tim, ze si operacni system de-facto vytvorite a upravite bude pravdepodobne hlubsi a trvalejsi.

M.R.

Diky za odpoved.

Muzeme zde sice dlouho flamovat nad tim, jestli tohle patri do vybavy sw inzenyra nebo specialisty o uroven niz (v abstrakci - ne odbornosti), ale to by asi nemelo smysl...spis by mne tedy zajimalo, proc se ten predmet jmenuje "Open-source programovani", kdyz se jedna o programovani ovladacu :-))...kdyby se jmenoval "Operacni systemy a ovladace", tak nereknu ani slovo...
Popravde to na me pusobi dojmem, ze se napred vymyslel nazev predmetu, odsouhlasil se, pak se zjistilo, ze to nema kdo ucit a nasypalo se tam tohle...


edit:
(...zatimco jsem to psal, tak pribyla ta reakce na martina, ktera to vysvetluje...)

Naposledy upravil: mickapa1 (04.02.2009 14:03:30)

And the people bowed and prayed
To the neon God they made.

6

Re: Open source - OI SI

Pavel Mička (mickap1) napsal:

...

Psals nekdy neco treba do linuxu, mne to totiz neprijde tak nizkourovnove, jak o tom mluvis. V jadre pouzivas jaderne API, v kterem je vsechno, co normalne potrebujes - zadny lowlevel programovani bezne neni potreba.

7

Re: Open source - OI SI

Připadá mi to jako přebírání dlouhodobě kritizovaného nešvaru oboru EaI, kdy název předmětu a to co se vy skutečnosti učilo, byly často velmi "posunuté".

BTW: Napadá mě: Neznamená Otevřená informatika třeba, že se tam budou řešit jen open source věci wink

Nastala neočekávaná událost, Váš požadavek byl zpracován!

8

Re: Open source - OI SI

Dobrý den, kolega mě upozornil na diskuzi k tomuto předmětu. Vzhledem k tomu, že jsem se zúčastnil přípravy osnov, tak se pokusím alespoň v rychlosti reagovat. Jedná se o prvotní návrh obsahu, určitě bude snaha reagovat i na to, jaké budou potřeby a zájem studentů. Důvodů k tomu, že předmět v úvodních přednáškách zabíhá do podrobností typu architektury CPU a MCU a dále se zabývá i stavbou operačních systémů a až nakonec vyšší úrovní knihoven a frameworků je více.

1) Většina studentů si představuje počítač jako PC a programuje na obláčcích virtuálního stroje, třeba C#. Málo kdo si uvědomuje jak vypadají nižší vrstvy. Přitom pokud chceme být schopni vytvářet skutečně plně otevřená řešení, je potřeba i spodní vrstvy podporovat otevřenými nástroji a kompilátory. Takže znalost propojení těchto nástrojů s hardwarem a příprava plně otevřeného a portovatelného vývojového řetězce pro danou architekturu je velmi významná. Zároveň je díky otevřenosti a možnosti si prohlédnout vnitřnosti (zdrojové kódy GCC, binutils atd.) možné vysvětlit základní proces převodu zdrojových kódů do objektových souborů a jejich sestavování, relokace atd. Přitom i pokud dáte přednost uzavřeným systémům a nástrojům, tak právě při jejich nedostatečné a často i záměrné nezdokumentovanosti a skrytosti funkce, je často paralela s otevřenými systémy a nástroji nejlepším způsobem, jak nabýt znalostí pro jejich efektivní použití.

2) Asi možná i trochu více vzhledem k mým osobním zkušenostem a zaměření, vidím pod procesorovými systémy ne jen bílé krabice PC na běžném stole nebo na přepážce bancky, ale i vestavná zařízení v autech, mobilních telefonech atd. Zde neplatí, že x86 je jediný používaný systém. Pokud tedy chcete skutečně přispívat do přenositelných open source projektů, měli by jste dokázat myslet i na to, jak psát programy přenositelně a k tomu je dobré mít představu i o tom, jak překládat kódy pro jiné architektury CPU, systémy atd. Zároveň to, že se naučíte nespoléhat na pevně daná pravidla ze světa x86 (little-endian, nezarovnané přístupy bez potíží, long a int 32 bitů, char 8 bitů, atd) oceníte ne jen při snaze portovat váš kód na malé mikrokontroléry, ale i pokud se budete snažit o portování vašeho kódu na 64-bitový 1024-procesorový PowerPC RISC systém pro výpočet globálního klimatu. Nežijte v omezené představě jeden prsten (CPU) vládne všem (oblastem výpočetní techniky).

3) Pokud si tedy dokážeme představit a vybrat CPU vhodné pro náš projekt, potřebujeme často nějaký operační systém. Ten by měl opět být pokud možno otevřený. Jádro systému GNU/Linux je pak velmi dobrým příkladem celkem úspěšného open source projektu, který je již natolik rozsáhlý, že na něm lze ukázat nutnost vzájemné organizace velkého množství vývojářů, vytváření a a zpětné integrace různých vývojových větví, potřebu nástrojů pro správu zdrojových kódů, automatickou tvorbu dokumentace a vůbec vývoj a fungování složitého přediva vztahů a pravidel potřebných k tomu, aby takový projekt šel koordinovat a přinášel výsledky. Opět i to, že tyto záležitosti jsou probírány na úrovni jádra operačního systému, má tu výhodu, že vám umožní psát kód, který lépe operační systém využije. Ve cvičeních se pak objevuje práce s tímto rozsáhlým projektem proto, že si sami můžete na popisované věci sáhnout a vidět je v reálném nasazení.

4) Jak daleko od těchto základů se dokážeme v předmětu dostat záleží pak především na zájmu studentů. Čím více se budeme vzdalovat od HW a operačního systému, tak množství různých projektů, knihoven, frameworků košatí, takže se spíš jedná o sondy a přehledy v různých směrech, než možnost nějakého koncepčního procházení všech dostupný open source projektů a kompletního seznámení a odzkoušení všech možností.

5) Projekt a systém GNU a R. M. Stallman jsou pak ikony open source a i díky nim se podařilo tuto myšlenku rozšířit a objasnit
velkým společnostem jako je IBM, HP, Intel. Překladač GNU, další vývojové nástroje a knihovny z projektu GNU a Linuxové jádro je dnes již nedílnou součástí této symbiózy. Zároveň při výkladu a rozboru filozofie a vývoje těchto projektů lze ukázat ne jen na obrovské výhody a možnosti otevřeného přístupu, ale i diskutovat o problémech a případných nedostatcích.

6) ve cvičeních pak předpokládám, že kontakt s projektem Linuxové jádro je zajímavý, ukazuje jak používat různé nástroje pro práci se zdrojovými kódy, historií v GIT repositářích,  pro navigaci v tak rozsáhlém projektu atd. Co se týče vlastního projektu v dalších týdnech, tak nízkoúrovňové programování není podmínkou. Ideální je ovšem pracovat na rozumě velké komponentě, která bude založená na nějakém open source projektu a bude vytvářená tak, aby dosáhla požadovaných kvalit pro zpětné začlenění do původního projektu. To je velmi těžký úkol, je nutné naučit se často potlačit vlastní ego, hledat cesty, jak buď základ projektu ovlivnic co nejméně a jen přidat komponentu splňující projektem daná pravidla nebo provést takové změny v celém rozsahu projektu, které budou vyhovovat většině komunity. Co se projektů týče, tak si si představuji jak práci v oblasti nových pluginů v Javě do Eclipse, widgetů pro Qt a jiné grafické knihovny, programů na zpracování třeba map. obrázků atd až po tvorbu ovladačů a nebo úprav otevřeného bez systémového firmware MP3 přehrávačů (projekt ROCBOX).

To je můj pohled na předmět a důvody proč se mi zdají současné osnovy rozumné. Zároveň mám osobní zkušenosti
s open source projekty, integrací vlastní práce a interakcí s komunitou především z nižších programátorských úrovní,
GCC, kernely Linux, RTEMS a další, vestavné systémy a grafika a drivery pro ně, atd.

Rád si poslechnu kritiku.
Bohužel na brouzdání po fórech mám většinou opravdu málo času. Názory studentů mě ale v každém případě zajímají.
Takže připomínky a kritiku napište do fóra, ale pošlete mi i upozornění e-mailem.

S pozdravem,

                Pavel Píša
                Katedra řídicí techniky
                pisa zavináč fel tečka cvut tečka cz

PS: omluvte případné překlepy, příští týden zde nejsem a musím toho ještě hodně dořešit.

9

Re: Open source - OI SI

Ing. Pavel Píša (pisa) napsal:

...


Dekuji za velmi vycerpavajici odpoved. Tvari se to pomerne zajimave. Jedina vec,c o em silne znepokojuje, je ono programovani v Ccku, ktere je potrebou pro predmet, protoze jsem osobne v Ccku programoval poprve a naposledy v predmetu PJC a od te doby jsem to nepotreboval (protoze jsem javista)....takze to bude pro me asi celkem problem :-)

And the people bowed and prayed
To the neon God they made.

10

Re: Open source - OI SI

Pavel Mička (mickap1) napsal:
Ing. Pavel Píša (pisa) napsal:

...


Dekuji za velmi vycerpavajici odpoved. Tvari se to pomerne zajimave. Jedina vec,c o em silne znepokojuje, je ono programovani v Ccku, ktere je potrebou pro predmet, protoze jsem osobne v Ccku programoval poprve a naposledy v predmetu PJC a od te doby jsem to nepotreboval (protoze jsem javista)....takze to bude pro me asi celkem problem :-)

Ale nebude. Jak jinak se naucit programovaci jazyk nez praci na zajimavem problemu. Neco jineho je, kdyz se student uci programovat z nuly. Ale kdyz uz nejaky programovaci jazyk znate, navic v Ccku uz jste neco maleho delal. Vubec bych se nebal.

TS

11

Re: Open source - OI SI

Je zajímavé se po letech k některé diskuzi vrátit. Téma mi připomnělo shrnutí výsledků následující studie

Linux hnací silou pracovních příležitostí v IT, Linuxexpres / OpenMagazin Červenec-Srpen, 2012, ISSN: ISSN 1804-1426

Studie může být ovlivněná, její vznik je svázaný s The Linux Foundation - 2012 Linux Jobs Report, ale portfolio oslovených 2300 respondentů bude pokrývat většinu velkých IT firem a respondenti budou z databáze Dice.com, což agentura zabývající se výzkumem a zprostředkováním pracovních příležitostí v komunitách odborníků/profesionálů obecně.

Diskuze zpět k tématu:

Při zavádění i výuce předmětů zaměřených na open-source i na základy architektury počítačových systémů se často setkáváme i s názory, že takové sprosté věci jako je HW a CPU do portfólia znalostí budoucích hvězd v oblasti tvorby korporátních aplikací nepatří.
I předmět A4M35OSP byl na základě názorů studentů a garantů nakonec z původního záměru zabývat se především stavbou open-source systémů transformován více směrem k obecnému povídání a návodům jak využívat dostupné zdrojové kódy, tvořit obecné aplikace atd. Je pravda, že posun tímto směrem nebyla volba špatná, i když sám raději předávám technické znalosti s konkrétními příklady než vytvářím obecné povídání o konceptech.

Přesto si myslím, že právě v dnešní době je dobrá vertikální znalost/představa o fungování počítačového systému nutností a pro pochopení a správné využití vrstev vyšších. Je nutné znát omezení a vlastnosti služeb nad kterými jsou vyšší vrstvy postavené. To si v dnešní době uvědomují i ve velkých firmách a hlubší znalost systému Linux je požadovaná. Zároveň s nástupem Androidu a dalších vestavných systémů s jádrem Linux narůstá výrazně poptávka po vývojářích se znalostí jádra OS a schopností provést jeho adaptaci nebo doplnění o drivery.

Takže by mě zajímaly především komentáře těch, kteří před zavedením předmětu proti výuce a zabývání se těmito oblastmi bojovali. V dnešní době by již měli být na počátku své kariéry a podávat nám cennou zpětnou vazbu o tom, co od nich práce v prestižních firmách vyžaduje.

Naposledy upravil: pisa (19.08.2012 13:07:00)

12

Re: Open source - OI SI

Možná by stačilo vypustit slovo "programování" z názvu předmětu a nahradit ho nějakým jiným, např. "komunity", popravdě řečeno mě momentálně nic nenapadá, prostě aby z názvu bylo pro všechny jasné, že samotné programování není ta hlavní věc.

Pavel Píša (pisa) napsal:

Při zavádění i výuce předmětů zaměřených na open-source i na základy architektury počítačových systémů se často setkáváme i s názory, že takové sprosté věci jako je HW a CPU do portfólia znalostí budoucích hvězd v oblasti tvorby korporátních aplikací nepatří.

Vždyť přece na tenhle způsob jsou všechny jazyky typu C# a Java vedeny - aby jeden a ten samý program fungoval na počítači i s jiným procesorem a programátorovi o nižších úrovních stačilo vědět naprosté minimum (např. design patterny ohledně výkonu). A dále vzroste efektivita práce - na stejnou aplikaci potřebujete méně času pro naprogramování v C# než v C.

Obávám se, že pokud studenti předmětu jsou čistě javisti resp. "C#-isti", pak je nemožné jim nějak nastínit jak fuguje překladač C. Očekával bych, že se spíše bude jednat o lidi z oboru Softwarové inženýrství.

Pavel Píša (pisa) napsal:

Zároveň s nástupem Androidu a dalších vestavných systémů s jádrem Linux narůstá výrazně poptávka po vývojářích se znalostí jádra OS a schopností provést jeho adaptaci nebo doplnění o drivery.

Androidu bych se raději zcela úplně vyhnul.

Naposledy upravil: meloumar (29.08.2012 18:38:12)

13

Re: Open source - OI SI

Martin Meloun (meloumar) napsal:

Vždyť přece na tenhle způsob jsou všechny jazyky typu C# a Java vedeny - aby jeden a ten samý program fungoval na počítači i s jiným procesorem a programátorovi o nižších úrovních stačilo vědět naprosté minimum (např. design patterny ohledně výkonu).

Tyto jazyky a technologie slouží k tomu, aby se programátor těmi nižšími úrovněmi nemusel neustále zabývat, ne aby o nich nemusel vědět.

Naposledy upravil: messnpet (17.09.2012 11:56:36)

14

Re: Open source - OI SI

Zhodnocení předmětu Open Source Programování https://support.dce.felk.cvut.cz/osp/ po osmi letech a jeho zrušení pro nedostatečný zájem a horší hodnocení - vyhodnocuje průměrem z odpovědí bez váhy na celkový prospěch studentů a dává tedy často velkou moc průměrným.

Předmět OSP přivedl mnoho lidí k přispění do open-source projektů. http://rtime.felk.cvut.cz/osp/projects/

Když někdo měl o projekt zájem a opravdu prokázal schopnosti tak mohl pokračovat po nastartování dále.

Například Přemysl Houdek přispěl do operačního systému RTEMS https://www.rtems.org/ přidáním podpory procesorů TMS570 určených pro bezpečnostní aplikace. Systém RTEMS je používaný Evropskou Vesmírnou Agenturou a NASA ve systémech řících satelity nebo třeba v  Argonne National Laboratory https://www.anl.gov/ , obdoba evropského CERNu. Jeho práce http://rtime.felk.cvut.cz/osp/student/houdepre/

Projekt byl natolik kvalitní, že na něj organizace RTEMS požádala o grant Google Summer of Code Google Summer of Code a za práci odvedenou přes prázdniny si vydělal 5500 USD. Dále pokračoval diplomovou prací a výsledky byly do projektu zařazené https://www.openhub.net/p/rtems/contrib … 1950157937https://devel.rtems.org/wiki/TBR/BSP/Tms570

Projekt podpory mikrokontrolérů TMS570 pro RTEMS byl nadále použitý jako základ pro přípravu platformy pro prostředí s nízkou úrovní radiace (to je prostředí v pojmu CERN, kde běžné procesorové systémy selhávají, ale systémy s ECC a lock-step mají přijatelnou chybovost, nebo spíš počet restartů bez propagace chyby dále) https://indico.cern.ch/event/489996/con … Poster.pdf

Další předmětem oslovení studenti se stali důležitými spolupracovníky a později doktorandy skupiny do které jsem na Katedře řídicí techniky před jejím odchodem patřil a ještě do minulého roku mě na stránkách uváděli. Někteří s těch studentů, co je předmět zaujal, postupně přešli na pozice vývojářů ve firmách jako je Avast, CZ.nic (správce aktualizací a firmware úspěšných routerů Turris https://www.turris.cz/ , a několik dalších) atd. Někteří z kolegů, kteří jsou již mimo školu jsou ochotní a vidí smysl v tom, že mi přijdou na pomoc i s výukou a směřováním předmětu Architektury počítačů atd.

Zajímavá historická osa v podstatě od roku, kdy se předmět učil naposledy.

* 2015 Společnost Microsoft přechází s kompletní platformou Dot Net na otevřený vývojový model
  * [Oficiální vývojový strom .NET v prostředí GitHub](https://github.com/Microsoft/dotnet)

* 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](http://www.linuxfoundation.org/news-med … ional-open)

* 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](http://www.cs.princeton.edu/~mfreed/doc … osys14.pdf)*,
  autorů Xiaozhou Li, David G. Andersen, Michael Kaminsky, Michael J. Freedman.
  (poznámka: použití Cuckoo Hashing a RCU jsou důvody, proč autoritativní doménový server z českého CZ.nic ( Knot DNS https://www.knot-dns.cz/ ) překonává výkonově veškerou konkurenci)

* 24 května 2017 Zveřejnil Brian Harry ve své sérii článků o [Git Virtual File System - GVFS](https://github.com/Microsoft/GVFS) popis závěrečné fáze obměny koncepce správy zdrojových kódů operačního systému Microsoft Windows
  * [The largest Git repo on the planet](https://blogs.msdn.microsoft.com/bharry … he-planet/),
  autor Brian Harry.

* Listopad 2017 V seznamu [500 nejvýkonnějších](https://www.top500.org) 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](http://www.zdnet.com/article/linux-tota … computers/)

* Říjen 2018 Microsoft nakupuje webowou službu a kopletní systém pro vývoj a správu projektů ve verbovacím systému Git [GitHub](https://github.com/). Viz článek [Microsoft finalizes its $7.5 billion GitHub acquisition](https://www.zdnet.com/article/microsoft … quisition/)

* Prosinec 2019 Televize CNBC s téměř 100 milióny platících zákazníků publikuje krátký filmem [The Rise Of Open-Source Software](https://www.youtube.com/watch?v=SpeDK1TPbew)

CBNC napsal:

Open-source software powers nearly all the world’s major companies. This software is freely available, and is developed collaboratively, maintained by a broad network that includes everyone from unpaid volunteers to employees at competing tech companies. Here’s how giving away software for free has proven to be a viable business model.

Většina dnešních studentů používá chytré telefony s operačním systémem Android založeném na open-source projektech a využívající jádro Linux. Předmět OSP se ve svém čase pokoušel i suplovat zcela nedostatečnou úroveň znalostí studentů z bakalářského programu o nižších softwarových vrstvách, viz odmítavá reakce studenta na začátku a zdroj některé kritiky.  V současné době se již značná část těchto základních znalostí vyučuje v předmětu operační systémy.

Myslím, že stojí za to porovnat mé názory před 8 lety a reakce tehdejších studentů.

Přitom sám jsem s GNU/Linuxem začínal někdy okolo jádra 1.1.14 (okolo roku 1992, 3 nebo 4).

Když jsem se prvně setkal se (dnes profesorem) Zdeňkem Hanzálkem, tak bral partu lidí se zájmem o GNU/Linux spíš jako blázny a shovívavě se usmíval, věřil korporátní řešení. Pomáhal jsem portovat jeho diplomantům drivery CAN na VxWorks atd.

Pak jsme začali v roce  2002 v oddělaní pana profesora řešit IST projekt OCERA. Vedoucí z české technologická firmy (která mimo jiné dodávala řídicí jednotky do Pendolina atd.) viděli v projektu, kde si pár akademiků bude hrát s GNU/Linuxem na VME PowerPC systémech, spíš jako příležitost se dostat ke grantovým penězům. Když jsem pár let předtím o Linuxovém jádře říkal na výstavě jednomu z jejích zakladatelů (pana Bártu jsem znal již od své práce na unixovém systému PMDS 85 z roku 1988), tak se vysloveně smál.

Během práce na projektu přestal být jimi používaný real-time system OS 9 (komerční, proprietární a bez zdrojích kódů) dodavatelem podporovaný a zákazníci bez zdrojových kódů neměli možnost dále systém udržovat a přidávat nutnou podporu novějšího hardware. V roce 2005, kdy projekt OCERA končil, tak již byl hlavní operační systém používaný v dané firmě pro vestavné procesory GNU/Linux.

Doporučuji i dnešním studentům uvažovat o tom, co jim umožní získat znalosti, které jim za 10, 20 let budou užitečné.

Určitě se jedná o teoretické základy (matematiku, fyziku, teorii řízení, algoritmy atd.) ale i o základy procesové techniky atd. I když to poslední si lze doma dostudovat pro ty schopné z kvalitních učebnic a zdrojů snadněji něž tu čistou teorii, na kterou je průvodce většinou nutný.

Zároveň bych rád upozornil, že v pokrokových firmách (jako je třeba i Google ale i v mnoha firmách v ČR, třeba i tam, kde pracují mí kolegové a studenti) tak není až tak důležitý dojem na oddělení Human resources (pokud ho vůbec mají), ale přijde základní otázka

- Talk is cheap. Show me the code. [Linus Torvalds]
Reply https://www.openhub.net/accounts/ppisa

Předmět jako bylo Open Source Programování byl tedy pro získaní takového zajímavého místa dobrým odrazovým můstkem.

Zároveň bych zde rád poděkoval všem svým studentům, kteří v předmětu vynaložili úsilí a měli radost z toho, že se mohou zapojit do světa sdílení znalostí a radosti a přeji jim, aby i nadále mohli výsledky své práce sdílet. Plně respektuji i volbu těch, kteří se rozhodnou pro prostředí zaměřené na zisk i za cenu uzavřených a na NDA založených řešení a přeji jim, aby si radost a sdílení užili při zájmových aktivitách a pokud mi je jasně naznačeno (jimi nebo vedoucími, pro které chtějí pracovat), že je svými názory odvádím od jejich štěstí, tak budu respektovat, že je nemám kontaktovat do té doby, pokud mě nekontaktují sami.

PS: zápisek byl daný především chutí upozornit na v pátek objevené to zajímavé video The Rise Of Open-Source Software, ale mezi vlákny fóra jsem nalezl toto, kam se vysloveně reakce hodí.

Naposledy upravil: pisa (12.01.2020 21:33:00)