GNU GPL гэдэг нь GNU General Public License товчоор GPL. General-ерөнхий, Public-бүх нийтийн, License-лиценз гэсэн утгатай англи үгний товчлол юм.
GNU General Public License нь анхлан GNU хэмээх төсөлд зориулан Ричард Сталлман хэмээх хүний бичсэн, чөлөөт программ хангамжийн лицензэд өргөн ашиглагддаг лиценз юм.
GNU General Public License нь доорх 4 эрх чөлөөг танд олгодог. Үүнд:
GNU General Public License-д
Гэхдээ нэг л нөхцөлтэйгөөр: таны тарааж буй ямар ч хувилбар яг ийм л лицензтэй байх ёстой бөгөөд эх код нь нээлттэй байх ёстой. Энэ нь программыг танаас авсан хүн бүр яг тань шиг эрхийг эдлэх ёстой гэсэн үг юм.
Маш олон Чөлөөт Программ Хангамжийн лиценз байдаг. Учир нь дээрх 4 эрх чөлөөг хүлээн зөвшөөрдөг л бол тэр нь Чөлөөт Программ Хангамжийн лиценз гэсэн үг юм.
GNU General Public License нь тэдгээрийн дотроос хамгийн анхны Чөлөөт Программ Хангамжийн лиценз юм.
Чөлөөт Программ Хангамжийн лицензийн ерөнхий 2 ангилал байдаг.
Copyleft лиценз нь бүх хэрэглэгчдийнхээ эрх чөлөөг идэвхтэйгээр өмгөөлдөг. Өөрөөр хэлбэл бидэнд зөвхөн дээрх 4 эрх чөлөөг олгоод зогсохгүй программын хуулбарыг авсан хэрэглэгч бүр ижил эрх чөлөө эдлэх баталгааг өгдөг юм.
Copyleft лиценз бол код дундын этгээдээр дамжсан ч гэсэн уг этгээд танд кодыг дамжуулахдаа яг өөр шигээ эрхтэйгээр кодыг танд дамжуулж өгөх ёстой гэсэн үг юм.
GNU General Public License бол copyleft лиценз юм.
Copyleft биш лицензүүд нь дээр дурдсан 4 эрхийг олгодог боловч програмын өөрчлөгдсөн хувилбарыг бүхлээр нь чөлөөт биш байдлаар гаргахыг зөвшөөрдөг.
GPL-ыг 1989 онд GNU төслийн нэг хэсэг программд ашиглахаар Ричард Сталлман бичжээ. Анх GPL нь GNU Emacs, GNU Debugger, GNU Compiler Collection зэрэг программуудын дээр үеийн хувилбаруудад ашиглагдаж байсан хоорондоо төстэй лицензүүдийг нэгтгэх зорилготой үүсжээ.
Эдгээр лицензүүд нь одоогийн GPL-д дурдагдсан заалтуудтай төстэй заалтуудтай байсан боловч програм бүрд тусгайлан өөр өөр байв.
Сталлманы зорилго бол ямар ч төслүүд ашиглаж болохоор нэг лиценз бий болгох явдал байсан бөгөөд ингэснээр олон төслүүд кодоо дундаа ашиглах боломжтой болох учиртай байв.
2007 оны 8-р сар гэхэд Freshmeat сайтад мэдээлснээр чөлөөт програм хангамжуудын ойролцоогоор 65% нь буюу 43442 нь, SourceForge.net-д мэдээлснээр 2006 оны 1 сард төслүүдийн 68% нь GPL лицензийг ашиглаж байна хэмээн мэдээлж байжээ.
Red Hat Linux 7.1-аас явуулсан 2001 оны судалгаанд эх кодын 50% нь GPL лицензтэй байна хэмээн мэдээлж байжээ.
GNU General Public License нь 3 хувилбартай
GNU Project нь сангуудад хэрэглэгддэг 2 үндсэн лицензтэй.
Энэ 2 лиценз нь хоорондоо маш их ялгаатай. Lesser GPL нь санг үнэтэй, чөлөөт бус програмд ашиглах боломжтой байдаг.
Харин Жирийн GNU GPL-ийг зөвхөн үнэгүй, чөлөөт програмуудад ашиглахыг зөвшөөрдөг байна.
LGPL-ийн нэг онцлог нь хэн ч LGPL бүхий програмыг GPL бүхий програм руу хөрвүүлж болдог.
Тийм биш. Чөлөөт програм хангамжийн өөр олон лиценз байдаг.
GPL нь өөрийнхөө өөрчилсөн хувилбараа юмуу аль нэг хэсгийг нь нийтэд заавал тараахыг шаарддаггүй. Та заавал тараалгүйгээр өөрийн хувийн хэрэгцээнд өөрчлөөд ашиглах боломжтой. Энэ нь байгууллагын хувьд ч хүчинтэй. Байгууллага өөрсдийн өөрчилсөн хувилбараа нийтэд тараалгүйгээр дотооддоо ашиглаад байх боломжтой.
Гэвч хэрэв та өөрчилсөн хувилбараа олон нийтэд ямар нэг хэлбэрээр тараах гэж байгаа бол GPL нь таныг өөрчилсөн эх кодоо мөн хэрэглэгчдэд ил байхыг шаардах болно.
Өөрчилсөн хувилбараа тараах эсэх нь таны л хэрэг юм.
Үгүй. GPL нь түүнд хэрэв тэр өөрөө хүсвэл л програмынхаа хуулбарыг тараах эрхийг өгдөг. Хэрэв тэр хүсвэл програмаа тараахгүй байх эрхтэй.
Та өөрчлөлтөндөө заавал зохиогчийн эрх авах шаардлагагүй. Ихэнх орнуудад энэ нь автоматаар хийгдчихдэг. Иймд хэрэв та өөрчлөлтөндөө зохиогчийн эрх авахыг хүсэхгүй байвал өөрийн өөрчлөлтийг ямар нэгэн олон нийтийн домэйнд байрлуулах хэрэгтэй.
Зохиогчийн эрх авсан ч бай, аваагүй ч бай та өөрчилсөн хувилбараа GPL лицензийн дор л гаргах ёстой.
GPL нь хүн бүрт үүнийг зөвшөөрнө. Хуулбарыг зарах эрх бол чөлөөт програм хангамжийн тодорхойлолтын нэг хэсэг юм.
Тийм. Та програмын хуулбарыг тараахдаа хүссэн үнээ тогтоож болно. Хэрэв та бинариг нь татахаар тавьсан бол түүнд харгалзах эх кодыг мөн ижил хандалттайгаар тавих ёстой.
Ингэхдээ програмын эх кодыг татах төлбөр нь бинариг нь татах төлбөрөөс илүүгүй байх ёстой.
Болохгүй. Ийм зүйл шаардах нь програмыг чөлөөт гэсэн утгыг нь алдагдуулах учраас.
GPL бол чөлөөт програм хангамжийн лиценз, иймээс энэ лиценз нь хүмүүст програмыг ашиглаж, тараасныхаа төлөө ямар нэг төлбөр төлж байхыг зөвшөөрдөггүй.
Үгүй. Хэн нэгэн танд төлбөр төлж хуулбарыг авчихаад түүнийгээ олон нийтэд төлбөргүйгээр тарааж болно. Тухайлбал, хэн нэгэн танд төлбөр төлж хуулбарыг авчихаад түүнийгээ олон нийтийн сайт дээр тавьчих эрх түүнд бий.
Лицензийн хуулбарыг програмдаа багтаах нь маш чухал. Ингэснээр програмын хуулбарыг авсан хүн бүр өөрийнхөө эрхийг мэдэх боломжтой болох юм.
Та лиценкийг бүрэн эхээр нь багтаахын оронд лиценз бичигдсэн ямар нэг URL-ийг оруулчихъя хэмээн бодож байж магад. Гэвч 5 юмуу 10 жилийн дараа тэр URL хүчинтэй байх эсэх нь тодорхойгүй шүү дээ. 20 жилийн дараа гэхэд бидний мэдэх одоогийн байгаа URL-ууд байхгүй болчихож магадгүй шүү дээ.
Иймээс програмын хуулбарыг авсан хүн бүрт лицензийн хуулбар очих ёстой.
Өмнөх үг болон зааврууд нь бүгдээрээ GNU GPL-ийн нэгдмэл хэсгүүд учраас тэдгээрийг алгасаж болохгүй. Мөн GPL нь зохиогчийн эрхээр хамгаалагдсан учир GPL-ийг зөвхөн бүтнээр нь үг бүрчлэн хуулбарлахыг л зөвшөөрдөг.
2 програмыг нийлүүлж, нэгэн програм болгохын тулд танд эдгээр програмуудыг ингэж ашиглах зөвшөөрөл хэрэгтэй болно. Хэрэв эдгээр 2 програмын лицензүүд үүнийг зөвшөөрч байвал тэдгээр нь нийцтэй. Хэрэв лицензүүдийг нэгэн зэрэг хангах ямар ч арга байхгүй бол тэдгээр нь нийцгүй лицензүүд юм.
Зарим лицензүүдэд 2 модулыг хооронд нь холбох үйлдэл зөвшөөрөгдөх мөртлөө тэдгээрийн кодуудыг нэг модулд нэгтгэх нь зөвшөөрөгдөхгүй байж болдог.
Хэрэв та 2 тусдаа програмыг нэгэн системд суулгахыг хүсвэл энд лицензүүд хоорондоо нийцтэй байхыг шаардахгүй. Учир нь тэдгээрийг нэг том програм болгож нэгтгээгүй шүү дээ.
Хэрэв та үүнийг хийвэл таны програм бүтнээрээ чөлөөт орчинд ашиглагдахгүй болно. Хэрэв таны програм ямар нэг ажлыг гүйцэтгэхийн тулд чөлөөт бус санг ашигласан бол ийм ажлыг Чөлөөт Ертөнцөд хийж болохгүй.
Иймд та энэ санг ашиглахгүйгээр ажлаа хийх өөр арга байхгүй юу? Энэ санг өөр чөлөөт сангаар орлуулж болохгүй гэж үү? гэсэн асуултуудыг өөртөө тавиарай.
GNU GPL нь хэрэглэгчдэд програмдаа өөр лиценз хавсаргахыг зөвшөөрдөггүй. Гэвч зохиогчийн эрхийг эзэмшигч нь програмаа хэд хэдэн ялгаатай зэрэгцээ лицензтэйгээр гаргаж болдог. Тэр лицензүүдийнх нь нэг нь GNU GPL байж болдог.
Хуулийн дагуу бол ингэхэд ямар нэг саад байхгүй. Хэрэв та кодын зохиогчийн эрхийг эзэмшигч бол та түүнийг хэдэн ч ялгаатай лицензээр, хэдэн ч удаа рилийз хийж болно.
Энэ бол хуулиар боломжгүй зүйл юм. Хэрэв хэрэглэгч таны программыг өөрийн өгөгдлийг оруулах юмуу хөрвүүлэхэд ашиглаж байгаа бол гарсан гаралтын зохиогчийн эрх нь түүнд харъяалагдах болохоос танд биш юм.
Харин, хэрэв гаралтанд гарч буй ямар нэг гаралт нь таны програмын текстээс тодорхой хэсгийг хуулбарлаж байгаа бол та энэ талаар ярьж болох юм.