Ще продължи ли или скорошното поведение на Rust Foundation ще изплаши MS?

Windows обича ръждата

На BlueHat IL 2023, в Тел Авив на 29-30 март, Дейвид Уестън, директор на OS Security за Windows, обяви, че Windows скоро ще стартира с Rust в ядрото, „вероятно през следващите няколко седмици или месеци”. Това е доста вълнуващо за феновете на Rust.

Не е тайна, че Windows експериментира с Rust. Любовната връзка започна преди години. За тези от вас, които не знаят, Rust е език за програмиране, проектиран с безопасност на паметта като една от основните му цели.

Това се постига чрез комбинация от подходи. С опростени думи:

  1. Архитектурно — езикът използва концепция за собственост върху паметта, при която всяка разпределена памет се притежава от една променлива (но може да бъде заета като само за четене).
  2. Borrow checker — компонент, който налага модела на собственост, очертан по-горе, като гарантира, че няма достъп до памет след освобождаване, като същевременно гарантира, че няма състезания за данни, при които множество нишки се опитват да получат достъп до една и съща памет едновременно (не общи условия на състезание).
  3. Детерминистичен живот — животът на променлива е известен по време на компилиране. Това позволява на инструмента за проверка на заеми да налага правила за собственост и заемане и гарантира, че веднага щом разпределената памет вече не е необходима, тя може да бъде автоматично освободена.
  4. Неизменни — по подразбиране всички променливи са неизменни, което помага за предотвратяване на непреднамерени проблеми с безопасността на паметта.

Според MS безопасността на паметта представлява „повече от 70%“ от актуализациите, свързани със сигурността, пуснати през последното десетилетие плюс. Въпреки че MS никога няма да пренапише напълно 40-те и повече години на една от най-сложните кодови бази в света, има смисъл да започне да експериментира със замяна на особено уязвимия код, като се има предвид, че Rust е създаден отчасти за справяне с този проблем .

Вече е започнало

Първият порт, който те въведоха, е да отхвърлят DWrite(DirectWrite), част от кода за разбор на шрифтове на Windows, в полза на DWiteCore. DWriteCore е междуплатформена версия на DWrite, написана на Rust, която сега е получател на всички нови разработки на функции, които се използват в момента. Те също така внедриха част от Win32k GDI чрез внедряване на типа данни Region, основен компонент на ядрото на Windows, отговорен за управлението на прозорци. Този компонент в момента се доставя, но е деактивиран зад флаг за функция, който трябва да бъде премахнат за прегледи от вътрешна информация „скоро“.

И така, какъв е проблемът тогава?

Всичко по-горе е абсолютно фантастична новина за феновете на сигурността, Rust и Windows OS. Потенциалният проблем е самата Rust Foundation.

На 6 април, само седмица след съобщенията на конференцията в Израел, Rust Foundation публикува нов проект на своята политика за търговските марки и покани коментари чрез „гугъл формуляр“, като даде краен срок до 16 април. Тъй като е във формуляр на Google, коментарите не са публично видими, но разработчиците се обърнаха към всяка и всички социални медии, за да изразят своите опасения. И светия дим, бяха изразени тези опасения. Хората излязоха от всеки ъгъл на интернет, за да коментират, YouTube, SubStack, Reddit, Twitter и почти всеки друг форум, за който можете да се сетите. Дори се стигна до точката, в която общността на Rust създаде „разклонение“ на езика.

За краткост (-иш), акцентът е следният; след една година обсъждане Фондацията публикува окончателен проект на нова политика за търговската марка, която по същество гласи, че не можете да използвате името „Rust“ или да използвате логото на Rust, за каквато и да е печалба или печалба, регистрирайте име на домейн без изрично разрешение от фондация Rust.

Точно така, изобщо не можете да използвате името или логото без изрично разрешение в име на домейн (с цел печалба или не) или във всичко, което може да донесе печалба или печалба. Навсякъде. По някаква причина. Имате име на домейн, което използва думата „ръжда“ във връзка с езика? Отказано. Вашият YouTube канал за езика Rust има думата Rust в него? Отказано. Искате ли да направите тениска, рекламираща ръждата, като използвате нейното лого? не Имате уебсайт с нестопанска цел за преподаване на Rust, който има име на домейн с думата rust в него? Вече не.

И за повече забавление, това също беше част от новата политика:
Използване на [думата „Rust“] в името на инструмент за използване във веригата инструменти Rust, софтуерна програма, написана на Rust език или софтуерна програма, съвместима със софтуера Rust, най-вероятно ще изисква лиценз.

Ако се чудите какво означава това, означава, че на всеки софтуер, който е част от екосистемата на Rust, е забранено да използва думата rust. Това са плъгини за IDE, библиотеки като openssl-rust, rust-mysql и всеки друг инструмент, кутия или библиотека, за която можете да се сетите.

Какво означава това?

Може би нищо. От една страна, MS направи съобщението на BlueHat IL 2023 преди пускането на проекта за политика за търговските марки и виждам, че този вид безумно ограничителна политика ги прави изключително нервни относно използването на езика, със сигурност относно насърчаването на използването му.

От друга страна, MS е един от основателите на Rust Foundation, заедно с Amazon (който също насърчава приемането на Rust), между другото. Изглежда като голямо хапче за преглъщане, че MS не е наясно с тази безумно ограничителна политика, но тъй като те са едни от членовете-учредители, човек би предположил, че вероятно могат да получат изрично разрешение да правят каквото искат с името и логото.

В деня след затварянето на коментарите Фондацията издаде „извинение“ за липсата на прозрачност в процеса и че ще разгледа внимателно обратната връзка.

И така, какво искам да кажа?

Не мисля, че MS ще има проблем с политиката за търговските марки, защото те са член-основател и не мога да си представя, че не могат да получат разрешение за каквото и да искат да направят по отношение на името и логото. Това, което виждам, са три възможни позиции, които държавите-членки могат да заемат по отношение на политиката за търговските марки.

  1. Те нямаха представа какво се случва, защото не им пукаше или бяха невежи. Можем незабавно да изхвърлим невежия вариант, като погледнем „борда на директорите“.
  2. Те активно подкрепят новата политика
  3. Истинска грешка е, че формулировката беше толкова безумно ограничителна и няма да е хамбургер, когато всичко е казано и направено.

В първия случай не им пука, тогава това е просто проблем на общността и MS може или не може да се наложи да се справят с някаква лоша преса, защото не отблъскват.

Във втория случай наистина трябва да започнете да се питате: „Защо MS ще подкрепя тази политика?“ Но нека не спираме дотук, това е валиден въпрос, който да зададете на Amazon, Google, Meta и другите основатели. Какво им е от това, ако тази политика за търговски марки остане в сила? Кой има полза от ограничаването на хората да използват думата „Rust“ или логото на Rust?

В третия случай това ще е нещо, на което всички ще се смеем някой ден. Смятам, че тази опция е толкова вероятна, колкото и членовете на борда да не са запознати с новата политика. Първо, нямаше какво да се коригира с оригиналната политика за търговските марки и дори да приемем, че трябва да бъде усъвършенствана, определено нямаше причина всички внезапно да бъдат изпечени на бумтящ огън. Второ, директорите на корпоративните членове далеч не са идиоти или забравящи и са добре подготвени да разберат реакцията на общността. Фактът, че всички те пропуснаха каква ще бъде реакцията, изглежда още едно трудно хапче за преглъщане.

Това ме връща към втория случай. Кой има полза и как? Не виждам ясен отговор на това, но ще ми е много интересно да видя как изглежда актуализираната политика, когато излезе.

Ако сте стигнали дотук, моля, пляскайте или се абонирайте, за да знам, че сте намерили статията за интересна. Ако искате да прочетете повече като това или се интересувате от нещо конкретно, моля, коментирайте и ме уведомете. Както винаги, благодаря за четенето!