Kratke informacije o projektu gnu. Kaj je GNU in GPL? UNIX-i, ki jih dobavljajo proizvajalci računalnikov

Prvotno objavljeno v knjigi Odprte kode. Richard Stallman je bil, vendar je prispeval ta članek, da ideje gibanja za prosto programsko opremo ne bi bile popolnoma odsotne iz te knjige.

Prva skupnost za skupno rabo programske opreme

Ko sem leta 1971 začel delati v laboratoriju za umetno inteligenco MIT, sem postal del skupnosti za izmenjavo programske opreme, ki je obstajala že vrsto let. Skupna raba programske opreme ni bila omejena na našo posebno skupnost; stara je kot računalniki, tako kot je deljenje receptov staro toliko kot kuhanje. Vendar nam je uspelo več kot večini.

Laboratorij za umetno inteligenco je uporabil operacijski sistem za deljenje časa, imenovan ITS (Incompatible Timesharing System), ki so ga hekerji iz laboratorija (1) oblikovali in napisali v asemblerskem jeziku za Digital PDP -10, enega velikih računalnikov tega obdobja. Kot član te skupnosti, sistemski heker osebja laboratorija AI, je bila moja naloga izboljšati ta sistem.

Svoje programske opreme nismo imenovali "prosta programska oprema", ker ta izraz še ni obstajal; ampak tako je bilo. Kadarkoli so ljudje z druge univerze ali podjetja želeli prenesti in uporabljati program, smo jim z veseljem dovolili. Če ste videli nekoga, ki uporablja nepoznan in zanimiv program, lahko vedno prosite za ogled izvorne kode, da jo lahko preberete, spremenite ali kanibalizirate njene dele, da naredite nov program.

(1) Uporaba "hekerja" za "varnostni vlomilec" je zmeda v množičnih medijih. Hekerji nočemo prepoznati tega pomena in še naprej uporabljamo besedo za označevanje nekoga, ki rad programira, nekoga, ki uživa v igrivi pametnosti, ali kombinacijo obojega. Oglejte si moj članek O hekanju.

Propad skupnosti

Razmere so se drastično spremenile v zgodnjih osemdesetih letih, ko je Digital ukinil serijo PDP-10. Njegova arhitektura, elegantna in močna v 60. letih, se ni mogla naravno razširiti na večje naslovne prostore, ki so postajali izvedljivi v 80. letih. To je pomenilo, da so bili skoraj vsi programi, ki so sestavljali ITS, zastareli.

Skupnost hekerjev AI ​​Lab je že nedolgo prej propadla. Leta 1981 je odcepljeno podjetje Symbolics najelo skoraj vse hekerje iz laboratorija AI ​​Lab in izpraznjena skupnost se ni mogla vzdrževati. (Knjiga Hekerji, avtorja Steva Levyja, opisuje te dogodke in daje jasno sliko te skupnosti v njenem vrhuncu.) Ko je AI ​​Lab leta 1982 kupil nov PDP-10, so se njegovi skrbniki odločili za uporabo digitalnega" sistem neprostega časovnega zakupa namesto ITS.

Sodobni računalniki tega obdobja, kot sta VAX ali 68020, so imeli lastne operacijske sisteme, vendar nobeden od njih ni bil brezplačna programska oprema: morali ste podpisati pogodbo o nerazkritju podatkov, tudi če ste dobili izvršljivo kopijo.

To je pomenilo, da je bil prvi korak pri uporabi računalnika obljuba, da ne bo pomagala sosedu. Sodelujoča skupnost je bila prepovedana. Pravilo lastnikov lastniške programske opreme je bilo: »Če deliš s sosedom, si pirat. Če želite kakršne koli spremembe, nas prosite, da jih naredimo.

Zamisel, da je družbeni sistem lastniške programske opreme – sistem, ki pravi, da programske opreme ne smete deliti ali spreminjati – antisocialen, da je neetičen, da je preprosto napačen, je lahko za nekatere bralce presenečenje. Kaj pa drugega lahko rečemo o sistemu, ki temelji na delitvi javnosti in ohranjanju uporabnikov v nemoči? Bralci, ki se jim zdi zamisel presenetljiva, so družbeni sistem lastniške programske opreme morda vzeli kot samoumevno ali pa so ga presojali na podlagi pogojev, ki jih predlagajo podjetja z lastniško programsko opremo. Založniki programske opreme so se dolgo in trdo trudili prepričati ljudi, da obstaja samo en način za pogled na težavo.

Ko založniki programske opreme govorijo o »uveljavljanju« svojih »pravic« ali »ustavitvi piratstva«, kaj dejansko počnejo reči je drugoten. Pravo sporočilo teh izjav je v neizrečenih predpostavkah, ki jih jemljejo za samoumevne in jih javnost prosi, da sprejmejo brez preverjanja. Zato jih preučimo.

Ena od predpostavk je, da imajo podjetja, ki se ukvarjajo s programsko opremo, nedvomno naravno pravico do lastništva programske opreme in imajo tako moč nad vsemi uporabniki. (Če bi bila to naravna pravica, potem ne bi mogli ugovarjati, ne glede na to, koliko škode povzroča javnosti.) Zanimivo je, da ameriška ustava in pravna tradicija zavračata to stališče; avtorska pravica ni naravna pravica, ampak umetni monopol, vsiljen s strani vlade, ki omejuje naravno pravico uporabnikov do kopiranja.

Druga neizrečena predpostavka je, da je edina pomembna stvar pri programski opremi, katera dela vam omogoča – da nam uporabnikom računalnikov ne bi smelo biti vseeno, kakšno družbo smemo imeti.

Tretja predpostavka je, da ne bi imeli uporabne programske opreme (ali nikoli ne bi imeli programa za opravljanje tega ali onega posebnega dela), če podjetju ne bi ponudili moči nad uporabniki programa. Ta domneva se je morda zdela verjetna, preden je gibanje za brezplačno programje pokazalo, da lahko izdelamo veliko uporabne programske opreme, ne da bi jo oklevali.

Če zavrnemo sprejetje teh predpostavk in presojamo ta vprašanja na podlagi navadne zdrave morale, medtem ko postavljamo uporabnike na prvo mesto, pridemo do zelo različnih zaključkov. Uporabniki računalnikov bi morali svobodno spreminjati programe, da ustrezajo njihovim potrebam, in svobodno deliti programsko opremo, saj je pomoč drugim osnova družbe.

Ostra moralna izbira

Ker moje skupnosti ni več, je bilo nemogoče nadaljevati tako kot prej. Namesto tega sem se soočil z ostro moralno izbiro.

Enostavna izbira je bila, da se pridružim svetu lastniške programske opreme, podpišem pogodbe o nerazkritju in obljubim, da ne bom pomagal svojemu kolegu hekerju. Najverjetneje bi prav tako razvijal programsko opremo, ki je bila izdana v skladu s pogodbami o nerazkritju, s čimer bi povečal pritisk na druge ljudi, da tudi izdajo svoje bližnje.

Na ta način bi lahko zaslužil denar in se morda zabaval s pisanjem kode. Vedel pa sem, da se bom ob koncu svoje kariere ozrl nazaj na leta gradnje zidov, ki so delili ljudi, in čutil, da sem svoje življenje porabil za to, da je svet slabši.

Imel sem že izkušnjo, da sem dobil pogodbo o nerazkritju podatkov, ko je nekdo meni in laboratoriju MIT AI Lab zavrnil izvorno kodo za nadzorni program za naš tiskalnik. (Pomanjkanje določenih funkcij v tem programu, ki uporablja tiskalnik, je zelo frustrirajoče.) Zato si nisem mogel reči, da so pogodbe o nerazkritju nedolžne. Bila sem zelo jezna, ko ni hotel deliti z nami; Nisem se mogel obrniti in narediti enako vsem drugim.

Druga izbira, preprosta, a neprijetna, je bila zapustiti računalniško področje. Tako moje sposobnosti ne bi bile zlorabljene, vendar bi bile še vedno zapravljene. Ne bi bil kriv za delitev in omejevanje uporabnikov računalnikov, a bi se to vseeno zgodilo.

Zato sem iskal način, kako lahko programer naredi nekaj za dobro. Vprašal sem se, ali obstaja program ali programi, ki bi jih lahko napisal, da bi spet omogočili skupnost?

Odgovor je bil jasen: najprej je bil potreben operacijski sistem. To je ključna programska oprema za začetek uporabe računalnika. Z operacijskim sistemom lahko počnete marsikaj; brez njega sploh ne morete zagnati računalnika. Z brezplačnim operacijskim sistemom bi lahko spet imeli skupnost sodelujočih hekerjev - in povabili vsakogar, da se pridruži. In vsakdo bi lahko uporabljal računalnik, ne da bi začel z zaroto, da bi prikrajšal svoje prijatelje.

Kot razvijalec operacijskega sistema sem imel ustrezne veščine za to delo. Torej, čeprav nisem mogel jemati uspeha kot samoumevnega, sem ugotovil, da sem bil izvoljen, da opravim to delo. Odločil sem se, da bo sistem združljiv z Unixom, tako da bo prenosljiv in da bodo uporabniki Unixa zlahka preklopili nanj. Ime GNU je bilo izbrano po hekerski tradiciji kot rekurzivni akronim za "GNU's Not Unix." Izgovarja se kot en zlog s trdim g.

Operacijski sistem ne pomeni samo jedro, komaj dovolj za poganjanje drugih programov. V sedemdesetih letih prejšnjega stoletja je vsak operacijski sistem, vreden tega imena, vključeval ukazne procesorje, sestavljalnike, prevajalnike, tolmače, razhroščevalnike, urejevalnike besedil, poštne programe in še veliko več. Imel jih je ITS, imel jih je Multics, imel jih je VMS in imel jih je Unix. Tudi operacijski sistem GNU bi jih vključeval.

Kasneje sem slišal te besede, pripisane Hillelu (1):

Če nisem zase, kdo bo zame?
Če sem samo zase, kaj sem?
Kdaj če ne zdaj?

Odločitev za začetek projekta GNU je temeljila na podobnem duhu.

(1) Kot ateist ne sledim nobenemu verskemu voditelju, vendar včasih ugotovim, da občudujem nekaj, kar je rekel eden od njih.

Svoboden kot v svobodi

Izraz "brezplačna programska oprema" je včasih napačno razumljen - nima nobene zveze s ceno. Gre za svobodo. Tukaj je torej definicija brezplačne programske opreme.

Program je brezplačna programska oprema za vas, določenega uporabnika, če:

  • Imate svobodo, da izvajate program, kot želite, za kateri koli namen.
  • Program lahko prilagodite svojim potrebam. (Da bo ta svoboda učinkovita v praksi, morate imeti dostop do izvorne kode, saj je spreminjanje programa brez izvorne kode izjemno težko.)
  • Imate svobodo pri redistribuciji kopij, bodisi brezplačno ali proti plačilu.
  • Imate svobodo distribucije spremenjenih različic programa, tako da lahko skupnost izkoristi vaše izboljšave.

Ker se "brezplačno" nanaša na svobodo, ne na ceno, ni protislovja med prodajo kopij in brezplačno programsko opremo. Pravzaprav je svoboda prodaje kopij ključnega pomena: zbirke brezplačne programske opreme, ki se prodajajo na CD-ROM-ih, so pomembne za skupnost in njihova prodaja je pomemben način zbiranja sredstev za razvoj brezplačne programske opreme. Zato program, ki ga ljudje ne smejo prosto vključiti v te zbirke, ni prosta programska oprema.

Zaradi dvoumnosti izraza »brezplačno« ljudje že dolgo iščejo alternative, a nihče ni našel boljšega izraza. Angleščina ima več besed in odtenkov kot kateri koli drug jezik, manjka pa ji preprosta, nedvoumna beseda, ki bi pomenila "svoboden", kot v svobodi - "neomejen" je beseda, ki je po pomenu najbližja. Takšne alternative, kot so "osvobojen", "svoboda" in "odprt", imajo napačen pomen ali kakšno drugo pomanjkljivost.

Programska oprema GNU in sistem GNU

Razvoj celotnega sistema je zelo velik projekt. Da bi bil dosegljiv, sem se odločil prilagoditi in uporabiti obstoječe dele brezplačne programske opreme, kjer koli je to mogoče. Na primer, že na začetku sem se odločil, da bom uporabil TeX kot glavni oblikovalnik besedila; nekaj let pozneje sem se raje odločil, da bom uporabil okenski sistem X, kot da bi pisal še en okenski sistem za GNU.

Zaradi teh odločitev in drugih podobnih odločitev sistem GNU ni enak zbirki celotne programske opreme GNU. Sistem GNU vključuje programe, ki niso programska oprema GNU, programe, ki so jih razvili drugi ljudje in projekte za lastne namene, vendar jih lahko uporabljamo, ker so prosta programska oprema.

Komuniciranje projekta

Januarja 1984 sem pustil službo na MIT in začel pisati programsko opremo GNU. Zapustitev MIT je bila nujna, da MIT ne bi mogel ovirati distribucije GNU kot proste programske opreme. Če bi ostal v osebju, bi MIT lahko trdil, da je lastnik dela, in bi lahko vsilil lastne distribucijske pogoje ali celo spremenil delo v lastniški programski paket. Nisem imel namena opraviti velike količine dela, samo da bi videl, da je postalo neuporabno za predvideni namen: ustvarjanje nove skupnosti za skupno rabo programske opreme.

Vendar me je profesor Winston, takrat vodja laboratorija MIT AI, prijazno povabil, naj še naprej uporabljam prostore laboratorija.

Prvi koraki

Malo pred začetkom projekta GNU sem slišal za Free University Compiler Kit, znan tudi kot VUCK. (Nizozemska beseda za "brezplačno" je napisana z a v.) To je bil prevajalnik, zasnovan za obdelavo več jezikov, vključno s C in Pascalom, in za podporo več ciljnih strojev. Pisal sem njegovemu avtorju in ga vprašal, ali ga GNU lahko uporablja.

Odzval se je porogljivo in izjavil, da je univerza brezplačna, prevajalnik pa ne. Zato sem se odločil, da bo moj prvi program za projekt GNU večjezični in večplatformski prevajalnik.

V upanju, da se bom izognil potrebi, da bi sam napisal celoten prevajalnik, sem dobil izvorno kodo za prevajalnik Pastel, ki je bil večplatformski prevajalnik, razvit v laboratoriju Lawrence Livermore. Podprt je in je bil napisan v razširjeni različici Pascala, zasnovanega kot sistemski programski jezik. Dodal sem sprednji del C in ga začel prenašati na računalnik Motorola 68000. Toda temu sem se moral odpovedati, ko sem ugotovil, da prevajalnik potrebuje veliko megabajtov skladovnega prostora, razpoložljivi sistem 68000 Unix pa bi omogočal le 64 k.

Nato sem spoznal, da prevajalnik Pastel deluje tako, da celotno vhodno datoteko razčleni v skladenjsko drevo, pretvori celotno skladenjsko drevo v verigo »navodil« in nato ustvari celotno izhodno datoteko, ne da bi pri tem sprostil kakršno koli shrambo. Na tej točki sem ugotovil, da bom moral napisati nov prevajalnik iz nič. Ta novi prevajalnik je zdaj znan kot GCC; v njem ni uporabljen noben prevajalnik Pastel, vendar mi je uspelo prilagoditi in uporabiti sprednji del C, ki sem ga napisal. Toda to je bilo nekaj let pozneje; najprej sem delal na GNU Emacs.

GNU Emacs

GNU Emacs sem začel delati septembra 1984 in v začetku leta 1985 je bil že uporaben. To mi je omogočilo, da sem začel uporabljati sisteme Unix za urejanje; ker se nisem zanimal za učenje uporabe vi ali ed, sem do takrat urejal na drugih vrstah strojev.

Na tej točki so ljudje začeli želeti uporabljati GNU Emacs, kar je sprožilo vprašanje, kako ga distribuirati. Seveda sem ga dal na anonimni ftp strežnik na računalniku MIT, ki sem ga uporabljal. (Ta računalnik, prep.ai.mit.edu, je tako postal glavna distribucijska stran GNU ftp; ko je bil nekaj let pozneje ukinjen, smo ime prenesli na naš novi strežnik ftp.) Toda takrat je veliko zainteresiranih ljudje niso bili na internetu in niso mogli dobiti kopije po ftp. Vprašanje je bilo torej, kaj naj jim rečem?

Lahko bi rekel: "Poiščite prijatelja, ki je na omrežju in ki vam bo naredil kopijo." Lahko pa bi naredil to, kar sem naredil z originalnim Emacsom PDP-10: rekel jim: "Pošljite mi trak in SASE, in poslal ga bom nazaj z Emacsom." Vendar nisem imel službe in sem iskal načine, kako zaslužiti z brezplačno programsko opremo. Zato sem napovedal, da bom poslal kaseto po pošti vsem, ki jo želijo, za plačilo 150 $. Na ta način sem začel z distribucijo brezplačne programske opreme, predhodnikom podjetij, ki danes distribuirajo celotne distribucije sistema GNU/Linux.

Je program brezplačen za vsakega uporabnika?

Če je program brezplačna programska oprema, ko zapusti roke svojega avtorja, to ne pomeni nujno, da bo brezplačna programska oprema za vsakogar, ki ima njegovo kopijo. Na primer, programska oprema v javni lasti (programska oprema, ki ni avtorsko zaščitena) je brezplačna programska oprema; vendar lahko vsakdo naredi njegovo lastniško spremenjeno različico. Podobno so številni brezplačni programi zaščiteni z avtorskimi pravicami, vendar se distribuirajo pod preprostimi dovoljenimi licencami, ki dovoljujejo lastniške spremenjene različice.

Paradigmatski primer tega problema je sistem X Window. Razvit na MIT in izdan kot brezplačna programska oprema z dovoljeno licenco, so jo kmalu sprejela različna računalniška podjetja. Svojim lastniškim sistemom Unix so dodali X samo v binarni obliki in zajeti v isti pogodbi o nerazkritju podatkov. Te kopije X niso bile nič bolj prosta programska oprema, kot je bil Unix.

Razvijalci sistema X Window tega niso imeli za težavo – pričakovali so in nameravali, da se bo to zgodilo. Njihov cilj ni bila svoboda, le »uspeh«, definiran kot »imeti veliko uporabnikov«. Ni jim bilo mar, ali imajo ti uporabniki svobodo, marveč le, da jih je veliko.

To je pripeljalo do paradoksalne situacije, ko sta dva različna načina štetja količine svobode dala različna odgovora na vprašanje: "Ali je ta program brezplačen?" Če bi sodili na podlagi svobode, ki jo zagotavljajo pogoji distribucije izdaje MIT, bi rekli, da je X brezplačna programska oprema. Toda če bi merili svobodo povprečnega uporabnika X-a, bi morali reči, da gre za lastniško programsko opremo. Večina uporabnikov X je uporabljala lastniške različice, ki so prišle s sistemi Unix, ne brezplačne različice.

Copyleft in GNU GPL

Cilj GNU je bil dati uporabnikom svobodo, ne le biti priljubljen. Zato smo morali uporabiti distribucijske pogoje, ki bi preprečili, da bi se programska oprema GNU spremenila v lastniško programsko opremo. Metoda, ki jo uporabljamo, se imenuje "copyleft".(1)

Copyleft uporablja zakon o avtorskih pravicah, vendar ga obrne, da bi služil nasprotnemu od običajnega namena: namesto sredstva za omejevanje programa postane sredstvo za ohranjanje svobode programa.

Osrednja ideja avtorskega leva je, da vsem damo dovoljenje za zagon programa, kopiranje programa, spreminjanje programa in distribucijo spremenjenih različic – vendar ne dovoljenja za dodajanje lastnih omejitev. Tako so ključne svoboščine, ki opredeljujejo "prosto programje", zagotovljene vsem, ki imajo kopijo; postanejo neodtujljive pravice.

Za učinkovit copyleft morajo biti tudi spremenjene različice proste. To zagotavlja, da postane delo, ki temelji na našem, na voljo naši skupnosti, če je objavljeno. Ko se programerji, ki delajo kot programerji, prostovoljno prijavijo za izboljšanje programske opreme GNU, je avtorsko levo tisto, kar njihovim delodajalcem preprečuje, da bi rekli: "Teh sprememb ne morete deliti z drugimi, ker jih bomo uporabili za izdelavo naše lastniške različice programa."

Zahteva, da morajo biti spremembe brezplačne, je nujna, če želimo zagotoviti svobodo za vsakega uporabnika programa. Podjetja, ki so privatizirala sistem X Window, so običajno naredila nekaj sprememb, da bi ga prenesla na svoje sisteme in strojno opremo. Te spremembe so bile majhne v primerjavi z velikim obsegom X, vendar niso bile trivialne. Če bi bilo spreminjanje izgovor za odrekanje svobode uporabnikom, bi lahko kdorkoli zlahka izkoristil izgovor.

S tem povezana težava se nanaša na kombiniranje brezplačnega programa z neprosto kodo. Takšna kombinacija bi bila neizogibno nesvobodna; katerakoli svoboščina manjka nesvobodnemu delu, bi manjkala tudi celoti. Če bi dovolili takšne kombinacije, bi odprli dovolj veliko luknjo, da bi potopili ladjo. Zato je ključna zahteva za copyleft zamašiti to luknjo: vse, kar je dodano ali kombinirano s programom copyleft, mora biti tako, da je večja kombinirana različica tudi prosta in copyleft.

Posebna implementacija avtorskega lefta, ki jo uporabljamo za večino programske opreme GNU, je GNU General Public License ali na kratko GNU GPL. Imamo druge vrste avtorskega lefta, ki se uporabljajo v posebnih okoliščinah. Priročniki GNU so prav tako zaščiteni z avtorskim levičarjem, vendar uporabite veliko preprostejšo vrsto avtorskega levičarstva, ker zapletenost GNU GPL ni potrebna za priročnike. (2)

(1) Leta 1984 ali 1985 mi je Don Hopkins (zelo domiseln fant) poslal pismo. Na kuverto je napisal več zabavnih besed, vključno s tem: "Copyleft - vse pravice obrnjene." Besedo "copyleft" sem uporabil za poimenovanje distribucijskega koncepta, ki sem ga takrat razvijal.

Zaposleni Free Software Foundation so napisali in vzdrževali številne programske pakete GNU. Dve pomembni sta knjižnica C in lupina. Knjižnica GNU C je tisto, kar vsak program, ki se izvaja v sistemu GNU/Linux, uporablja za komunikacijo z Linuxom. Razvil ga je Roland McGrath, član osebja Free Software Foundation. Lupina, ki se uporablja v večini sistemov GNU/Linux, je BASH, Bourne Again Shell(1), ki jo je razvil uslužbenec FSF Brian Fox.

Financirali smo razvoj teh programov, ker projekt GNU ni bil le orodje ali razvojno okolje. Naš cilj je bil popoln operacijski sistem in ti programi so bili potrebni za ta cilj.

(1) »Bourne Again Shell« je poigravanje z imenom »Bourne Shell«, ki je bila običajna lupina v Unixu.

Brezplačna programska podpora

Filozofija brezplačne programske opreme zavrača določeno splošno razširjeno poslovno prakso, vendar ni proti poslu. Ko podjetja spoštujejo svobodo uporabnikov, jim želimo uspeh.

Prodaja kopij Emacsa dokazuje eno vrsto poslovanja z brezplačno programsko opremo. Ko je FSF prevzel ta posel, sem potreboval drug način za preživetje. Našel sem ga pri prodaji storitev v zvezi z brezplačno programsko opremo, ki sem jo razvil. To je vključevalo poučevanje predmetov, kot sta programiranje GNU Emacs in prilagajanje GCC, ter razvoj programske opreme, večinoma prenos GCC na nove platforme.

Danes vsako od teh vrst poslovanja z brezplačno programsko opremo izvajajo številne korporacije. Nekateri distribuirajo zbirke brezplačne programske opreme na CD-ROM-u; drugi prodajajo podporo na ravneh, od odgovorov na vprašanja uporabnikov do odpravljanja napak in dodajanja večjih novih funkcij. Začenjamo opažati celo podjetja brezplačne programske opreme, ki uvajajo nove izdelke brezplačne programske opreme.

Vendar pazite - številna podjetja, ki se povezujejo z izrazom "odprta koda", dejansko temeljijo svoje poslovanje na neprosti programski opremi, ki deluje z brezplačno programsko opremo. To niso podjetja za brezplačno programsko opremo, so podjetja za lastniško programsko opremo, katerih izdelki odvabljajo uporabnike stran od svobode. Te programe imenujejo »paketi z dodano vrednostjo«, kar prikazuje vrednote, za katere želijo, da jih sprejmemo: udobje nad svobodo. Če bolj cenimo svobodo, bi jih morali imenovati "svobodi odšteti" paketi.

Tehnični cilji

Glavni cilj GNU je biti prosta programska oprema. Tudi če GNU ne bi imel nobene tehnične prednosti pred Unixom, bi imel družbeno prednost, saj bi uporabnikom omogočal sodelovanje, in etično prednost, ki bi spoštovala svobodo uporabnika.

Vendar je bilo naravno uporabiti znane standarde dobre prakse za delo – na primer dinamično dodeljevanje podatkovnih struktur, da bi se izognili poljubnim fiksnim omejitvam velikosti, in ravnanje z vsemi možnimi 8-bitnimi kodami, kjer koli je bilo to smiselno.

Poleg tega smo zavrnili osredotočenost Unixa na majhno velikost pomnilnika, tako da smo se odločili, da ne podpiramo 16-bitnih strojev (jasno je bilo, da bodo 32-bitni stroji norma do konca sistema GNU) in da se ne trudimo za zmanjšanje porabe pomnilnika, razen če ta presega megabajt. V programih, za katere obravnavanje zelo velikih datotek ni bilo ključnega pomena, smo programerje spodbujali, da preberejo celotno vhodno datoteko v jedro, nato pregledajo njeno vsebino, ne da bi jim bilo treba skrbeti za V/I.

Te odločitve so mnogim programom GNU omogočile, da so v zanesljivosti in hitrosti presegli svoje primerke Unix.

Podarjeni računalniki

Ko se je ugled projekta GNU povečal, so ljudje začeli ponujati darovanje strojev, ki poganjajo Unix, za projekt. Ti so bili zelo uporabni, saj je bil najlažji način za razvoj komponent GNU, če to storite v sistemu Unix in zamenjate komponente tega sistema. Toda sprožili so etično vprašanje: ali je prav, da sploh imamo kopijo Unixa.

Unix je bil (in je) lastniška programska oprema in filozofija projekta GNU je rekla, da ne smemo uporabljati lastniške programske opreme. Toda z uporabo istega razmišljanja, ki vodi do zaključka, da je nasilje v samoobrambi upravičeno, sem sklenil, da je zakonita uporaba lastniški paket, ko je bilo to ključnega pomena za razvoj brezplačne zamenjave, ki bi drugim pomagala prenehati uporabljati lastniški paket.

A tudi če je bilo to opravičljivo zlo, je bilo še vedno zlo. Danes nimamo več kopij Unixa, ker smo jih nadomestili z brezplačnimi operacijskimi sistemi. Če operacijskega sistema stroja nismo mogli zamenjati z brezplačnim, smo namesto tega zamenjali stroj.

Seznam opravil GNU

Ko je projekt GNU napredoval in je bilo najdenih ali razvitih vse več sistemskih komponent, je sčasoma postalo koristno narediti seznam preostalih vrzeli. Uporabili smo ga za zaposlovanje razvijalcev, da bi napisali manjkajoče dele. Ta seznam je postal znan kot seznam opravil GNU. Poleg manjkajočih komponent Unixa smo našteli različne druge uporabne programske opreme in dokumentacijske projekte, ki bi jih po našem mnenju moral imeti resnično popoln sistem.

Danes (1) je na seznamu nalog GNU komaj kakšna komponenta Unix ostala – ta dela so bila opravljena, razen nekaj nepomembnih. Seznam pa je poln projektov, ki bi jih nekateri lahko imenovali »aplikacije«. Vsak program, ki pritegne več kot ozek razred uporabnikov, bi bilo koristno dodati operacijskemu sistemu.

Celo igre so vključene na seznam opravil – in so že od začetka. Unix je vključeval igre, zato bi seveda moral tudi GNU. Toda združljivost pri igrah ni bila težava, zato nismo sledili seznamu iger, ki jih je imel Unix. Namesto tega smo navedli spekter različnih vrst iger, ki bi bile uporabnikom morda všeč.

(1) To je bilo napisano leta 1998. V letu 2009 ne vzdržujemo več dolgega seznama opravil. Skupnost razvija brezplačno programsko opremo tako hitro, da ji sploh ne moremo slediti. Namesto tega imamo seznam projektov visoke prioritete, veliko krajši seznam projektov, za katere resnično želimo ljudi spodbuditi k pisanju.

Knjižnica GNU GPL

Knjižnica GNU C uporablja posebno vrsto avtorske levice, imenovano GNU Library General Public License (1), ki daje dovoljenje za povezovanje lastniške programske opreme s knjižnico. Zakaj narediti to izjemo?

Ne gre za načelo; ni načela, ki pravi, da so izdelki lastniške programske opreme upravičeni do vključevanja naše kode. (Zakaj bi prispevali k projektu, ki temelji na zavrnitvi delitve z nami?) Uporaba LGPL za knjižnico C ali katero koli drugo knjižnico je stvar strategije.

Knjižnica C opravlja generično delo; vsak lastniški sistem ali prevajalnik ima knjižnico C. Zato, če bi bila naša knjižnica C na voljo samo prosti programski opremi, prosti programski opremi ne bi prinesla nobene prednosti - le odvrnila bi uporabo naše knjižnice.

En sistem je pri tem izjema: v sistemu GNU (in to vključuje GNU/Linux) je knjižnica GNU C edina knjižnica C. Torej pogoji distribucije knjižnice GNU C določajo, ali je mogoče prevesti lastniški program za sistem GNU. Nobenega etičnega razloga ni, da bi dovolili lastniške aplikacije v sistemu GNU, toda strateško se zdi, da bi njihova prepoved bolj odvračala od uporabe sistema GNU kot pa spodbujala razvoj brezplačnih aplikacij. Zato je uporaba knjižnice GPL dobra strategija za knjižnico C.

Za druge knjižnice je treba strateško odločitev pretehtati za vsak primer posebej. Ko knjižnica opravi posebno nalogo, ki lahko pomaga pri pisanju določenih vrst programov, je njena izdaja pod licenco GPL in omejitev le na brezplačne programe način pomoči drugim razvijalcem brezplačne programske opreme, ki jim daje prednost pred lastniško programsko opremo.

Razmislite o GNU Readline, knjižnici, ki je bila razvita za zagotavljanje urejanja v ukazni vrstici za BASH. Readline je izdan pod navadno GNU GPL, ne pod Library GPL. To verjetno zmanjša količino, ki se uporablja Readline, vendar to za nas ni izguba. Medtem je bila vsaj ena uporabna aplikacija narejena za brezplačno programsko opremo, posebej zato, da bi lahko uporabljala Readline, in to je prava pridobitev za skupnost.

Razvijalci lastniške programske opreme imajo prednosti, ki jih ponuja denar; razvijalci brezplačne programske opreme morajo drug drugemu ustvarjati prednosti. Upam, da bomo nekega dne imeli veliko zbirko knjižnic, pokritih z GPL, ki nimajo na voljo nobene vzporednice z lastniško programsko opremo, ki bo zagotavljala uporabne module, ki bodo služili kot gradniki v novi brezplačni programski opremi, in dodala veliko prednost za nadaljnji razvoj brezplačne programske opreme.

(1) Ta licenca se zdaj imenuje manjša splošna javna licenca GNU, da bi se izognili ideji, da bi jo morale uporabljati vse knjižnice. Za več informacij glejte Zakaj ne bi smeli uporabljati nižje GPL za svojo naslednjo knjižnico.

Praskanje srbečice?

Eric Raymond pravi, da se "vsako dobro delo programske opreme začne s praskanjem razvijalčeve osebne srbečice." Morda se to včasih zgodi, vendar so bili številni bistveni deli programske opreme GNU razviti, da bi imeli popoln brezplačen operacijski sistem.Izhajajo iz vizije in načrta, ne iz impulza.

Na primer, razvili smo knjižnico GNU C, ker Unixu podoben sistem potrebuje knjižnico C, BASH, ker Unixu podoben sistem potrebuje lupino, in GNU tar, ker Unixu podoben sistem potrebuje program tar. Enako velja za moje lastne programe—prevajalnik GNU C, GNU Emacs, GDB in GNU Make.

Nekateri programi GNU so bili razviti za spopadanje s posebnimi grožnjami naši svobodi. Tako smo razvili gzip, ki je nadomestil program Compress, ki ga je skupnost izgubila zaradi patentov LZW. Našli smo ljudi, ki so razvili LessTif, pred kratkim pa smo začeli GNOME in Harmony, da bi rešili težave, ki jih povzročajo nekatere lastniške knjižnice (glejte spodaj). Razvijamo GNU Privacy Guard, ki bo nadomestil priljubljeno neprosto programsko opremo za šifriranje, ker uporabnikom ne bi bilo treba izbirati med zasebnostjo in svobodo.

Seveda so se ljudje, ki so pisali te programe, začeli zanimati za delo in različni ljudje so jim dodali številne funkcije zaradi lastnih potreb in interesov. Vendar programi ne obstajajo zato.

Nepričakovan razvoj dogodkov

Na začetku projekta GNU sem si predstavljal, da bomo razvili celoten sistem GNU in ga nato izdali kot celoto. Tako se ni zgodilo.

Ker je bila vsaka komponenta sistema GNU implementirana v sistem Unix, je vsaka komponenta lahko delovala v sistemih Unix že dolgo preden je obstajal celoten sistem GNU. Nekateri od teh programov so postali priljubljeni in uporabniki so jih začeli razširjati in prenašati - v različne nekompatibilne različice Unixa in včasih tudi v druge sisteme.

S tem postopkom so ti programi postali veliko močnejši in so k projektu GNU pritegnili sredstva in sodelavce. Verjetno pa je tudi odložil dokončanje minimalnega delujočega sistema za več let, saj so razvijalci GNU porabili čas za vzdrževanje teh vrat in dodajanje funkcij obstoječim komponentam, namesto da bi nadaljevali s pisanjem ene manjkajoče komponente za drugo.

GNU Hurd

Do leta 1990 je bil sistem GNU skoraj popoln; edina večja manjkajoča komponenta je bilo jedro. Odločili smo se, da bomo svoje jedro implementirali kot zbirko strežniških procesov, ki se izvajajo na Machu. Mach je mikrojedro, razvito na Univerzi Carnegie Mellon in nato na Univerzi v Utahu; GNU Hurd je zbirka strežnikov (tj. čreda GNU-jev), ki delujejo na vrhu Macha in opravljajo različna opravila jedra Unix. Začetek razvoja je bil odložen, saj smo čakali, da bo Mach izdan kot brezplačna programska oprema, kot je bilo obljubljeno.

Eden od razlogov za izbiro te zasnove je bil, da bi se izognili temu, kar se je zdelo najtežji del posla: razhroščevanje programa jedra brez razhroščevalnika na izvorni ravni, s katerim bi to naredili. Ta del posla je bil že opravljen v Machu in pričakovali smo, da bomo z GDB razhroščevali strežnike Hurd kot uporabniške programe. Vendar je trajalo veliko časa, da je bilo to mogoče, in izkazalo se je, da je večnitne strežnike, ki si pošiljajo sporočila, zelo težko odpraviti napake. Da bi Hurd dobro deloval, je trajalo več let.

Alix

Jedro GNU se prvotno ni smelo imenovati Hurd. Njegovo prvotno ime je bilo Alix – po ženski, ki je bila takrat moja ljubica. Ona, skrbnica sistema Unix, je poudarila, kako bi njeno ime ustrezalo običajnemu vzorcu poimenovanja za različice sistema Unix; v šali je svojim prijateljem rekla: "Nekdo bi moral poimenovati jedro po meni." Nič nisem rekel, ampak sem se odločil, da jo presenetim z jedrom z imenom Alix.

Ni ostalo pri tem. Michael (zdaj Thomas) Bushnell, glavni razvijalec jedra, je raje izbral ime Hurd in redefiniral Alix, da se nanaša na določen del jedra – del, ki bi ujel sistemske klice in jih obravnaval s pošiljanjem sporočil strežnikom Hurd.

Kasneje sva se z Alix razšla in ona je spremenila ime; neodvisno je bila zasnova Hurd spremenjena tako, da bi knjižnica C pošiljala sporočila neposredno strežnikom, zaradi česar je komponenta Alix izginila iz zasnove.

Toda preden so se te stvari zgodile, je njen prijatelj v izvorni kodi Hurd naletel na ime Alix in ji ga omenil. Tako je res imela priložnost najti jedro, poimenovano po njej.

Linux in GNU/Linux

GNU Hurd ni primeren za produkcijsko uporabo in ne vemo, ali bo kdaj. Zasnova, ki temelji na zmogljivostih, ima težave, ki izhajajo neposredno iz prilagodljivosti zasnove, in ni jasno, ali obstajajo rešitve.

Na srečo je na voljo drugo jedro. Leta 1991 je Linus Torvalds razvil jedro, združljivo z Unixom, in ga poimenoval Linux. Sprva je bila lastniška, leta 1992 pa jo je naredil za brezplačno programsko opremo; združitev Linuxa z ne povsem popolnim sistemom GNU je povzročila popoln brezplačen operacijski sistem. (Seveda je bilo njihovo združevanje precejšnje delo samo po sebi.) Zahvaljujoč Linuxu lahko danes dejansko izvajamo različico sistema GNU.

Izzivi v naši prihodnosti

Dokazali smo, da smo sposobni razviti širok spekter brezplačne programske opreme. To ne pomeni, da smo nepremagljivi in ​​neustavljivi. Zaradi številnih izzivov je prihodnost brezplačne programske opreme negotova; njihovo izpolnjevanje bo zahtevalo vztrajen trud in vzdržljivost, ki včasih traja več let. Zahtevala bo takšno odločnost, kot jo ljudje izkazujejo, ko cenijo svojo svobodo in je ne bodo dovolili nikomur vzeti.

Naslednji štirje razdelki obravnavajo te izzive.

Skrivna strojna oprema

Proizvajalci strojne opreme vedno bolj skrivajo specifikacije strojne opreme. To otežuje pisanje brezplačnih gonilnikov, tako da lahko Linux in XFree86 podpirata novo strojno opremo. Danes imamo popolne brezplačne sisteme, vendar jih jutri ne bomo imeli, če ne bomo mogli podpirati jutrišnjih računalnikov.

S to težavo se lahko spopadete na dva načina. Programerji lahko izvajajo obratno inženirstvo, da ugotovijo, kako podpreti strojno opremo. Ostali lahko izberemo strojno opremo, ki jo podpira brezplačna programska oprema; ko se naše število povečuje, bo tajnost specifikacij postala samouničujoča politika.

Povratni inženiring je veliko delo; ali bomo imeli dovolj odločne programerje, da se tega lotijo? Da - če smo zgradili močan občutek, da je prosta programska oprema stvar načela in da so neprosti gonilniki nedopustni. In ali bo veliko izmed nas porabilo dodaten denar ali celo malo več časa, da bomo lahko uporabljali brezplačne gonilnike? Da, če je odločenost imeti svobodo razširjena.

(Opomba iz leta 2008: ta težava velja tudi za BIOS. Obstaja brezplačen BIOS, LibreBoot (distribucija coreboot); težava je v pridobivanju specifikacij za stroje, tako da jih lahko LibreBoot podpira brez neprostih "blobov".)

Neproste knjižnice

Neprosta knjižnica, ki deluje na brezplačnih operacijskih sistemih, deluje kot past za razvijalce brezplačne programske opreme. Privlačne lastnosti knjižnice so vaba; če uporabljate knjižnico, se ujamete v past, saj vaš program ne more biti koristno del brezplačnega operacijskega sistema. (Strogo povedano, vaš program bi lahko vključili, vendar ne bo teči z manjkajočo knjižnico.) Še huje, če program, ki uporablja lastniško knjižnico, postane priljubljen, lahko zvabi druge nič hudega sluteče programerje v past.

Prvi primer te težave je bil komplet orodij Motif v 80. letih. Čeprav še ni bilo brezplačnih operacijskih sistemov, je bilo jasno, kakšno težavo jim bo kasneje povzročal Motif. Projekt GNU se je odzval na dva načina: s prošnjo posameznim projektom proste programske opreme, naj podpirajo brezplačne pripomočke X Toolkit in Motif, ter s prošnjo, naj nekdo napiše brezplačno zamenjavo za Motif. Delo je trajalo mnogo let; LessTif, ki so ga razvili Hungry Programmers, je šele leta 1997 postal dovolj močan, da podpira večino aplikacij Motif.

Med letoma 1996 in 1998 je bila v obsežni zbirki brezplačne programske opreme, namiznem KDE, uporabljena druga neprosta knjižnica orodij GUI, imenovana Qt.

Prosti sistemi GNU/Linux niso mogli uporabljati KDE, ker nismo mogli uporabljati knjižnice. Vendar pa so nekateri komercialni distributerji sistemov GNU/Linux, ki niso bili striktni glede brezplačne programske opreme, svojim sistemom dodali KDE – in ustvarili sistem z več zmogljivostmi, a manj svobode. Skupina KDE je aktivno spodbujala več programerjev k uporabi Qt in milijoni novih »uporabnikov Linuxa« nikoli niso bili izpostavljeni ideji, da je v tem problem. Situacija je bila videti mračna.

Skupnost brezplačne programske opreme se je na težavo odzvala na dva načina: GNOME in Harmony.

GNOME, okolje omrežnega objektnega modela GNU, je namizni projekt GNU. Leta 1997 ga je začel Miguel de Icaza in razvil s podporo Red Hat Software, GNOME je želel zagotoviti podobne zmogljivosti namizja, vendar z uporabo izključno brezplačne programske opreme. ima tudi tehnične prednosti, kot je podpora za različne jezike, ne samo za C++, vendar je bil njegov glavni namen svoboda: ne zahtevati uporabe kakršne koli neproste programske opreme.

Harmony je združljiva nadomestna knjižnica, zasnovana tako, da omogoča zagon programske opreme KDE brez uporabe Qt.

Novembra 1998 so razvijalci Qt napovedali spremembo licence, ki naj bi, ko bo izvedena, Qt postala brezplačna programska oprema. Ni mogoče biti prepričan, vendar mislim, da je bilo to delno posledica trdnega odziva skupnosti na problem, ki ga je Qt predstavljal, ko je bil neprost. (Nova licenca je neprijetna in nepravična, zato je še vedno zaželeno, da se izogibate uporabi Qt.)

Kako se bomo odzvali na naslednjo mamljivo nesvobodno knjižnico? Ali bo celotna skupnost razumela potrebo po izogibanju pasti? Ali pa se bomo mnogi od nas odrekli svobodi zaradi udobja in ustvarili velik problem? Naša prihodnost je odvisna od naše filozofije.

Programski patenti

Najhujša grožnja, s katero se soočamo, izvira iz programskih patentov, ki lahko za do dvajset let onemogočijo uporabo algoritmov in funkcij brezplačne programske opreme. Patenti za algoritem stiskanja LZW so bili vloženi leta 1983 in še vedno ne moremo izdati brezplačne programske opreme za izdelavo pravilno stisnjenih GIF-ov. Leta 1998 je bil brezplačen program za ustvarjanje stisnjenega zvoka MP3 odstranjen iz distribucije pod grožnjo patentne tožbe.

Obstajajo načini, kako se spopasti s patenti: lahko iščemo dokaze, da je patent neveljaven, in lahko iščemo alternativne načine za opravljanje dela. Toda vsaka od teh metod deluje le včasih; če oboje ne uspe, lahko patent prisili, da vsa brezplačna programska oprema nima nekaterih funkcij, ki jih uporabniki želijo. Po dolgem čakanju potečejo patenti (MP3 patenti naj bi potekli do leta 2018), a kaj bomo do takrat?

Tisti med nami, ki cenimo brezplačno programje zaradi svobode, bomo vseeno ostali pri brezplačnem programju. Uspelo nam bo opraviti delo brez patentiranih funkcij. Toda tisti, ki cenijo brezplačno programje, ker pričakujejo, da bo tehnično boljše, ga bodo verjetno poimenovali neuspeh, ko patent to zadrži. Čeprav je torej koristno govoriti o praktični učinkovitosti "bazarskega" modela razvoja ter zanesljivosti in moči nekatere brezplačne programske opreme, se ne smemo ustaviti pri tem. Govoriti moramo o svoboda in načelnost.

Brezplačna dokumentacija

Največja pomanjkljivost naših brezplačnih operacijskih sistemov ni v programski opremi, temveč pomanjkanje dobrih brezplačnih priročnikov, ki bi jih lahko vključili v naše sisteme. Dokumentacija je bistveni del vsakega programskega paketa; ko pomemben paket brezplačne programske opreme ne vsebuje dobrega brezplačnega priročnika, je to velika vrzel. Danes imamo veliko takih vrzeli.

Brezplačna dokumentacija je tako kot brezplačna programska oprema stvar svobode in ne cene. Merilo za brezplačen priročnik je skoraj enako kot za brezplačno programsko opremo: gre za to, da se vsem uporabnikom dajo določene svoboščine. Nadaljnja distribucija (vključno s komercialno prodajo) mora biti dovoljena, na spletu in na papirju, tako da lahko priročnik spremlja vsako kopijo programa.

Tudi dovoljenje za spreminjanje je ključnega pomena. Na splošno menim, da ni bistveno, da imajo ljudje dovoljenje za spreminjanje vseh vrst člankov in knjig. Na primer, mislim, da nisva dolžna dati dovoljenja za spreminjanje člankov, kot je ta , ki opisujejo naša dejanja in naše poglede.

Vendar obstaja poseben razlog, zakaj je svoboda spreminjanja ključna za dokumentacijo za brezplačno programsko opremo. Ko ljudje uveljavljajo svojo pravico do spreminjanja programske opreme in dodajanja ali spreminjanja njenih funkcij, bodo, če bodo vestni, spremenili tudi priročnik, tako da lahko zagotovijo natančno in uporabno dokumentacijo s spremenjenim programom. Nesvoboden priročnik, ki programerjem ne dovoljuje, da bi bili vestni in dokončali delo, ne izpolnjuje potreb naše skupnosti.

Nekatere vrste omejitev glede izvajanja sprememb ne predstavljajo težav. Na primer, zahteve po ohranitvi obvestila o avtorskih pravicah izvirnega avtorja, pogojev distribucije ali seznama avtorjev so v redu. Prav tako ni problem zahtevati, da spremenjene različice vključujejo obvestilo, da so bile spremenjene, celo, da imajo celotne razdelke, ki ne smejo biti izbrisani ali spremenjeni, dokler se ti razdelki ukvarjajo z netehničnimi temami. Tovrstne omejitve niso problem, ker ne preprečujejo vestnemu programerju, da priročnik prilagodi spremenjenemu programu. Z drugimi besedami, skupnosti brezplačne programske opreme ne preprečujejo, da bi v celoti uporabila priročnik.

Vendar mora biti vse mogoče spremeniti tehnične vsebino priročnika in nato rezultat distribuirati v vseh običajnih medijih po vseh običajnih kanalih; sicer pa omejitve ovirajo skupnost, priročnik ni brezplačen in potrebujemo še en priročnik.

Ali se bodo razvijalci brezplačne programske opreme zavedali in odločili izdelati celoten spekter brezplačnih priročnikov? Še enkrat, naša prihodnost je odvisna od filozofije.

Govoriti moramo o svobodi

Današnje ocene so, da je deset milijonov uporabnikov sistemov GNU/Linux, kot sta Debian GNU/Linux in Red Hat »Linux«. Brezplačna programska oprema je razvila tako praktične prednosti, da jo uporabniki uporabljajo izključno iz praktičnih razlogov.

Dobre posledice tega so očitne: več zanimanja za razvoj brezplačne programske opreme, več strank za podjetja brezplačne programske opreme in več možnosti za spodbujanje podjetij k razvoju komercialne brezplačne programske opreme namesto izdelkov lastniške programske opreme.

Toda zanimanje za programsko opremo raste hitreje kot zavedanje o filozofiji, na kateri temelji, kar vodi v težave. Naša sposobnost, da se soočimo z zgoraj opisanimi izzivi in ​​grožnjami, je odvisna od volje, da trdno stojimo za svobodo. Da bi zagotovili, da ima naša skupnost to voljo, moramo idejo razširiti na nove uporabnike, ko pridejo v skupnost.

Vendar nam to ne uspe: prizadevanja, da bi privabili nove uporabnike v našo skupnost, daleč presegajo prizadevanja, da bi jih naučili državljanske usmeritve naše skupnosti. Narediti moramo oboje in obe prizadevanji moramo ohraniti v ravnovesju.

"Odprtokodno"

Učenje novih uporabnikov o svobodi je postalo težje leta 1998, ko se je del skupnosti odločil, da preneha uporabljati izraz "brezplačna programska oprema" in namesto tega reče "odprtokodna programska oprema".

Nekateri, ki so bili naklonjeni temu izrazu, so se želeli izogniti zamenjavi "brezplačno" z "brezplačno" - veljaven cilj. Drugi pa so želeli opustiti načelni duh, ki je motiviral gibanje za prosto programsko opremo in projekt GNU, ter namesto tega pritegniti vodstvene delavce in poslovne uporabnike, od katerih se mnogi držijo ideologije, ki dobiček postavlja nad svobodo, nad skupnostjo, nad načelo Tako se retorika »odprte kode« osredotoča na možnost izdelave visokokakovostne in zmogljive programske opreme, vendar se izogiba idejam svobode, skupnosti in načel.

Revije »Linux« so jasen primer tega - polne so oglasov za lastniško programsko opremo, ki deluje z GNU/Linux. Ko se pojavi naslednji Motif ali Qt, ali bodo te revije programerje opozorile, naj se tega izogibajo, ali bodo zanj objavile oglase?

Podpora podjetij lahko prispeva k skupnosti na več načinov; če je vse ostalo enako, je koristno. Toda pridobivanje njihove podpore s še manj govorjenjem o svobodi in načelih je lahko katastrofalno; prejšnje neravnovesje med ozaveščanjem in državljansko vzgojo še poslabša.

»Brezplačna programska oprema« in »odprta koda« opisujeta bolj ali manj isto kategorijo programske opreme, vendar govorita različne stvari o programski opremi in o vrednotah. Projekt GNU še naprej uporablja izraz "prosta programska oprema", da izrazi idejo, da je pomembna svoboda, ne le tehnologija.

Poskusite!

Yodin aforizem ("Ni 'poskusiti'") zveni lepo, vendar zame ne deluje. Večino svojega dela sem opravil, medtem ko sem bil zaskrbljen, ali bom lahko opravil delo, in nisem bil prepričan, ali bi bilo dovolj za dosego cilja, če bi ga. A sem vseeno poskusil, saj med sovražnikom in mojim mestom ni bilo nikogar razen mene. Na presenečenje samega sebe mi je včasih uspelo.

Včasih mi ni uspelo; nekatera moja mesta so padla. Nato sem našel še eno ogroženo mesto in se pripravil na novo bitko. Sčasoma sem se naučil iskati grožnje in se postaviti mednje in svoje mesto ter klicati druge hekerje, da se mi pridružijo.

Dandanes pogosto nisem edini. V olajšanje in veselje je, ko vidim polk hekerjev, ki se kopajo, da bi obdržali linijo, in se zavedam, da bo to mesto morda preživelo – za zdaj. Toda nevarnosti so vsakokrat večje leta, zdaj pa je Microsoft izrecno ciljal na našo skupnost. Prihodnosti svobode ne moremo jemati za samoumevno. Ne jemljite je za samoumevno! Če želite obdržati svojo svobodo, jo morate biti pripravljeni braniti.

OSNOVNI STANDARDI

UNIX-i, ki jih dobavljajo proizvajalci računalnikov

avto operacijski sistem "Original"
Ned 1,2,10,... SunOS 4.1.2 BSD 4.3
Ned 10,20,1000 SunOS 5.5 SVR4.0
IBM RS/6000 AIX SV 3.2
HP Apollo 900 HP/UX 10 BSD 4.2 in SV 3.2
Zaporedje Dynix SV 4.0
Motorola 922 SVR4/88 SVR4.0
Najboljša-88 Bestix SV 3.1
DEC Ultrix BSD 4.2
DEC Alpha AXP OSF/1 BSD 4.3
Silikonska grafika SGCS IRIX 6.0

Z izbiro platforme avtomatsko dobimo z njo »svoj« UNIX. Morda je z vidika priročnosti in celovitosti uporabniškega in skrbniškega okolja najbolj prijeten AIX. In najpogostejši je Solaris 2.5 (seveda).

Pojav komercialnih izvedb Unixa je privedel do tako imenovanih vojn Unixa. Vsako od podjetij je v želji po premoči na trgu v svoj sistem vneslo nekatere lastnosti, lastne modifikacije in izboljšave, včasih celo z neposrednim ciljem, da svoj sistem loči od drugih na trgu. Razvojna podjetja so v prizadevanju za prednost pred tekmeci naredila spremembe tudi v aplikacijski programski vmesnik(API- Applications Programmer's Interface), - specifikacija nabora funkcij, ki jih morajo izpolnjevati razvijalci programske opreme, da so njihovi programi združljivi z operacijskim sistemom. To je še povečalo nekompatibilnost različnih različic Unixa in povzročilo nekompatibilnost programske opreme. razvili različni (vključno z neodvisnimi) dobavitelji.

Toda veliko hujša posledica vojn med različnimi različicami Unixa je bila ta, da je končala brezplačno izmenjavo izvorne kode, ki je tako olajšala hitro izboljšavo Unixa v zgodnjih fazah njegovega razvoja. Brez drugega modela za pridobivanje dobička od programske opreme, razen ohranjanja skrivnosti in popolnega nadzora nad razvojem komercialnega izdelka, je AT&T strogo prepovedal distribucijo izvorne kode. Grožnja s pravnim postopkom zaradi nezakonite distribucije trakov Unix ni bila dovolj privlačna. Tok novih idej z univerz je usahnil.

Da bi rešili to težavo, je bilo narejenih več poskusov standardizacije Unixa.

Prvo resno prizadevanje za standardizacijo različic API-ja (programskega vmesnika), razvitega za System V in Berkeley, je leta 1983 izvedla iniciativna skupina, imenovana /usr/group. Ko pa je število različic operacijskega sistema naraščalo, se je učinkovitost standarda zmanjševala in leto kasneje, leta 1985, je nastal standard POSIX (Portable Operating System Interface for Computing Environment).



Leta 1988 je bil razvit standard POSIX 1003.1-1988, ki je definiral aplikacijski programski vmesnik. Ta standard se pogosto uporablja v številnih operacijskih sistemih, vključno z arhitekturami, ki niso UNIX. Dve leti pozneje je bil standard sprejet kot standard IEEE (Inštitut za inženirje elektrotehnike in elektronike, še vedno obstaja) IEEE 1003.1-1990. Standard opredeljuje samo vmesnik, ne pa posebne organizacije, zato ne razlikuje med sistemskimi klici in knjižničnimi funkcijami, saj vse elemente programskega vmesnika imenuje preprosto funkcije.

Vsi poznejši standardi Unixa vključujejo POSIX in vse naslednje različice Unixa se držijo tega standarda. Edini večji dodatek, ki se je pozneje pojavil v jedru Unixa, so bile vtičnice, ki so prišle iz BSD.

Neprofitna organizacija, konzorcij X/Open (kasneje Open Group), ki so ga leta 1984 ustanovila številna evropska podjetja, je prevzela nalogo razvoja skupnega nabora vmesnikov operacijskega sistema, dogovorjenega med različnimi proizvajalci, in ustvarjanja resnično odprti sistemi, za katere bi bili stroški prenosljivosti aplikacij minimalni.

Leta 1992 se je pojavil dokument, znan kot X/OpenPortability Guide verzija 3 (XPG3), ki je vključeval POSIX 1003.1-1988 in standard za grafični sistem X Windows System, razvit na Massachusetts Institute of Technology (ZDA). Leta 1994 - XPG4.2.

Leta 1996 je z združitvijo X/Open in OSF nastal konzorcij The Open Group, ki je nadaljeval razvoj na področju odprtih sistemov, na primer nadaljnji razvoj uporabniškega vmesnika Common Desktop Environment, vmesnikov za porazdeljeno računalništvo okolje Distributed Computing Environment – ​​DCE itd.

(Ameriški nacionalni inštitut za standarde)

Leta 1989 je ameriški nacionalni inštitut za standarde odobril standard X3.159-1989 za programski jezik C. Standard določa sintakso, semantiko in vsebino standardne knjižnice.

GNU je združenje razvijalcev, ki ustvarjajo brezplačne programe najrazličnejših vrst.

GNU je projekt, ki je ustvaril številne brezplačne programe kot del svoje odprtokodne strategije.

Poleg tega ti programi zmorejo vse - od dela z datotekami do obdelave besedil, prevajalnik gcc (GNU C) pa je eden najbolj zanesljivih in učinkovitih prevajalnikov za UNIX. To omogoča, da skoraj vsak OS, podoben UNIX-u, opremite z brezplačno programsko opremo.

Kaj je GNU/Linux?

Ker je Linux le jedro, je takšna oprema nujna. Jedro je odgovorno za delo s pomnilnikom, diski in notranjimi napravami, vendar na primer nima urejevalnika besedil. Lahko pa izvaja druge programe. Zato je dopolnjevanje brezplačnega jedra z naborom brezplačnih programov videti zelo naravno. Rezultat je tandem GNU/Linux.

"Okrajšava GNU pomeni "GNU ni UNIX" (GNU - Not UNIX). Glavna ideja razvoja sistema GNU je njegova popolna razlika od UNIX-a. UNIX je vedno bil in ostaja lastniška programska oprema, kar pomeni, da prikrajša svoboda uporabnikov pri sodelovanju in nadzor nad našimi računalniki. Da bi postali svobodna računalniška skupnost, smo potrebovali brezplačen operacijski sistem. Nismo imeli dovolj denarja, da bi odkupili in naredili katerega koli od obstoječih sistemov brezplačnim, vendar smo " Imeli smo dovolj znanja in spretnosti, da smo ustvarili novo. Ustvarjanje GNU je bilo monumentalno delo. To smo storili v imenu naše in tudi vaše svobode."

Leta 1985 je R. Stallman napisal svoj slavni Manifest GNU (izšel je marca 1985 v številki Dr. Dobb's Journal) in ustanovil Free Software Foundation (FSF), dobrodelno fundacijo za razvoj brezplačne programske opreme. pozneje je začel dobavljati drugo brezplačno programje (tako znotraj kot zunaj projekta GNU) in prodajati priročnike zanje, kar je zagotovilo sredstva za razvoj projekta GNU. FSF je sprejemal donacije, vendar je večina prihodkov vedno izvirala iz prodaje izvodov. brezplačne programske opreme in povezanih storitev.

Razvoj brezplačne programske opreme je bil zelo pomemben korak, še pomembnejši pa je ustvarjanje splošne javne licence GNU (GPL). To ime v ruščino prevajajo različni avtorji na različne načine - Splošna javna licenca, Splošna javna licenca itd. Vendar se verjame, da Samo angleška različica te licence je pravno zavezujoča. Osnovna ideja GPL je, da mora imeti uporabnik naslednje štiri pravice (ali štiri svoboščine):

· Pravica izvajanja programa za kateri koli namen (svoboda 0)

· Pravica preučiti strukturo programa in jo prilagoditi svojim potrebam (svoboda 1), kar pomeni dostop do izvorne kode programa.

· Pravica do distribucije programa, možnost pomoči drugim (svoboda 2).

· Pravica do izboljšave programa in objave izboljšav v korist celotne skupnosti (svoboda 3), kar pomeni tudi dostop do izvorne kode programa.

Programsko opremo, distribuirano pod to licenco, je dovoljeno uporabljati, kopirati, spreminjati, spreminjati, prenašati ali prodajati spremenjene (ali nespremenjene) različice drugim na kakršen koli način, pod pogojem, da se rezultat takšne obdelave distribuira tudi pod licenco GPL. Zadnji pogoj je v tej licenci najpomembnejši in odločilni. Zagotavlja, da rezultati prizadevanj razvijalcev brezplačne programske opreme ostanejo odprti in ne postanejo del katerega koli izdelka s konvencionalno licenco. Prav tako razlikuje brezplačno programsko opremo od programske opreme, ki se distribuira brezplačno. Ena od zahtev te licence je, da ko prodajate programsko opremo z licenco GPL, morate dati izvorno kodo te programske opreme na voljo vsem, ki želijo dostop do nje. Po besedah ​​ustvarjalcev FSF licenca GPL "naredi programsko opremo brezplačno in zagotavlja, da bo ostala brezplačna."

Glavni cilj GPL je zaščititi brezplačno programje pred "privatizacijo". Vendar je treba opozoriti, da je zasnovan tako, da omogoča vse "poštene" načine zaslužka z brezplačno programsko opremo.To je zelo pomembna točka, na katero je treba posvetiti posebno pozornost. Ko se prvič seznanite z GPL, imate morda napačno prepričanje, da ta licenca na splošno prepoveduje kakršen koli način zaslužka s programsko opremo ali njenim razvojem. Pravzaprav GPL zlasti in FSF na splošno neposredno spodbujata podjetja, povezana z zagotavljanjem sorodnih storitev – usposabljanje, svetovanje in komercialno razmnoževanje programske opreme. To nam omogoča, da k sodelovanju pritegnemo tako korporacije kot ljudi, za katere so materialni interesi pomembnejši od moralnih spodbud.

Vsak uporabnik, ki je začel razumeti svet UNIX-u podobnih operacijskih sistemov in brezplačne programske opreme, bo verjetno naletel na okrajšave v naslovu.

GNU pomeni "GNU ni UNIX" in se nanaša na obsežen projekt, znotraj katerega se razvijajo različne sistemske knjižnice in aplikacije. Vse, kar je ustvarjeno v okviru tega projekta, je odprtokodno. To pomeni, da lahko vsakdo z ustreznim znanjem programiranja uporablja to kodo kot osnovo za lasten razvoj, pri čemer ima polno pravico, da jo spreminja in distribuira.

Programski izdelki, razviti v okviru projekta, dopolnjeni z jedrom sistema GNU Hard, so bili osnova polnopravnega operacijskega sistema, ki smo ga označevali tudi z izrazom GNU. Toda njegovo ustvarjanje, ki se je začelo leta 1990, do danes ni dokončano. Toda leta 1991 se je pojavila ideja Linusa Torvaldsa - jedro Linuxa. Tu je imel projekt GNU pomembno vlogo pri razvoju Linuxa kot operacijskega sistema. Navsezadnje sistem ni samo jedro, temveč celoten nabor sistemske programske opreme, vključno s knjižnicami, pripomočki, gonilniki in še veliko več. In prav razvoj udeležencev GNU, ki je bil uporabljen v povezavi z jedrom Linux, je svetu razkril prav tisti izdelek, ki zdaj uspešno tekmuje z Windows in MacOS. In imenuje se "GNU/Linux", prvi del pa je najpogosteje zavržen, kar je v splošnem primeru napačno.

Poleg programske opreme je projekt GNU ustvaril splošno javno licenco (GNU GPL), ki je postala glavna licenca v odprtokodnem svetu in se je široko uporabljala. Ureja distribucijo brezplačne programske opreme in je izjemno demokratičen. Navaja, da ima vsak uporabnik pravico spreminjati, distribuirati in uporabljati v svojih projektih izvorno kodo aplikacij, zajetih v tej licenci. Hkrati bodo tudi vsi podrejeni programi predmet GPL. Se pravi, razvijalec, ki uporablja odprto kodo, tudi producira odprto kodo in sama licenca je tako podedovana. To je obvezno pravilo, vendar obstajajo načini, kako zaobiti GPL in zapreti lastne kode na podlagi uporabljenih odprtih kod.

GNU in GPL, ki ju je ustvaril, sta močno vplivala na tehnološko industrijo. Brezplačna programska oprema je v svojo industrijo pritegnila ogromno število nadarjenih programerjev, ki tvorijo njeno največjo skupnost. Izdelki, ustvarjeni pod GPL, niso dobili le široke praktične uporabe, ampak so zahvaljujoč visokokakovostni in dostopni kodi postali tudi odlično učno poligon za milijone razvijalcev začetnikov. Koncept takšne izmenjave informacij in najglasnejša alternativa tradicionalnim avtorskim pravicam, čeprav ni očitna, sta omogočila razvoj programske opreme in trenutno dobiva zagon.

GNU 3DLDF podpira 3D risanje z izhodom v format MetaPost prek jezika, podobnega Metafontu. V prvi vrsti je namenjen zagotavljanju sredstev za ustvarjanje 3D vsebine za dokumente TeX, vendar lahko ustvari tudi animacije, ki vsebujejo besedilo, ki ga je vnesel TeX. (dok)

8sinhronizacija

8sync (izgovarja se osem-sync) je asinhrona programska knjižnica za GNU Guile. Uporablja ločena nadaljevanja, da se izogne ​​zmešnjavi povratnih klicev, rezultat pa je čista, lahko berljiva koda brez blokiranja. (dok)

a2ps

GNU a2ps pretvori skoraj vse v datoteko PostScript, pripravljeno za tiskanje. To doseže z možnostjo delegiranja datotek zunanjim upravljalcem, kot sta Groff in Gzip. Obravnava toliko korakov, kot je potrebnih za izdelavo lepo natisnjene datoteke. Vključuje tudi nekaj dodatnih zmožnosti za posebne primere, kot je izpis lepega tiskanja --help. (dok)

račun

GNU acct sistemskim skrbnikom omogoča, da določijo vzorce uporabe sistema. Zagotavlja informacije na primer o povezavah, izvedenih programih in uporabljenih sistemskih virih. (dok)

Acm

GNU ACM je simulator letenja, v katerem lahko igralci tekmujejo v zračnih bojih iz različnih računalnikov in pilotirajo dobro opremljena reaktivna letala, podobna F-16C Falcon ali MiG-29 Fulcrum. (dok)

Oglasi

GNU adns je knjižnica C, ki omogoča preprosto uporabo funkcije razreševanja DNS. Knjižnica je asinhrona, kar omogoča več hkratnih klicev. Paket vključuje tudi več pripomočkov ukazne vrstice za uporabo v skriptih. (dok)

živ

GNU Alive pošilja periodične pinge strežniku, na splošno za vzdrževanje povezave. (dok)

Anubis

Anubis je demon, ki se nahaja med poštnim uporabniškim posrednikom (MUA) in posrednikom za prenos pošte (MTA). Ko uporabnik v MUA pošlje pošto, se ta najprej posreduje Anubisu, ki izvede dodatno obdelavo sporočila, preden ga MTA posreduje v dostavo. Anubis lahko na primer spremeni glave ali telo sporočila ali šifrira ali podpiše sporočilo. (dok)

APL

GNU APL je brezplačen tolmač za programski jezik APL. Je implementacija standarda ISO 13751. (doc)

Arhimed

Archimedes je brezplačen paket za simulacije polprevodniških naprav. Namenjen je pomoči inženirjem pri oblikovanju in simulaciji submikronskih in mezoskopskih polprevodniških naprav, ki temeljijo na metodi Ensemble Monte Carlo. Sposoben je obdelati najrazličnejše materiale in strukture, ki so opisani s preprostimi skripti. (dok)

Aris

Aris je program za izvajanje logičnih dokazov. Podpira propozicionalno in predikatno logiko, kot tudi Boolovo algebro in aritmetično logiko. Poleg vnaprej določenih pravil sklepanja in enakovrednosti Aris podpira tudi sklicevanja na starejše dokaze. Njegova uporaba standardnih logičnih simbolov in naravni vmesnik za sklepanje olajšata uporabo začetnikom. (dok)

Artanis

GNU Artanis je ogrodje spletne aplikacije, napisano v shemi Guile. Ogrodje spletne aplikacije (WAF) je programsko ogrodje, ki je zasnovano za podporo razvoju dinamičnih spletnih mest, spletnih aplikacij, spletnih storitev in spletnih virov. Ogrodje je namenjeno zmanjšanju režijskih stroškov, povezanih z običajnimi dejavnostmi, ki se izvajajo pri spletnem razvoju. Artanis ponuja več orodij za spletni razvoj: dostop do baze podatkov, okviri za predloge, upravljanje sej, preslikava URL-jev za RESTful, predpomnjenje strani in drugo. (dok)

Aspell

Aspell je črkovalnik, ki ga lahko uporabljate kot knjižnico ali kot samostojen program. Pomembne značilnosti programa Aspell vključujejo njegovo popolno podporo dokumentov, napisanih v kodiranju UTF-8, in njegovo zmožnost uporabe več slovarjev, vključno z osebnimi. (dok)

AUCTeX

AUCTeX je integrirano okolje za izdelavo dokumentov TeX v Emacsu. Omogoča vstavljanje številnih različnih standardnih makrov TeX s preprostimi pritiski tipk ali izbiro menija. Ponuja vmesnik do zunanjih programov, kar vam omogoča prevajanje ali ogled vaših dokumentov znotraj Emacsa. AUCTeX ima tudi možnost vdelanega predogleda zapletenih TeX stavkov, kot so matematične formule. (dok)

Samodejna konf

Autoconf ponuja razvijalcu robusten nabor makrov M4, ki se razširijo v lupinsko kodo, da preizkusijo funkcije sistemov, podobnih Unixu, in samodejno prilagodijo svoj programski paket tem sistemom. Nastali lupinski skripti so samostojni in prenosljivi, uporabniku pa ni treba vedeti ničesar o Autoconf ali M4. (dok)

Autoconf-arhiv

Autoconf Archive je zbirka več kot 450 novih makrov za Autoconf, ki močno širi področje njegove funkcionalnosti. Te makre je kot brezplačno programsko opremo prispevala skupnost. (dok)

Avtogen

AutoGen je program za lažje vzdrževanje programov, ki vsebujejo velike količine ponavljajočega se besedila. Avtomatizira konstrukcijo teh delov kode in poenostavi nalogo ohranjanja sinhronizacije besedila. Vključuje tudi paket dodatkov, imenovan AutoOpts, ki je specializiran za vzdrževanje in dokumentacijo programskih možnosti. (dok)

Avtomake

Automake del sistema gradnje GNU za izdelavo datotek Makefile, skladnih s standardi. Zahteve za gradnjo se vnesejo v intuitivni obliki, nato pa Automake sodeluje s programom Autoconf za izdelavo robustne datoteke Makefile, ki poenostavi celoten postopek za razvijalca. (dok)

Avl

libavl zagotavlja veliko zbirko binarnega iskalnega drevesa in uravnoteženih drevesnih rutin za C. Ta drevesa nudijo vsaj O(log n) zmogljivost za običajno drage operacije, kot so iskanje, vstavljanje ali brisanje postavk iz podatkovne strukture. (dok)

Žoga in veslo

Ball and Paddle je klasična arkadna igra, v kateri uporabite veslo na dnu zaslona, ​​da žogo odbijate od opek v zgornjem delu in odstranite opeke, ko jih udarite. Kot nov preobrat je mogoče dogodke in atribute vseh predmetov (opeke, žoge itd.) skriptirati z GNU Guile. (dok)

Črtna koda

Črtna koda GNU je prilagodljivo orodje za izdelavo natisnjenih črtnih kod iz besedilnih nizov. Podpira različne standarde kodiranja in meritve velikosti. Črtne kode je mogoče izpisati v formatih PostScript ali Encapsulated PostScript. (dok)

Bash

Bash je ukazna lupina ali tolmač ukazne vrstice sistema GNU. Združljiv je z lupino Bourne Shell, vendar vključuje tudi uporabne funkcije iz lupine Korn Shell in C Shell ter lastne nove izboljšave. Omogoča urejanje ukazne vrstice, neomejeno zgodovino ukazov, lupinske funkcije in vzdevke ter nadzor opravil, medtem ko še vedno omogoča izvajanje večine skriptov sh brez spreminjanja. (dok)

Bayonne

Bayonne je telefonski strežnik projekta GNU Telephony. Ponuja razširljivo okolje za razvoj in uvajanje telefonskih rešitev s poudarkom na SIP. (dok)

Bazar

GNU Bazaar je sistem za nadzor različic, ki vam omogoča beleženje sprememb projektnih datotek skozi čas. Podpira tako porazdeljen potek dela kot tudi klasičen centraliziran potek dela. (dok)

bc je jezik za numerično obdelavo s poljubno natančnostjo. Vključuje interaktivno okolje za ocenjevanje matematičnih izjav. Njegova sintaksa je podobna sintaksi jezika C, zato je osnovna uporaba znana. Vključuje tudi dc, kalkulator za obratno poliranje. (dok)

B.F.D.

Binutils

GNU Binutils je zbirka orodij za delo z binarnimi datotekami. Morda sta najbolj opazna ld, povezovalnik, in as, sestavljalnik. Druga orodja vključujejo programe za prikaz informacij o binarnem profiliranju, seznam nizov v binarni datoteki in pripomočke za delo z arhivi. Vključena je tudi knjižnica bfd za delo z izvedljivimi in objektnimi formati. (dok)

Bizon

GNU Bison je generator razčlenjevalnikov za splošne namene. Lahko zgradi determinističen ali posplošen razčlenjevalec LR iz označene, kontekstno proste slovnice. Je dovolj vsestranski, da ima veliko aplikacij, od razčlenjevalnikov preprostih orodij do kompleksnih programskih jezikov. (dok)

Bool

GNU Bool je pripomoček za izvajanje iskanja besedila v datotekah z uporabo logičnih izrazov. Na primer, iskanje za hello AND world bi vrnilo datoteko, ki vsebuje frazo Hello, world! . Podpira stavka AND in OR ter stavek NEAR za iskanje besed, ki so v neposredni bližini druga druge. Uglajeno obravnava kontekst, pri čemer upošteva nove vrstice in spremembe odstavkov. Ima tudi robustno podporo za razčlenjevanje datotek HTML. (dok)

BPEL2oWFN

GNU BPEL2oWFN prevede spletno storitev, izraženo v jeziku izvajanja poslovnih procesov spletnih storitev (WS-BPEL), v odprto mrežo delovnega toka (oWFN). Dodatno lahko pretvori koreografijo BPEL4Chor v model Petrijeve mreže. Lastnosti Petrijevih mrež je mogoče učinkovito analizirati zaradi uporabe statične analize, da so modeli kompaktni. Na voljo so nadzor in analiza pretoka podatkov ter osnovna preverjanja zastojev in drugih podobnih lastnosti. (dok)

C-graf

GNU C-Graph je orodje za predstavitev teorije konvolucije. Tako lahko služi kot odlična pomoč študentom teorije signalov in sistemov pri vizualizaciji procesa konvolucije. Namesto da študenta prisili k pisanju kode, program ponuja intuitiven vmesnik z interaktivnimi pogovornimi okni, ki jih vodijo. (dok)

ccAudio

GNU ccAudio2 je prenosni razred C++ za delo z zvočnimi podatki z diska. Razredi se zavedajo endian in vsebine; Namesto da bi zvok obravnaval kot binarne podatke, ga ta knjižnica obravnava kot zaporedje vzorcev. Obdeluje lahko tudi podatke o metapodatkih. ccAudio2 podpira sun audio, neobdelane vzorce in RIFF kodirane zvočne podatke. (dok)

CCd2cue

GNU ccd2cue je predprocesor za programsko opremo za zapisovanje CD-jev, ki omogoča pretvorbo lastniškega formata CCD v format CUE, ki ga brezplačna programska oprema dobro podpira. Te datoteke se običajno distribuirajo s slikami CD-jev in se uporabljajo za opis, kako so skladbe razporejene na sliki. (dok)

Ccide

GNU Ccide je generator kode tabele odločitev za jezik C. To pomaga preprečiti neobvladljive in k napakam nagnjene verige ugnezdenih stavkov if-else. Namesto tega se odločitvene tabele vnesejo v intuitivni in lahko berljivi obliki, ki se nato razširi v prenosno kodo C. (dok)

ccRTP

GNU ccRTP je implementacija RTP, protokola za prenos v realnem času IETF. Primeren je tako za visoko zmogljive strežnike kot za osebne odjemalske aplikacije. Je prilagodljiv v svoji zasnovi, kar mu omogoča, da deluje kot ogrodje za ogrodje in ne le kot knjižnica za manipulacijo paketov. (dok)

ccScript

GNU ccScript3 je knjižnica za dodajanje izvajalnega sistema navideznega stroja za uporabo s/kot skriptnim ali zbirnim jezikom za sisteme v realnem času, ki jih poganjajo prehodi med stanja. (dok)

Cflow

GNU cflow analizira izvorne datoteke C in izdela graf, ki prikazuje nadzorni tok programa. Izpiše lahko graf v več slogih in v formatu POSIX ali v razširjenem formatu GNU. cflow vključuje tudi glavni način za Emacs za pregledovanje diagramov poteka, ki jih ustvari. (dok)

Cgicc

GNU cgicc je knjižnica C++, združljiva z ANSI, za pisanje aplikacij CGI, ki vsebuje podporo za FastCGI. Knjižnica podpira več funkcij, vključno z obdelavo podatkov GET in POST, obdelavo različnih podatkovnih vrst obrazcev in sprotno ustvarjanje HTML. (dok)

Šah

GNU Chess je šahovski motor. Omogoča vam, da tekmujete proti računalniku v igri šaha, bodisi prek privzetega terminalskega vmesnika bodisi prek zunanjega vizualnega vmesnika, kot je GNU XBoard. (dok)

Cim

Cim je prevajalnik GNU za Simulo, prvi objektno orientirani programski jezik. (dok)

Classpath

GNU Classpath nudi osnovne knjižnice za virtualne stroje in prevajalnike Java. Združljiv je z velikim odstotkom jezikovnih specifikacij API-ja in zagotavlja široko paleto funkcionalnosti. (dok)

CLISP

GNU CLISP je implementacija ANSI Common Lisp. Common Lisp je visokonivojski, objektno usmerjen funkcionalni programski jezik. CLISP vključuje tolmač, prevajalnik, razhroščevalnik in še veliko več. (dok)

Združite

GNU combine združuje datoteke na podlagi skupnega ključa v zgoščevalni tabeli. Videti je lahko kot podoben, čeprav veliko močnejši od standardnega pripomočka za pridružitev. Za razliko od pridružitve se lahko na podlagi najdenih ujemanj združi poljubno število datotek. combine ima tudi druge napredne funkcije, kot sta razčlenjevanje datuma in prehod po imeniku. (dok)

[u]Navadni C++

GNU Common C++ je prenosljivo, optimizirano razredno ogrodje za navojne aplikacije, ki podpira sočasno sinhronizacijo, medprocesne komunikacije prek vtičnic in različne metode za obdelavo podatkov, kot sta serializacija in razčlenjevanje XML. Vključuje knjižnico uCommon C++, manjšo ponovno implementacijo. (dok)

Kompleksnost

Kompleksnost GNU nudi orodja za iskanje postopkov, ki so zapleteni, predolgi ali drugače težko razumljivi. To lahko pomaga pri učenju ali pregledovanju neznane kode ali morda pri poudarjanju lastne kode, ki se je zdela razumljiva, ko ste jo napisali. (dok)

Config

Skript config.guess poskuša uganiti kanonični sistemski trojček, config.sub pa potrdi in kanonizira. Ti se uporabljajo kot del konfiguracije v skoraj vseh paketih GNU (in mnogih drugih). (dok)

Coreutils

GNU Coreutils vključuje vsa osnovna orodja ukazne vrstice, ki se pričakujejo v sistemu POSIX. Ti zagotavljajo osnovne funkcije za upravljanje datotek, lupine in besedila sistema GNU. Večina teh orodij ponuja razširjeno funkcionalnost, ki presega tisto, ki je opisana v standardu POSIX. (dok)

Cpio

GNU cpio kopira datoteke v ali iz arhivov cpio ali tar. Dejansko je podprtih veliko formatov, vključno s podedovanimi formati. Format samodejno določi program in se ustrezno obravnava. Poleg tega lokacija arhiva ni pomembna. Lahko je druga datoteka na pogonu, trak ali podatki na cevi. (dok)

Cppi

GNU Cppi obdeluje datoteke izvorne kode C, da pravilno zamakne direktive predprocesorja, da odraža njihovo gnezdenje. Izvaja tudi druge standardizacije, kot je popravljanje števila presledkov med direktivami in besedilom, ki jim sledi. (dok)

CSSC

GNU CSSC zagotavlja zamenjavo za stari sistem za nadzor izvorne kode Unix SCCS. To omogoča dostop do stare kode, ki je še vedno v tem sistemu, in njeno selitev v sodobne sisteme. (dok)

Cursynth

GNU cursynth je polifonični sintetizator, ki deluje grafično v terminalu. Zgrajen je na motorju subtraktivne sinteze z vsemi funkcijami. Note in spremembe parametrov je mogoče vnesti prek MIDI ali računalniške tipkovnice. (doc)

Dap

GNU Dap je statistični in grafični paket. Lahko bere programe, napisane za lastniški statistični sistem SAS. Njegova sintaksa je podobna, vendar preprostejša od C, zaradi česar je opravljanje večine opravil razmeroma enostavno, hkrati pa še vedno zagotavlja napredne grafične zmogljivosti. (dok)

Datamash

Izvedite osnovne numerične, besedilne in statistične operacije na datotekah z navadnim besedilom. Zasnovan za delo v standardnih cevovodih brez dodatne kode. (dok)

DDD

GNU DDD, razhroščevalnik podatkovnega prikaza, je grafični vmesnik za razhroščevalnike v ukazni vrstici. Podprtih je veliko zalednih razhroščevalnikov, zlasti razhroščevalnik GNU, GDB. Poleg običajnih funkcij za odpravljanje napak, kot je ogled izvornih datotek, ima DDD dodatne grafične, interaktivne funkcije za pomoč pri odpravljanju napak. (dok)

ddrescue

GNU ddrescue je popolnoma avtomatizirano orodje za obnovitev podatkov. Kopira podatke iz ene datoteke v drugo in si prizadeva za reševanje podatkov v primeru napak pri branju. Program vključuje tudi orodje za manipulacijo svojih dnevniških datotek, ki se uporabljajo za učinkovitejše obnavljanje podatkov z branjem samo potrebnih blokov. (dok)

DejaGnu

DejaGnu je ogrodje za testiranje programske opreme. Pravzaprav služi kot sprednji del za vse teste, napisane za program. Tako ima lahko vsak program več preskusnih zbirk, ki jih nato vse upravlja en sam snop. (dok)

Denemo

GNU Denemo je urejevalnik glasbenih zapisov, ki ponuja priročen vmesnik za zmogljiv program za graviranje glasbe Lilypond. Glasbo lahko vnesete s tipkovnico računalnika, jo predvajate s tipkovnico MIDI ali celo vnašate prek mikrofona, priključenega na zvočno kartico. Končni izdelek je glasbeni zapis v izdajni kakovosti, ki se neprestano ustvarja v ozadju med vašim delom. (dok)

dia

Dico

GNU Dico implementira prilagodljiv slovarski strežnik in odjemalca v skladu z RFC 2229 (DICT Server). Zahvaljujoč svoji modularni strukturi lahko dostopa do katere koli baze podatkov, ki je na voljo, ne glede na format. Novi moduli so lahko napisani v C, Guile ali Python. Dico vključuje tudi odjemalca ukazne vrstice, ki se lahko uporablja za poizvedovanje po oddaljenih bazah podatkov slovarjev. (dok)

Dikcija

Paket, ki ponuja dva klasična ukaza Unix, slog in dikcijo. Dikcija se uporablja za prepoznavanje besednih in pogosto zlorabljenih fraz v besedilu. Slog namesto tega analizira površinske vidike pisnega dela, kot so dolžina stavka in drugi ukrepi berljivosti. (dok)

Diffutils

GNU Diffutils je paket, ki vsebuje orodja za iskanje razlik med datotekami. Ukaz diff se uporablja za prikaz, kako se dve datoteki razlikujeta, medtem ko cmp prikazuje odmike in številke vrstic, kjer se razlikujejo. diff3 vam omogoča primerjavo treh datotek. Končno sdiff ponuja interaktivno sredstvo za spajanje dveh datotek. (dok)

Dioniz

GNU Dionysus je priročen sistem za hitro pridobivanje vrednosti matematičnih konstant, ki se uporabljajo v znanosti in tehniki. Vrednosti lahko iščete s preprostim orodjem ukazne vrstice, pri čemer izbirate med tremi zbirkami podatkov: univerzalne konstante, atomska števila in konstante, povezane s polprevodniki. (dok)

Direvent

Daemon, ki nadzoruje imenike za dogodke, kot so ustvarjanje, brisanje ali spreminjanje datotek. Spremlja lahko različne nize imenikov za različne dogodke. Ko je dogodek zaznan, direvent pokliče določen zunanji program z informacijami o dogodku, kot je lokacija v datotečnem sistemu, kjer se je zgodil. Direvent tako omogoča preprost način za takojšen odziv, če se dane datoteke spremenijo, na primer za sledenje spremembam v pomembnih konfiguracijskih datotekah sistema. (dok)

Dominion

GNU Dominion je igra simulacije sveta za več igralcev. V njej vsak igralec vlada državi in ​​mora obdržati svojo državo kljub konkurenci drugih igralcev. Igralci morajo sprejemati politične, gospodarske, vojaške in diplomatske odločitve, da lahko njihovi narodi preživijo. Ta igra je namenjena igranju igralcev z dostopom do istega računalniškega sistema. (dok)

Easejs

ease.js je klasično objektno orientirano ogrodje za JavaScript, katerega namen je odpraviti kodo, ki je v osnovi pripravljena, in olajšati prehod na JavaScript iz drugih objektno orientiranih jezikov. (dok)

Ed je vrstično usmerjen urejevalnik besedila: namesto da bi ponudil pregled dokumenta, ed ureja eno vrstico naenkrat. Izvaja se lahko tako interaktivno kot prek lupinskih skriptov. Njegova metoda vnosa ukazov omogoča avtomatizirano izvajanje zapletenih nalog. GNU ed ponuja več razširitev v primerjavi s standardnim pripomočkom. (dok)

EDMA

GNU EDMA je razvojno okolje, ki združuje ideje iz objektno usmerjenega programiranja in sistemov, ki temeljijo na komponentah. Uporablja se za gradnjo modularnih, razvijajočih se aplikacij in komponent za večkratno uporabo. EDMA ponuja priročno sredstvo za gradnjo objektno usmerjenih programov v C, ne da bi potrebovali C++. Prav tako ima edinstven sistem komponent, za razliko od drugih sistemov, ki temeljijo na komponentah brezplačne programske opreme in posnemajo zasnovo lastniških primerkov. Vključuje grafični čarovnik, gidfwizard, orodje za gradnjo datotek z definicijami vmesnika GNU EDMA in ustvarjanje skeletnih datotek, potrebnih za gradnjo razredov EDMA, in grafični brskalnik razredov, gecb. (dok)

Električni

GNU Electric je program CAD za načrtovanje električnih vezij, obdelavo prilagojene postavitve IC, shematskih risb in jezikovnih specifikacij za opis strojne opreme. Podprtih je več operacij CAD, kot sta preverjanje pravil in simulacija. Veliko različnih vrst dizajnov je mogoče izdelati in vnesti ali izpisati v najrazličnejših formatih. (dok)

Emacs

GNU Emacs je razširljiv in zelo prilagodljiv urejevalnik besedil. Temelji na tolmaču Emacs Lisp z razširitvami za urejanje besedila. Emacs je bil razširjen na skoraj vseh področjih računalništva, kar je povzročilo široko paleto paketov, ki podpirajo npr. e-pošto, sporočila IRC in XMPP, preglednice, urejanje oddaljenega strežnika in še veliko več. Emacs vključuje obsežno dokumentacijo o vseh vidikih sistema, od osnovnega urejanja do pisanja velikih programov Lisp. Ima popolno podporo Unicode za skoraj vse človeške jezike. (dok)

Emacs-muza

Muse je okolje za avtorstvo in objavljanje za GNU Emacs. Podpira vnašanje besedila v priročni obliki, ki jo je enostavno naučiti. Kasneje bodo vaši dokumenti morda objavljeni v različnih oblikah, kot so HTML, LaTeX ali PDF. Muse podpira projekte, sestavljene iz več dokumentov, ki so pravilno združeni glede na izhodni format. (dok)

EMMS

EMMS je multimedijski sistem Emacs. Je majhen sprednji del, ki lahko nadzoruje enega od podprtih zunanjih predvajalnikov. Tako podpira vse formate, ki jih podpira vaš predvajalnik glasbe. Podpira tudi označevanje in upravljanje seznamov predvajanja, vse za čistim in lahkim uporabniškim vmesnikom. (dok)

Enscript

GNU Enscript je program za pretvorbo besedilnih datotek ASCII v formate PostScript, HTML ali RTF, ki se shranijo v datoteke ali takoj pošljejo tiskalniku. Vključuje tudi zmožnost izvajanja označevanja sintakse za več različnih programskih jezikov. (dok)

Fdisk

GNU fdisk ponuja različico GNU običajnega orodja za particioniranje diska fdisk. fdisk se uporablja za ustvarjanje in upravljanje tabel particij diska in razume različne formate. (dok)

Dihur

GNU Ferret je grafični modeler podatkov za paradigmo entiteta/odnos. Lahko samodejno ustvari relacijske sheme iz podatkovnih modelov in se lahko uporablja za ustvarjanje stavkov SQL v različnih dialektih. (dok)

Findutils

Findutils ponuja osnovne pripomočke za iskanje po imeniku datotek sistema GNU. Sestavljen je iz dveh primarnih pripomočkov za iskanje: find rekurzivno išče datoteke v imeniku v skladu z danimi kriteriji in lociraj seznam datotek v bazi podatkov, ki se ujemajo s poizvedbo. Vključeni sta dve pomožni orodji: updatedb posodobi zbirko podatkov o imenih datotek in xargs se lahko uporabi za uporabo ukazov s poljubno dolgimi argumenti. (dok)

FisicaLab

GNU FisicaLab je izobraževalna aplikacija za reševanje fizikalnih problemov. Njegov glavni cilj je omogočiti uporabniku, da se osredotoči na koncepte fizike in pusti ob strani matematične podrobnosti. (dok)

Foliot

GNU Foliot je aplikacija za spremljanje časa, porabljenega za delo na projektih. (dok)

Fontopia

Fontopia je za uporabo preprost urejevalnik pisav, ki temelji na besedilu. Uporablja se za urejanje pisav, ki jih GNU/Linux uporablja za prikaz besedila na terminalih, ki temeljijo na besedilu. Fontopia deluje na pisavah PSF 1 in 2, BDF, Code Paged (CP) in surovih datotekah pisav. prijazen urejevalnik glifov, ki je enostaven za uporabo in lahko preprosto spremeni meritve pisave (npr. dolžino, širino in višino) in pretvori med različnimi oblikami pisav. (doc)

Fontutils

GNU Fontutils je zbirka programov za delo s pisavami. Bitne slike je mogoče ekstrahirati iz optično prebranih slik znakov, jih urediti in pretvoriti v orisne pisave. Na splošno Fontutils podpira formate pisav, ki jih podpira okolje za stavljanje TeX, vključno s pisavami PostScript Type 1. (dok)

FreeDink

GNU FreeDink je brezplačna in prenosna ponovna implementacija motorja za igro vlog Dinka Smallwooda. Ne podpira le izvirnih podatkovnih datotek iger, ampak podpira tudi uporabniško izdelane modifikacije iger ali D-Mods. V tem obsegu vključuje tudi sprednji del za upravljanje vseh vaših D-modov. (dok)

Brezplačne pisave UCS Outline

GNU FreeFont je zbirka razširljivih orisnih pisav, ki so primerne za splošno rabo računalnikov in za namizno založništvo. Vključene so pisave serif, sans serif in monospace, vse so na voljo v formatih TrueType in OpenType. Pisave podpirajo široko paleto znakov za številne različne pisne sisteme in odlično pokrivajo matematični zapis. (dok)

FreeIPMI

GNU FreeIPMI je zbirka znotrajpasovne in zunajpasovne programske opreme IPMI v skladu s specifikacijo IPMI v1.5/2.0. Ti programi nudijo nabor vmesnikov za upravljanje platforme. Skupna funkcionalnost vključuje spremljanje senzorjev, spremljanje sistemskih dogodkov, nadzor napajanja in serijsko povezavo preko LAN. (dok)

Freetalk

GNU Freetalk je klepetalni odjemalec Jabber/XMPP v ukazni vrstici. Predvsem uporablja knjižnico Readline za obdelavo vnosa, tako da ima priročno krmarjenje po besedilu kot tudi dokončanje imen prijateljev, ukazov in angleških besed s tabulatorji. Prav tako ga je mogoče skriptirati in ga je mogoče razširiti prek Guile. Ta paket išče vzdrževalca. (dok)

FriBiDi

GNU FriBidi je implementacija dvosmernega algoritma Unicode. Ta algoritem se uporablja za pravilen prikaz besedila v vrstnem redu od leve proti desni ali od desne proti levi, kot je potrebno. (dok)

G-Golf

G-Golf (Gnome: (Guile Object Library for)) je knjižnica za razvoj sodobnih aplikacij v Guile Scheme. Vključuje neposredno vezavo na GObject Introspection API in funkcionalnost na višji ravni za uvoz knjižnic Gnome in dajanje razredov (in metod) GObject na voljo v objektno usmerjenem programskem sistemu Guile, GOOPS. (doc)

Gama

GNU Gama je program za prilagajanje geodetskih mrež. Uporaben je pri meritvah, kjer globalni sistem za določanje položaja (GPS) ni na voljo, na primer pod zemljo. Ima možnost prilagajanja lokalnih kartezičnih koordinat in delno podporo za prilagajanje globalnih koordinatnih sistemov. (dok)

Brezplačni ARP Daemon

GNU garpd oddaja Gratuitous ARP (Address Resolution Protocol) zahteve/odgovore za seznam naslovov MAC<->Preslikave naslovov IP na določene vmesnike v rednih intervalih. Brezplačni paketi zahtev ARP so tisti, pri katerih sta izvorni in ciljni IP naslov IP naprave, ki zahteva. Brezplačni odgovori ARP so tisti, ki so narejeni brez ustrezne zahteve. (dok)

Gawk

Gawk je GNU implementacija Awk, specializiranega programskega jezika za preprosto manipulacijo oblikovanega besedila, kot so tabele s podatki. Gawk ponuja številne razširitve, ki presegajo tradicionalno izvedbo, vključno z dostopom do omrežja, razvrščanjem in velikimi knjižnicami. (dok)

Gbehistun

GNU Behistun je sestavljen iz programske opreme in pripomočkov za geološko in geofizikalno modeliranje ter kartiranje notranjih struktur in dinamike. Tako kot večjezični napis Behistun tudi pripomočki programske opreme Behistun zagotavljajo znanje in funkcionalnost za delo na planetarnih sistemih in svobodno raziskovanje njihove notranjosti. (dok)

Gcal

Gcal je program za izračun in tiskanje koledarjev v ukazni vrstici. Koledarje je mogoče natisniti v 1-mesečnem, 3-mesečnem ali celoletnem pogledu. Poleg tega je mogoče ustvariti večne sezname počitnic za številne države, ki jih je mogoče dopolniti z uporabniško izdelanimi seznami fiksnih datumov za sestavo dnevnega reda. Gcal lahko izračuna tudi astronomske podatke, kot so lunine faze, in podpira alternativne oblike koledarjev: julijanski, gregorijanski, islamski, kitajski in druge. (dok)

GCC

GCC je zbirka prevajalnika GNU. Ponuja vmesnike prevajalnika za več jezikov, vključno s C, C++, Objective-C, Fortran, Javo, Ado in Go. Vključuje tudi podporne knjižnice izvajalnega okolja za te jezike. (dok)

Gcide

GCIDE je brezplačen slovar, ki temelji na kombinaciji virov. Uporabljate ga lahko prek programa GNU Dico ali dostopate na spletu na http://gcide.site.ua/ (doc)

GNU Common Lisp

GCL je implementacija jezika Common Lisp. Ima možnost prevajanja v izvorno objektno kodo in nalaganje modulov izvorne objektne kode neposredno v jedro lisp. Vsebuje tudi stratificirano strategijo zbiranja smeti, razhroščevalnik na izvorni ravni in vgrajen vmesnik za sistem pripomočkov Tk. (dok)

GCompris

GCompris je nabor izobraževalne programske opreme za otroke. Ponuja različne dejavnosti, primerne za otroke od 2 do 10 let. Zbirka vključuje dejavnosti za uvajanje in razvijanje spretnosti pri uporabi računalnika, algebri, znanosti, branju in več. Vsebuje tudi nekatere igre, kot sta šah in sudoku. (dok)

G.D.B.

GDB je razhroščevalnik GNU. Z njim lahko spremljate, kaj počne program med izvajanjem ali kaj je počel tik pred zrušitvijo. Omogoča vam, da določite pogoje izvajanja, določite prekinitvene točke in spremenite način izvajanja programa, da poskusite odpraviti napake. Uporablja se lahko za odpravljanje napak v programih, napisanih v C, C++, Ada, Objective-C, Pascal in več. (dok)

Gdbm

GDBM je knjižnica za manipulacijo zgoščenih baz podatkov. Uporablja se za shranjevanje parov ključ/vrednost v datoteko na podoben način kot knjižnica Unix dbm in zagotavlja vmesnike za tradicionalno obliko datoteke. (dok)

Gengen

GNU Gengen je program za ustvarjanje generatorjev besedila, tj. funkcij, ki proizvajajo besedilo s spremenljivimi deli. Besedilo najprej določi uporabnik v datoteki predloge, ki vsebuje parametre, nato pa ga gengen obdela, da ustvari generator besedila. Med izvajanjem spremenljivo besedilo definira preostanek programa in ga posreduje generatorju besedila, ki ga nato nadomesti v parametre predloge in vrne rezultat. Gengen se lahko uporablja za ustvarjanje kode C in C++. (dok)

Gengetopt

GNU Gengetopt je program za generiranje funkcije C/C++ za razčlenjevanje možnosti ukazne vrstice z uporabo funkcije getopt_long, ki jo najdete v GNU libc, s čimer se odpravi nekaj dolgočasnega tega opravila za velike programe, ki sprejemajo veliko možnosti. Možnosti, ki jih razčleni ustvarjena funkcija, so lahko v kratkem (npr. -h) in dolgem (--help) formatu, kot določajo standardi kodiranja GNU. Poleg tega se izhod standardnih možnosti --help in --version ustvari samodejno. (dok)

Gettext

GNU Gettext je paket, ki zagotavlja okvir za prevajanje besedilnega izhoda programov v več jezikov. Prevajalcem ponuja sredstva za ustvarjanje katalogov sporočil, pa tudi način Emacs za delo z njimi in knjižnico izvajalnega okolja za nalaganje prevedenih sporočil iz katalogov. Skoraj vsi paketi GNU uporabljajo Gettext. (dok)

Gforth

Gforth je hitra in prenosna izvedba jezika ANSI Forth. Vključuje način urejanja za Emacs in tolmača z dokončanjem in zgodovino. Vključeno je tudi generično okolje virtualnega stroja, vmgen. (dok)

Ggradebook

GNU Gradebook je aplikacija za učitelje za spremljanje ocen učencev. Podpira več stilov ocenjevanja, vključno z ameriško (A, B, C, D, F) in evropsko številčno lestvico. (dok)

GNU Ghostscript

Ghostscript je tolmač za jezik PostScript in format datoteke PDF. Vključuje tudi knjižnico C, ki implementira grafične zmožnosti jezika PostScript. Podpira široko paleto formatov izhodnih datotek in tiskalnikov. (dok)

DARILO

Orodje GNU za iskanje slik (GIFT) je sistem za iskanje slik, ki temelji na vsebini. Uporablja vsebino slik za izvajanje poizvedb v zbirki, kar vam omogoča poizvedovanje na podlagi primera. Vključeno je tudi orodje za indeksiranje celotnih dreves imenikov. (dok)

GIMP

GIMP je aplikacija za naloge obdelave slik, kot so retuširanje fotografij, kompozicija in avtorstvo. Podpira vse pogoste formate slik, pa tudi specializirane. Ima zelo prilagodljiv vmesnik, ki ga je mogoče razširiti s sistemom vtičnikov. (dok)

Glean

GNU glean je modularni sistem za samostojno učenje, precej bolj zapleten kot standardna metoda flash kartic. Je zelo prilagodljiv, uporabniku omogoča, da določi predmete, ki ga zanimajo, in dejavnosti za njihovo preučevanje. Za zdaj ima besedilni vmesnik znotraj Guile REPL in eksperimentalni spletni vmesnik. (dok)

Gleem

GNU gleem je knjižnica za Javo in C++, ki ponuja nabor 3D gradnikov, ki podpirajo neposredno interakcijo uporabnika s 3D sceno. Ti pripomočki se uporabljajo za prevajanje vzdolž črte, prevajanje v ravnino ter izvajanje tridimenzionalnega prevajanja in vrtenja. Ta paket išče vzdrževalca. (dok)

GLib

Globalno

GNU GLOBAL je sistem za označevanje izvorne kode, ki deluje na enak način v številnih okoljih, kot so različni urejevalniki besedil, lupine in spletni brskalniki. Dobljene oznake so uporabne za hitro premikanje po velikem, globoko ugnezdenem projektu. (dok)

GLPK

GLPK je knjižnica C za reševanje obsežnega linearnega programiranja (LP), mešanega celoštevilskega programiranja (MIP) in drugih sorodnih problemov. Podpira modelni jezik GNU MathProg, podnabor jezika AMPL, in ima prevajalnik za jezik. Poleg knjižnice C je v paket vključen samostojni reševalec LP/MIP. (dok)

Gmediaserver

GMediaServer je medijski strežnik, združljiv z UPnP. Prek programa ukazne vrstice, ki deluje v ozadju, streže avdio in video datoteke omrežno povezanim predvajalnikom medijev. (dok)

GMP

GMP je knjižnica za poljubno natančno aritmetiko, ki deluje na celih številih s predznakom, racionalnih številih in številih s plavajočo vejico. Natančnost je omejena le z razpoložljivim pomnilnikom. Knjižnica je zelo optimizirana, s poudarkom na hitrosti izvajanja. Namenjen je uporabi na primer v kriptografiji in računalniški algebri. (dok)

Škripanje

Gnash je brezplačen predvajalnik filmov Flash. Podpira različico SWF v7 in nekatere različice v8 in v9. Gnash je mogoče konfigurirati tako, da uporablja več različnih avdio ali video ozadij, kar zagotavlja dobro delovanje. (dok)

KOMŠAR

KOMARCI

GNATS je nabor orodij za sledenje napakam in drugim težavam s programsko opremo, o katerih poročajo uporabniki. Popolnoma odprt je glede tega, kako je mogoče poizvedovati, urejati in vzdrževati njegovo bazo podatkov, z vmesniki, ki segajo od ukazne vrstice do Emacsa, čeprav je glavno sredstvo interakcije prek spletnega vmesnika. Prav tako je dovolj prilagodljiv, da podpira uporabniške pripomočke. (dok)

Gnatsweb

Gneuralno omrežje

Gneural Network implementira programabilno nevronsko mrežo. Trenutno podpira omrežja za naprej, ki se lahko naučijo preprostih nalog, kot je prilagajanje krivulje. (dok)

GNOME

GNOME je grafično namizje za GNU. Vključuje široko paleto aplikacij za brskanje po spletu, urejanje besedila in slik, ustvarjanje dokumentov in diagramov, predvajanje medijev, skeniranje in še veliko več. (dok)

GNU C referenčni priročnik

To je referenčni priročnik za programski jezik C, kot ga izvaja prevajalnik GNU C (gcc). Kot referenca ni mišljena kot vadnica jezika. Namesto tega opisuje vse konstrukte jezika. Funkcije knjižnice niso vključene. (dok)

GNU-pw-mgr

Ta program je zasnovan tako, da olajša rekonstruiranje zahtevnih gesel, ko so potrebna, hkrati pa omeji tveganje napada. Uporabnik tega programa vnese samodefinirano transformacijo URL-ja spletnega mesta in pridobi namig za geslo in uporabniško ime za to spletno mesto. (dok)

GNUbatch

GNUbatch je napreden sistem za paketno razporejanje. Računalniška opravila izvaja ob določenih datumih in urah ali v skladu s soodvisnostmi. Opravila se lahko dokončajo na poljubnem številu procesorjev, ki so v skupni rabi v omrežju. Podprt je popoln nadzor dostopa do opravil. (dok)

Backgammon

Aplikacijo GNU backgammon lahko uporabite za igranje, analizo in poučevanje igre. Ima napreden mehanizem ocenjevanja, ki temelji na umetnih nevronskih mrežah in je primeren tako za začetnike kot za napredne igralce. Poleg vmesnika ukazne vrstice ima tudi privlačno 3D predstavitev igralne plošče. (dok)

GNUbiff

GNUbiff je program, ki preverja pošto in vas obvesti, ko prispejo nova sporočila. Podpira več nabiralnikov, do katerih je mogoče dostopati prek različnih metod, kot so POP3, IMAP, MH in poštne datoteke. Grafična obvestila so na voljo z GTK in podprta je popolna integracija z GNOME. (dok)

GNUbik

GNUbik je ugankarska igra, v kateri morate manipulirati s kocko, da bo vsaka od njenih ploskev enotne barve. Igra je prilagodljiva, tako da lahko nastavite velikost kocke (privzeto je 3x3) ali spremenite barve. Na obraze lahko celo nanesete fotografije namesto barv. Igro je mogoče skriptirati z Guile. (dok)

GNUcap

GNUcap je paket za analizo vezij. Ponuja splošni simulator vezja in lahko izvaja analize enosmernega toka in prehodnih pojavov, analizo Fourierja in analizo izmeničnega toka. Motor je zasnovan za pravo mešano simulacijo. (dok)

GnuCash

GnuCash je osebna in profesionalna finančno-računovodska programska oprema. Uporablja se lahko za sledenje bančnih računov, zalog, prihodkov in odhodkov na podlagi dvostavne računovodske prakse. Vključuje podporo za uvoz QIF/OFX/HBCI in ujemanje transakcij. Prav tako avtomatizira več opravil, kot so finančni izračuni ali načrtovane transakcije. (dok)

GnuComm

Telekomunikacijski podsistem projekta GNU: krovni projekt za programsko opremo GNU Telephony, trenutno Bayonne, SIP Witch, in njihove podporne knjižnice (Common C++ / uCommon, ccAudio, ccScript, ccRTP in ZRTP / ZRTP4J). (dok)

GnuDOS

GnuDOS je nabor programov, zasnovanih za pomoč novim uporabnikom sistema GNU pri navajanju na sistem, zlasti uporabnikom, ki morda prihajajo iz ozadja DOS. Sestavljen je iz upravitelja datotek, urejevalnika besedil in oblikovalca obrazcev za konzolo ter osrednje knjižnice za izdelavo podobnih pripomočkov. (dok)

GNU Enterprise

GNU Enterprise podpira načrtovanje podjetij. Vključuje aplikacijski strežnik, skupno razvojno knjižnico, IDE za oblikovanje podatkovnih obrazcev, vmesnik obrazcev, navigator in menijski sistem ter sistem za poročanje podatkov. (dok)

GNUgo

GNU Go je program, ki igra igro Go, v kateri igralci postavljajo kamne na mrežo, da oblikujejo ozemlje ali zajamejo druge kamne. Medtem ko ga je mogoče predvajati neposredno s terminala, upodobljenega v znakih ASCII, je mogoče igrati tudi GNU Go z grafičnimi vmesniki tretjih oseb ali celo v Emacsu. Podpira standardno obliko shranjevanja iger (SGF, Smart Game Format) in obliko komunikacije med procesi (GMP, Go Modem Protocol). (dok)

Interaktivna orodja GNU

Interaktivna orodja GNU so nabor lahkih, interaktivnih orodij ukazne vrstice. Vključujejo razširljiv, ortodoksni (z dvema podoknoma) upravitelj datotek, pregledovalnik datotek ASCII/hex in pregledovalnik/ubijalec procesov. Paket vključuje tudi nekatere povezane pripomočke in skripte, kot je orodje za dekompresijo katere koli vrste arhivske datoteke. Vsa orodja je mogoče izboljšati in razširiti prek njihovih konfiguracijskih datotek za izvajanje novih ukazov. (dok)

GNUjump

GNUjump je preprosta, a zasvojljiva igra, v kateri morate skakati s platforme na platformo, da ne bi padli, medtem ko platforme padajo hitreje, čim višje greste. Igra vključuje več igralcev, neomejeno FPS, gladko padanje s tal, tematsko grafiko in zvoke ter ponovitve. (dok)

GNUlib

Gnulib je osrednja lokacija za skupno infrastrukturo, ki jo potrebujejo paketi GNU. Zagotavlja široko paleto funkcionalnosti, npr. prenosljivost v številne sisteme, delo z nizi Unicode, kriptografsko računanje in še veliko več. Koda je namenjena skupni rabi na ravni izvornih datotek, namesto da bi bila samostojna knjižnica, ki se distribuira, gradi in namešča. Priloženi skript orodja gnulib pomaga pri uporabi kode Gnulib v drugih paketih. Gnulib za udobje vključuje tudi kopije datotek, povezanih z licenciranjem in vzdrževanjem. (dok)

Mach

GNUmed

GNUmed je programska oprema za elektronsko zdravstveno kartoteko, ki podpira brezpapirne zdravstvene prakse. Podprtih je več jezikov vmesnika. (dok)

GNUmeric

GNUmeric je aplikacija za preglednice GNU, ki deluje pod GNOME. Je interoperabilen z drugimi aplikacijami za preglednice. Ima širok nabor funkcij, ki presegajo običajno funkcionalnost preglednic, kot je podpora za linearne in nelinearne reševalce, statistične analize in telekomunikacijski inženiring. (dok)

GNUmp3d

GNUMP3d je pretočni strežnik za zvočne datoteke MP3 in Ogg Vorbis, filme in druge medijske formate. Je majhen in samozadosten ter predstavlja preprost vmesnik HTML, ki ga je mogoče uporabiti za teme. Zvočne datoteke je nato mogoče predvajati v katerem koli predvajalniku, ki podpira pretakanje prek HTTP. (dok)

Združeni narodi GNU

GNUnited Nations je gradbeni sistem za prevajanje spletne strani na www.site. Deluje prek datotek predlog, ki omogočajo zlivanje sprememb v posamezne prevode strani, iz katerih se ustvari končni HTML. Pravzaprav to pomaga ohranjati vse prevode strani posodobljene. (dok)

GNUnet

GNUnet je ogrodje za varno mreženje enakovrednih. Cilj na visoki ravni je zagotoviti trdne temelje brezplačne programske opreme za globalno porazdeljeno omrežje, ki zagotavlja varnost in zasebnost. V tem smislu želi GNUnet nadomestiti trenutni sklad internetnih protokolov. Skupaj z aplikacijo za varno objavo datotek je zrasel in vključuje vse vrste osnovnih aplikacij za temelj interneta GNU. (dok)

GnuPG

GNU Privacy Guard je popolna implementacija standarda OpenPGP. Uporablja se za šifriranje in podpisovanje podatkov in komunikacije. Vsebuje zmogljivo upravljanje ključev in možnost dostopa do strežnikov javnih ključev. Vključuje več knjižnic: libassuan (IPC med komponentami GnuPG), libgpg-error (centralizirane vrednosti napak GnuPG) in libskba (delo s potrdili X.509 in podatki CMS). (dok)

GNUpod

GNUpod je zbirka skriptov za uporabo iPodov z GNU/Linux in drugimi operacijskimi sistemi. Uporablja se lahko za prenos glasbe in naslovnic, iskanje datotek, odstranjevanje datotek, urejanje oznak, ustvarjanje seznamov predvajanja in drugo. (dok)

GNUprologjava

GNU Prolog za Javo je implementacija standarda ISO Prolog kot knjižnica Java (gnu.prolog). Tako lahko z njim uporabljate Prolog znotraj programov Java. (dok)

Radio

GNU Radio je komplet orodij za implementacijo programskih radijev. Njegove bloke za obdelavo signalov je mogoče kombinirati z nizkocenovno zunanjo RF strojno opremo za ustvarjanje programsko definiranih radijskih sprejemnikov. Brez strojne opreme se lahko uporablja za simulacijo. Radijske aplikacije so v glavnem napisane v Pythonu, s podporo za C++ za naloge obdelave, ki so kritične za zmogljivost. (dok)

Roboti

GNU Robots je igra, v kateri programirate robota, da raziskuje svet, poln sovražnikov, ki ga lahko poškodujejo, ovir in hrane, ki jo je treba pojesti. Cilj igre je ostati živ in zbrati nagrade. Program robota je lahko priročno zapisan v datoteki z navadnim besedilom v programskem jeziku Scheme. (dok)

GNUschool

GNUschool je spletna aplikacija za študente, učitelje in šolske upravitelje. Z njim lahko učitelji ustvarijo teste, ki jih učenci opravijo na spletu, podajo povratne informacije in dodelijo ocene. Šolski administratorji ga lahko uporabljajo za spremljanje prisotnosti učencev in urejanje podatkov o učencih. (dok)

GNUshogi

GNU Shogi je program, ki igra igro Shogi (japonski šah). Vključuje tudi grafični vmesnik za igro. Čeprav je ta različica podobna standardnemu šahu, je veliko bolj zapletena. (dok)

GNUsound

GNUsound je večstezni urejevalnik zvoka za GNOME 1 in 2. Lahko bere in piše številne formate zvočnih datotek, kot so WAV, MP3 in FLAC. Deluje lahko z zvočnimi zaledji OSS, ALSA ali JACK. Zagotavlja veliko različnih vgrajenih modulov za obdelavo zvoka, kot so zatemnitve in zamiki, zakasnitev in filtri. Vtičnike GLADSPA je mogoče uporabiti tudi za nadaljnjo obdelavo. (dok)

GNUspool

GNUspool je napreden sistem tiskanja v ozadju. Poleg funkcionalnosti standardnega sistema za tiskanje zagotavlja zmožnosti naknadne obdelave, ravnanje z vrsto obrazca, poravnavo strani in druge funkcije. Deluje pregledno v omrežju in deli opravila na katerem koli gostitelju s tiskalniki na katerem koli drugem gostitelju. Na voljo je več različnih uporabniških vmesnikov. (dok)

GNUstep

GNUstep je popolnoma funkcionalno objektno orientirano razvojno okolje; vključene so tudi številne uporabniške aplikacije. Tesno sledi API-jem Cocoa, vendar je neodvisen od platforme. (dok)

GnuTLS

GnuTLS je varna komunikacijska knjižnica, ki izvaja protokole SSL, TLS in DTLS. Na voljo je v obliki knjižnice C za podporo protokolom, pa tudi za razčlenjevanje in pisanje X.5009, PKCS 12, OpenPGP in drugih zahtevanih struktur. (dok)

GNUtrition

GNUtrition je brezplačna programska oprema za analizo prehrane. Z njim lahko spremljate podatke o hranilni vrednosti hrane. Programska oprema uporablja bazo podatkov o hranilih standardne reference Ministrstva za kmetijstvo ZDA kot vir informacij o hranilih živil. (dok)

GNUzilla

Goptical

Goptical je knjižnica za optično načrtovanje in simulacijo v C++. Ponuja razrede modelov za optične komponente, površine in materiale. Z njim je mogoče simulirati gradnjo optičnega sistema z ustvarjanjem in postavitvijo optičnih komponent v 3D prostor ter vizualizirati svetlobo, ki se širi skozi sistem. (dok)

Gorm

Gpaint

GNU Paint je preprost in za uporabo enostaven program za barvanje za okolje GNOME. Podpira prostoročno risanje ter osnovne oblike in besedilo. Vsebuje možnost izreži in prilepi za nepravilna območja ali poligone. (dok)

Gperf

gperf je popoln generator zgoščene funkcije. Za dani seznam nizov izdela zgoščevalno funkcijo in zgoščevalno tabelo v kodi C ali C++. Da je zgoščevalna funkcija popolna, pomeni, da ne more priti do kolizij in da je mogoče iskati s primerjavami posameznih nizov. (dok)

Gprolog

GNU Prolog je s standardi združljiv prevajalnik Prolog z reševanjem omejitev v končnih domenah. Sprejema omejitvene programe Prolog+ in izdela prevedeno izvorno dvojiško datoteko, ki lahko deluje samostojno. Vsebuje tudi interaktivni tolmač. (dok)

phpGrabComics

phpGrabComics je program, ki iz spleta pridobi in shrani stripe. Vsebuje tako strežnik, ki lahko prenaša stripe iz različnih virov, kot vrata, majhne aplikacije, ki s strežnika dobijo seznam razpoložljivih stripov. (dok)

Greg

GNU Greg je ogrodje za testiranje programov in knjižnic. Zagotavlja en sam sprednji del za vse teste paketa ter preprosto ogrodje za pisanje testov. Naloži se kot modul Guile v katero koli programsko opremo z vdelanim tolmačem Guile. Zagotavlja tudi preveden modul, ki ga je mogoče dinamično povezati v Guile in omogočiti testiranje zunanjih programov. (dok)

Grep

grep je orodje za iskanje besedila v datotekah. Besedilo se najde tako, da se ujema z vzorcem, ki ga poda uporabnik v eni ali več datotekah. Vzorec je lahko na voljo kot osnovni ali razširjeni regularni izraz ali kot fiksni nizi. Privzeto je besedilo, ki se ujema, preprosto natisnjeno na zaslon, vendar je mogoče izpis zelo prilagoditi, da vključuje na primer številke vrstic. GNU grep ponuja številne razširitve v primerjavi s standardnim pripomočkom, vključno z na primer rekurzivnim iskanjem po imeniku. (dok)

Gretl

GNU Gretl je paket za izvajanje statističnih izračunov za ekonometrijo. Sestavljen je iz odjemalca ukazne vrstice in grafičnega odjemalca. Vsebuje različne ocenjevalce, kot so najmanjši kvadrati in največja verjetnost; več metod časovnih vrst, kot sta ARIMA in GARCH; omejene odvisne spremenljivke, kot so logit, probit in tobit; in močan skriptni jezik. Lahko izpiše modele kot datoteke LaTeX. Prav tako se lahko poveže z GNU R in GNU Octave za nadaljnjo analizo podatkov. (dok)

Groff

Groff je paket za stavljanje, ki bere golo besedilo in ustvari oblikovan izpis na podlagi ukazov za oblikovanje, ki jih vsebuje besedilo. Običajno je oblikovalnik dokumentacijskih strani man. (dok)

GRUB

GRUB je večzagonski zagonski nalagalnik. Uporablja se za prvotno nalaganje jedra operacijskega sistema in nato prenos nadzora nanj. Jedro nato nadaljuje z nalaganjem preostalega operacijskega sistema. Kot multiboot zagonski nalagalnik GRUB obravnava prisotnost več operacijskih sistemov, nameščenih na istem računalniku; ob zagonu računalnika se uporabniku prikaže meni za izbiro enega od nameščenih operacijskih sistemov. (dok)

Gsasl

GNU SASL je implementacija ogrodja Simple Authentication and Security Layer. Na omrežnih strežnikih, kot so strežniki IMAP ali SMTP, se za preverjanje pristnosti odjemalec/strežnik uporablja SASL. Ta paket vsebuje knjižnico in orodje ukazne vrstice za dostop do knjižnice. (dok)

Gsegrafix

GSEGrafix je aplikacija, ki ustvarja visokokakovostne grafične izrise za znanost in tehniko. Grafi so določeni s preprostimi datotekami parametrov ASCII in podatkovnimi datotekami ter so predstavljeni na platnu GNOME z izravnavanjem vzdevkov. Program podpira pravokotne dvodimenzionalne ploskve, histograme, ploskve polarne osi in tridimenzionalne ploskve. Izrise je mogoče natisniti ali shraniti v slikovne formate BMP, JPEG ali PNG. (dok)

Znanstvena knjižnica GNU

GNU Scientific Library je knjižnica za numerično analizo v C in C++. Vključuje široko paleto matematičnih rutin s skupno več kot 1000 funkcijami. Predmetna področja, ki jih pokriva knjižnica, vključujejo: diferencialne enačbe, linearno algebro, hitre Fourierove transformacije in naključna števila. (dok)

GNU Slip

GNU Slip je funkcionalna razširitev zmogljivosti na seznamu in vsebnikih čakalne vrste C++ Standard Template Library (STL), čeprav SLIP ni nadomestilo za vsebnike STL. Podatkovne celice SLIP je med drugimi izboljšavami mogoče uporabiti v izračunih, specifičnih za aplikacijo. (dok)

GSRC podpira namestitev najnovejših izdaj paketov GNU v obstoječi sistem. Nove različice so nameščene na ločenem mestu, da ne motijo ​​sistemskih različic. Cilj je olajšati delo z izvirnimi, predhodnimi viri GNU in morda pomagati pri razvoju in testiranju. (dok)

Generična varnostna služba

GNU Generic Security Service zagotavlja brezplačno implementacijo specifikacije GSS-API. Zagotavlja generični aplikacijski programski vmesnik za programe za dostop do varnostnih storitev. Varnostne storitve predstavljajo generični vmesnik GSS, s katerim kličoča aplikacija komunicira prek te knjižnice, s čimer razvijalcu aplikacije ni treba vedeti o temeljni varnostni izvedbi. (dok)

GTick

GTick je aplikacija za metronom. Podpira različne merilnike, kot so 2/4, 3/4, 4/4 itd. Podpira tudi širok razpon hitrosti, od 10 do 1000 BPM. Zagotavlja uporabniški vmesnik, ki temelji na GTK+, in lahko uporablja tako OSS kot ALSA kot avdio zaledje. (dok)

GTK+

Gtipist

GNU Typist je univerzalni učitelj tipkanja. Lahko se uporablja za učenje in vadbo tipkanja na dotik. Vključenih je več vadnic; poleg vadnic za standardno postavitev QWERTY obstajajo tudi vadnice za alternativni postavitvi Dvorak in Colemak ter za številsko tipkovnico. Vadnice so večinoma v angleščini, vendar so na voljo tudi nekatere v drugih jezikih. (dok)

Zvijača

Guile je GNU Ubiquitous Intelligent Language for Extensions, uradni razširitveni jezik sistema GNU. Je implementacija jezika Scheme, ki jo je mogoče preprosto vdelati v druge aplikacije, da zagotovi priročen način za razširitev funkcionalnosti aplikacije, ne da bi bilo treba ponovno napisati izvorno kodo. (dok)

Guile-cv

Guile-CV je funkcionalna programska knjižnica računalniškega vida za jezik Guile Scheme. Guile-CV temelji na Vigra (Vision with Generic Algorithms). Vsebuje neposredno vezavo na vigra_c (ovitek C za podnabor knjižnice Vigra) in API višje ravni, napisan v shemi Guile. (dok)

Guile-dbi

guile-dbi je knjižnica za Guile, ki nudi priročen vmesnik za baze podatkov SQL. Programiranje baze podatkov z guile-dbi je generično, saj je predstavljen isti programski vmesnik ne glede na to, kateri sistem baze podatkov se uporablja. Trenutno podpira MySQL, Postgres in SQLite3. (dok)

Guile-gnome

Vključuje guile-clutter, guile-gnome-gstreamer, guile-gnome-platform (knjižnice za razvijalce GNOME) in guile-gtksourceview. (dok)

Prevare-preklinjanja

guile-ncurses nudi jezikovne vezave Guile za knjižnico ncurses. (dok)

Guile-opengl

Guile-OpenGL je knjižnica za Guile, ki zagotavlja vezave na grafični API OpenGL. (dok)

Guile-SDL

Guile-SDL je nabor povezav na plast Simple DirectMedia (SDL). Z njimi imajo programerji Guile enostaven dostop do grafike, zvoka in vnosa naprav (tipkovnice, igralne palice, miške itd.). (dok)

Guix

GNU Guix je funkcionalni upravitelj paketov za sistem GNU in je tudi njegova distribucija. Vključuje sliko virtualnega stroja. Poleg običajnih funkcij za upravljanje paketov podpira tudi transakcijske nadgradnje in povrnitve, profile na uporabnike in še veliko več. Temelji na upravitelju paketov Nix. (dok)

Grgljanje

GURGLE izdela sezname poročil baze podatkov iz podatkov o zapisih in poljih iz datoteke. Poročilo uporablja za izdelavo (La)TeX formatiranih izpisov, navadnega besedila ASCII, troff, PostScript, HTML, XML ali katere koli druge izhodne oblike, ki temelji na ASCII. Uporablja se lahko za ustvarjanje velikih teles besedila, kjer so majhni deli besedila nadomeščeni z informacijami iz baze podatkov. GURGLE podpira baze podatkov GNUSQL, PostgreSQL, MySQL in CA-Ingres. (dok)

GNU GV je grafični uporabniški vmesnik za tolmača Ghostscript. Z njim si lahko ogledate in krmarite po dokumentih PostScript in PDF v X Windows. (dok)

GVPE

GNU Virtual Private Ethernet ustvari virtualno omrežje z več vozlišči z uporabo različnih transportnih protokolov. Deluje tako, da ustvari šifrirane tunele gostitelj-gostitelj med več končnimi točkami. (dok)

G.W.L.

GWL je jezik poteka dela, ki razširja Guixov deklarativni jezik za upravljanje paketov za avtomatsko izvajanje programov. Poleg tega lahko GWL uporablja Grid Engine za razbremenitev izvajanja programa. (doc)

Gxmessage

GNU gxmessage je program, ki odpre pogovorna okna, ki uporabniku prikažejo sporočilo in čakajo na njihovo dejanje. Program se nato zapre z izhodno kodo, ki ustreza odgovoru. (dok)

Gzip

GNU Gzip nudi pripomočke za stiskanje in dekompresijo podatkov; tipična končnica je .gz. Za razliko od formata zip stisne eno datoteko; zato se pogosto uporablja v povezavi s tar , kar povzroči .tar.gz ali .tgz itd. (dok)

HaliFAX

HaliFAX podpira pošiljanje in ogledovanje faksov, vključno z ovojom okoli ukaza lpr. Ta paket išče vzdrževalca. (dok)

zdravje

GNU Health je brezplačen medicinski programski sistem, ki vključuje podporo za elektronske zdravstvene kartoteke (EMR), bolnišnični informacijski sistem (HIS) in zdravstveni informacijski sistem. Podpira tako španski kot angleški vmesnik. Univerza Združenih narodov ga je sprejela za izvajanje in usposabljanje ter več bolnišnic in ministrstev za zdravje po vsem svetu. (dok)

zdravo

GNU Hello natisne sporočilo Hello, world! in nato izstopi. Služi kot primer standardnih praks kodiranja GNU. Kot tak podpira argumente ukazne vrstice, več jezikov itd. (dok)

Help2man

GNU help2man je program, ki samodejno pretvori izhod standardnih --help in --version argumentov ukazne vrstice v stran priročnika. (dok)

Hp2xx

GNU hp2xx pretvori vektorsko grafiko, določeno v jeziku ploterja HP-GL, v različne grafične formate, tako vektorske kot rastrske, vključno z EPS, PCX, IMG in formati, namenjenimi za uporabo v dokumentih TeX. (dok)

httptunnel

GNU httptunnel ustvari dvosmerno podatkovno pot, tunelirano v zahtevah HTTP. To uporabnikom za požarnimi zidovi omogoča pošiljanje in prejemanje podatkov, ki bi bili sicer blokirani, kot so povezave telnet ali ssh. (dok)

Hurd

Hurd je jedro za sistem GNU, zamenjava in nadgradnja standardnih jeder Unix. Je zbirka protokolov za sistemsko interakcijo (datotečni sistemi, omrežja, avtentikacija) in strežnikov, ki jih izvajajo. Podprojekti vključujejo Mach, mikrojedro, na katerem temelji Hurd, ki zagotavlja osnovni medprocesni komunikacijski mehanizem, in MIG, generator vmesnika za Mach. (dok)

Hiperbola

Hyperbole je informacijski in hiperbesedilni sistem, ki ga je mogoče programirati za GNU Emacs. Omogoča vdelavo hiperbesedila v dokumente, poštna sporočila in novičarske članke. To omogoča upravljanje prikazanih informacij z miško. (dok)

Icecat

IceCat je GNU različica brskalnika Firefox. Gre za popolnoma brezplačno programsko opremo, ki ne priporoča neprostih vtičnikov in dodatkov. Ima tudi vgrajene funkcije za zaščito zasebnosti. (dok)

Idutils

Paket GNU idutils vključuje orodja za ustvarjanje indeksa besedilnih žetonov, uporabljenih na seznamu imen datotek, in nato za poizvedovanje po tem indeksu. Tako uporabniku omogoča, da na primer poišče vse uporabe določene funkcije v velikem programskem projektu. Poleg obravnavanja besedilnih žetonov lahko obravnava tudi številske konstante in vsebino znakovnih nizov. (dok)

Ignuit

Ignuit je orodje za pomoč pri pomnjenju novih informacij, ki temelji na Leitnerjevem sistemu flashcard. V tem sistemu se nove karte preučujejo z manjšo pogostostjo, ko odraščajo, razen če naletite na težave pri pomnjenju, potem pa jih srečujete pogosteje. Kartice lahko vključujejo vdelan zvok, slike in matematične formule, zbirko kartic pa je mogoče izvoziti v več formatov. (dok)

zamik

Indent je program, ki olajša branje izvorne kode tako, da jo preoblikuje v dosleden slog. Slog lahko spremeni v enega od več različnih slogov, kot so GNU, BSD ali K&R. Ima nekaj prilagodljivosti za obravnavo nepopolne ali napačno oblikovane sintakse. GNU indent ponuja več razširitev v primerjavi s standardnim pripomočkom. (dok)

Inetutils

Inetutils je zbirka običajnih omrežnih programov, kot so odjemalec in strežnik ftp, odjemalec in strežnik telnet ter odjemalec in strežnik rsh. (dok)

Inklingreader

GNU InklingReader je paket za podporo napravi Wacom Inkling, vključno s pretvorbo podatkov v različne brezplačne formate, osnovnimi funkcijami za urejanje in vtičnikom Inkscape. (dok)

Intlfonts

GNU intlfonts vsebuje brezplačne pisave X11 v formatih BDF in TrueType. Zajemajo predvsem veliko število znakov iz različnih pisnih sistemov: evropskega, azijskega, kitajskega, japonskega, korejskega, etiopskega in drugih. (dok)

JACAL

GNU JACAL je interaktivni simbolni matematični program, ki temelji na shemi. Manipulira in poenostavlja vrsto matematičnih izrazov, kot so enačbe, skalarji, vektorji in matrike. (dok)

Jami

Jami je program za univerzalno komunikacijo, ki spoštuje svoboščine in zasebnost svojih uporabnikov. Jami za vzpostavitev komunikacije uporablja porazdeljene zgoščene tabele. S tem se izognemo vodenju centraliziranih registrov uporabnikov in shranjevanju osebnih podatkov. (dok)

Java-getopt

java-getopt zagotavlja vrata Java funkcije GNU getopt iz glibc. Podpira razčlenjevanje dolgih in kratkih argumentov ukazne vrstice na prilagodljiv način, ki je popolnoma združljiv z različico C. (dok)

Jel

GNU JEL je knjižnica, ki programu omogoča, da sprejme uporabniško definirane izraze, ki jih je treba vnesti in oceniti med izvajanjem. Pravzaprav izraze prevede JEL v bajtno kodo Java, da se izognemo poslabšanju zmogljivosti zaradi dodajanja interpretiranih izrazov že interpretiranemu jeziku. (dok)

Java Training Wheels

GNU Java Training wheels zagotavlja manj strmo učno krivuljo za učenje programiranja v Javi. Sistem poganja predprocesor, ki Javi doda funkcije, kot sta makro superfor in sistem za vključevanje datotek, podobno kot predprocesor jezika C. (doc)

Jwhois

GNU jwhois je odjemalec za protokol WHOIS, ki omogoča poizvedovanje lastnika imena domene. Program uporablja razširljivo konfiguracijsko datoteko za določitev najprimernejšega strežnika za poizvedbo in ob uspehu prikaže rezultat uporabniku, sicer lahko po želji preusmeri poizvedbo na drug strežnik. (dok)

Kawa

GNU Kawa je implementacija programskega jezika Scheme, ki je zgrajen na platformi Java. Tako je priročno integriran z Javo in ima koristi od tega, ker ima prevajalnik, neobvezno statično tipkanje itd. Kawa služi tudi kot okvir za implementacijo drugih programskih jezikov na platformi Java. V Kawa je vključen qexo, delna implementacija XQuery v Javi. (dok)

noga

GNU Leg je nabor knjižnic za motorje iger in razvoj iger. Poleg knjižnic vključuje tudi urejevalnike virov, namenjenih lažjemu ustvarjanju iger. Paket je zasnovan tako, da je splošen in modularen ter podpira številne različne sloge iger. (dok)

Manj

GNU less je pozivnik, program, ki vam omogoča ogled velikih količin besedila v kosih velikosti strani. Za razliko od tradicionalnih pozivnikov omogoča premikanje po dokumentu nazaj in naprej. Prav tako mu ni treba prebrati celotne vhodne datoteke pred zagonom, zato se zažene hitreje kot večina urejevalnikov besedil. (dok)

Knjižnica GNU C

Knjižnica GNU C je standardna knjižnica C sistema GNU. Določa sistemske klice in druge osnovne funkcije, potrebne za pisanje programov v jeziku C. Upravlja funkcionalnost nizke ravni, ki komunicira z jedrom, kot je upravljanje procesov in datotek, kot tudi funkcionalnost višje ravni, kot je manipulacija nizov ali obravnava argumentov ukazne vrstice. (dok)

Libcdio

GNU Compact Disc Input and Control Library (libcdio) je knjižnica za dostop do datotek CD-ROM in CD. Razvijalcu omogoča, da aplikaciji doda dostop do CD-ja, ne da bi mu bilo treba skrbeti za lastnosti CD-ROM-a, ki so odvisne od operacijskega sistema in naprave, ali posebne podrobnosti slikovnih formatov CD-ja. Vključuje pycdio, vmesnik Python za libcdio, in libcdio-paranoia, knjižnico, ki zagotavlja ekstrakcijo zvoka s CD-jev brez tresenja in napak. (dok)

Libdbh

libdbh zagotavlja zgoščene tabele na osnovi diska, ki omogočajo hitro iskanje parov ključ-vrednost. Čeprav je njegova uporaba na splošno podobna uporabi (G)DBM, ima drugačno zasnovo, ki podpira napredno, netipično uporabo. (dok)

Liberty Eiffel

Projekt Liberty Eiffel je prevajalnik GNU Eiffel. Eiffel je napreden objektno usmerjen programski jezik, ki poudarja načrtovanje in izdelavo visokokakovostne in večkrat uporabne programske opreme. Liberty Eiffel je popoln, majhen in hiter Eiffelov prevajalnik, vključno s prevajalnikom Eiffel v C, orodji za dokumentacijo, lepim tiskalnikom, razhroščevalnikom in različnimi drugimi orodji. Vključuje tudi veliko knjižnico razredov kot tudi obsežen nabor ovojev/vez za razširjene knjižnice brezplačne programske opreme. (dok)

Libextractor

GNU libextractor je knjižnica za pridobivanje metapodatkov iz datotek. Podpira zelo veliko število formatov datotek, vključno z zvočnimi datotekami, dokumentnimi datotekami in arhivskimi datotekami. Vsak format datoteke je implementiran kot vtičnik, tako da je mogoče preprosto dodati nove formate. Paket vsebuje tudi orodje ukazne vrstice za ekstrahiranje metapodatkov iz datoteke in tiskanje rezultatov. (dok)

Libgcrypt

Libgcrypt je kriptografska knjižnica za splošne namene. Zagotavlja standardne kriptografske gradnike, kot so simetrične šifre, algoritmi zgoščevanja, algoritmi javnih ključev, funkcije velikih celih števil in generiranje naključnih števil. (dok)

Libiconv

libiconv zagotavlja implementacijo funkcije iconv za sisteme, ki je nimajo. iconv se uporablja za pretvorbo med kodiranji znakov v programu. Podpira široko paleto različnih kodiranj. (dok)

Libidn

libidn je knjižnica, ki izvaja specifikacije Stringprep, Punycode in IDNA. Te se uporabljajo za kodiranje in dekodiranje internacionaliziranih imen domen. Vključuje izvorne knjižnice C, C# in Java. (dok)

Libmatheval

GNU libmatheval je knjižnica za razčlenjevanje in vrednotenje simbolnih izrazov, ki jih kot besedilo vnese uporabnik. Lahko se naloži iz C in Fortran. Tolmač je prilagodljiv in podpira poljubno število spremenljivk poljubnih imen, decimalnih in simbolnih konstant, osnovnih unarnih in binarnih operaterjev ter elementarnih matematičnih funkcij. Lahko tudi izračuna simbolne izpeljanke in izpiše izraze v nize. (dok)

Libmicrohttpd

GNU libmicrohttpd je majhen strežnik HTTP, ki ga je mogoče vdelati in je implementiran kot knjižnica C. Omogoča enostavno zagon strežnika HTTP kot dela druge aplikacije. Knjižnica je v celoti skladna s HTTP 1.1. Lahko posluša več vrat, podpira štiri različne modele niti in podpira IPv6. Vsebuje tudi varnostne funkcije, kot sta osnovno in pregledno preverjanje pristnosti ter podpora za SSL3 in TLS. (dok)

librejs

LibreJS je dodatek za GNU Icecat in druge brskalnike, ki temeljijo na Firefoxu. Ko brskate po spletu, zazna netrivialno in neprosto kodo JavaScript, da se naloži brez vašega soglasja. Dovoljeno je naložiti kodo JavaScript, ki je brezplačna ali trivialna. (dok)

Libsigsegv

GNU libsigsegv je knjižnica za obravnavo napak strani, do katerih pride, ko poskuša program v uporabniškem načinu dostopati do nerazpoložljivega področja pomnilnika. Z lovljenjem in obravnavanjem napak na straneh lahko program implementira navidezni pomnilnik, ki ga je mogoče stranovati, obravnave prelivanja sklada itd. (dok)

Libtasn1

GNU libtasn1 je knjižnica, ki izvaja zapis ASN.1. Uporablja se za prenos strojno nevtralnih kodiranj podatkovnih objektov v računalniških omrežjih, kar omogoča formalno validacijo podatkov v skladu z nekaterimi specifikacijami. (dok)

Libtool

GNU Libtool pomaga pri ustvarjanju in uporabi knjižnic v skupni rabi s predstavitvijo enega samega doslednega, prenosljivega vmesnika, ki skriva običajno zapletenost dela s knjižnicami v skupni rabi na različnih platformah. (dok)

Libunistring

GNU libunistring je knjižnica, ki ponuja funkcije za manipulacijo nizov Unicode in za manipulacijo nizov C v skladu s standardom Unicode. (dok)

Libxmi

GNU libxmi je knjižnica za rastriranje 2D vektorske grafike za C in C++. Podpira risanje 2D primitivov v matriko slikovnih pik, ki jo poda uporabnik. Podpira tudi specifikacijo prefinjenih slogov črt, kot so večbarvni črtkani vzorci. Podprto je tudi polnjenje in teksturiranje poligonov. (dok)

Strela

GNU Lightning je knjižnica, ki generira kodo zbirnega jezika med izvajanjem. Tako je uporaben pri ustvarjanju pravočasnih prevajalnikov. Abstrahira ciljni CPU tako, da odjemalcem razkrije standardiziran niz navodil RISC. (dok)

Lilypond

GNU LilyPond je glasbeni stroj za pisanje, ki ustvarja visokokakovostne note. Glasba je vnesena v besedilno datoteko, ki vsebuje kontrolne sekvence, ki jih LilyPond interpretira za izdelavo končnega dokumenta. Razširljiv je z Guile. (dok)

Lims

GNU LIMS je sistem za upravljanje laboratorijskih informacij. Uporablja se za vodenje znanstvenega laboratorija katerega koli področja. Sestavljen je iz nabora modulov za ogrodje upravljanja podjetij Tryton, zato je prilagodljiv posebnim potrebam laboratorija. Sistem na primer vključuje module za upravljanje vzorcev, integracijo laboratorijske opreme, računovodstvo in upravljanje zalog. (dok)

Linux-libre

GNU Linux-Libre je brezplačna (kot v svobodi) različica jedra Linuxa. Spremenjen je bil tako, da odstrani vse neproste binarne blob-ove. (dok)

Tekoča vojna 6

GNU Liquid War 6 je hitra in edinstvena akcijska igra. Vsak igralec nadzoruje kapljico tekočine s ciljem osvojiti celoten zemljevid. Privzeto ima 13 stopenj in več kot 100 z dodatnim paketom; nove ravni je mogoče enostavno ustvariti z uporabo preprostih slikovnih datotek. (dok)

Lispintro

Lrzsz

GNU lrzsz je komunikacijski paket, ki podpira protokole za prenos datotek XMODEM, YMODEM in ZMODEM. (dok)

Lsh

GNU lsh je brezplačna implementacija protokola SSH različice 2. Uporablja se za ustvarjanje varne komunikacijske linije med dvema računalnikoma, ki zagotavlja lupinski dostop do strežniškega sistema od odjemalca. Zagotavlja strežniški demon in odjemalsko aplikacijo ter orodja za manipulacijo ključnih datotek. (dok)

GNU M4 je izvedba makro jezika M4, ki ima nekatere razširitve v primerjavi z drugimi izvedbami, od katerih nekatere zahteva GNU Autoconf. Uporablja se kot procesor makrov, kar pomeni, da obdeluje besedilo in razširi makre, ko naleti nanje. Ima tudi nekaj vgrajenih funkcij, na primer za zagon lupinskih ukazov ali za aritmetiko. (dok)

MAC Changer

GNU MAC Changer je pripomoček za pregledovanje in spreminjanje naslovov MAC omrežnih naprav. Novi naslovi so lahko nastavljeni eksplicitno ali naključno. Vključujejo lahko naslove MAC istega ali drugih proizvajalcev strojne opreme ali, bolj splošno, naslove MAC iste kategorije strojne opreme. (dok)

Poštar

GNU Mailman je programska oprema za upravljanje e-poštnih razprav in poštnih seznamov. Tako uporabniki kot skrbniki običajno izvajajo svoja dejanja v spletnem vmesniku, čeprav sta na voljo tudi e-poštni vmesnik in vmesnik ukazne vrstice. Sistem ima vgrajeno arhiviranje, samodejno obdelavo zavrnjenih sporočil, filtriranje vsebine, dostavo izvlečkov itd. (dok)

Mailutils

GNU Mailutils je zbirka programov za upravljanje, pregledovanje in obdelavo elektronske pošte. Vsebuje tako pripomočke kot strežniške demone in vsi delujejo na način, ki ni odvisen od protokola. Na voljo so tudi osnovne knjižnice, ki poenostavljajo dodajanje poštnih zmogljivosti novi programski opremi. (dok)

Naredi

Make je program, ki se uporablja za nadzor izdelave izvedljivih ali drugih datotek iz njihovih izvornih datotek. Postopek je nadzorovan iz datoteke Makefile, v kateri razvijalec določi, kako je vsaka datoteka ustvarjena iz svojega vira. Ima zmogljivo razrešitev odvisnosti in zmožnost določanja, kdaj je treba datoteke znova generirati po spremembi njihovih virov. GNU Makes ponuja veliko močnih razširitev v primerjavi s standardnim pripomočkom. (dok)

MARST

GNU MARST je prevajalnik Algol-to-C. Paket je sestavljen iz samega prevajalnika, knjižnice, ki vsebuje potrebne postopke Algol 60, in pretvornika, ki pretvori obstoječe programe Algol 60 iz drugih predstavitev v predstavitev MARST. (dok)

Maverik

GNU MAVERIK je komplet razvojnih orodij, ki podpira 3D virtualna okolja in interakcijo s temi okolji. Nahaja se na mehanizmu za upodabljanje na nizki ravni, ki uporablja OpenGL ali Mesa, in zagotavlja mehanizme za upodabljanje različnih vrst objektov, upravljanje okolij in zagotavljanje podpore za 3D interakcijo. (dok)

Polnočni poveljnik

GNU Midnight Commander je upravljalnik datotek z ukazno vrstico, ki je postavljen v običajnem dvopodoknem formatu. Poleg standardnih nalog upravljanja datotek, kot sta kopiranje in premikanje, Midnight Commander podpira tudi ogled vsebine datotek paketov RPM in drugih arhivov ter upravljanje datotek na drugih računalnikih prek FTP ali FISH. Vključuje tudi zmogljiv urejevalnik besedil za odpiranje besedilnih datotek. (dok)

Mcron

GNU Mcron je popolna zamenjava za Vixie cron. Uporablja se za izvajanje nalog po urniku, na primer vsako uro ali vsak ponedeljek. Mcron je napisan v Guileu, zato je njegovo konfiguracijo mogoče zapisati v Scheme; podprt je tudi originalni format cron. Ta paket išče vzdrževalca. (dok)

MCSim

GNU MCSim je paket za izvajanje simulacij. Podpira statistične ali deterministične simulacijske modele prek stohastičnih simulacij Monte Carlo ali dinamičnih simulacij, ki temeljijo na ODE. Prav tako lahko izvede Bayesovo sklepanje prek simulacij Markov Chain Monte Carlo. (dok)

Razvojni komplet MIX

GNU MDK je Mix Development Kit, emulacija pedagoškega računalnika MIX in njegovega zbirnega jezika MIXAL. MIX ima virtualni CPE s standardnimi funkcijami, kot so registri, pomnilniške celice, stikalo za prelivanje, primerjalne zastavice, vhodno-izhodne naprave in nabor binarnih navodil. Paket vključuje prevajalnik, virtualni stroj, GUI za virtualni stroj in še več. (dok)

Mediagoblin

GNU MediaGoblin je brezplačna platforma za objavljanje medijev. Deluje na federaliziran način in osvobaja uporabnika centraliziranih spletnih storitev. Podpira slike, videoposnetke in zvok. (dok)

Taljenje

GNU MELTING izračuna entalpijo, entropijo in temperaturo taljenja prehodov vijačnica-tuljava dupleksa nukleinske kisline. (dok)

MemPool

Knjižnica MemPool je samostojna knjižnica za dodeljevanje pomnilnika. To je knjižnica dodeljevalnika blokov, ki uporablja eno samo pomnilniško področje s fiksno velikostjo za dodeljevanje pomnilniških blokov spremenljive velikosti in izvozi funkcije, podobne malloc, realloc in free. Namenjen je simulaciji nizkih ciljev pomnilnika v GNU/Linux in drugih sistemih ali popolni zamenjavi upravljanja sistemskega pomnilnika. (dok)

Mes

GNU Mes želi pomagati pri ustvarjanju popolnega izvornega zagona za sisteme GNU/Linux, kot je GuixSD. Vsebuje vzajemno samostojni tolmač sheme, napisan v preprostem jeziku C, in prevajalnik C, ki temelji na Nyacc, napisan v shemi, združljivi z GNU Guile. Knjižnica Mes C podpira zagon gcc. (dok)

Metahtml

GNU MetaHTML je programski jezik na strani strežnika, zasnovan za svetovni splet. Ima sintakso, ki je podobna HTML in Lisp. Zagotavlja veliko knjižnico funkcij, vključno s podporo za vtičnice, ustvarjanje slik in povezave z drugimi programi. (dok)

Mifluz

GNU mifluz je knjižnica C++ za shranjevanje obrnjenega indeksa celotnega besedila. Shranjuje pojavitve besed v nizu besedil na tak način, da jih je mogoče pozneje iskati. Po iskanju besede kazalo vrne seznam dokumentov, ki vsebujejo to besedo. (dok)

Mig

Miscfiles

GNU Miscfiles je zbirka skupnih podatkovnih datotek. Vključujejo na primer okrajšave držav, imena in glavna mesta; okrajšave in imena valut; indeks najboljših trenutnih praks; zemljevid nabora znakov ASCII; seznam tričrkovnih letaliških kod; in seznam angleških besed. (dok)

Shema MIT/GNU

GNU/MIT Scheme je implementacija programskega jezika Scheme. Ponuja tolmač, prevajalnik in razhroščevalnik. Vsebuje tudi integriran urejevalnik, podoben Emacsu, in veliko knjižnico izvajalnega okolja. (dok)

Moe

GNU Moe je zmogljiv, a za uporabo preprost urejevalnik besedil. Deluje na brezmoden način in ima intuitiven niz vezav tipk, ki vsaki tipki dodelijo stopnjo resnosti; kombinacije tipk s tipko Alt so na primer za neškodljive ukaze, kot so premikanje kazalca, medtem ko so kombinacije s tipko Control za ukaze, ki bodo spremenili besedilo. Moe ima več oken, neomejeno razveljavitev/ponovitev, neomejeno dolžino vrstice, globalno iskanje in zamenjavo ter več. (dok)

Motti

GNU Motti je preprosta strateška igra za več igralcev, ki se igra v terminalu. Cilj igre je osvojiti sovražne prestolnice z zasedbo in obkrožanjem ozemlja. (dok)

MPc

GNU MPC je knjižnica C za izvajanje aritmetike na kompleksnih številih. Podpira poljubno visoko natančnost in pravilno zaokrožuje rezultate. (dok)

Mpfr

GNU MPFR je knjižnica C za izvajanje izračunov s plavajočo vejico z večkratno natančnostjo s pravilnim zaokroževanjem. (dok)

Mpria

GNU MPRIA je knjižnica C za izvajanje racionalnih aritmetičnih izračunov s poljubno visoko natančnostjo. Gradi na knjižnici GMP. (dok)

Mtools

GNU Mtools je nabor pripomočkov za dostop do diskov MS-DOS iz sistema GNU ali Unix. Podpira dolga imena datotek in več formatov diskov. Podpira tudi nekatere funkcije, specifične za FAT, kot so oznake nosilcev in atributi datotek, specifični za FAT. (dok)

Nana

GNU Nana je ogrodje za dodajanje preverjanja trditev, beleženja in merjenja zmogljivosti programom C in C++. Operacije je mogoče izvajati neposredno v C ali z generiranjem ukazov razhroščevalnika. Funkcije preverjanja in beleženja lahko omogočite ali onemogočite med prevajanjem ali izvajanjem. (dok)

Nano

GNU nano je majhen in preprost urejevalnik besedil za uporabo v terminalu. Poleg osnovnega urejanja podpira: razveljavi/ponovi, označevanje sintakse, preverjanje črkovanja, poravnavo, samodejno zamikanje, ujemanje oklepajev, interaktivno iskanje in zamenjavo (z regularnimi izrazi) in urejanje več datotek. (dok)

Nano-arhimed

nano-archimedes je brezplačen paket za simulacijo kvantnih sistemov. Temelji na Wignerjevi enačbi, formulaciji kvantne mehanike v smislu faznega prostora, ki je matematično enakovredna Schroedingerjevi enačbi. nano-archimedes izvaja metodo Wigner Monte Carlo. Kodo je mogoče preprosto razširiti na teorijo funkcij gostote (DFT) in časovno odvisne ab-initio simulacije. (dok)

Ncurses

GNU Ncurses je knjižnica, ki omogoča pisanje besedila v terminal na način, neodvisen od terminala. Podpira ploščice in barve ter več poudarkov in oblik znakov. Običajno se uporablja za implementacijo uporabniških vmesnikov za aplikacije ukazne vrstice. Priložena knjižnica ncursesw nudi široko podporo za znake. (dok)

Kopriva

GNU Nettle je nizkonivojska kriptografska knjižnica. Zasnovan je tako, da se enostavno prilega v skoraj vsak kontekst. Z lahkoto ga je mogoče vključiti v kriptografske komplete orodij za objektno usmerjene jezike ali v same aplikacije. (dok)

Ocrad

GNU Ocrad je program za optično prepoznavanje znakov, ki temelji na metodi ekstrakcije funkcij. Lahko bere slike v formatih PBM, PGM ali PPM in ustvari besedilo v 8-bitnih ali UTF-8 formatih. (dok)

oktava

GNU Octave je visokonivojski interpretirani jezik, ki je specializiran za numerične izračune. Uporablja se lahko za linearne in nelinearne aplikacije in zagotavlja odlično podporo za vizualizacijo rezultatov. Delo se lahko izvaja tako v interaktivni ukazni vrstici kot tudi preko skriptnih datotek. (dok)

Oleo

GNU Oleo je program za preglednice. Ponuja terminalski vmesnik in grafični uporabniški vmesnik, ki temelji na LessTif. Vsebuje poznane Emacsu podobne vezave tipk. Podpira številne standardne funkcije preglednic, kot so makri in funkcije. (dok)

OrgaDoc

siteDoc je sistem za enostavno vzdrževanje zbirke dokumentov med računalniki. Dokumenti so sinhronizirani z rsync ali unison; ni potrebna baza podatkov ali strežnik HTTP. (dok)

oSIP

GNU oSIP je implementacija protokola SIP. Uporablja se za zagotavljanje razvijalcem multimedijske in telekomunikacijske programske opreme vmesnika za začetek in nadzor sej SIP. (dok)

Panorama

GNU Panorama je ogrodje za izdelavo 3D grafike. Izvede lahko različne učinke, kot so zameglitev žarišča, poljubni viri svetlobe, preslikava izboklin in več svetlobnih učinkov. (dok)

Vzporedno

GNU Parallel je orodje za vzporedno izvajanje opravil lupine z uporabo enega ali več računalnikov. Opravila so lahko sestavljena iz posameznih ukazov ali skriptov in se izvajajo na seznamih datotek, gostiteljev, uporabnikov ali drugih elementov. (dok)

Ločeno

GNU Parted je paket za ustvarjanje in upravljanje tabel diskovnih particij. Vključuje knjižnico in pripomoček ukazne vrstice. (dok)

obliž

Patch je program, ki uveljavi spremembe v datotekah na podlagi razlik, ki jih določa program diff. Spremembe se lahko uporabijo za eno ali več datotek, odvisno od vsebine datoteke diff. Sprejema več različnih formatov diff. Uporablja se lahko tudi za razveljavitev predhodno uporabljenih razlik. (dok)

Paxutils

GNU paxutils je nabor pripomočkov za arhiviranje. Vsebuje različice arhivatorjev cpio, tar in pax. (dok)

Pcb

GNU PCB je interaktivno orodje za urejanje postavitev tiskanega vezja. Vsebuje implementacijo rats-nest, uvoz sheme/netlist in preverjanje pravil oblikovanja. Vključuje tudi samodejni usmerjevalnik in optimizator sledenja; in lahko ustvari fotorealistične slike in slike za pregled oblikovanja. (dok)

Pem

GNU Pem je preprosto orodje za sledenje osebnih prihodkov in izdatkov. Deluje iz ukazne vrstice in shranjuje svoje podatke v osnovni besedilni obliki v vašem domačem imeniku. Prek osnovne funkcije iskanja lahko preprosto natisne poročila o vaši porabi za različne stroške. (dok)

Pexec

GNU pexec je program za vzporedno izvajanje ukazov ali lupinskih skriptov na enem ali več računalnikih. Med delovanjem je mogoče spreminjati izvedbene parametre, kot so spremenljivke okolja ali standardni vhod, izhod in napaka. (dok)

pite

GNU pies je program, ki nadzoruje priklic in izvajanje drugih programov. Iz konfiguracijske datoteke prebere seznam programov, ki jih je treba zagnati, jih izvede in nato spremlja njihov status ter jih po potrebi znova izvede. (dok)

Plotutils

GNU Plotutils je paket za risanje in delo z 2D grafiko. Vključuje knjižnico, libplot, za C in C++ za izvoz 2D vektorske grafike v številnih formatih datotek. Ima tudi podporo za animacije 2D vektorske grafike. Paket vsebuje tudi programe ukazne vrstice za risanje znanstvenih podatkov. (dok)

Poke

GNU poke je interaktiven, razširljiv urejevalnik za binarne podatke. Ni omejen na urejanje osnovnih entitet, kot so biti in bajti, ponuja celovit proceduralni, interaktivni programski jezik, zasnovan za opisovanje podatkovnih struktur in delovanje z njimi. (dok)

Proxyknife

GNU proxyknife je orodje za preverjanje brezplačnih proxyjev izza požarnega zidu. Postopek potrjevanja je v celoti prilagodljiv vašim potrebam. (dok)

PSPP

GNU PSPP je program za statistično analizo. Izvaja lahko deskriptivno statistiko, T-teste, linearno regresijo in neparametrične teste. Vsebuje tako grafični vmesnik kot tudi vnos v ukazno vrstico. PSPP je zasnovan za medsebojno delovanje z Gnumeric, LibreOffice in OpenOffice. Podatke je mogoče uvoziti iz preglednic, besedilnih datotek in virov baz podatkov ter jih izpisati v besedilu, PostScriptu, PDF ali HTML. (dok)

Psychosynth

GNU Psychosynth je interaktiven, modularen mehki sintetizator. Posnema 3D površino, na kateri so nameščeni moduli in z njimi manipulira, ustvarja in spreminja glasbo. Psychosynth je sestavljen iz knjižnice C++, 3D vmesnika in vmesnika ukazne vrstice. (dok)

Pth

GNU Pth je prenosna knjižnica, ki zagotavlja načrtovanje brez prednosti, ki temelji na prioritetah, za več izvajalnih niti. Vsaka nit ima svoj programski števec, sklad izvajalnega časa, signalno masko in spremenljivko errno. Niti so načrtovane na način sodelovanja, namesto na standardni preventivni način, tako da se upravljajo glede na prioriteto in dogodke. Vendar ima Pth tudi emulacijo niti POSIX.1c (pthreads) za združljivost za nazaj. (dok)

Pyconfigure

GNU pyconfigure ponuja datoteke predlog za preprosto implementacijo konfiguracijskih skriptov, skladnih s standardi, in datotek Makefiles za pakete, ki temeljijo na Pythonu. Zasnovan je tako, da deluje skupaj z obstoječimi namestitvenimi skripti Python, kar olajša integracijo v obstoječe projekte. Na voljo so zmogljivi in ​​prilagodljivi makri Autoconf, ki vam omogočajo enostavno prilagajanje namestitvenega postopka glede na zmogljivosti ciljnega računalnika. (dok)

Qexo

R je jezik in okolje za statistično računalništvo in grafiko. Zagotavlja različne statistične tehnike, kot so linearno in nelinearno modeliranje, klasični statistični testi, analiza časovnih vrst, klasifikacija in grozdenje. Zagotavlja tudi zanesljivo podporo za izdelavo podatkovnih grafov kakovosti objave. Na voljo je velika količina paketov tretjih oseb, kar močno poveča njegovo širino in obseg. (dok)

Radij

Radius je strežnik za oddaljeno avtentikacijo in obračunavanje uporabnikov. Na splošno je uporaben za omrežja, ki zahtevajo centralizirano avtentikacijo in računovodske storitve za svoje delovne postaje. Preverjanje pristnosti je mogoče izvesti na različne načine, na primer prek /etc/passwd ali poverilnic, shranjenih v bazi podatkov SQL. (dok)

R.C.S.

RCS je izvirni sistem za nadzor revizij. Deluje na podlagi datoteke za datoteko, v nasprotju s poznejšimi sistemi za nadzor različic, kot so CVS, Subversion in Git. Zaradi tega je lahko na primer primeren za sistemske skrbniške datoteke, ki so pogosto same po sebi lokalne na enem računalniku. (dok)

Readline

Knjižnica GNU readline uporabnikom omogoča urejanje ukaznih vrstic med vnašanjem. Ohranja lahko zgodovino predhodno vnesenih ukazov, po kateri je mogoče iskati, kar vam omogoča preprost priklic, urejanje in ponovni vnos preteklih ukazov. Vsebuje tako Emacs podobne kot vi podobne vezave tipk, zaradi česar je njegova uporaba udobna za vsakogar. (dok)

Recutils

GNU Recutils je nabor orodij in knjižnic za ustvarjanje in upravljanje besedilnih baz podatkov, ki jih lahko ureja človek. Čeprav baze podatkov, ustvarjene z Recutils, temeljijo na besedilu, vsebujejo vse pričakovane funkcije, kot so edinstvena polja, primarni ključi, časovni žigi in še več. Podprtih je veliko različnih vrst polj, kot tudi šifriranje. (dok)

Reftex

GNU RefTex je paket za implementacijo oznak, referenc, citatov in indeksov v dokumentih LaTeX. Deluje tako, da ovije štiri makre LaTeX: label, ref, cite in index. Avtomatizira pogosta opravila, ki so običajno potrebna pri uporabi teh makrov. (dok)

Daljinec

GNU Remotecontrol je spletna aplikacija za upravljanje termostatov HVAC, ki podpirajo IP, in drugih naprav za avtomatizacijo stavb. Aplikacija lahko bere podatke iz več takšnih naprav in jih zapisuje. (dok)

Rottlog

GNU Rot[t]log je program za upravljanje dnevniških datotek. Uporablja se za samodejno zamenjavo dnevniških datotek, ko dosežejo dano velikost ali v skladu z danim urnikom. Uporablja se lahko tudi za samodejno stiskanje in arhiviranje takih dnevnikov. Rot[t]log bo poročila o svoji dejavnosti pošiljal skrbniku sistema. (dok)

Rpge

GNU Role Playing Game Engine zagotavlja mehanizem za ustvarjanje dvodimenzionalnih grafičnih iger igranja vlog, ki na primer zagotavlja mrežo za razlaganje duhov, upodabljanje duhov in ravnanje z dogodki. (dok)

Hitenje

GNU Rush je omejena uporabniška lupina za sisteme, v katerih je uporabnikom na voljo le omejena funkcionalnost ali viri. Skrbniki nastavijo uporabniške pravice prek konfiguracijske datoteke, s katero lahko na primer omejijo ukaze, ki jih je mogoče izvesti, čas procesorja ali uporabo navideznega pomnilnika. (dok)

Sather

GNU Sather je objektno usmerjen programski jezik, podoben Eiffelu. Zasnovan je tako, da je preprost, učinkovit, varen in nezaščiten. Vsebuje zbiranje smeti, statično preverjeno močno tipkanje, večkratno dedovanje, parametrirane razrede in več. Ta paket je sestavljen iz prevajalnika, knjižnice razredov, jezikovne specifikacije in priročnika za programiranje ter brskalnika za prikazovanje virov in usmerjenih grafov dedovanja razredov. (dok)

SCM

GNU SCM je implementacija sheme. Ta izvedba vključuje Hobbit, prevajalnik Scheme-to-C, ki lahko ustvari datoteke C, katerih binarne datoteke je mogoče dinamično ali statično povezati z izvršljivo datoteko SCM. (dok)

zaslon

GNU Screen je upravljalnik terminalskih oken, ki multipleksira en terminal med več procesi. Vsak virtualni terminal ponuja funkcije, kot sta medpomnilnik za pomikanje nazaj in mehanizem kopiranja in lepljenja. Screen nato upravlja različne virtualne terminale, kar vam omogoča enostavno preklapljanje med njimi, njihovo ločitev od trenutne seje ali celo razdelitev pogleda za prikaz dveh terminalov hkrati. (dok)

Sed

Sed je neinteraktiven urejevalnik besedilnih tokov. Prejme vnos besedila iz datoteke ali iz standardnega vnosa in nato uporabi niz ukazov za urejanje besedila v toku in natisne svoj izhod na standardni izhod. Pogosto se uporablja za zamenjavo besedilnih vzorcev v toku. Izvedba GNU ponuja več razširitev v primerjavi s standardnim pripomočkom. (dok)

Serveez

GNU Serveez je strežniško ogrodje, ki zagotavlja rutine, potrebne za enostavno implementacijo strežnikov, ki temeljijo na IP, v vaši aplikaciji. Demonstrira vidike omrežnega programiranja na prenosljiv način, zaradi česar je priročen za poenostavitev postopka dodajanja strežnika vaši aplikaciji ali za učenje o delovanju omrežnih storitev. Na voljo je že več primerov strežnikov, kot sta strežnik HTTP in strežnik IRC. (dok)

Sharutils

GNU sharutils je paket za ustvarjanje in upravljanje arhivov lupin, ki jih je mogoče takoj poslati po e-pošti. Arhiv lupine je datoteka, ki jo lahko obdela lupina tipa Bourne, da razpakira izvirno zbirko datotek. Ta paket je predvsem zaradi združljivosti in zgodovinskega pomena. (dok)

Pastir

GNU Shepherd je demon, ki upravlja demone, kar pomeni, da nadzoruje izvajanje sistemskih storitev in nadomešča podobno funkcionalnost, ki jo najdemo v tipičnih sistemih inicializacije. Zagotavlja ravnanje z odvisnostmi prek priročnega vmesnika in temelji na GNU Guile. (dok)

Shishi

GNU Shishi je brezplačna izvedba omrežnega varnostnega sistema Kerberos 5. Uporablja se za omogočanje varne komunikacije nezaščitenih omrežnih vozlišč prek vzajemne avtentikacije odjemalec-strežnik prek vstopnic. (dok)

Šmm

GNU SHMM je upravitelj pomnilnika v skupni rabi. Lahko bere ali piše v skupni pomnilnik. Podpira tudi druge ukaze, kot je zaklepanje ali odklepanje bloka skupnega pomnilnika, označenega s ključem in velikostjo. (dok)

Shtool

GNU shtool je večnamensko lupinsko orodje. Izvaja lahko funkcije številnih različnih ukazov, da zagotovi eno samo orodje za distribucijo z izvorno distribucijo, da se zagotovi prenosljivost lupinskih skriptov. Na primer, shtool lahko izvaja opravila običajnih ukazov install, mkdir ali echo v sistemih, ki jih nimajo. (dok)

Sipwitch

GNU SIP Witch je enakovredni strežnik Voice-over-IP, ki uporablja protokol SIP. Klici se lahko opravljajo izza požarnih zidov NAT in brez potrebe po ponudniku storitev. Njegova zasnova enakovrednega zagotavlja, da ni osrednje točke za prestrezanje ali zajemanje medijev, zato ga je mogoče uporabiti za izgradnjo varnega telefonskega sistema, ki deluje prek javnega interneta. (dok)

SLIB

GNU SLIB je prenosna skupna knjižnica za programski jezik Scheme. Podpira široko paleto različnih implementacij sheme in jim ponuja ogrodje za uporabo paketov procedur in sintakse sheme. (dok)

Smalltalk

GNU Smalltalk je brezplačna implementacija jezika Smalltalk. Izvaja standard ANSI za jezik in vključuje tudi dodatne razrede, kot so tisti za mreženje in programiranje GUI. (dok)

Solfege

GNU Solfege je program za vadbo glasbenega ušesa. Z njim lahko vadite prepoznavanje različnih glasbenih intervalov in akordov. Vsebuje pregled statistike, tako da lahko spremljate svoj napredek med več sejami. Solfege je zasnovan tako, da ga je mogoče razširiti, tako da lahko enostavno pišete svoje lekcije. (dok)

SpaceChart

GNU SpaceChart vam omogoča ogled porazdelitve zvezd v tridimenzionalnem prostoru. Omogoča vam, na primer, določanje razdalj med zvezdami, ogled s katerega koli zornega kota ali filtriranje pogleda glede na spektralni razred in svetilnost. (dok)

Speex

GNU Speex je kodek za stiskanje zvoka brez patentov, zasnovan posebej za govor. Je dobro prilagojen internetnim aplikacijam, kot je VoIP. Vsebuje stiskanje različnih pasov v istem bitnem toku, stereo kodiranje intenzivnosti in zaznavanje glasovne dejavnosti. (dok)

Urok

Spell je program za preverjanje črkovanja v ukazni vrstici. Prebere vneseno besedilo in vsako napačno črkovano besedo natisne v svojo vrstico. Implementiran je kot ovoj za GNU aspell ali ispell. (dok)

Sqltutor

GNU Sqltutor je spletna, interaktivna vadnica SQL. Vsebuje več vadnic, ki so na voljo v različnih jezikih. Vadnice predstavljajo vrsto vprašanj v pogovornem oknu in, ko so dokončane, prikažejo končno oceno, vključno s pravilnimi odgovori za napačne rešitve. (dok)

Src-poudarek

GNU source-highlight bere datoteko izvorne kode in ustvari izhodno datoteko, v kateri so ključne besede označene z različnimi barvami, da označijo njihovo sintaktično vlogo. Podpira več kot 150 različnih jezikov in lahko izpisuje v 8 različnih formatih, vključno s HTML, LaTeX in ODF. Izdaja lahko tudi v zaporedja barvnih ubežnikov ANSI, tako da je označeno izvorno kodo mogoče videti v terminalu. (dok)

Spread Sheet Widget

Pripomoček Gtk+, ki ponuja dvodimenzionalno matriko za ogled in obdelavo tabelarnih podatkov, podobnih tistim, ki jih ponujajo priljubljeni programi za preglednice. Zasnova sledi paradigmi model-pogled-krmilnik in je O(1) v času in prostoru, kar zagotavlja zelo hitro in učinkovito delovanje tudi pri zelo velikih podatkih. Vključene so funkcije, kot so izreži in prilepi, povleci in spusti itd. (dok)

Stow

GNU Stow je upravitelj simbolnih povezav. Ustvari simbolne povezave do imenikov podatkov in jih naredi, kot da so združeni v isti imenik. Običajno se uporablja za upravljanje programskih paketov, nameščenih iz vira, tako da vam omogoča, da jih namestite ločeno v različne imenike in nato ustvarite simbolne povezave do datotek v skupnem imeniku, kot je /usr/local. (dok)

štor

GNU STUMP je robomoderatorski program za novičarske skupine in poštne sezname USENET, ki vključuje spletno moderiranje. Podpira skupinsko moderiranje prek več človeških moderatorjev. Prav tako lahko samodejno zavrne neskladna sporočila brez človeškega posredovanja. Vključuje spletni vmesnik. (dok)

Superopt

GNU Superopt je generator zaporedja funkcij za superoptimizacijo. Uporablja izčrpen pristop generiranja in testiranja, da poišče najkrajše zaporedje navodil za določeno funkcijo. (dok)

Swbis

Swbis je sistem za upravljanje programske opreme, ki ga določa POSIX. Vsebuje omrežno pregledno upravljanje programskih paketov za sistemske skrbnike. Na primer, celotne imenike datotečnega sistema je mogoče kopirati od gostitelja do gostitelja po omrežju na pregleden način. Paket vsebuje tudi napredne metode ustvarjanja tarballov in mehanizme za preverjanje celovitosti. (dok)

Pogovorni filtri

Pogovorni filtri GNU so programi, ki pretvorijo angleško besedilo v stereotipna ali drugače šaljiva narečja. Filtri so na voljo kot knjižnica C, tako da jih je mogoče preprosto vključiti v druge programe. (dok)

Tar

Tar omogoča ustvarjanje arhivov tar, pa tudi možnost ekstrahiranja, posodabljanja ali seznama datotek v obstoječem arhivu. Uporaben je za združevanje številnih datotek v eno večjo datoteko, hkrati pa ohranja strukturo imenika in informacije o datoteki, kot so dovoljenja in datumi ustvarjanja/spreminjanja. GNU tar ponuja številne razširitve v primerjavi s standardnim pripomočkom. (dok)

Termcap

GNU termcap je knjižnica in baza podatkov, ki se uporabljata za omogočanje uporabe zaslonskih terminalov na način, neodvisen od terminalov. Baza podatkov opisuje zmogljivosti številnih različnih zaslonskih terminalov. Knjižnica lahko nato prilagodi splošna navodila, ki jih daje program, posebnim zmožnostim zaslonskega terminala, kot jih najdemo v bazi podatkov. (dok)

Termutils

Paket GNU Termutils vsebuje dva programa, tput in tabs. tput se uporablja v lupinskih skriptih za manipulacijo terminalskega zaslona, ​​na primer tako, da ga počistite ali premaknete kazalec na določeno točko, centrirate besedilo ali podčrtate besedilo. tabulatorji se uporabljajo za določanje in nastavitev strojnih zavihkov na terminalih, ki to podpirajo. (dok)

Teseq

GNU Teseq je program, ki analizira datoteke, ki vsebujejo kontrolna zaporedja. Zaporedja, ki jih sreča, pretvori v človeku berljiv opis dejanj, ki jih ta zaporedja izvajajo. Svoj izhod lahko tudi prevede nazaj v strojno berljiva krmilna zaporedja. (dok)

TeX za nepotrpežljive

TeX za nestrpne je ~350-stranska knjiga o TeXu, navadnem TeXu in Eplainu, ki so jo napisali Paul Abrahams, Kathryn Hargreaves in Karl Berry. (dok)

Texinfo

Texinfo je uradni dokumentacijski format projekta GNU. Uporablja eno izvorno datoteko z eksplicitnimi ukazi za izdelavo končnega dokumenta v katerem koli od več podprtih izhodnih formatov, kot sta HTML ali PDF. Ta paket vključuje tako orodja, ki so potrebna za izdelavo informacijskih dokumentov iz njihovega vira, kot bralnik informacij v ukazni vrstici. Poudarek jezika je na semantičnem izražanju vsebine, izogibanje fizičnim ukazom za označevanje. (dok)dok

Paket vc-dwim vsebuje dve orodji, vc-dwim in vc-chlog. vc-dwim je orodje, ki poenostavi nalogo vzdrževanja ChangeLog-a in hkratne uporabe nadzora različic, na primer s tiskanjem opomnika, ko je bila sprememba datoteke opisana v ChangeLog-u, vendar datoteka ni bila dodana v VC. vc-chlog pregleda spremenjene datoteke in ustvari vnose v dnevniku sprememb, skladne s standardi, na podlagi sprememb, ki jih zazna. (dok)

VCDImager

GNU VCDImager je nabor programov za delo z video CD-ji in Super Video CD-ji. Uporablja se lahko za avtoring, razstavljanje in analizo diskov. Podpira popoln nadzor predvajanja, elemente predvajanja po segmentih, sprotno samodejno polnjenje tokov MPEG in ekstrakcijo video CD-jev v datoteke. (dok)

Vera

V.E.R.A. (Virtual Entity of Relevant Acronyms) je seznam računalniških akronimov, ki se distribuira kot informacijski dokument. (dok)

Vmgen

GNU WB je diskovni, razvrščeni paket baze podatkov z asociativnim poljem za C, Scheme, Javo in C#. WB namesto implementacije z zgoščevanjem uporablja B-drevesa, ki so optimizirana za uporabo najmanjšega števila diskovnih operacij. (doc doc)

XBoard

GNU XBoard je grafična tabla za vse vrste šaha, vključno z mednarodnim šahom, xiangqi (kitajski šah), shogi (japonski šah) in Makruk. Podprtih je tudi več manj znanih različic. Predstavlja popolnoma interaktiven grafični vmesnik in lahko nalaga in shranjuje igre v Portable Game Notation. (dok)

Xlogmaster

GNU Xlogmaster je program z grafičnim uporabniškim vmesnikom, ki vam omogoča spremljanje sistemskih dnevnikov na priročen način. Dnevnike je mogoče prikazati s filtri za označevanje ali skrivanje črt. Program je mogoče uporabiti tudi za samodejno ukrepanje ob uporabniško določenih dogodkih. (dok)

Xnee

GNU Xnee je program, ki lahko snema, predvaja in distribuira uporabniška dejanja v X11. Uporablja se lahko za avtomatizacijo uporabniških interakcij za namene testiranja ali predstavitve. (dok)

Xorriso

GNU Xorriso je orodje za kopiranje datotek v in iz ISO 9660 Rock Ridge, a.k.a. Datotečni sistem zgoščenk, datotečni sistemi in omogoča manipulacijo z njimi po seji. Vsebuje formater in zapisovalnik za CD, DVD in BD. Deluje lahko na obstoječih slikah ISO ali ustvari nove. xorriso lahko nato uporabite za kopiranje datotek neposredno v datoteke ISO ali iz njih. (dok)

Zile

GNU Zile je lahek klon Emacsa. Njegova uporaba je podobna privzeti konfiguraciji Emacs, vendar ima veliko lažji nabor funkcij. (

Splošna javna licenca GNU (GNU General Public License ali GNU Open License Agreement) je morda najbolj priljubljena licenca za brezplačno programsko opremo, ki jo je ustvaril projekt GNU leta 1988. Na kratko se imenuje tudi GNU GPL ali celo samo GPL, če kontekst je jasen., da govorimo ravno o tej licenci (obstaja kar nekaj drugih licenc, ki v naslovu vsebujejo besedo »splošna javna licenca«). Druga različica te licence je bila izdana leta 1991, tretja različica pa po dolgih letih dela in dolgotrajnih razpravah leta 2007. GNU Lesser General Public License (LGPL) je oslabljena različica GPL za določene programske knjižnice. Splošna javna licenca GNU Affero je izboljšana različica GPL za programe, namenjene dostopu prek omrežja.

Namen GNU GPL je zagotoviti uporabniku pravice za kopiranje, spreminjanje in distribucijo (vključno komercialno) programov (kar je privzeto prepovedano z zakonom o avtorskih pravicah), in tudi zagotoviti, da uporabniki vseh izpeljanih programov prejmejo zgornje pravice . Načelo »dedovanja« pravic se imenuje »copyleft« (transkripcija angleškega »copyleft«) in ga je izumil Richard Stallman. V nasprotju z GPL licence za lastniško programsko opremo zelo redko podeljujejo uporabniku takšne pravice in jih običajno omejujejo, na primer s prepovedjo obnovitve izvorne kode.

GPL podeljuje prejemnikom računalniških programov naslednje pravice ali "svoboščine":

* svoboda izvajanja programa za kateri koli namen;
* svoboda preučevanja delovanja programa in njegovega spreminjanja (predpogoj za to je dostop do izvorne kode);
* svoboda distribucije izvodov;
* svoboda izboljšave programa in objave izboljšav javnosti (predpogoj za to je dostop do izvorne kode).
vir

OS GNU

GNU je rekurzivna kratica iz angleščine. GNU ni UNIX - "GNU ni Unix!") je brezplačen operacijski sistem, podoben UNIX-u, ki ga je razvil projekt GNU.

Razvoj sistema GNU se je začel 27. septembra 1983, ko je Richard Stallman objavil obvestilo o projektu v novičarskih skupinah net.unix-wizards in net.usoft. 5. januarja 1984 je Stallman odstopil z MIT, da bi svoj čas posvetil pisanju brezplačnega operacijskega sistema in tudi zagotovil, da inštitut ne more zahtevati nobenih pravic do izvorne kode sistema. Prvi program GNU je bil urejevalnik besedil Emacs.

Trenutno je sistem GNU/Linux, bolj znan kot preprosto Linux, precej razširjen (zlasti na trgu strežnikov) in precej popoln. Sestavljen je iz velikega števila programov projekta GNU (predvsem sistemskih pripomočkov in verige orodij GNU), jedra Linuxa - dela sistema, ki je odgovoren za izvajanje drugih programov, vključno z gonilniki naprav itd. - in številnih drugih brezplačnih programov.

Najnovejši materiali v razdelku:

Ustvarjanje in testiranje prve atomske bombe v ZSSR
Ustvarjanje in testiranje prve atomske bombe v ZSSR

29. julija 1985 je generalni sekretar Centralnega komiteja CPSU Mihail Gorbačov objavil odločitev ZSSR, da enostransko ustavi vse jedrske eksplozije pred 1.

Svetovne zaloge urana.  Kako razdeliti uran.  Vodilne države po zalogah urana
Svetovne zaloge urana. Kako razdeliti uran. Vodilne države po zalogah urana

Jedrske elektrarne ne proizvajajo energije iz zraka, ampak izkoriščajo tudi naravne vire – najprej je uran tak vir....

Kitajska ekspanzija: fikcija ali resničnost
Kitajska ekspanzija: fikcija ali resničnost

Informacije s terena - kaj se dogaja na Bajkalskem jezeru in Daljnem vzhodu. Ali kitajska ekspanzija ogroža Rusijo? Anna Sochina, prepričan sem, da si več kot enkrat ...