Szabad szoftver

A Wikipédiából, a szabad enciklopédiából

A szabad szoftver olyan szoftver, amelyet a felhasználó:

  • tetszőleges céllal, tetszőleges kívánalmak szerint futtathat
  • működését tanulmányozhatja és igény szerint módosíthatja
  • szabadon másolhatja és terjesztheti, segítve ezzel a környezetében élőket
  • a módosított programot továbbterjesztheti, lehetővé téve ezzel, hogy az egyedi változtatás hasznát egy nagyobb közösség is élvezze.[1]

A szabad szoftver kifejezés tehát a szoftver felhasználásával kapcsolatos szabadságjogokra utal.[2] Ezeket a szabadságjogokat a szoftverhez írásban kiadott licencszerződés garantálja. Gyakorlatiasabb értelemben tehát, szabad szoftver az a szoftver, aminek a licence garantálja a fent említett szabadságjogokat.

Több szabadon felhasználható licencsablon is teljesíti ezeket a követelményeket. A szabad szoftver fogalmának megalkotója, Richard Stallman elkészített egy ilyen licencet, melyet bármely szoftver szerzője alkalmazhat, aki szabad szoftverként kívánja programját közzétenni. Ez az ún. GNU General Public License, mely az idők során több változáson is keresztülment.

A szintén Richard Stallman főszereplésével létrejövő, szabad szoftverek fejlesztéséért, terjesztéséért, a mozgalom népszerűsítéséért működő Free Software Foundation folyamatosan minősíti az ismertebb licencsablonokat, hogy azok megfelelnek-e a szabad szoftver által felállított kritériumoknak.

Egyéb ismérvek[szerkesztés]

Fontos megjegyezni, hogy a szabad szoftver kifejezés nem jelenti kötelezően a szoftver ingyenességét is (bár a legtöbb közismert szabad szoftver ingyenesen beszerezhető és használható). Elvi szinten bárki bármennyiért árusíthatja a kérdéses programokat; hogy szabad szoftver maradjon, az egyetlen feltétel, hogy garantálja a négy szabadságjogot. Szabad szoftverért való fizetés gyakorlata alakulhat ki ott, ahol például a felhasználó nem tudja a programot magának lefordítani, szüksége van kézikönyvre, esetleg CD-n vagy DVD-n szeretné a szoftvert megkapni, vagy terméktámogatásra van szüksége. Az is elképzelhető, hogy valaki egyedi fejlesztéssel, testreszabással, adott hiba kijavításával, adott funkció beépítésével bíz meg egy programozót vagy céget.

Általánosságban igaz az, hogy a fent említett négy szabadságjog együttes megléte által válhat csak egy szoftver szabad szoftverré, és az is, hogy a program tanulmányozása, megváltoztatása és fejlesztése a forráskód közzététele nélkül nem valósulhat meg, így a szabad szoftverek forráskódja publikusan mindig hozzáférhető.

Nem számítanak szabad szoftvernek se a freeware, se a shareware programok, melyek általában ingyenesen hozzáférhetők és terjeszthetők, ám forráskódjukba nem lehet betekintést nyerni és megkötésekkel élhetnek a használhatóságra vonatkozóan.

Sőt, önmagában az sem elég, ha egy program nyílt forráskódú (open source). Ez ugyan lehetővé teszi a program működésének tanulmányozását, ami minőségi, különösen biztonsági szempontból nagyon fontos lehet, de ha pl. a módosított változatok használata vagy terjesztése korlátozott, akkor a program nem szabad szoftver. Bővebben lásd lent.

Érdemes tudni azt is, hogy a szabad szoftverrel mindig kötelezően meg kell kapjuk a licencszerződését is, amit ugyanígy kötelesek vagyunk továbbadni az eredeti szoftverrel. Így előzhető meg, hogy a szabad szoftver idővel elveszítse szabad jellegét. Megfelelő licenc nélkül vagy a licenc teljes hiányában ugyanis a fönti négy alapjog nem biztosítható. Bővebben lásd lent.

A szabad szoftver fogalmának története[szerkesztés]

1983 előtt[szerkesztés]

A számítógép-felhasználók számára az 1950-es évektől az 1970-es évek elejéig az volt a megszokott, hogy a szabadon hozzáférhető szoftverek szabadságjogokkal járnak együtt. A szoftvereket egyéni felhasználók és hardvergyártók általánosságban közkinccsé tették, utóbbiak örömmel fogadták, ha valaki programot írt termékeikhez, mert az általuk gyártott hardver így vált mindinkább hasznossá és jobban kihasználttá. Felhasználói és szolgáltatói szervezetek (mint amilyen a SHARE) alakultak ki, hogy a szoftverek cseréjét elősegítsék.

Az 1970-es évek elejére ez az állapot megváltozott: a szoftverköltségek drasztikusan nőni kezdtek. A piac szereplői felismerték, hogy a szoftverek írásáért és fenntartásáért az emberek hajlandóak fizetni. Az 1970-es évekre a független szoftvereket gyártók és a saját hardvereikhez szoftvereket író vállalatok lettek a szoftverpiac egymással versengő szereplői. Utóbbiak pénzt direkt nem kértek a megírt programokért, de hardveráraikba beépítették programírás költségeit. Az egyik ilyen gyártó az IBM volt. Az Egyesült Államok vád alá helyezte a céget, később megállapítva, hogy ez a magatartás versenyellenes[3] (megerősítve azt is, hogy a szoftverár nyílt felszámítása, a szoftverért való pénz kérése a követendő példa).

Míg néhány szoftver mindörökre ingyenes maradt, a fizetős programok száma határozottan emelkedett. Az 1970-es évek végén, az 1980-as évek elején a szoftveripar egyre több szereplője tett lépéseket annak érdekében, hogy többé már az arra képes felhasználók se tanulmányozhassák vagy alakíthassák át a gyártók számára jövedelmező programokat: zárttá tették a forráskódot, csak a lefordított, bináris másolatokat adták el. Végül 1980-ban az Egyesült Államokban a szerzői jogi törvényeket kiterjesztették a számítógépprogramokra is.

1983. szeptember[szerkesztés]

1983. szeptember 27-én Richard Stallman elektronikus üzenetet küldött két Unixszal foglalkozó hírcsoportba, ezzel útjára indítva a GNU Projektet[4]. Az akkor az MIT Mesterséges Intelligencia Laboratóriumban működő, korábban az EMACS szerkesztő megalkotásával is komoly hírnevet szerzett Stallman azt írta a közösségnek:

„...el fogok készíteni egy teljes Unix-kompatibilis szoftver rendszert, amit GNU-nak (a GNU Nem Unix) fogok hívni, és ingyen fogom adni mindenkinek, aki használni tudja.”[5]

Stallman a megszorító szoftverlicencekkel és a szoftvervásárláskor érvénybe lépő tovább nem adási záradékokkal nem értett egyet.[6] A tradicionális hackeretika ugyanis megkövetelte a fejlesztés alatt lévő programok egymással való megosztását. Az egyetemen töltött időről, majd a GNU projekt indoklásával kapcsolatban a következőket írta:

„<akkoriban> ha bárki egy egyetemről vagy bármilyen cégtől fel akarta használni a programjainkat, boldogan hagytuk. Ha azt láttad, hogy valaki egy szokatlan és érdekes programot használ, mindig megkérhetted, hogy láthasd a forráskódot, vagyis megnézhetted, megváltoztathattad, bekebelezhetted bizonyos részeit, hogy új programot csinálj belőle... A kor modern számítógépei, mint amilyen a VAX vagy a 68020 volt, saját operációs rendszert használtak, és egyik se volt ingyenes. Még ahhoz is tovább nem adási szerződést kellett aláírni, hogy a futtatható programot megkapjad. Ez azt jelentette hogy az első dolog, ami megtörtént, amikor egy számítógépet kezdtél használni, hogy megfogadtad: nem fogsz a környezetedben élőkön segíteni... A szabály, amit a fizetős szoftvergyártó cég megalkotott, a következő lett: "Ha megosztod az ismerőseiddel, akkor kalóz vagy. Ha bármi változást akarsz a programon, kérj meg minket, hogy megtegyük.”[7]

Ahhoz, hogy a számítógép valamennyi programja garantálja majd az általa alapvetőnek tartott szabadságjogokat (használat, megosztás, tanulmányozás, módosítás), a számítógép legalapvetőbb programját, az operációs rendszert is meg kellett írni. Ez lett tehát Stallman célkitűzése.

1984. január[szerkesztés]

1984 januárjában indul csak meg a GNU operációs rendszer fejlesztése. Később, mint ahogy Stallman írta:

„A GNU Projekt tulajdonképpeni története több módon is eltér a kezdeti tervektől. Például a kezdet 1984 januárjáig tolódott. A szabad szoftver filozófiai sarokkövei pedig évekkel későbbi időkig nem lettek letisztázva.”[8]

1985. március[szerkesztés]

1985 márciusában Stallman megnevezi a GNU projekt lényegét és céljait a GNU MANIFESTO-ban. Sokat idéz az 1983. szeptember 27-én írt leveléből, de ki is egészíti azt. Szembenéz azokkal a felvetésekkel és kérdésekkel, amiket egy kívülálló tenne fel a Projekt kapcsán, majd megválaszolja őket (pl. Szabad szoftver esetén lehet-e szoftverfrissítésre számítani, van-e támogatás? Mit tegyen, aki versenyképességét fenn akarja tartani a többi céggel szemben és ezért választana fizetős operációs rendszert?).[9]

1985. október[szerkesztés]

1985 októberében megalapul a Free Software Foundation, amiről 1986 februárjában Richard Stallman úgy számol be, mint:

„A Free Software Foundation azért jött létre, hogy megszüntesse a programok másolásával, megosztásával, megértésével, módosításával kapcsolatos megkötéseket. A ‘Free’ szó a nevünkben nem az ingyenességre utal, hanem a szabadságra. Először is a szabadságra, hogy másolhasd a programot és átadhasd valakinek ismerőseid közül, akik ugyanúgy használhatják, ahogy magad is. Másodszor a program megváltoztatásának szabadságára, ami által irányíthatod a működését, ahelyett hogy a működés irányítana téged. Éppen ezért, a forráskódnak hozzáférhetőnek kell lennie.
A Foundation a fizetős szoftverek helyébe tehető szabad, de azokkal kompatibilis programok fejlesztésével dolgozik azon, hogy ezt a szabadságot megadja számodra. Elsősorban egy az Unixszal felülről kompatibilis integrált szoftverrendszernek, a GNU-nak az összeállításán fáradozunk. Ha kiadjuk, mindenki szabadon másolhatja és megoszthatja, valamint a forráskódját is elérhetővé tesszük; ez által új dolgokat tanulhatsz az operációs rendszerről, testre szabhatod a saját gépedhez, fejlesztheted, és kicserélheted változtatásaidat másokkal.”[10]

A Free Software Foundation által minősített licencek[szerkesztés]

A Free Software Foundation logója

A Free Software Foundation számos szoftverlicencet megvizsgált és minősített aszerint, hogy a kiadott szoftverhez garantált felhasználói jogok szabad szoftverré teszik-e a programot. Szabad szoftverlicenc esetén megvizsgálja az alapítvány azt is, hogy az adott licenc alatt kiadott forráskódokat együtt lehet-e használni az általuk alkotott és ajánlott GNU General Public License-szel publikált forráskódokkal. Amennyiben erre lehetőség van, azt mondják, hogy a licenc kompatibilis a GPL-lel.

Ahhoz, hogy egy szoftverlicenc szabad szoftverű minősítést kapjon, a definíciós részben megadott négy alapjogot kell biztosítania, de nem kötelező tekintettel lennie más szerződésekkel való kompatibilitásra, és nem kell, bár élhet is kötelező megkötésekkel a szabad szoftver módosításából létrejövő további szoftverek licencelésére, közzétételi szabályaira és a programokból létrejövő haszonszerzésre.

Amelyik licenc előírja a licencelés megőrzését a módosított programkódokra is (hogy a szoftver változatai is szabadok maradjanak), azokat angol szójátékkal copyleft vagy share-alike licenceknek nevezzük. A BSD licenc ún. gyenge copyleft licenc, ugyanis a módosított kód egészére nem követeli meg az eredeti licencet, ahogy a módosított forráskód közzétételét sem, ezért könnyedén beépíthetők zárt (nem nyílt forráskódú) programokba. A GNU General Public License és GNU Lesser General Public License úgynevezett erős copyleft licencek: minden módosításra az eredeti licenc kell, hogy vonatkozzon (illetve az LGPL kód kivételesen GPL-ként is kiadható). Az LGPL programok annyi kedvezményt tartalmaznak a zárt programgyártók irányába, hogy a zárt programok meghívhatják az osztott LGPL-es programkönyvtárak függvényeit futásuk során.

A szabad szoftverek és nyílt forráskódú szoftverek viszonya[szerkesztés]

A szabad szoftver és a nyílt forráskódú szoftver egymással nem rokonértelmű kifejezések. A nyílt forráskódú szoftvereknek tíz követelménynek kell megfelelniük,[12] míg a szabad szoftvereknél négy kritérium van. Általában igaz, hogy a szabad szoftver a maga négy kritériumával kielégíti a nyílt forráskódú szoftver mind a tíz kritériumát, de nem minden nyílt forráskódú szoftver tudja visszafelé megszerezni a szabad szoftver minősítést is. Richard Stallman példaként említi az Open Watcom-ot, melynek forráskódja ugyan nyílt, viszont nem engedélyezi a módosítások elvégzését.

A nyílt forráskódú szoftvereket fejlesztő programozók arra helyezik a hangsúlyt, hogy a forráskódnak végig nyíltnak kell maradnia, és be kell tartani a programozás során egy fejlesztési modellt. Nézetük szerint a nyílt forráskódú szoftverekhez kapcsolódó fejlesztési modell teszi jobbá a nyílt forráskódú programokat minden más hasonló funkciójú szoftvernél. Másként fogalmazva a fejlesztési modell teszi a nyílt forráskódú szoftvereket, melyeknek célja, hogy legyőzzék fizetős vetélytársaikat.

A szabad szoftvereket készítő programozó szintén közzéteszi a forráskódot, de szemben a nyílt forrású szoftverek készítőivel nem gondolják, hogy csak a nyílt forráskódú szoftverekre jellemző fejlesztési modell eredményezhet kiemelkedő programkódokat. Egy szoftvert a szabadságjogok tiszteletben tartása tesz szabad szoftverré, és a szabad szoftver mozgalom legfőbb célkitűzése nem az, hogy jobbak legyenek vetélytársaiknál (bár természetesen jobbak akarnak lenni), hanem hogy a felhasználói szabadság mindvégig megmaradjon.

Richard Stallman gondolatkísérlete szerint ha valaki egy, a számítógép-felhasználói szabadságot korlátozó szoftvert kezdene megalkotni, akkor a nyílt forráskódú programok filozófiája nem tiltaná meg, hogy programfejlesztők egy ilyen program létrehozásán dolgozzanak, mert céljuk, hogy a fejlesztési modelljüket betartva jobbat alkossanak, mint más fejlesztési modellt követő fizetős cégek. A szabad szoftver mozgalom aktivistái ilyenben viszont nem vennének részt, mert a felhasználói szabadság fenntartásának célja képezi tevékenységük alapját.[13]

Példák szabad szoftverekre[szerkesztés]

Jegyzetek[szerkesztés]

  1. free software The four essential freedoms című fejezet
  2. free software The Free Software Definition című fejezet
  3. Fisher, Franklin M.; McKie, James W.; Mancke, Richard B. (1983). IBM and the U.S. Data Processing Industry: An Economic History. Praeger. ISBN 0-03-063059-2.
  4. A GNU projekt
  5. bejelentés Free Unix! című rész, első bekezdés
  6. bejelentés Why I Must Write GNU című rész
  7. A GNU projekt The first software-sharing community című rész 3. bekezdése és a The collapse of the community című rész 3. és 4. bekezdése
  8. bejelentés 2. bekezdés
  9. The GNU Manifesto. www.gnu.org (angolul) (Hozzáférés: 2018. szeptember 1.)
  10. bulletin 8. oldal első fele
  11. A Free Software Foundation által minősített szoftverlicencek listája (elérve: 2015.07.22-én)
  12. Az Open Source Initiative definíciója a nyílt forrású szoftverre (elérve: 2015.07.22-én)
  13. A szabad szoftverek és nyílt forrású szoftverek közötti különbséget tárgyaló írás Richard Stallman-től (elérve: 2015.07.22-én)
  14. Mozilla Licensing. www.mozilla.org (angolul) (Hozzáférés: 2018. szeptember 2.) és
    Mozilla Public License. www.mozilla.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  15. Licenses. www.libreoffice.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  16. About. notepad-plus-plus.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  17. About. k9mail.github.io (angolul) (Hozzáférés: 2018. szeptember 6.) arch
  18. About. www.digikam.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  19. About GIMP. www.gimp.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  20. GNU Public License. wordpress.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  21. QEMU License. wiki.qemu.org (angolul) (Hozzáférés: 2018. szeptember 2.)
  22. GNU licencek első bekezdés: „Mi rendszerint GPL-t használunk, [...] alkalmanként pedig más szabad szoftver licenceket.”

Források[szerkesztés]

bejelentés: Initial Announcement. www.gnu.org (angolul) (Hozzáférés: 2018. szeptember 1.)
bulletin: A GNU's Bulletin első száma. www.gnu.org (angolul) (Hozzáférés: 2018. szeptember 2.)
free software: What is free software? www.gnu.org (angolul) (Hozzáférés: 2018. szeptember 1.)
GNU licencek: A GNU által használt licencek. www.gnu.org (angolul) (Hozzáférés: 2018. szeptember 6.)
A GNU projekt: The GNU Project. www.gnu.org (angolul) (Hozzáférés: 2018. szeptember 1.)

Kapcsolódó szócikkek[szerkesztés]

Fordítás[szerkesztés]

Ez a szakasz részben vagy egészben a Free software című angol Wikipédia-szócikk History című fejezete ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.