Přejít k hlavnímu obsahu

Mojo je nově open source. Pythonu se nepodobá tolik, jak sliboval, zato míří přímo na GPU

Ilustrační obrázek
Mojo, programovací jazyk firmy Modular zaměřený na výkonné výpočty a umělou inteligenci, má nově otevřený zdrojový kód kompilátoru, vývojářských nástrojů a souvisejících komponent. Firma 18. srpna 2026 zveřejnila tyto části pod licencí Apache 2.0 s LLVM výjimkami. Po čtyřech letech vývoje s veřejnou standardní knihovnou, ale uzavřeným kompilátorem, se tak otevírá i nejdůležitější část samotného jazykového projektu, nikoli automaticky celá platforma Modular.

Pro čtenáře, který Mojo dosud nesledoval, je důležité jedno rozlišení: nejde o nový AI model ani o další chatbot. Mojo je programovací jazyk. Jeho smyslem je umožnit psát výkonný software pro procesory, grafické čipy a další akcelerátory bez toho, aby vývojář musel všechno řešit v C++ nebo přímo v CUDA.

Co přesně se otevřelo

Modular zveřejnil zdrojový kód Mojo kompilátoru, nástrojů a souvisejícího toolchainu v hlavním GitHub repozitáři Modular. Licence Apache 2.0 s LLVM výjimkami je permisivní licence, která dovoluje software používat, upravovat a distribuovat i v komerčních projektech. Pro firmy je to podstatně praktičtější než licence, která by vyžadovala zveřejnění celého navazujícího produktu.

Je tu ale drobný právní háček, který stojí za pozornost. GitHub repozitář a jeho příspěvky jsou licencované pod Apache 2.0 s LLVM výjimkami, zatímco širší platforma Modular, MAX a některé způsoby jejich používání a distribuce se řídí samostatnou Modular Community License. Open source tedy neznamená, že úplně každý produkt firmy má automaticky stejné licenční podmínky.

Zdrojový kód si může vývojář stáhnout a kompilátor sestavit lokálně pomocí systému Bazel. Modular uvádí například příkaz ./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo. To není instalace na dvě kliknutí jako u běžné aplikace, ale u kompilátoru jde o normální postup. Kdo nechce čekat na lokální sestavení, může využít také předpřipravený nightly build.

Mojo není jen „rychlejší Python“

Mojo vzniklo s ambicí stát se nadmnožinou Pythonu. Původní myšlenka byla jednoduchá: vývojář by mohl vzít existující Pythonový kód, postupně do něj doplnit typy a další konstrukce a získat výrazně lepší výkon. V praxi se ale ukázalo, že vytvořit jazyk, který bude současně plně kompatibilní s Pythonem a zároveň nabídne kontrolu známou ze systémových jazyků, není malý víkendový projekt.

V roce 2025 Modular svou dřívější vizi postupně upravila. Mojo už není prezentováno jako stoprocentní superset Pythonu, ale jako samostatný jazyk inspirovaný Pythonem. Zachovává známou syntaxi podmínek, cyklů a dalších konstrukcí, zároveň ale přidává statické typy, práci s pamětí, vlastnictví hodnot, parametrický kód a další prvky potřebné pro předvídatelný výkon.

Přirovnání k autům je tentokrát docela přesné. Python je pohodlný městský hatchback: rychle s ním vyrazíte a nemusíte řešit každý šroubek. C++ nebo CUDA připomínají závodní vůz, kde máte pod kontrolou téměř všechno, ale snadno zapomenete utáhnout něco důležitého. Mojo se snaží nabídnout pohodlnější kabinu Pythonu a část mechaniky závodního stroje pod kapotou.

Proč je otevřený kompilátor důležitý

U programovacího jazyka nestačí znát pouze syntaxi. Kompilátor rozhoduje o tom, jak se zdrojový kód přeloží do instrukcí pro konkrétní procesor nebo GPU. Pokud je kompilátor uzavřený, vývojář může jazyk používat, ale jen omezeně vidí, proč se program chová určitým způsobem, jaké optimalizace skutečně proběhly a co bude potřeba opravit.

Otevřený kompilátor proto přináší několik praktických výhod. Výzkumníci mohou kontrolovat implementaci a navrhovat úpravy. Výrobci hardwaru mohou lépe rozumět tomu, jak se jejich akcelerátory napojují na překladač. Firmy mohou posoudit riziko závislosti na jednom dodavateli. A komunita může hledat chyby přímo ve zdrojovém kódu, místo aby posílala problém do formuláře a čekala na odpověď.

Modular však současně upozorňuje, že příspěvky do Mojo kompilátoru a toolingové infrastruktury zatím nepřijímá. Veřejně se mluví o otevření tohoto procesu během roku 2026, což je oddělené od samotného zveřejnění zdrojového kódu. To znamená, že Mojo je nyní open source z hlediska dostupnosti zdrojového kódu, ale komunitní model vývoje kompilátoru se teprve dál buduje.

GPU bez každodenního zápasu s CUDA?

Hlavní technickou ambicí Mojo je usnadnit psaní takzvaných kernelů. Kernel je malý kus kódu, který se spouští paralelně na velkém množství jader GPU. Typickým příkladem je násobení matic, zpracování obrazu nebo výpočetní část neuronové sítě.

V klasickém AI stacku se vývojář často pohybuje mezi Pythonem, C++ a specializovanými rozhraními konkrétního výrobce čipu. Mojo chce tento svět sjednotit na úrovni jazyka a kompilátoru. Dokumentace uvádí podporu heterogenního sestavení, při kterém lze v jednom projektu generovat kód pro CPU i GPU. Kompilátor umí cílit například na NVIDIA přes CUDA, AMD přes HIP a Apple přes Metal.

To však neznamená, že Mojo automaticky vyřeší všechny problémy s akcelerátory. Vývojář stále musí rozumět paměťovým přenosům, paralelismu a vlastnostem konkrétního hardwaru. Jazyk může zjednodušit zápis, ale fyziku datového přenosu mezi CPU a GPU nepřemluví ani nejhezčí syntaxe.

Python zůstává důležitou součástí příběhu

Mojo umí spolupracovat s Pythonem a vytvářet například rozšíření, která lze načítat jako dynamické knihovny. To je důležité pro AI vývojáře, protože většina existujících knihoven, notebooků a pracovních postupů stále vzniká v Pythonu.

Kompatibilita ale není bez omezení. Oficiální dokumentace upozorňuje, že Python interoperability je stále aktivně vyvíjená. Některé typové převody vyžadují ruční práci, některé konstrukce nejsou podporovány a balíčky s dalšími závislostmi mohou vyžadovat ruční sestavení rozšíření. Přechod z Pythonu do Mojo proto připomíná spíše postupnou výměnu motoru za jízdy než stisknutí tlačítka „převést projekt“.

Pro praktické použití dává smysl začít u výkonově citlivé části aplikace. Například datová transformace, vlastní GPU kernel nebo předzpracování vstupů pro model může být kandidátem na přepis. Celý webový backend nebo notebook s několika řádky kódu není důvod okamžitě stěhovat do nového jazyka.

Jak si Mojo stojí proti Pythonu, C++ a Rustu

Python zůstává nejpohodlnější volbou pro rychlé experimenty a využívání existujícího AI ekosystému. Jeho slabinou je výkon v kritických smyčkách a závislost na nativních knihovnách, které často řeší rychlost za něj.

C++ a CUDA nabízejí velmi podrobnou kontrolu nad hardwarem a rozsáhlý ekosystém. Cena za to je vyšší složitost, delší vývoj a větší prostor pro chyby v paměti či paralelním kódu.

Rust přináší moderní práci s pamětí a bezpečnost, ale pro tento typ AI kernelů má méně přímo zaměřený ekosystém než nástroje kolem Mojo.

Mojo se snaží obsadit mezeru mezi těmito světy. Není náhradou Pythonu pro každého a není ani hotovou alternativou ke kompletnímu CUDA stacku. Je to pokus vytvořit jeden jazyk, ve kterém bude možné psát jak vyšší logiku, tak výkonné nízkoúrovňové části.

Dostupnost v Česku a cena

Mojo je dostupné také pro vývojáře v Česku a Evropské unii. Nejde o online službu s regionálním omezením, ale o nástroj, který se instaluje lokálně. Oficiálně podporuje Linux a macOS; na Windows funguje prostřednictvím WSL, protože nativní podpora Windows podle dokumentace zatím není k dispozici.

Pro vývoj je potřeba minimálně 8 GB operační paměti. GPU není povinné, Mojo lze používat i pro CPU programy a učení jazyka. Oficiální dokumentace a nástroje jsou primárně v angličtině, česká lokalizace není uváděna. Kompilátor a zdrojový kód jsou dostupné bez předplatného; samostatnou cenu za používání open-source Mojo Modular neuvádí. To ale neplatí automaticky pro komerční cloudové služby a další produkty platformy Modular.

Co z toho plyne pro vývojáře

Největší význam má otevření Mojo pro lidi, kteří řeší výkon AI aplikací, vývoj vlastních operací pro GPU, numerické výpočty nebo přenos kódu mezi různými typy akcelerátorů. Nově mohou podrobněji zkoumat celý překladový řetězec a stavět vlastní nástroje nad veřejně dostupným kompilátorem.

Pro běžného Pythonového vývojáře se dnes prakticky nemění nic. Nemusí přepisovat své skripty ani instalovat nový jazyk jen proto, že se objevil na GitHubu. Smysl dává počkat, až bude jasnější rozsah knihoven, stabilita integrace s Pythonem a tempo přijímání komunitních příspěvků do kompilátoru.

Mojo tak vstupuje do další fáze s několika silnými kartami: verzí Mojo 1.0, otevřeným kompilátorem, syntaxí blízkou Pythonu a přímým zaměřením na moderní hardware. Současně si nese limity mladého jazyka, zejména menší ekosystém a neúplnou kompatibilitu s Pythonem. Pro AI infrastrukturu může být zajímavým stavebním materiálem. Pro většinu běžných aplikací by dnes byl spíš novým nářadím v dílně, které je dobré mít po ruce, ale není nutné jím hned rozebrat celý dům.

FAQ

Je Mojo náhrada za Python?

Ne úplně. Mojo používá syntaxi inspirovanou Pythonem a umí s Pythonem spolupracovat, ale není jeho plně kompatibilní nadmnožinou. Jde o samostatný kompilovaný jazyk, který přidává statické typy, kontrolu paměti a konstrukce pro výkonný kód.

Potřebuji pro Mojo grafickou kartu?

Ne. Mojo lze používat i pouze s CPU. GPU je potřeba až pro programy, které skutečně využívají paralelní výpočty na akcelerátoru. Dokumentace uvádí podporu NVIDIA, AMD i Apple Silicon, přičemž konkrétní možnosti závisí na ovladačích a cílovém hardwaru.

Mohu Mojo použít ve Windows?

Ano, ale ne jako nativní Windows aplikaci. Oficiální dokumentace doporučuje použití Windows Subsystem for Linux, tedy WSL, s kompatibilním linuxovým prostředím.

Zdroje: oznámení Modularu o open source Mojo, Mojo 1.0, GitHub repozitář Modular, systémové požadavky, integrace s Pythonem.

Diskuze

Zatím žádné komentáře — buďte první, kdo se podělí o svůj názor.
X

Nezmeškejte novinky!

Přihlaste se k odběru novinek a aktualit.