Portál AbcLinuxu, 1. května 2025 18:50

Je Linus génius?

19.8.2005 18:15 | Přečteno: 1222× | Plané filozofování | poslední úprava: 19.8.2005 18:16

Všichni známe Linuse, je to přece tvůrce Linuxu. Samotné stvoření tohoto kusu software nepovažuji za nějaký geniální počin. Jedná se o reimplementaci známé věci - unixu, který v 70. letech navrhli v AT & T. A navrhli to zatraceně dobře. Linus je prostě "jen" výborný programátor, který podle známých standardů jako POSIX vytvořil vlastní implementaci. Taky je jistě dobrý projekt-manažer, protože nedopustil, aby se vývoj ocitl v chaosu poté, co se na něj přes internet nabalila spousta lidí a firem.

Ta geniální záhada se totiž nejmenuje Linux, ale git...

Konfigurační management ve dvou větách :-)

Rozumné projekty obvykle používají nějaký systém na správu zdrojového kódu, správu verzí. Tyto systémy fungují tak, že spravují nějaké centrální úložiště. Vývojář si typicky z úložiště stáhne aktuální verzi projektu (check-out), provede nějaké změny a zase projekt uloží do úložiště (check-in, commit). Základním úkolem úložiště je spravovat verze (modifikace) souborů a umožnit návrat ke starším verzím.

Nejstarší a nejpoužívanější program pro správu verzí je CVS. Je to velmi starý (z osmdesátých let) systém, ale na většinu projektů stačí, je to de-facto standard. Druhým mně nejznámějším programem je Subversion (SVN). Jeho vývoj začal někdy kolem roku 2000 a verze 1.0 byla vydána v roce 2004. Jedná se v podstatě o pokračovatele CVS s tím, že řeší některé jeho problémy a umí něco navíc (přejmenování souboru v repozitáři se zachováním historie, atomické commity).

Geniální git?

Některým projektům, jako třeba vývoj jádra Linux, CVS nebo SVN nestačí. Pro vývoj kernelu se hodí distribuovaný systém pro správu verzí. Jde o to, že každý check-out vytvoří vlastně klon mateřského úložiště. Případný check-in je vlastně sloučení dvou úložišť. Vývojáři jádra totiž udržují několik úložišť, ve kterých zkouší různé modifikace a tyto modifikace si pak mezi sebou různě posílají. Proto hackeři používali na správu verzí nástroj BitKeeper, který všechny požadované věci uměl. Z důvodů, kterými se zde nechci zabývat, ale byli nuceni BitKeeper opustit.

Vývojáři tedy byli v docela nepříjemné situaci. Potřebovali náhradu BitKeeperu, která ale neexistovala. Situaci vyřešil sám Linus Torvalds, když vyvinul svůj distribuovaný systém pro správu verzí a nazval ho git. To by samo o sobě nebylo nic tak neuvěřitelného, ale on to dokázal v nepochopitelně krátké době - řádově v měsících. Nejsem schopen zhodnotit, jak moc je git dospělý a použitelný, ale pravda je taková, že vývoj jádra 2.6 na něm běží a funguje to. A na KernelTrap se spekulovalo nad tím, zda by ho bylo možné nasadit na projekty jako SourceForge.

Linus zase provedl reimplementaci známého principu, který používal. A udělal to ďábelský rychle. Je to nějaký vyšší level programování, který nám obyčejným smrtelníkům zůstává utajen? Nějaké zaříkávání?

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

19.8.2005 18:26 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše SCCS
Odpovědět | Sbalit | Link | Blokovat | Admin
Pokud vim, tak nejstarsim systemem pro spravu verzi je SCCS (Source Code Control System). Prave ten vznikl na pocatku 80. let v Bellovych laboratorich. CVS vzniklo az o deset let pozdeji.
19.8.2005 18:30 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: SCCS
Takhle to aspon tvrdi Raymond. Podle Wikipedie je ale SCCS jeste o osm let starsi.
19.8.2005 18:46 paskma | skóre: 13 | blog: Paskmův blog
Rozbalit Rozbalit vše Re: SCCS
Ok, měl jsem na mysli "Nejstarší z běžně používaných.". Před CVS tu bylo samotné RCS a před tím určitě taky něco. Nicméně CVS je z poloviny 80. let, což je na SW slušný věk.
Yin avatar 19.8.2005 18:56 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
Rozbalit Rozbalit vše Re: SCCS
Pokiaľ viem ja... najstarší je RCS.
Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
19.8.2005 20:21 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: SCCS
Source Code Control System (SCCS) was the first source code revision control system. --Wikipedia

The first was SCCS, the original Source Code Control System developed by Bell Labs around 1980 and featured in System III Unix. --Eric S. Raymond

The superior open-source alternatives began with RCS (Revision Control System), born at Purdue University a few years after SCCS and originally distributed with 4.3BSD Unix. --Eric S. Raymond
19.8.2005 19:35 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: SCCS
Všichni by možná měli poděkovat Larrymu, že Linuse vysvobodil ze spárů CVS a shodou okolností vznikl git. Btw. v čem se ve své době změnil model vývoje jádra, že CVS najednou přestalo stačit?
Math, as Barbie says, is hard.
19.8.2005 19:35 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: SCCS
Překliknul jsem se - měl to být nový thread...
Math, as Barbie says, is hard.
19.8.2005 19:36 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: SCCS
CVS nestačilo nikdy. Tedy až na rané fáze, ale tehdy se nepoužíval žádný SSR.
19.8.2005 20:24 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: SCCS
Potom nechápu, proč od "začátku potíží" nevyvíjeli i SCM.
Math, as Barbie says, is hard.
19.8.2005 20:34 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: SCCS
Ne CVS, ale BitKeeperu. Zkoumat CVS sledováním paketů je sice možné, ale zbytečné :-). Larry se pokoušel napsat free BT klienta.
When your hammer is C++, everything begins to look like a thumb.
19.8.2005 23:32 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: SCCS
Trochu jinak. Larry (McVoy) je CEO BitMoveru a autor BitKeeperu. Psát free klienta pomocí sledování paketů by pro něj bylo ještě zbytečnější než u toho CVS .o)

Pokus o BK klienta má na svědomí Andrew Tridgell.

Larrymu ale každopádně za git vděčíme, protože to on potom vývojáře kernelu poslal do paďous...
^D
Yin avatar 19.8.2005 19:14 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
Rozbalit Rozbalit vše SCM - sumarizácia
Odpovědět | Sbalit | Link | Blokovat | Admin

komunikácia - typ komunikácie pri synchronyzácii. vetvy - ako sú tvorené barnch-e, vetvy vývoja SW. atom - atomické commity (ak sa nevykoná celý, nepoškodí DB) body - 0-10 v použiteľnosti a komforte, z vlastnej skúsenosti.

Better SCM Initiative stojí za koknutie.

Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
20.8.2005 02:35 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: SCM - sumarizácia
Na základě čeho sázíš ty body?
Copak toho není dost?
Yin avatar 20.8.2005 09:09 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
Rozbalit Rozbalit vše Re: SCM - sumarizácia
1-pokazil som nikedy repozítor? 1-ponechal som ho v nekonzistetntnom stve? 1-musi byt centralizovany? 1-Rozumeli kolegovia, ked som to vysvetloval? 1-vojde sa na prirucny dierny stitok (<1MB) 1-má Gui, pre _lami_ (ak to nevie ovladať lama, pre koho je určený?) 4+-schopnosti, potencial, dalsie moznosti, rychlost
Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
19.8.2005 22:49 honza
Rozbalit Rozbalit vše dabelsky rychle
Odpovědět | Sbalit | Link | Blokovat | Admin
no ze by to napsal sam ....

"GIT was initially written by Linus Torvalds with help of a group of hackers around the 'net."
19.8.2005 23:47 paskma | skóre: 13 | blog: Paskmův blog
Rozbalit Rozbalit vše Re: dabelsky rychle
To je skoro jedno. To, že vývoj trval měsíce zatímco konkurence potřebovala roky, zůstává faktem.
20.8.2005 09:53 Pmx
Rozbalit Rozbalit vše Re: dabelsky rychle
Meli cil, vedeli, co delaji a jak to ma fungovat, nemuseli to ty roky teprve zjistovat...

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.