Мэдээ

Лицензийн дуулиан: Rust Coreutils төсөл GNU GPL кодыг хуулбарласнаа хүлээн зөвшөөрлөө

TOGTOKHTOGTOKH·2026 оны есдүгээр сарын 30·0 үзсэн·
Лицензийн дуулиан: Rust Coreutils төсөл GNU GPL кодыг хуулбарласнаа хүлээн зөвшөөрлөө

Нээлттэй эхийн (Open Source) ертөнцөд сүүлийн жилүүдэд өрнөж буй хамгийн том шилжилтүүдийн нэг бол Линукс үйлдлийн системийн үндсэн суурь хэрэгслүүдийг C хэлнээс Rust рүү хөрвүүлэх "Oxidation" давалгаа билээ. Гэвч энэхүү хөдөлгөөний гол цөм болсон uutils/coreutils төслийн хамгийн сүүлийн хувилбарын тайланд ноцтой мэдэгдэл нийтлэгдэж, хөгжүүлэгчдийн нийгэмлэгийг цочроолоо. Төслийн удирдагчид GNU Coreutils-ийн зохиогчийн эрхээр хамгаалагдсан, хатуу GPL лицензтэй кодыг MIT лицензтэй өөрсдийн төсөлдөө хуулбарлан оруулсан байсныг албан ёсоор хүлээн зөвшөөрч, эх кодын модноосоо яаралтай арчиж эхэлжээ.

Асуудлын гол шалтгаан: MIT болон GPL-ийн мөргөлдөөн

Линукс системийн салшгүй хэсэг болох ls, cp, mv, cat, chmod зэрэг өдөр тутмын хэдэн арван суурь тушаалууд олон арван жилийн турш GNU Coreutils төслийн хүрээнд C хэл дээр бичигдэж ирсэн. Эдгээр нь GNU General Public License v3 (GPLv3) буюу "copyleft" лицензтэй байдаг. GPLv3-ийн гол дүрэм нь: уг кодоос хуулбарласан, эсвэл түүн дээр суурилж үүсмэл бүтээл (derivative work) хийсэн тохиолдолд шинэ код ч мөн адил бүрэн GPL лицензтэй байх ёстой.

Харин uutils төсөл нь эдгээр хэрэгслүүдийг санах ойн аюулгүй байдлыг (memory safety) хангасан Rust хэл дээр цоо шинээр, бие даан бичиж, MIT лицензээр гаргах зорилготойгоор эхэлсэн юм. MIT нь маш чөлөөтэй лиценз бөгөөд арилжааны компаниуд эх кодыг заавал олон нийтэд ил болгох үүрэггүйгээр өөрсдийн хаалттай бүтээгдэхүүнд ашиглах боломж олгодог. Иймээс Canonical (Ubuntu), Microsoft зэрэг томоохон технологийн акулууд GPL-ийн хязгаарлалтаас зайлсхийж, uutils-ийг системдээ нэвтрүүлж байв.

Гэвч GPL лицензтэй кодыг чөлөөт MIT лиценз рүү шилжүүлэхийн тулд "Clean-room design" буюу GNU-ийн C кодыг огт харахгүйгээр, зөвхөн програмын гаралтын шаардлага (specification)-ын дагуу хөгжүүлэх ёстой.

Төслийн хөгжүүлэгчид юу гэж мэдэгдэв?

uutils 0.12 хувилбарын албан ёсны мэдэгдэлд дурдсанаар:

"Зарим хувь нэмэр оруулагчид uutils бол бие даасан, эхээсээ шинэ хэрэгжүүлэлт байх ёстой гэсэн манай хатуу дүрмийг зөрчин, GNU coreutils-ээс коммент болон кодыг шууд зөөвөрлөн оруулсан байсныг илрүүллээ. Бид кодын мод (git tree)-доо бүрэн аудит хийж, илэрсэн комментууд болон C хэлний логикийг хэт нягт дагаж хуулбарласан цөөн функцүүдийг эхнээс нь дахин бичлээ."

Энэхүү мэдэгдэл нь энгийн нэг баг зассан тухай мэдээ биш бөгөөд нээлттэй эхийн лицензийн хууль зүйн хамгийн том зөрчлүүдийн нэг болох Лиценз угаах (License Laundering) явдал бодитоор тохиолдсоныг илчилсэн хэрэг болов.

Хиймэл оюун (AI) ба Автомат кодын аюул

Хөгжүүлэгчдийн нийгэмлэгийн анхаарлыг хамгийн их татаж буй асуудал бол энэхүү хуулбарлалт хэрхэн явагдсан бэ гэдэг асуудал юм. Олон нийтийн хэлэлцүүлэг болон uutils төслийн код шалгах (review) удирдамжаас харвал орчин үеийн LLM, хиймэл оюунт туслахууд (Copilot, ChatGPT, Claude) энэ асуудлыг улам хурцатгасан нь тодорхой байна.

Хөгжүүлэгчид "Энэхүү GNU С кодыг яг ижил ажиллагаатай Rust функц болгон хөрвүүлээд өг" гэсэн prompt өгөхөд AI загварууд GNU-ийн анхны эх кодын алгоритмын бүтэц, хувьсагчийн нэр, тэр ч байтугай анхны хөгжүүлэгчдийн бичсэн англи тайлбар комментуудыг яг таг хуулбарлан гаргаж ирдэг. Хөгжүүлэгчид үүнийг шүүлтүүргүйгээр Pull Request (PR) болгон нэгтгэснээр GPL кодууд MIT лицензийн дор нууцаар "шургалсан" байна.

uutils төслийн зүгээс хянагч нартаа зориулан: "GNU/GPL эх үүсвэрт онцгой анхаар. Ялангуяа AI туслахаар бичигдсэн patch-уудыг маш нарийн шалга, учир нь тэдгээр нь GPL сангууд дээр сургагдсан тул тэр чигт нь хуулбарлаж гаргаж ирдэг" хэмээн онцгойлон анхааруулсан байдаг нь үүнийг баталж байгаа юм.

Томоохон системүүдэд ямар аюул занал учрах вэ?

Энэ нь зөвхөн төслийн хүрээний ёс зүйн асуудал биш, асар том хууль эрх зүйн эрсдэлийг дагуулж байна:

  1. Ubuntu болон Линукс дистрибьюшнүүд: Canonical компани Ubuntu-ийн сүүлийн хувилбаруудад GNU хэрэгслүүдийг uutils-ээр орлуулахаар эрчимтэй ажиллаж байсан. Хэрэв үйлдлийн системийн үндсэн багц лицензийн маргаантай болбол энэ нь бүх экосистемд асуудал дагуулна.
  2. Microsoft болон Арилжааны системүүд: Microsoft өөрийн зарим бүтээгдэхүүнд uutils-ийг албан ёсоор оруулж ашиглаад эхэлсэн. Хэрэв GPL код MIT бүтээгдэхүүнд хууль бусаар орсон нь нотлогдвол Free Software Foundation (FSF) болон зохиогчийн эрх эзэмшигчид хаалттай кодоо нийтэд дэлгэхийг шаардах эрхтэй болдог.
  3. Автомашин ба IoT зах зээл: Apertis зэрэг автомашины тусгай Линукс системүүд GPLv3-аас эмээн uutils-ийг сонгосон байдаг тул эдгээр компаниуд ч лицензийн эрсдэлд орж байна.

Программ хөгжүүлэгчид юуг анхаарах ёстой вэ?

Энэхүү үйл явдал орчин үеийн программ хангамжийн инженерүүдэд хэд хэдэн чухал сургамжийг өгч байна:

  • AI-аар код үүсгэхдээ лицензийг хэзээ ч бүү март: Хэрэв танай байгууллага хаалттай эсвэл MIT зэрэг чөлөөт лицензтэй төсөл хөгжүүлдэг бол AI-ийн санал болгосон код хаанаас гаралтайг батлах боломжгүй. Хэт төстэй бүтцийн дагуу кодоо оруулах нь лицензийн зөрчил үүсгэдэг.
  • Clean-room дахин бичилт: Өөр лицензтэй (ялангуяа GPL) төслийг шинэ хэл рүү шилжүүлэхдээ эх кодыг шууд орчуулж хэзээ ч болохгүй. Нэг баг нь шаардлага, протоколыг гаргаж, нөгөө баг нь эх кодыг огт харахгүйгээр бие даан бичих дүрмийг хатуу мөрдөх шаардлагатай.
  • Git модоо тогтмол аудит хийх: Төсөл томорч, олон арван хувь нэмэр оруулагчид нэмэгдэхийн хэрээр кодын баазын цэвэр байдлыг шалгах лицензийн сканнер (FOSSology, ScanCode г.м) ашиглах нь чухал болсныг энэхүү хэрэг явдал харууллаа.

uutils төслийн удирдлага асуудлыг түргэн хугацаанд илрүүлж, зөрчилтэй хэсгүүдийг дахин бичиж амжсан ч нээлттэй эхийн лицензийн хяналт AI эрин үед хичнээн эмзэг болж буйг энэ үйл явдал бүх салбарт санууллаа.

Эх сурвалж: Hacker News, uutils/coreutils төслийн GitHub албан ёсны мэдэгдэл

Сэтгэгдэл

Ачаалж байна...