2024. április 25., csütörtök

Gyorskeresés

Mi az, hogy FORRÁSKÓD?

Írta: | Kulcsszavak: kód . forrás . forráskód . tulajdon . fejlesztés . programozás

[ ÚJ BEJEGYZÉS ]

Néha felmerülnek ezek a fogalmak. Pl. pár éve annak kapcsán, hogy a Pénzügyminisztérium nem tud vagy nem akar sok pénzt fizetni egy őáltala használt, számára nagyon fontos, de külsős cég által fejlesztett program új verziójáért. Pedig muszáj neki, mert nem nála van a mágikus forráskód.

(UPDATE: megvan az eset, lásd a cikk végén.)

***

Miért van ez? Miért kéne egyáltalán megvennie? Mi az a forráskód? Hogy is van ez?

Most megpróbálom ezt leírni nagyon egyszerűen, elnagyolva, laikusoknak.

A kód szó a programozásban a programozó által írt programkódot jelenti. Ez egy emberileg olvasható szöveges file, ami nem is csoda, hiszen ezt állítja elő a programozó, amikor írja a programot, azaz amikor programoz. És mint ilyen, persze változatható, ellenőrizhető, továbbfejleszthető, stb.

Ebből készül aztán az .exe file. Ennek a tartalma már emberileg nem értelmezhető (úgy mondjuk hogy bináris), ezt hatja végre a számítógépben a processzor, ezért ezt módosítani is gyakorlatilag lehetetlen.

Régen volt olyan programfeltörési mód, amikor az .exe fájlban át kellett írni egy bizonyos bájtot. De ehhez ugye kellett egy nagyon hozzáértő ember előbb, aki ki tudta deríteni, hogy melyik pont az az egy bájt az esetleg sok ezer bájtos vagy millió bájtos exe file-on belül, amit módosítani lehet és kell; és azt is meg tudta mondani, hogy mire kell megváltoztatni. És akkor ez még csak egy egyetlen icipici változtatás a fileban. Talán így már érthető, hogy egy olyan komplexebb módosítás, amit pl. egy új programfunkció jelent, miért nem kivitelezhető az .exe file-on.

A gyakorlatban ez úgy van, hogy mindig a programkódból, az eredeti forráskódból készül a kész program, és ez egy kizárólag egyirányú, visszafordíthatatlan folyamat. Ha bármilyen változtatásra van szükség a programban, akkor ahhoz előbb újra a kódot kell módosítani, majd a módosított kódból mindig újra meg újra legenerálni (lefordítani) az új, kész (futtatható) programot.

Ez az egész forrás meg szellemi tulajdon dolog nemcsak a programokra értelmezhető.

Amikor
- a törvény egy picit változik,
- vagy valamilyen új funkciót szeretne a felhasználó (itt pl. az adott minisztérium),
- vagy bármi más miatt nem jó már a program,
de a programkód nincs a felhasználó birtokában, akkor a szükséges változtatásokat mindig kénytelen megrendelni a kód birtokosától.

Mivel az uniós és hazai pénzügyi törvények, szabályozások, körülmények elég sűrűn változnak, ezért aztán igazi aranybánya tud lenni egy ilyen kód a tulajdonosának.

Ezt inkább úgy kéne megvenni a minisztériumnak, mint egy havi előfizetéses szolgáltatást, ahol a szolgáltató viszonylag kedvező havidíj fejében garantálja, hogy a programja mindig naprakész lesz, és bármilyen törvényi változás esetén meghatározott időn belül, minél előbb szállítja az annak megfelelő új programverziót.

A minisztérium megtehetné, hogy felvesz saját programozókat, akik megírnak egy nagyon hasonló programot, mint eddig a külsős cég. Így már a kód is a minisztérium tulajdona lenne, amit aztán már olcsóbb lenne mindig módosítgatni, csakhogy év végéig ezt már aligha lehet kivitelezni. Másrészt a "rutinos" magyar olvasóban (vagy legalábbis bennem) azért felmerül, hogy egészen biztosan a törvény szavának megfelelő, kiskapuktól mentes, jól működő, úgymond "tisztességes" programot írna-e a minisztérium, ha ez az ő hatásköre volna..

Ezért van az, hogy a nyílt forrású (vagy nyílt forráskódú) programokban ilyen szempontból sokkal jobban meg lehet bízni, hiszen annak a működése a forráskódjának elemzése révén bárki számára ellenőrizhető. A Windows nem ilyen. Arról csak a MS állítja, hogy nincs benne teszem azt pl. hátsó kapu az NSA számára. (Jó, meg esetleg még a tapasztalatok is közvetetten erre utalnak.) Egy linux esetében viszont erről garantáltan meg is lehet győződni.

A másik, amit a minisztérium tehetne, hogy megvásárolja magát a programkódot is annak jelenlegi tulajdonosától, de azt neki valószínűleg esze ágában sem lenne eladni, vagy baromi nagy pénzt kérne érte. És akkor a minisztérium saját programozóinak, ha vannak, még mindig egy csomó idő lenne, mire átlátják és teljesen megértik a (sokszor iszonyú bonyolult) forráskód felépítését, logikáját. Valószínűleg előbb rontanák el, minthogy értékelhető eredményre jussanak vele. Legjobb volna az eredeti programozókat is megvenni a cégtől, de akkor már az egész céget is megvehetné szinte...

Szóval ez mindenhogy szívás. Ezért nagyon fontos dolog, hogy ki a forráskód tulajdonosa.
Általában a legritkább esetben adják csak ki a fejlesztő cégek a forráskódjaikat. Szinte mindig csak és kizárólag a késztermék, a program jut el a felhasználóhoz. Kivéve például az ilyen stratégiai fontosságú állami programokat.

_____________________________________________

Megtaláltam: ez volt az ominózus eset. Elég csúnya módszerekhez fordult a magyar állam, miután rájött, hogy ezt elbaszta.

"az NFÜ megmagyarázhatatlan okból úgy vette ezt meg, hogy a forráskódot nem kérte hozzá. Ez érthetetlen és elképesztően súlyos hiba, ugyanis bár ismert volt, hogy egy állandóan változó felületre lesz szükségük, így viszont minden kisebb-nagyobb módosításért újra le kellett szerződniük a Welt 2000-rel."

Hát igen.

Hozzászólások

(#1) sh4d0w


sh4d0w
nagyúr
LOGOUT blog (1)

Forráskódból nem csak exe file készülhet, hanem pl. ELF bináris is.

https://www.coreinfinity.tech

(#2) gyurkikrisz válasza sh4d0w (#1) üzenetére


gyurkikrisz
őstag

ok

A tuning a kisfiúk alap órajele. | i5 6500

(#3) d@vee


d@vee
őstag

Forráskódnak nevezzük azt, amikor felteszünk a gáztűzhelyre egy lábasba vizet. Közben haverral leülünk chatelni, online multi közben. Hirtelen meghallod, hogy forr a víz, mert a konyhából tolod a multit notiról, de égő lenne chatbe írni, hogy el kell menned egy percre, mert fő a víz, hisz minden a szerveren lévő játékos látja a chat-et, viszont haverral már annyira ismeritek egymást, hogy két betűből és két számból tudja, mi a helyzet veled. Ezért ezt a "titkosírást", amikor chatbe írod, azt nevezzük forráskódnak.
Szívesen :DDD

[ Szerkesztve ]

Ja

(#4) SunyaMacs válasza sh4d0w (#1) üzenetére


SunyaMacs
aktív tag

Meg bármilyen futtatható bináris.

(#5) sztanozs válasza SunyaMacs (#4) üzenetére


sztanozs
veterán

Vagy bármilyen "késztermék" - pl mikor bármiből PDF-et renderelsz. Ilyenkor alapvetően már nem visszaálltható a "forráskód" és nem módosítható tetszőlegesen az eredmény (illetve igen, de jóval kisebb mozgástérrel, vagy óriási többletmunkával).

Amúgy az eredeti témához:
"az NFÜ megmagyarázhatatlan okból úgy vette ezt meg, hogy a forráskódot nem kérte hozzá."
Az NFÜ nem megmagyarázhatatlan okból nem vette meg, hanem azért mert egyszerűen nem tudott volna mit kezdeni vele. Illetve még ha az övé is a kód, nem volt fejlesztője hozzá, egy harmadik feles fejlesztő meg (főleg rövid távon), jóval drágábban hackelte volna bele a kért funkciókat, mint az eredeti fejlesztő.
Szóval hacsak nem az apokalipszisre készül a megrendelő, a kódot magát legtöbbször nem veszi meg, hanem csak a készterméket és a terméktámogatást.

Amúgy a történetnek elég csúnya vége lett: [link]

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#6) Ghoosty


Ghoosty
őstag

"Ebből készül aztán az .exe file. Ennek a tartalma már emberileg nem értelmezhető (úgy mondjuk hogy bináris), ezt hatja végre a számítógépben a processzor, ezért ezt módosítani is gyakorlatilag lehetetlen."

Elnézést a kötekedését és természetesen értem, mire gondoltál. Csak eszembe jutott a DOS-os korszak, amikor még számított pár kb tárhely is, mert összesen volt 20Mb-s a vinyó. Na ilyenkor voltak hasznosak az exe-tömörítő programok. Ezek módosították a kész exe-t, hogy kisebb legyen.[link]
De ugyanígy, volt olyan exe, amiben a szöveges dolgok tényleg szövegként szerepelt benne. Ha megnyitottad egy editorral, akkor át lehetett írni. Így készült a Ghoosty commander a Norton Commanderből amit természetesen a Ghoosty corporation készített a jövőben. :)

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.